Перенос IT-инфраструктуры в облака — это не дань моде: такой подход позволяет экономить на технической поддержке, резервном копировании и администрировании. К тому же размещение инфраструктуры в облаке считается более защищенным и от сбоев, и от внешних атак. Но есть и эффективные методы взлома наиболее популярных гибридно-облачных сред, таких как Azure и AWS. Об этих техниках и атаках я расскажу дальше. WARNING
Описания техник и атак в этой статье приведены исключительно в образовательных целях. Автор и редакция не несут ответственности за возможные последствия использования информации из этой статьи.
Для наглядности давай представим пример атакуемой инфраструктуры в виде следующей диаграммы.
Пример гибридно-облачной инфраструктуры
Как видно из диаграммы, организация использует серверы и сервисы разных облачных провайдеров, а также имеет ряд серверов on-premises. Серверы и сервисы взаимодействуют между собой, так как это необходимо для полноценной работоспособности бизнеса. Предположим, что злоумышленник получил удаленный доступ к скомпрометированному серверу on-premises. Вот несколько возможных сценариев дальнейшего развития атаки.
Внутренняя разведка на использование облачных сервисов
Имея доступ к линукс-серверу on-premises, желательно оставаться незамеченным как можно дольше. С этой целью можно использовать сервисы, действия и запросы которых рассматриваются в системе как разрешенные. На такую роль как нельзя лучше подходят прикладные утилиты для удаленной работы с облачной инфраструктурой.
Также стоит обратить внимание на любые другие следы того, что сервер взаимодействует с облаками. К примеру, можно проанализировать command history, запущенные процессы, установленные пакеты и прочее.
Сбор данных с помощью утилиты Az
Azure CLI — это набор команд для создания ресурсов Azure и управления ими. Azure CLI доступен в различных службах Azure и предназначен для быстрой работы с ними. Для входа в профиль Azure по умолчанию используется команда az login.
C помощью директивы az account show --query "id" можно получить ID учетной записи. Рђ команда
az resource list --query "[?type=='Microsoft.KeyVault/vaults']"
позволяет узнать данные о key vault.
Key Vault — это служба, которая помогает хранить ключи в аппаратных модулях безопасности (HSM), зашифровывая ключи и небольшие секретные данные, например пароли. Очевидно, что Key Vault должен быть правильно настроен, иначе может произойти нечто подобное тому, что показано на скриншоте ниже.
Вот почему важно правильно настроить Key Vault
А вот еще несколько команд, позволяющих выудить из Azure нужные взломщику сведения:
az resource show --id /subscriptions/… | grep -E enablePurgeProtection|enableSoftDelete — проверить, можно ли восстановить Key Vault;
az keyvault secret list --vault-name name --query
.[{"name":attributes.name},{"enabled":attributes.enabled},{"expires":attributes.expires}] —проверить, когда секретный ключ Key Vault истекает;
az keyvault secret list --vault-name KeyVaultdatasecure --query '[].id' — получить URL для Key Vault;
az keyvault secret show --id — получить данные, хранящиеся в Key Vault;