AWS GuardDuty Detector Deletion

Detects the deletion of an Amazon GuardDuty detector. GuardDuty provides continuous monitoring for malicious or unauthorized activity across AWS accounts. Deleting the detector disables this visibility, stopping all threat detection and removing existing findings. Adversaries may delete GuardDuty detectors to impair security monitoring and evade detection during or after an intrusion. This rule identifies successful "DeleteDetector" API calls and can indicate a deliberate defense evasion attempt.

Elastic rule (View on GitHub)

  1[metadata]
  2creation_date = "2020/05/28"
  3integration = ["aws"]
  4maturity = "production"
  5updated_date = "2025/11/12"
  6
  7[rule]
  8author = ["Elastic"]
  9description = """
 10Detects the deletion of an Amazon GuardDuty detector. GuardDuty provides continuous monitoring for malicious or
 11unauthorized activity across AWS accounts. Deleting the detector disables this visibility, stopping all threat detection
 12and removing existing findings. Adversaries may delete GuardDuty detectors to impair security monitoring and evade
 13detection during or after an intrusion. This rule identifies successful "DeleteDetector" API calls and can indicate a
 14deliberate defense evasion attempt.
 15"""
 16false_positives = [
 17    """
 18    The GuardDuty detector may be deleted by a system or network administrator. Verify whether the user identity, user
 19    agent, and/or hostname should be making changes in your environment. Detector deletions by unfamiliar users or hosts
 20    should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
 21    """,
 22]
 23from = "now-6m"
 24index = ["filebeat-*", "logs-aws.cloudtrail-*"]
 25language = "kuery"
 26license = "Elastic License v2"
 27name = "AWS GuardDuty Detector Deletion"
 28note = """## Triage and analysis
 29
 30> **Disclaimer**:
 31> This investigation guide was created using generative AI technology and has been reviewed to improve its accuracy and relevance. 
 32> While every effort has been made to ensure its quality, we recommend validating the content and adapting it to suit your specific environment and operational needs.
 33
 34### Investigating AWS GuardDuty Detector Deletion
 35
 36Amazon GuardDuty is a continuous threat detection service that analyzes CloudTrail, DNS, and VPC Flow Logs to identify malicious activity and compromised resources. Deleting a GuardDuty detector stops this monitoring entirely and permanently removes all historical findings for the affected AWS account. This rule detects successful `DeleteDetector` API calls, which may represent an attacker attempting to impair defenses and evade detection. Such actions should be rare and always performed under controlled administrative change processes.
 37
 38#### Possible investigation steps
 39
 40- **Identify the actor**
 41  - Review `aws.cloudtrail.user_identity.arn` and `aws.cloudtrail.user_identity.type` to determine who initiated the deletion.
 42  - Verify whether this principal normally performs GuardDuty configuration or administrative tasks.
 43
 44- **Review request context**
 45  - Check `aws.cloudtrail.request_parameters` and `cloud.region` to confirm the targeted GuardDuty detector and scope of impact.
 46  - Determine whether multiple detectors or member accounts were affected (especially in delegated admin organizations).
 47
 48- **Analyze source and access patterns**
 49  - Review `source.ip`, `user_agent.original` and `source.geo` fields for anomalous or previously unseen access locations or automation clients.
 50  - Check whether the deletion occurred outside standard maintenance windows or during a concurrent suspicious activity window.
 51
 52- **Correlate with preceding or related activity**
 53  - Search for earlier GuardDuty configuration changes:
 54    - `StopMonitoringMembers`, `DisassociateMembers`, or `DeleteMembers`
 55    - IAM role or policy modifications reducing GuardDuty privileges
 56  - Look for other defense evasion indicators such as CloudTrail suspension, Security Hub configuration changes, or disabling of AWS Config rules.
 57
 58- **Review historical GuardDuty findings**
 59  - Examine prior GuardDuty alerts and findings (if still retrievable) to determine whether the deletion followed significant detection activity.
 60  - Use centralized logs or security data lakes to recover findings removed from the console.
 61
 62### False positive analysis
 63
 64- **Authorized administrative actions**
 65  - Verify whether the deletion corresponds to legitimate account decommissioning, region cleanup, or migration activity.
 66- **Automation or IaC**
 67  - GuardDuty may be disabled temporarily during infrastructure provisioning or teardown in automated environments. 
 68    Confirm via CI/CD logs or Infrastructure-as-Code templates.
 69- **Organizational configuration changes**
 70  - Large organizations might consolidate GuardDuty under a delegated administrator account, causing detectors to be deleted in member accounts. 
 71    Validate these actions against security architecture changes.
 72
 73### Response and remediation
 74
 75- **Containment and restoration**
 76  - If unauthorized, immediately re-enable GuardDuty in the affected account and region using the `CreateDetector` API or AWS console.
 77  - Verify that findings aggregation and member account associations are restored to expected configurations.
 78
 79- **Investigation**
 80  - Review CloudTrail for related privilege escalation or resource tampering events around the deletion time.
 81  - Assess whether any attacker activity occurred during the monitoring gap between deletion and restoration.
 82
 83- **Recovery and hardening**
 84  - Restrict `guardduty:DeleteDetector` permissions to a limited administrative role.
 85  - Implement AWS Config rules or Security Hub controls to alert on changes to GuardDuty detectors or configuration states.
 86  - Enforce least privilege IAM policies, ensuring operational automation cannot disable GuardDuty outside maintenance workflows.
 87  - Document approved GuardDuty maintenance activities and correlate them with change tickets for traceability.
 88
 89### Additional information
 90- **[AWS IR Playbooks](https://github.com/aws-samples/aws-incident-response-playbooks/blob/c151b0dc091755fffd4d662a8f29e2f6794da52c/playbooks/)** 
 91- **[AWS Customer Playbook Framework](https://github.com/aws-samples/aws-customer-playbook-framework/tree/a8c7b313636b406a375952ac00b2d68e89a991f2/docs)** 
 92- **Security Best Practices:** [AWS Knowledge Center – Security Best Practices](https://aws.amazon.com/premiumsupport/knowledge-center/security-best-practices/).
 93"""
 94references = [
 95    "https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DeleteDetector.html",
 96]
 97risk_score = 73
 98rule_id = "523116c0-d89d-4d7c-82c2-39e6845a78ef"
 99severity = "high"
100tags = [
101    "Domain: Cloud",
102    "Data Source: AWS",
103    "Data Source: Amazon Web Services",
104    "Data Source: AWS GuardDuty",
105    "Tactic: Defense Evasion",
106    "Resources: Investigation Guide",
107]
108timestamp_override = "event.ingested"
109type = "query"
110
111query = '''
112event.dataset: aws.cloudtrail 
113  and event.provider: guardduty.amazonaws.com 
114  and event.action: DeleteDetector 
115  and event.outcome: success
116'''
117
118
119[[rule.threat]]
120framework = "MITRE ATT&CK"
121[[rule.threat.technique]]
122id = "T1562"
123name = "Impair Defenses"
124reference = "https://attack.mitre.org/techniques/T1562/"
125[[rule.threat.technique.subtechnique]]
126id = "T1562.001"
127name = "Disable or Modify Tools"
128reference = "https://attack.mitre.org/techniques/T1562/001/"
129
130
131
132[rule.threat.tactic]
133id = "TA0005"
134name = "Defense Evasion"
135reference = "https://attack.mitre.org/tactics/TA0005/"
136
137[rule.investigation_fields]
138field_names = [
139    "@timestamp",
140    "user.name",
141    "user_agent.original",
142    "source.ip",
143    "aws.cloudtrail.user_identity.arn",
144    "aws.cloudtrail.user_identity.type",
145    "aws.cloudtrail.user_identity.access_key_id",
146    "target.entity.id",
147    "event.action",
148    "event.outcome",
149    "cloud.account.id",
150    "cloud.region",
151    "aws.cloudtrail.request_parameters",
152]

Triage and analysis

Disclaimer: This investigation guide was created using generative AI technology and has been reviewed to improve its accuracy and relevance. While every effort has been made to ensure its quality, we recommend validating the content and adapting it to suit your specific environment and operational needs.

Investigating AWS GuardDuty Detector Deletion

Amazon GuardDuty is a continuous threat detection service that analyzes CloudTrail, DNS, and VPC Flow Logs to identify malicious activity and compromised resources. Deleting a GuardDuty detector stops this monitoring entirely and permanently removes all historical findings for the affected AWS account. This rule detects successful DeleteDetector API calls, which may represent an attacker attempting to impair defenses and evade detection. Such actions should be rare and always performed under controlled administrative change processes.

Possible investigation steps

  • Identify the actor

    • Review aws.cloudtrail.user_identity.arn and aws.cloudtrail.user_identity.type to determine who initiated the deletion.
    • Verify whether this principal normally performs GuardDuty configuration or administrative tasks.
  • Review request context

    • Check aws.cloudtrail.request_parameters and cloud.region to confirm the targeted GuardDuty detector and scope of impact.
    • Determine whether multiple detectors or member accounts were affected (especially in delegated admin organizations).
  • Analyze source and access patterns

    • Review source.ip, user_agent.original and source.geo fields for anomalous or previously unseen access locations or automation clients.
    • Check whether the deletion occurred outside standard maintenance windows or during a concurrent suspicious activity window.
  • Correlate with preceding or related activity

    • Search for earlier GuardDuty configuration changes:
      • StopMonitoringMembers, DisassociateMembers, or DeleteMembers
      • IAM role or policy modifications reducing GuardDuty privileges
    • Look for other defense evasion indicators such as CloudTrail suspension, Security Hub configuration changes, or disabling of AWS Config rules.
  • Review historical GuardDuty findings

    • Examine prior GuardDuty alerts and findings (if still retrievable) to determine whether the deletion followed significant detection activity.
    • Use centralized logs or security data lakes to recover findings removed from the console.

False positive analysis

  • Authorized administrative actions
    • Verify whether the deletion corresponds to legitimate account decommissioning, region cleanup, or migration activity.
  • Automation or IaC
    • GuardDuty may be disabled temporarily during infrastructure provisioning or teardown in automated environments. Confirm via CI/CD logs or Infrastructure-as-Code templates.
  • Organizational configuration changes
    • Large organizations might consolidate GuardDuty under a delegated administrator account, causing detectors to be deleted in member accounts. Validate these actions against security architecture changes.

Response and remediation

  • Containment and restoration

    • If unauthorized, immediately re-enable GuardDuty in the affected account and region using the CreateDetector API or AWS console.
    • Verify that findings aggregation and member account associations are restored to expected configurations.
  • Investigation

    • Review CloudTrail for related privilege escalation or resource tampering events around the deletion time.
    • Assess whether any attacker activity occurred during the monitoring gap between deletion and restoration.
  • Recovery and hardening

    • Restrict guardduty:DeleteDetector permissions to a limited administrative role.
    • Implement AWS Config rules or Security Hub controls to alert on changes to GuardDuty detectors or configuration states.
    • Enforce least privilege IAM policies, ensuring operational automation cannot disable GuardDuty outside maintenance workflows.
    • Document approved GuardDuty maintenance activities and correlate them with change tickets for traceability.

Additional information

References

Related rules

to-top