AWS GuardDuty виявника вимкнено/призупинено – Правила виявлення загроз Щотижнево #11-2025
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Цей блогпост описує правило виявлення в AWS GuardDuty Detector, яке призначено для оповіщення при видаленні, відключенні або зупинці GuardDuty Detector. У ньому розглядаються очікувані адміністративні, тестувальні та атакувальні сценарії, наводиться приклад правила Sigma та детально описується, як досліджувати сповіщення. Правило ґрунтується на записах AWS CloudTrail, які фіксують активність API DeleteDetector і UpdateDetector, допомагаючи командам безпеки виявляти спроби відключення видимості GuardDuty Detector.
Аналіз
Цей розділ радить аналітикам перевіряти записи CloudTrail на DeleteDetector and UpdateDetector виклики ****API GuardDuty, перевіряти, чи були дії успішними, ідентифікувати користувача IAM або роль, яка їх виконала, і корелювати їхній час з іншими підозрілими подіями. Додатково рекомендується переглядати нещодавні висновки GuardDuty, створені до зміни детектора, і оцінювати IAM дозволи, надані обліковому запису, що виконав операцію.
Зменшення ризику
Рекомендації щодо зменшення ризику включають негайне відновлення GuardDuty Detector до увімкненого стану, підвищення жорсткості політик IAM, надання можливості використовування тільки чітко контрольованим ролям для DeleteDetector and UpdateDetector викликів API, використання AWS Config для сповіщення про зміни конфігурації GuardDuty і дотримання формального управління змінами для будь-якого законного видалення детектора. Команди також повинні переглянути автоматику та скрипти, щоб запобігти випадковому видаленню GuardDuty Detector.
Реагування
При виявленні такої шкідливої активності команди безпеки повинні перевірити, чи був запит авторизований, негайно перевключити GuardDuty Detector, ізолювати всі потенційно скомпрометовані ресурси, поінформувати ключових учасників і посилити моніторинг та контролі доступу, щоб зменшити ризик майбутніх несанкціонованих змін детектора.
mermaid graph TB %% Опис класів classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef builtin fill:#cccccc %% Вузли техніки tech_valid_accounts[“<b>Techніка</b> – <b>T1078 Дійсні облікові записи</b><br /><b>Опис</b>: Супротивник потримує та використовує скомпрометовані облікові дані для доступу до облікових записів.”] class tech_valid_accounts technique tech_impair_defenses[“<b>Techніка</b> – <b>T1562 Порушення оборонних заходів</b><br /><b>Опис</b>: Супротивник намагається відключити інструменти або механізми безпеки.”] class tech_impair_defenses technique tech_clear_persistence[“<b>Techніка</b> – <b>T1070.009 Видалення ознак стійкості</b><br /><b>Опис</b>: Супротивник видаляє артефакти, які можуть вказувати на стійкість або попередню активність.”] class tech_clear_persistence technique %% Вузли дій action_obtain_credentials[“<b>Дія</b> – Отримання скомпрометованих IAM облікових даних з правами guardduty:DeleteDetector/UpdateDetector”] class action_obtain_credentials action action_disable_gd[“<b>Дія</b> – Видалити або оновити GuardDuty детектор через виклики API”] class action_disable_gd action action_remove_alerts[“<b>Дія</b> – Видалити сповіщення та логи GuardDuty, усуваючи докази виявлення”] class action_remove_alerts action %% З’єднання, що показують хід атаки tech_valid_accounts u002du002d>|дозволяє| action_obtain_credentials action_obtain_credentials u002du002d>|вживається для реалізації| tech_impair_defenses tech_impair_defenses u002du002d>|використовує| action_disable_gd action_disable_gd u002du002d>|призводить до| tech_clear_persistence tech_clear_persistence u002du002d>|сприяє| action_remove_alerts
Хід атаки
Виявлення
AWS GuardDuty Detector видалено або оновлено [AWS CloudTrail]
Перегляд
IOC (DestinationIP) для виявлення: AWS : Правило виявлення загроз – детектор GuardDuty відключено або призупинено Щотижня #11-2025
Перегляд
IOC (SourceIP) для виявлення: AWS : Правило виявлення загроз – детектор GuardDuty відключено або призупинено Щотижня #11-2025
Перегляд
AWS GuardDuty Detector видалено або оновлено
Перегляд
Виконання симуляції
Передумова: Перевірка телеметрії та базової лінії повинна бути успішною.
-
Опис атаки та команди:
Супротивник, який отримав привілейовані облікові дані AWS (наприклад,
AdministratorAccess) прагне приховати шкідливу активність, видаляючи моніторинг GuardDuty. Нападник спочатку виявляє існуючий ідентифікатор детектора GuardDuty, потім або видаляє детектор, або оновлює його, щоб відключити. Обидві дії генерують події CloudTrail, які відповідають правилу sigma. -
Сценарій регресійного тесту:
#!/usr/bin/env bash # ============================================================================= # Скрипт симуляції – T1562.008: Відключення/Видалення GuardDuty Detector # Передумови: # - Встановлений та налаштований AWS CLI v2 з обліковими даними, що мають права адміністратора GuardDuty # - Встановлений jq для парсингу JSON # ============================================================================= set -euo pipefail REGION="us-east-1" echo "[*] Виявлення ID детектора GuardDuty..." DETECTOR_ID=$(aws guardduty list-detectors --region "$REGION" --output json | jq -r '.DetectorIds[0]') if [[ -z "$DETECTOR_ID" || "$DETECTOR_ID" == "null" ]]; then echo "[!] У регіоні $REGION не знайдено жодного детектора GuardDuty. Виходимо." exit 1 fi echo "[+] ID детектора: $DETECTOR_ID" # ------------------------------------------------------------------------- # Опція 1: Видалення детектора (генерує подію DeleteDetector) # ------------------------------------------------------------------------- echo "[*] Видалення детектора GuardDuty для симуляції T1562.008..." aws guardduty delete-detector --detector-id "$DETECTOR_ID" --region "$REGION" echo "[+] Виклик команди DeleteDetector видано." # ------------------------------------------------------------------------- # Опція 2: Відключення детектора (генерує UpdateDetector з enable=false) # ------------------------------------------------------------------------- # Закоментуйте блок нижче, щоб перевірити шлях UpdateDetector замість Delete. #: <<'DISABLE_BLOCK' #echo "[*] Відключення детектора GuardDuty (альтернативний шлях)..." #aws guardduty update-detector # --detector-id "$DETECTOR_ID" # --region "$REGION" # --enable false #echo "[+] Виклик команди UpdateDetector (enable=false) видано." #: DISABLE_BLOCK echo "[*] Симуляція завершена. Перевірте сповіщення SIEM для подій DeleteDetector або UpdateDetector." -
Команди очищення:
#!/usr/bin/env bash # Повторне створення детектора GuardDuty (якщо був видалений) або повторне увімкнення (якщо був відключений) REGION="us-east-1" # Перевірка наявності будь-яких детекторів EXISTING=$(aws guardduty list-detectors --region "$REGION" --output json | jq -r '.DetectorIds | length') if [[ "$EXISTING" -eq 0 ]]; then echo "[*] Детектор GuardDuty не знайдено – створюємо новий..." aws guardduty create-detector --region "$REGION" --enable true echo "[+] Новий детектор GuardDuty створений та увімкнений." else DETECTOR_ID=$(aws guardduty list-detectors --region "$REGION" --output json | jq -r '.DetectorIds[0]') echo "[*] Повторне увімкнення існуючого детектора $DETECTOR_ID..." aws guardduty update-detector --detector-id "$DETECTOR_ID" --region "$REGION" --enable true echo "[+] Детектор $DETECTOR_ID повторно увімкнений." fi