Статья Атаки на облачные аккаунты AWS и Azure: техники, detection и реальные кейсы

Рука в перчатке держит логический пробник над вскрытой платой с обгоревшими следами. Монитор отображает текст об уязвимости на фоне тёмной рабочей поверхности.


83% организаций за последний год словили минимум один cloud account takeover - это данные Abnormal Security за 2024 год. Почти каждая пятая - десять и более инцидентов. Red Canary в ежегодном Threat Detection Report поставил T1078.004 Cloud Accounts на первое место по частоте обнаружения - выше ransomware и spear phishing. А в рунете атаки на облачные аккаунты до сих пор разбираются на уровне «включите двухфакторку». Без единого CloudTrail-запроса, без Sigma-правила, без правила корреляции. Ниже - конкретные attack chain в AWS и Azure и то, что SOC обязан видеть на каждом этапе.

T1078.004 Cloud Accounts - место в kill chain и почему SOC буксует​

T1078.004 (Cloud Accounts) в MITRE ATT&CK покрывает сразу четыре тактики: Initial Access, Persistence, Privilege Escalation и Defense Evasion. Нетипичная ситуация - одна техника закрывает атакующему несколько этапов одновременно. Получил валидные облачные credentials - вошёл в среду, закрепился, поднял привилегии. И всё это выглядит как легитимная активность.

Вот в чём главная боль SOC: API-вызовы с валидными credentials неотличимы от действий реального пользователя без поведенческого baseline. Red Canary фиксирует, что основная масса детектов T1078.004 приходится на этап логина - аномальный источник, нетипичный user agent, несоответствие геолокации. После успешной аутентификации детектирование резко усложняется, потому что атакующий работает через штатные API и консоли. По сути - становится «легитимным пользователем».

Типичная цепочка при компрометации облачного аккаунта:
  1. Initial Access - фишинг, утечка ключей, SSRF к IMDS, social engineering helpdesk
  2. Discovery - перебор доступных API, чтение IAM-политик, enumeration хранилищ
  3. Privilege Escalation - PassRole, AssumeRole, создание новых credentials
  4. Persistence - backdoor-аккаунты, изменение federation settings, вредоносные OAuth-приложения
  5. Impact - exfiltration через нативные storage-сервисы, шифрование бэкапов через API, запуск cryptomining
По данным Recorded Future (2025), атакующие всё активнее используют встроенные возможности облачных платформ для постэксплуатации: нативные storage-сервисы для эксфильтрации, CI/CD-пайплайны для внедрения кода, календарные сервисы как C2-каналы. Отдельный тренд - таргетирование LLM и AI-сервисов в облаке после компрометации аккаунта: атакующие арендуют GPU-ресурсы жертвы или получают доступ к проприетарным моделям. То есть даже если вы не используете AI - атакующий может начать использовать ваши мощности за ваш счёт.

Decision tree: какой вектор initial access ждать​

Условие в инфраструктуреВероятный векторЧто мониторить первым
AWS Amplify CLI до версии 12.10.1CVE-2024-28056, AssumeRoleWithWebIdentity без условийCloudTrail: sts:AssumeRoleWithWebIdentity с нетипичным sourceIdentity
Код в public-репозиторияхУтечка IAM access keysGuardDuty: UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration
EC2 с IMDSv1 (без hop limit)SSRF → кража IAM-токенов через IMDSVPC Flow Logs + CloudTrail: обращения к 169.254.169.254
Azure AD с федерацией (ADFS/PingFederate)Манипуляция federation settings, golden SAMLAzure AD Audit Logs: изменения в trustedDomain
OAuth-интеграции с SaaSКомпрометация токенов, вредоносные app registrationsAzure AD: новые ServicePrincipal с широкими permissions
Helpdesk без верификации по второму каналуSocial engineering для сброса пароля/MFAIdP: MFA reset + логин с нового устройства < 1 часа

AWS: attack chain и detection в CloudTrail​

Кража IAM-credentials: три основных вектора​

Утечка ключей из репозиториев.
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме

Azure: компрометация identity plane и detection​

Service Principals, federation и OAuth-токены​

По данным Recorded Future (2025), атаки на облачные аккаунты в Azure-средах бьют по трём направлениям:

Компрометация Service Principals. Service Principal - identity для приложений и автоматизации. Если приложение с permissions Directory.ReadWrite.All скомпрометировано, атакующий получает контроль над tenant'ом. В отличие от пользовательских аккаунтов, Service Principals часто не покрыты MFA и Conditional Access. Это слепая зона, которую SOC-команды регулярно пропускают - просто потому что Service Principals не отображаются в стандартных дашбордах рядом с «живыми» пользователями.

Манипуляция federation. Recorded Future фиксирует: атакующие изменяют настройки федерации, злоупотребляют sync-аккаунтами, подделывают токены или создают backdoor-identity для имперсонации пользователей с полным обходом MFA. Прямой аналог golden SAML / golden ticket из on-prem AD, только в облаке.

OAuth app registration. Создание вредоносного приложения с permissions на чтение почты, файлов или управление директорией - persistence, который переживает смену пароля скомпрометированного пользователя. Атакующий добивается consent grant от пользователя с достаточными привилегиями - и дальше приложение работает автономно. Пароль сменили, MFA перевыпустили, а вредоносное приложение продолжает тянуть данные.

Применимость: внешний пентест (через фишинг consent grant), внутренний (через компрометацию Global Admin или Application Admin).

Detection через Azure AD Logs и Sigma-правила​

Sigma-правила из SigmaHQ для Azure-среды:
  • azure_tap_added.yml - детектирует добавление Temporary Access Pass (TAP). TAP - альтернативный метод аутентификации, который атакующий добавляет для обхода MFA после компрометации admin-аккаунта
  • azure_mfa_interrupted.yml - прерванные MFA-запросы; массовые прерывания указывают на MFA fatigue атаку
  • azure_mfa_denies.yml - множественные отказы MFA с последующим успешным логином = подозрение на SIM swap или компрометацию authentication method
  • okta_new_behaviours_admin_console.yml - если Okta используется как IdP, правило ловит новые поведенческие паттерны при доступе к admin-консоли
Правило корреляции для Azure: добавление TAP → регистрация нового устройства в Azure AD в пределах 24 часов → логин без MFA-challenge = Critical. Это типичный паттерн post-compromise persistence, который пропускается при поалертном анализе. Каждый алерт по отдельности - medium. Три вместе за сутки - уже инцидент.

Detection-чеклист для SOC: покрытие T1078.004​

Минимальный набор детектов, обязательный для покрытия атак на облачные аккаунты:

КатегорияЧто детектироватьИсточник данныхSigma-правило
Аномальный логинНовая геолокация, нетипичный ASN, impossible travelCloudTrail / Azure AD Sign-In Logs-
AiTM-маркерOfficeHome + user agent AxiosAzure AD Sign-In Logs-
Credential persistenceСоздание access key или login profile для другого пользователяCloudTrailaws_iam_s3browser_loginprofile_creation.yml
MFA manipulationДобавление TAP, смена MFA-фактораAzure AD Audit Logsazure_tap_added.yml
MFA fatigueМножественные deny/interrupt + успешный логинAzure AD Sign-In Logsazure_mfa_interrupted.yml, azure_mfa_denies.yml
IAM escalationPassRole + CreateFunction, AttachRolePolicy с wildcardCloudTrail-
Anti-forensicsStopLogging, DeleteTrail, DeleteFlowLogsCloudTrail-
Admin anomalyНовое поведение в admin-консоли IdPOkta System Logokta_new_behaviours_admin_console.yml

По D3FEND (MITRE), ключевые контрмеры для T1078.004: D3-AM (Access Modeling) - построение модели нормального доступа, D3-AA (Agent Authentication) - усиление аутентификации, D3-AL (Account Locking) - автоматическая блокировка при аномалиях. Фундамент - baseline нормального поведения (NIST CSF 2.0, DE.AE-01), без которого детекты генерируют шум вместо actionable alerts.

Для организаций-субъектов КИИ компрометация облачного аккаунта с доступом к значимым объектам запускает обязанности по уведомлению ФСТЭК по ФЗ-187 (ст. 14) - надзор через плановые и внеплановые проверки.

Trade-off защитных мер: что покрывает и где слепые зоны​

МераПокрываетНЕ покрываетКогда обязательна
MFA (FIDO2/WebAuthn)Фишинг паролей, credential stuffing, password sprayAiTM с Evilginx-прокси, session hijacking, Service PrincipalsВсе пользовательские аккаунты
IMDSv2 (hop limit)SSRF к Instance Metadata ServiceУтечку long-lived access keys из репозиториевВсе EC2-инстансы без исключений
Least privilege IAMСнижение blast radiusНе предотвращает initial access; сложно поддерживать в dynamic environmentsПостоянный процесс + IAM Access Analyzer
Conditional Access (Azure)Ограничение по геолокации, устройству, risk levelInsider на compliant device из trusted locationДополнение к MFA
CloudTrail + SIEMVisibility, audit trail, forensicsБез правил корреляции и baseline - бесполезенС первого дня, все регионы
GuardDuty (AWS)Anomaly detection, crypto mining, credential exfiltrationКастомные attack chain; high false positive на стартеВключить + настроить suppression
Credential rotationСокращение окна эксплуатацииНе помогает при token theft (STS temporary credentials)Автоматизировать через Config rules

По данным Abnormal Security, 63% security-лидеров скептически оценивают MFA как защиту от account takeover, а 65% - SSO. Скепсис обоснован: MFA закрывает категорию атак (credential stuffing, password spray), но не AiTM, session hijacking или злоупотребление OAuth-токенами. При этом 87% организаций ожидают нативную защиту от ATO со стороны облачного провайдера. Но провайдеры - не security-компании, и их встроенные механизмы заточены под защиту от misconfiguration, а не под real-time detection компрометации облачного аккаунта.

На нескольких red team проектах в 2024 году я видел одну и ту же картину: организация включила MFA для всех пользователей, настроила Conditional Access, подключила GuardDuty - и при этом не имела ни одного правила корреляции, которое связывало бы облачные события в цепочку. Отдельные alertы на ConsoleLogin из необычной геолокации были. Корреляция ConsoleLoginCreateAccessKeyRunInstances с GPU-типом за 60 минут - отсутствовала. Результат: cryptomining-кампания работала трое суток, пока не пришёл счёт от AWS.

Корень проблемы не в инструментах. CloudTrail, Azure AD Logs, GuardDuty, Defender for Cloud - все генерируют события. Проблема - в отсутствии облачно-специфичных SOC-playbooks, которые описывают не «что мониторить», а «что делать, когда видишь последовательность A → B → C за N минут».

В on-prem мире playbooks для lateral movement через Pass-the-Hash стандартизированы уже десять лет. Облачный эквивалент - цепочка AssumeRoleCreateLoginProfileConsoleLoginPutBucketPolicy - в большинстве SOC-команд остаётся за рамками runbook'ов. Пока подход строится на механическом переносе on-prem детектов в облако, атакующие будут на шаг впереди - они-то используют нативные облачные API. Если интересно, как другие SOC-команды строят облачно-специфичные playbook'ы под разные SIEM-стеки - на codeby.net обсуждают подобные кейсы с примерами корреляций.
 
Последнее редактирование:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab