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

#73 Kali Linux для продвинутого тестирования на проникновение. Проверка неправильной конфигурации корзины S3.

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

S3 обычно используется организациями для хранения документов, кода, загрузки файлов и т. д. Как правило, корзина может быть общедоступной или частной. Когда она общедоступна, все пользователи могут просматривать содержимое, а когда она частная, только выбранный набор пользователей может просматривать содержимое. В этом разделе мы рассмотрим идентификацию сегментов S3 и использование неправильной конфигурации для получения доступа к внутренней инфраструктуре AWS.

Чтобы попрактиковаться в неправильной настройке корзины S3, мы настроим уязвимый экземпляр S3, используя CloudGoat, выполнив следующую команду в образе CloudGoat Docker:

./cloudgoat create cloud_breach_s3

После завершения настройки, тестировщики должны увидеть следующее сообщение от средства развертывания, с идентификатором учетной записи AWS и целевым IP-адресом, как показано на рисунке ниже:

Successful creation of the cloud_breach_s3 AWS environment using CloudGoat

Определив, что работает на внешнем IP-адресе, злоумышленники могут запустить сканирование портов на этом IP-адресе.

В этом случае порт 80 открыт и доступен:

1. Получите доступ к IP-адресу с помощью утилиты curl, запустив curl http://<IP-адрес>. Вы получите сообщение об ошибке, касающееся службы метаданных EC2, как показано на рисунке ниже:

Accessing the public IP address

2. Облачные провайдеры, безусловно, имеют возможность управлять учетными данными для ресурсов в любых облачных приложениях, потребителей облачных вычислений. Если это сделано правильно, то хранилище учетных данных в открытом тексте или в репозитории исходного кода можно избежать. В АВС Служба метаданных экземпляра (IMDS) предоставляет данные об экземпляре, которые можно использовать для настройки или управления запущенными экземплярами. AWS использует адрес 169.254.169.254.

IP-адрес для возврата размещенной службы метаданных. Итак, мы добавим заголовок хоста, чтобы получить содержимое с целевого IP-адреса, запустив curl http://<IPAddress> -H «Host:169.254.169.254», который должен вернуть содержимое корневой папки на веб-сайте, как показано на рисунке ниже. Злоумышленники могут использовать Burp Suite для перехвата трафика.

Successfully accessing the IP with the metadata service

3. После просмотра директорий делаем запрос к /latest/meta-data/iam/security-credentials/cg-bank-WAF-Role-cg<ID>, который возвращает AccessKeyID, secretAccessKey и токен сеанса, как показано на рисунке ниже. Токен сеанса указывает, что учетные данные основаны на времени. Однако, если тестировщики столкнутся с IMDS v2, требуется дополнительный токен, для получения учетных данных:

Successfully generating the credentials using the AWS metadata service

4. Следующим шагом является оснащение нашего Kali Linux профилем AWS из приведенной выше информации, как показано на рисунке ниже:

Creating a new profile within Kali Linux for the S3 exploit

5. После настройки профиля, мы добавим наш токен сеанса, отредактировав файл учетных данных AWS. Расположение этого файла по умолчанию — ~/.aws/credentials. В нашем случае, мы выполнили все команды aws, используя sudo, следовательно, все учетные данные и другие детали будут храниться под пользователем root. Мы будем редактировать файл, расположенный в /root/.aws/credentials с помощью нашего любимого редактора:

Добавьте aws_session_token, полученный на шаге 3, как показано на рисунке ниже:

Adding aws_session_token to the credential file

6. Теперь следующий шаг — проверить, можем ли мы получить доступ к корзинам S3, запустив следующую команду в терминале:

7. Из предыдущего шага теперь мы можем загрузить содержимое корзины S3 в наш локальный host, выполнив команду, показанную на рисунке ниже:

Copying the S3 bucket contents to the local system

8. Теперь мы воспользовались неправильно настроенной корзиной S3 и удалили данные из целевой организации. Теперь Вы должны иметь возможность просматривать данные держателя карты со всей личной информацией (PII), как показано на рисунке ниже:

Contents of the copied data that includes personally identifiable
information

9. Последний шаг — вернуться к образу CloudGoat Docker и убедиться, что мы уничтожили экземпляр, созданный, чтобы избежать случайного воздействия реальных злоумышленников или платы за выставление счетов из Amazon, выполнив следующую команду в образе Docker:

Понимание неправильной конфигурации в S3 может привести к краже данных. Как насчет того, если есть неправильная конфигурация в разрешениях, которые установлены для пользователей? Мы рассмотрим это в следующем разделе.

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

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