Amazon Web Services (AWS), Cloud, CloudGoat, Kali Linux, Kali Linux для продвинутого тестирования на проникновение

#75 Kali Linux для продвинутого тестирования на проникновение. Использование недостатков разрешений безопасности в облаке. Часть 2.

Здравствуйте, дорогие друзья.

7. Давайте изучим экземпляры, доступные для этого профиля, запустив sudo aws ec2 describe-instances –region us-east-1 –profile lambda-solus. Команда должна перечислить сведения об экземпляре, вместе с общедоступным IP-адресом, как показано на рисунке ниже:

Accessing the cloud instance details through the lambda-solus profile

8. Получив общедоступный IP-адрес, мы сможем получить доступ к экземпляру, через порт 80, и Вы сможете увидеть сообщение об ошибке на сервере, показанное на рисунке ниже:

Accessing the web server on the public IP

9. Злоумышленники могут запустить любой тип сканера, например, Nikto или OWASP ZAP, на IP-адресе. Они могут обмануть веб-приложение, чтобы сделать HTTP-запросы от их имени на определенном URL-адресе, и это приложение уязвимо для SSRF. В нашем случае добавление /?url=<URL, контролируемый злоумышленником> к IP-адресу, позволяет нам контролировать веб-приложение, для выполнения HTTP-запросов от нашего имени. Давайте используем приложение для вызова API метаданных, для получения учетных данных, добавив URL-адрес http://168.254.169.254/last/meta-data/iam/security/security-credentials/<Nameofthefile> , как  показано на рисунке ниже, должен получать временные учетные данные, которые могут быть использованы тестировщиками:

Performing an SSRF attack on the web application to retrieve the
temporary credentials

10. Настройте профиль AWS в Kali Linux с другим профилем, запустив sudo aws configure --profile ec2-temp, как показано на рисунке ниже, и, кроме того, убедитесь, что aws_session_token добавляется в файл учетных данных aws, а затем получает доступ к корзинам S3, запустив sudo aws s3 ls –profile ec2-temp. Это корзина с именем cgsecret-s3-bucket-<randomid>:

Listing the S3 buckets with the temporary credentials

11. Давайте загрузим все содержимое этой корзины, запустив sudo aws s3 sync s3://<bucketname><folder><file> location --profile, как показано ниже на скриншоте. Ура! Теперь у нас есть данные доступа пользователя с высоким уровнем привилегий из этого сегмента. Это похоже на получение административного доступа к домену во время внутреннего тестирования на проникновение:

Downloading the secrets and configuring Kali Linux with the admin profile

12. После настройки AWS с профилем ec2-admin в Kali Linux, злоумышленники теперь могут иметь возможность выполнять любые действия в среде EC2. В качестве примера, мы можем теперь просмотреть всех пользователей, запустив sudo aws iam list-users —profile ec2—admin, как показано на рисунке ниже:

Enumerating the users from the admin profile

13. Просмотрите прикрепленные политики, относящиеся к пользователям, запустив sudo iam list-attacheduser- policy –username <nameofuser> --profile ec2-admin, как показано на рисунке ниже:

Accessing the user-attached policies

Обратите внимание, что следующие два шага предназначены только для демонстрационных целей. Как создать ключ доступа aws iam и пользователя с помощью командной строки. Тестировщики должны знать, что, если эти шаги выполняются на развернутом CloudGoat, и среде AWS, то уничтожение экземпляра будет невозможно, поскольку CloudGoat может удалять только экземпляры, созданные с помощью скрипта.

14. Теперь Вы сможете изменить секретный ключ любого пользователя, запустив sudo iam createaccess-key --username <имя пользователя> --region us-east-1 --profile ec2-admin:

Creating a new access key for a user

15. Кроме того, Вы можете создать нового пользователя в качестве бэкдора, для доступа к среде, запустив sudo aws iam create-user –username backdoor –profile ec2-admin, и придумайте нового пользователя, созданного с ключом доступа и секретным ключом доступа, как показано на рисунке ниже:

Creating a new user for backdoor access

16. Теперь тестировщики могут вернуться к образу CloudGoat Docker и уничтожить настройку AWS, запустив ./cloudgoat.py, чтобы уничтожить все в терминале. В таблице ниже приведены полезные ссылки на команды, которые пентестеры могут использовать при проникновении в AWS тестирование:

Useful AWS commands during penetration testing
Useful AWS commands during penetration testing

На этом все. Всем хорошего дня!

Полный цикл статей по Kali Linux для продвинутого тестирования на проникновение.