AWS GuardDuty Detector Disabilitato/Sospeso – Regola di Rilevamento delle Minacce Settimanale #11-2025
Detection stack
- AIDR
- Alert
- ETL
- Query
Riassunto
L’articolo del blog delinea una regola di rilevamento nel Rivelatore AWS GuardDuty progettata per allertare quando un Rivelatore GuardDuty viene eliminato, disabilitato o sospeso. Si analizzano scenari attesi amministrativi, di test e da attaccanti, include un esempio di regola Sigma e dettagli su come indagare sugli allarmi. La regola si concentra sui record di AWS CloudTrail che catturano l’attività dell’API DeleteDetector e UpdateDetector, aiutando i team di sicurezza a identificare i tentativi di disabilitare la visibilità del Rivelatore GuardDuty.
Analisi
Questa sezione consiglia agli analisti di ispezionare le voci di CloudTrail per DeleteDetector and UpdateDetector chiamate API di GuardDuty, verificando se le azioni abbiano avuto successo, identificando l’utente o ruolo IAM che le ha eseguite e correlando il loro tempismo con altri eventi sospetti. Consiglia inoltre di esaminare le recenti scoperte di GuardDuty generate prima del cambiamento del rivelatore e di valutare i permessi IAM assegnati all’account che ha effettuato l’operazione.
Mitigazione
Le linee guida per la mitigazione includono il ripristino tempestivo del Rivelatore GuardDuty ad uno stato abilitato, il rafforzamento delle politiche IAM, consentendo solo ai ruoli strettamente controllati di utilizzare DeleteDetector and UpdateDetector chiamate API, sfruttando AWS Config per avvisare sui cambiamenti di configurazione di GuardDuty, e facendo rispettare una corretta gestione dei cambiamenti per qualsiasi rimozione legittima del rivelatore. I team dovrebbero anche rivedere le automazioni e gli script per prevenire l’eliminazione accidentale del Rivelatore GuardDuty.
Risposta
Quando viene rilevata tale attività dannosa, i team di sicurezza dovrebbero confermare se la richiesta era autorizzata, riabilitare immediatamente il Rivelatore GuardDuty, isolare eventuali risorse potenzialmente compromesse, informare le parti interessate chiave e potenziare il monitoraggio più i controlli di accesso per ridurre il rischio di futuri cambiamenti non autorizzati del rivelatore.
mermaid graph TB %% Class definitions classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef builtin fill:#cccccc %% Technique nodes tech_valid_accounts[“<b>Technique</b> – <b>T1078 Valid Accounts</b><br /><b>Descrizione</b>: L’avversario ottiene e utilizza credenziali compromesse per accedere agli account.”] class tech_valid_accounts technique tech_impair_defenses[“<b>Technique</b> – <b>T1562 Impair Defenses</b><br /><b>Descrizione</b>: L’avversario tenta di disabilitare strumenti o meccanismi di sicurezza.”] class tech_impair_defenses technique tech_clear_persistence[“ÅÅ<b>Technique</b> – <b>T1070.009 Clear Persistence</b><br /><b>Descrizione</b>: L’avversario rimuove artefatti che potrebbero indicare persistenza o attività precedenti.”] class tech_clear_persistence technique %% Action nodes action_obtain_credentials[“<b>Azione</b> – Ottenere credenziali IAM compromesse con permessi guardduty:DeleteDetector/UpdateDetector”] class action_obtain_credentials action action_disable_gd[“<b>Azione</b> – Eliminare o Aggiornare rivelatore GuardDuty tramite chiamate API”] class action_disable_gd action action_remove_alerts[“<b>Azione</b> – Rimuovere avvisi e log di GuardDuty, eliminando le prove di rilevamento”] class action_remove_alerts action %% Connections showing attack flow tech_valid_accounts u002du002d>|abilita| action_obtain_credentials action_obtain_credentials u002du002d>|utilizzato per eseguire| tech_impair_defenses tech_impair_defenses u002du002d>|usa| action_disable_gd action_disable_gd u002du002d>|porta a| tech_clear_persistence tech_clear_persistence u002du002d>|agevola| action_remove_alerts
Flusso di Attacco
Rilevamenti
Rivelatore AWS GuardDuty Eliminato o Aggiornato [AWS CloudTrail]
Visualizza
IOC (DestinationIP) da rilevare: AWS: Regola di rilevamento delle minacce – rivelatore di GuardDuty disabilitato o sospeso Settimanale #11-2025
Visualizza
IOC (SourceIP) da rilevare: AWS: Regola di rilevamento delle minacce – rivelatore di GuardDuty disabilitato o sospeso Settimanale #11-2025
Visualizza
Rivelatore AWS GuardDuty Eliminato o Aggiornato
Visualizza
Esecuzione Simulazione
Prerequisito: Il Controllo preliminare di Telemetria & Baseline deve essere superato.
-
Narrazione dell’Attacco & Comandi:
Un avversario che ha ottenuto credenziali AWS privilegiate (ad esempio,
AdministratorAccess) intende nascondere attività dannose rimuovendo il monitoraggio di GuardDuty. L’attaccante scopre prima l’ID del rivelatore di GuardDuty esistente, quindi lo elimina completamente o lo aggiorna per disabilitarlo. Entrambe le azioni generano eventi CloudTrail che corrispondono alla regola sigma. -
Script di Test di Regressione:
#!/usr/bin/env bash # ============================================================================= # Script di simulazione – T1562.008: Disabilita/Elimina Rivelatore GuardDuty # Prerequisiti: # - AWS CLI v2 installato e configurato con credenziali che hanno diritti di amministrazione di GuardDuty # - jq installato per l'analisi JSON # ============================================================================= set -euo pipefail REGION="us-east-1" echo "[*] Scoprendo ID del rivelatore GuardDuty..." DETECTOR_ID=$(aws guardduty list-detectors --region "$REGION" --output json | jq -r '.DetectorIds[0]') if [[ -z "$DETECTOR_ID" || "$DETECTOR_ID" == "null" ]]; then echo "[!] Nessun rivelatore GuardDuty trovato nella regione $REGION. Uscita." exit 1 fi echo "[+] ID del rivelatore: $DETECTOR_ID" # ------------------------------------------------------------------------- # Opzione 1: Elimina il rivelatore (produce evento DeleteDetector) # ------------------------------------------------------------------------- echo "[*] Eliminando rivelatore GuardDuty per simulare T1562.008..." aws guardduty delete-detector --detector-id "$DETECTOR_ID" --region "$REGION" echo "[+] Chiamata DeleteDetector emessa." # ------------------------------------------------------------------------- # Opzione 2: Disabilita il rivelatore (produce UpdateDetector con enable=false) # ------------------------------------------------------------------------- # Commenta il blocco sotto per testare il percorso UpdateDetector invece di Delete. #: <<'DISABLE_BLOCK' #echo "[*] Disabilitando rivelatore GuardDuty (percorso alternativo)..." #aws guardduty update-detector # --detector-id "$DETECTOR_ID" # --region "$REGION" # --enable false #echo "[+] Chiamata UpdateDetector (enable=false) emessa." #: DISABLE_BLOCK echo "[*] Simulazione completa. Verificare avvisi SIEM per eventi DeleteDetector o UpdateDetector." -
Comandi di Ripristino:
#!/usr/bin/env bash # Ricreare il rivelatore GuardDuty (se è stato eliminato) o riabilitarlo (se disabilitato) REGION="us-east-1" # Controlla se esistono rivelatori EXISTING=$(aws guardduty list-detectors --region "$REGION" --output json | jq -r '.DetectorIds | length') if [[ "$EXISTING" -eq 0 ]]; then echo "[*] Nessun rivelatore GuardDuty trovato – creandone uno nuovo..." aws guardduty create-detector --region "$REGION" --enable true echo "[+] Nuovo rivelatore GuardDuty creato e abilitato." else DETECTOR_ID=$(aws guardduty list-detectors --region "$REGION" --output json | jq -r '.DetectorIds[0]') echo "[*] Riabilitando il rivelatore esistente $DETECTOR_ID..." aws guardduty update-detector --detector-id "$DETECTOR_ID" --region "$REGION" --enable true echo "[+] Rilevatore $DETECTOR_ID riabilitato." fi