Detector do AWS GuardDuty Desativado/Suspenso – Detecção de Ameaças Semanal #11-2025
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O artigo do blog descreve uma regra de detecção no AWS GuardDuty Detector projetada para alertar quando um GuardDuty Detector é deletado, desativado ou suspenso. Ele aborda cenários administrativos, de teste e de ataque esperados, inclui um exemplo de regra Sigma e detalha como investigar alertas. A regra se concentra em registros do AWS CloudTrail que capturam a atividade da API DeleteDetector e UpdateDetector, ajudando as equipes de segurança a identificar tentativas de desativar a visibilidade do GuardDuty Detector.
Análise
Esta seção aconselha os analistas a inspecionar entradas do CloudTrail para DeleteDetector and UpdateDetector chamadas ****API do GuardDuty, verificar se as ações tiveram sucesso, identificar o usuário ou função IAM que as emitiu e correlacionar seu tempo com outros eventos suspeitos. Recomenda ainda revisar as descobertas recentes do GuardDuty geradas antes da mudança do detector e avaliar as permissões IAM atribuídas à conta que executou a operação.
Mitigação
As orientações de mitigação incluem restaurar prontamente o GuardDuty Detector para um estado habilitado, fortalecer as políticas de IAM, permitindo apenas que funções estritamente controladas usem DeleteDetector and UpdateDetector chamadas de API, utilizando o AWS Config para alertar sobre alterações na configuração do GuardDuty e aplicando gerenciamento formal de mudanças para qualquer remoção legítima do detector. As equipes também devem revisar a automação e scripts para evitar a exclusão acidental do GuardDuty Detector.
Resposta
Quando tal atividade maliciosa é detectada, as equipes de segurança devem confirmar se a solicitação foi autorizada, reativar imediatamente o GuardDuty Detector, isolar quaisquer recursos potencialmente comprometidos, informar as partes interessadas relevantes e fortalecer o monitoramento e controles de acesso para reduzir o risco de futuras alterações não autorizadas no detector.
mermaid graph TB %% Class definitions classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef builtin fill:#cccccc %% Technique nodes tech_valid_accounts[“<b>Técnica</b> – <b>T1078 Contas Válidas</b><br/><b>Descrição</b>: O adversário obtém e usa credenciais comprometidas para acessar contas.”] class tech_valid_accounts technique tech_impair_defenses[“<b>Técnica</b> – <b>T1562 Impair Defenses</b><br/><b>Descrição</b>: O adversário tenta desativar ferramentas ou mecanismos de segurança.”] class tech_impair_defenses technique tech_clear_persistence[“<b>Técnica</b> – <b>T1070.009 Clear Persistence</b><br/><b>Descrição</b>: O adversário remove artefatos que poderiam indicar persistência ou atividade anterior.”] class tech_clear_persistence technique %% Action nodes action_obtain_credentials[“<b>Ação</b> – Obter credenciais IAM comprometidas com permissões de guardduty:DeleteDetector/UpdateDetector”] class action_obtain_credentials action action_disable_gd[“<b>Ação</b> – Deletar ou Atualizar detector GuardDuty via chamadas de API”] class action_disable_gd action action_remove_alerts[“<b>Ação</b> – Remover alertas e logs do GuardDuty, eliminando evidências de detecção”] class action_remove_alerts action %% Connections showing attack flow tech_valid_accounts u002du002d>|habilita| action_obtain_credentials action_obtain_credentials u002du002d>|usado para executar| tech_impair_defenses tech_impair_defenses u002du002d>|usa| action_disable_gd action_disable_gd u002du002d>|leva a| tech_clear_persistence tech_clear_persistence u002du002d>|facilita| action_remove_alerts
Fluxo de Ataque
Detecções
AWS GuardDuty Detector Deletado ou Atualizado [AWS CloudTrail]
Ver
IOCs (DestinationIP) a se detectar: AWS: Regra de Detecção de Ameaça – detector do GuardDuty desativado ou suspenso Semanal #11-2025
Ver
IOCs (SourceIP) a se detectar: AWS: Regra de Detecção de Ameaça – detector do GuardDuty desativado ou suspenso Semanal #11-2025
Ver
AWS GuardDuty Detector Deletado ou Atualizado
Ver
Execução da Simulação
Pré-requisito: A Verificação de Telemetria & Linha de Base Prévia deve ter sido aprovada.
-
Narrativa de Ataque & Comandos:
Um adversário que tenha obtido credenciais privilegiadas da AWS (por exemplo,
AdministratorAccess) visa ocultar atividade maliciosa ao remover o monitoramento do GuardDuty. O atacante primeiro descobre o ID do detector GuardDuty existente, depois ou deleta o detector completamente ou o atualiza para desativá-lo. Ambas as ações geram eventos CloudTrail que correspondem à regra sigma. -
Script de Teste de Regressão:
#!/usr/bin/env bash # ============================================================================= # Script de simulação – T1562.008: Desativar/Deletar GuardDuty Detector # Pré-requisitos: # - AWS CLI v2 instalado e configurado com credenciais que tenham direitos administrativos do GuardDuty # - jq instalado para análise de JSON # ============================================================================= set -euo pipefail REGION="us-east-1" echo "[*] Descobrindo ID do detector GuardDuty..." DETECTOR_ID=$(aws guardduty list-detectors --region "$REGION" --output json | jq -r '.DetectorIds[0]') if [[ -z "$DETECTOR_ID" || "$DETECTOR_ID" == "null" ]]; then echo "[!] Nenhum detector GuardDuty encontrado na região $REGION. Saindo." exit 1 fi echo "[+] ID do Detector: $DETECTOR_ID" # ------------------------------------------------------------------------- # Opção 1: Deletar o detector (produz evento DeleteDetector) # ------------------------------------------------------------------------- echo "[*] Deletando detector GuardDuty para simular T1562.008..." aws guardduty delete-detector --detector-id "$DETECTOR_ID" --region "$REGION" echo "[+] Chamada DeleteDetector emitida." # ------------------------------------------------------------------------- # Opção 2: Desativar o detector (produz UpdateDetector com enable=false) # ------------------------------------------------------------------------- # Descomente o bloco abaixo para testar o caminho UpdateDetector ao invés de Delete. #: <<'DISABLE_BLOCK' #echo "[*] Desativando detector GuardDuty (caminho alternativo)..." #aws guardduty update-detector # --detector-id "$DETECTOR_ID" # --region "$REGION" # --enable false #echo "[+] Chamada UpdateDetector (enable=false) emitida." #: DISABLE_BLOCK echo "[*] Simulação completa. Verifique alertas SIEM para eventos DeleteDetector ou UpdateDetector." -
Comandos de Limpeza:
#!/usr/bin/env bash # Recriar detector GuardDuty (se foi deletado) ou reativá-lo (se desativado) REGION="us-east-1" # Verifique se existem detectores EXISTING=$(aws guardduty list-detectors --region "$REGION" --output json | jq -r '.DetectorIds | length') if [[ "$EXISTING" -eq 0 ]]; then echo "[*] Nenhum detector GuardDuty encontrado – criando um novo..." aws guardduty create-detector --region "$REGION" --enable true echo "[+] Novo detector GuardDuty criado e habilitado." else DETECTOR_ID=$(aws guardduty list-detectors --region "$REGION" --output json | jq -r '.DetectorIds[0]') echo "[*] Reativando detector existente $DETECTOR_ID..." aws guardduty update-detector --detector-id "$DETECTOR_ID" --region "$REGION" --enable true echo "[+] Detector $DETECTOR_ID reativado." fi