Cloud, Kali Linux, Kali Linux для продвинутого тестирования на проникновение

#69 Kali Linux для продвинутого тестирования на проникновение. Эксплуатация облака (Cloud Security).

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

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

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

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

• Основные принципы облачных сервисов

• Сканирование уязвимостей и эксплуатация приложений в инстансах EC2.

• Доступ к ключам AWS IAM

• Проверка неправильной конфигурации корзины S3.

• Использование недостатков разрешений безопасности.

• Запутывание журналов CloudTrail.

Мы изучим основные принципы облачных сервисов и различные модели развертывания.

Введение в облачные сервисы

Облачные вычисления, в целом, представляют собой доступные услуги вычислительных ресурсов по требованию, особенно хранение и вычислительную мощность для потребителей. Основные принципы облачных вычислений предоставляют широкий доступ к сети с самообслуживанием, мультиарендность, объединение ресурсов, эластичность, масштабируемость и измеряемые услуги. В Таблице ниже приведены подробные сведения о четырех моделях развертывания, которые предлагают поставщики облачных услуг. Если какая-либо из этих моделей развертывания будет успешно использована и связь установлена, то она обеспечивает постоянный доступ для достижения цели при пентесте:

Cloud deployment models

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

Cloud service models
Cloud service models

На рисунке ниже показано, как ответственность за безопасность меняется, в зависимости от моделей обслуживания:

Cloud service model and responsibilities

Поняв основы, мы теперь будем настраивать нашу лабораторию AWS, для преднамеренной настройки уязвимых экземпляров, с помощью инструмента развертывания CloudGoat AWS, который мы установили в разделе 1. Целевое тестирование на проникновение. Имейте в виду, что использование сервисов AWS потребует затрат, даже если CloudGoat не используется после развертывания уязвимых экземпляров. Кроме того, эти экземпляры откроют Вашу облачную инфраструктуру, для различных атак. Сценарии доступа к этим облачным сервисам также начинаются с первоначального этапа разведки, на котором злоумышленники исследуют все репозитории GitHub, pastebin или любые сайты дампа данных целевой организации, и потенциально могут получить ключ доступа и секрет.

Ниже приведены параметры CloudGoat, доступные для настройки и практического применения, в зависимости от AWS атак. Чтобы понять параметры, тестировщики могут запустить образ Docker, введя docker run –it rhinosecuritylabs/Cloudgoat:latest в терминале, который должен привести нас к CloudGoat shell, где мы запускаем справку ./cloudgoat, которая должна предоставить нам следующие пять опций, как показано на рисунке ниже:

Running CloudGoat from the Docker image

Тестировщики, которые получают какие-либо сообщения об ошибках, относящиеся к Terraform, такие как OSError:

[Errno 8 Exec format error: «terraform» or «Terraform not found», могут решить эту проблему, выполнив следующие действия, чтобы заменить Terraform по умолчанию на последнюю версию:

1. Запустите wget https://releases.hashicorp.com/terraform/1.0.10/terraform_1.0.10_linux_amd64.zip

2. Разархивируйте terraform_1.0.10_linux_amd64.zip

3. Запустите mv /usr/bin/terraform terraform_old

4. Запустите mv terraform /usr/bin/

Ниже приведены подробные сведения о первых четырех параметрах:

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

белый список — тестировщикам всегда рекомендуется вносить в белый список IP-адреса, по которым они будут проводить тестирование из-за потенциально уязвимых ресурсов, которые развернуты в инфраструктуре AWS. Эта команда сохраняет IP-диапазоны адресов или IP-адресов в файле ./whitelist.txt, в базе каталога проекта. Кроме того, Вы можете добавить аргумент –auto, и этот инструмент автоматически сделает сетевой запрос. Используйте curl ifconfig.co, чтобы найти IP-адрес, а затем создайте файл белого списка с результатом.

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

create — этот параметр развертывает сценарий в учетной записи AWS. Если Вы развертываете сценарий дважды, CloudGoat уничтожит существующий и создаст новый сценарий.

list — здесь будут показаны все развернутые сценарии, неразвернутые сценарии и т. д.

destroy — отключит и удалит все ресурсы, созданные CloudGoat.

Чтобы настроить CloudGoat для определенного профиля, запустите ./cloudgoat.py config profile <profilename> в терминале:

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

В следующем разделе мы развернем уязвимое веб-приложение для выполнения специфичных для приложения действий эксплуатации в AWS. Этого можно добиться, запустив ./cloudgoat create rce_web_app --profile masteringkali. Это должно начать развертывание облачных ресурсов путем

CloudGoat в свою учетную запись AWS, и после завершения развертывания Вы сможете увидеть подтверждение с подробностями доступа к облаку, как показано на рисунке ниже:

Deploying rce_web_app using CloudGoat and our AWS profile

После завершения развертывания веб-приложения и вспомогательных ресурсов, тестировщикам должно быть представлено на рисунке ниже, как успешное завершение развертывания:

Successful deployment of the vulnerable setup

Тестировщики могут использовать ключ доступа и секретный ключ, сгенерированный CloudGoat, для выполнения проникновения, протестируйте развернутый сценарий. В качестве традиционного шага тестировщики могут использовать сканеры уязвимостей, такие как Scout Suite или Prowler.

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

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