Категория > Новости > Атака на облака. Гайд по методам взлома приложений в Azure и AWS - «Новости»
Атака на облака. Гайд по методам взлома приложений в Azure и AWS - «Новости»22-07-2020, 12:40. Автор: Маргарита |
Перенос IT-инфраструктуры в облака — это не дань моде: такой подход позволяет экономить на технической поддержке, резервном копировании и администрировании. К тому же размещение инфраструктуры в облаке считается более защищенным и от сбоев, и от внешних атак. Но есть и эффективные методы взлома наиболее популярных гибридно-облачных сред, таких как Azure и AWS. Об этих техниках и атаках я расскажу дальше.![]() Описания техник и атак в этой статье приведены исключительно в образовательных целях. Автор и редакция не несут ответственности за возможные последствия использования информации из этой статьи. Для наглядности давай представим пример атакуемой инфраструктуры в виде следующей диаграммы. Пример гибридно-облачной инфраструктуры Как видно из диаграммы, организация использует серверы и сервисы разных облачных провайдеров, а также имеет ряд серверов on-premises. Серверы и сервисы взаимодействуют между собой, так как это необходимо для полноценной работоспособности бизнеса. Предположим, что злоумышленник получил удаленный доступ к скомпрометированному серверу on-premises. Вот несколько возможных сценариев дальнейшего развития атаки. Внутренняя разведка на использование облачных сервисовИмея доступ к линукс-серверу on-premises, желательно оставаться незамеченным как можно дольше. С этой целью можно использовать сервисы, действия и запросы которых рассматриваются в системе как разрешенные. На такую роль как нельзя лучше подходят прикладные утилиты для удаленной работы с облачной инфраструктурой. Также стоит обратить внимание на любые другие следы того, что сервер взаимодействует с облаками. К примеру, можно проанализировать command history, запущенные процессы, установленные пакеты и прочее. Сбор данных с помощью утилиты AzAzure CLI — это набор команд для создания ресурсов Azure и управления ими. Azure CLI доступен в различных службах Azure и предназначен для быстрой работы с ними. Для входа в профиль Azure по умолчанию используется команда ![]() Как оказалось, РІ нашем случае линукс-сервер имеет доступ Рє инфраструктуре Azure. Какую полезную информацию РёР· этого РјРѕР¶РЅРѕ извлечь? Для начала СЃ помощью команды ![]() C помощью директивы
позволяет узнать данные о key vault. Key Vault — это служба, которая помогает хранить ключи в аппаратных модулях безопасности (HSM), зашифровывая ключи и небольшие секретные данные, например пароли. Очевидно, что Key Vault должен быть правильно настроен, иначе может произойти нечто подобное тому, что показано на скриншоте ниже. ![]() А вот еще несколько команд, позволяющих выудить из Azure нужные взломщику сведения:
![]() az keyvault secret show --id С помощью приведенных выше команд можно увидеть детали настроек политик безопасности для сети, к примеру название политики, группы, конфигурации. Обрати внимание на теги ![]() Сбор данных с помощью утилиты AWSAWS CLI — это единый инструмент для управления сервисами AWS. Загружаешь всего одно средство, и можешь контролировать множество сервисов AWS из командной строки и автоматизировать их с помощью скриптов. Если утилита AWS установлена на скомпрометированной машине, можно проверить, сконфигурирован ли AWS-профиль. Конфигурационные данные к AWS на компьютерах под управлением Linux хранятся в файле С помощью следующих команд AWS CLI мы получим важную информацию о развернутой в сети облачной инфраструктуре:
![]() Существуют и другие методы сбора информации на скомпрометированной системе. К примеру, можно воспользоваться командой Расширение прав Рё горизонтальное перемещениеAWSЧтобы закрепиться РІ системе, РјРѕР¶РЅРѕ создать учетную запись СЃ секретными ключами Рё именем
![]() С помощью команд SSH можно подключиться к удаленному AWS bucket. ![]() Получается, что боковыми движениями мы заполучили доступ к инфраструктуре AWS. При эксплуатации SSH желательно всегда проверять следующие директории и файлы:
AzureИтак, нам удалось найти данные для учетных записей и собрать достаточно информации, чтобы понять, что в инфраструктуре Azure присутствует несколько виртуальных машин и сервисов. Виртуальные машины в Azure очень похожи на обычные машины, которые работают в виртуальной среде, и потому поддерживают стандартный набор команд. Запустим Nmap на одной из виртуальных машин AWS.
![]() Видно, что на удаленной виртуальной машине работает Apache на 80-м порте. Как правило, настройки доступа в среде Azure устанавливаются с помощью правил Azure network group. Так что нужно быть внимательным и не забывать менять тестовые настройки. Как оказалось, мы имеем дело с веб-приложением для тестирования статуса машин в облаке. Не буду углубляться в подробности тестирования веб-приложения, а просто приведу пример, как уязвимость в веб-приложении может предоставить доступ к удаленной виртуальной машине в Azure. Для перебора учетных данных использовался DirBuster, который привел меня на страницу с формой логина администратора. Выяснилось, что приложение уязвимо к перечислению пользователей и брутфорсу пароля. Сбрутить пароль можно с использованием Burp Suite. ![]() Приложение оказалось уязвимым к запуску команды на удаленном компьютере. ![]() Видно, что это машина под управлением Windows, на которой можно попробовать взять шелл. Для начала нужно запустить слушателя на машине атакующего. В качестве примера будет использован netcat: выполним команду Можно использовать приведенный ниже PowerShell reverse shell либо загрузить на машину свой собственный шелл, так как этот может быть обнаружен антивирусами и EDP-системами. Вот два примера шелла PowerShell, которые можно использовать на удаленной машине. Первый шелл
Второй шелл
Как только мы получим шелл, можно приступить к постэксплуатации и дальнейшим горизонтальным перемещениям. Перейти обратно к новости |