AWS GuardDuty Publishing Destination Deleted
Detects the deletion of an Amazon GuardDuty publishing destination. Publishing destinations export GuardDuty findings to S3, Security Lake, or EventBridge for long-term retention and SIEM ingestion. An adversary with GuardDuty administrative access may delete a publishing destination to prevent findings from reaching external storage or a security operations center, reducing the visibility of their activity while leaving the GuardDuty detector active.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2026/08/14"
3integration = ["aws"]
4maturity = "production"
5updated_date = "2026/08/14"
6
7[rule]
8author = ["Elastic"]
9description = """
10Detects the deletion of an Amazon GuardDuty publishing destination. Publishing destinations
11export GuardDuty findings to S3, Security Lake, or EventBridge for long-term retention and
12SIEM ingestion. An adversary with GuardDuty administrative access may delete a publishing
13destination to prevent findings from reaching external storage or a security operations center,
14reducing the visibility of their activity while leaving the GuardDuty detector active.
15"""
16false_positives = [
17 """
18 Decommissioning of a GuardDuty publishing destination during a planned security architecture
19 migration may trigger this rule. Validate that the deletion is associated with a known
20 infrastructure change and that an alternative destination was configured.
21 """,
22]
23from = "now-6m"
24index = ["logs-aws.cloudtrail-*"]
25language = "kuery"
26license = "Elastic License v2"
27name = "AWS GuardDuty Publishing Destination Deleted"
28note = """## Triage and analysis
29
30### Investigating AWS GuardDuty Publishing Destination Deleted
31
32Amazon GuardDuty publishing destinations export threat findings to S3 buckets, Amazon Security Lake, or EventBridge buses for retention and downstream SIEM ingestion. Deleting a publishing destination severs this pipeline: findings still appear in the GuardDuty console but are no longer exported, making it harder for security operations to correlate GuardDuty alerts with other event sources.
33
34This action is uncommon in production environments. Legitimate deletions occur during planned migrations to a new destination or when decommissioning GuardDuty in an account.
35
36### Possible investigation steps
37
38- Identify the caller from `aws.cloudtrail.user_identity.arn` and `user.name`. Verify this identity has a documented reason to modify GuardDuty configuration.
39- Check `aws.cloudtrail.request_parameters` for the destination ID and detector ID. Query GuardDuty to confirm whether any publishing destination remains configured.
40- Review CloudTrail for other GuardDuty control-plane actions by the same identity in the surrounding time window: `DeleteDetector`, `UpdateDetector`, `CreateFilter`, `CreateIPSet`.
41- Determine whether a replacement destination was configured before or after the deletion.
42- Correlate with IAM changes that may have granted GuardDuty administrative access to the calling identity.
43
44### Response and remediation
45
46- If unauthorized, immediately re-create the publishing destination to restore findings export.
47- Rotate credentials for the calling identity and review all actions taken by those credentials.
48- Apply an SCP or IAM policy restricting `guardduty:DeletePublishingDestination` to a dedicated security operations role.
49- Review GuardDuty member account configurations to confirm the action was not replicated across multiple accounts.
50"""
51references = [
52 "https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DeletePublishingDestination.html",
53 "https://hackingthe.cloud/aws/avoiding-detection/modify-guardduty-config/",
54]
55risk_score = 47
56rule_id = "29901591-a2c9-4ac3-b1c9-36fd1df0f4c1"
57setup = "The AWS integration must be ingesting management events into `logs-aws.cloudtrail-*`. GuardDuty management events are logged by default."
58severity = "medium"
59tags = [
60 "Domain: Cloud",
61 "Platform: AWS",
62 "Data Source: AWS CloudTrail",
63 "Service: AWS GuardDuty",
64 "Rule Type: Custom Query (KQL)",
65 "Tactic: Defense Evasion",
66 "Resources: Investigation Guide",
67]
68timestamp_override = "event.ingested"
69type = "query"
70
71query = '''
72data_stream.dataset: "aws.cloudtrail"
73 and event.provider: "guardduty.amazonaws.com"
74 and event.action: "DeletePublishingDestination"
75 and event.outcome: "success"
76'''
77
78[[rule.threat]]
79framework = "MITRE ATT&CK"
80[[rule.threat.technique]]
81id = "T1562"
82name = "Impair Defenses"
83reference = "https://attack.mitre.org/techniques/T1562/"
84[[rule.threat.technique.subtechnique]]
85id = "T1562.001"
86name = "Disable or Modify Tools"
87reference = "https://attack.mitre.org/techniques/T1562/001/"
88
89[rule.threat.tactic]
90id = "TA0005"
91name = "Defense Evasion"
92reference = "https://attack.mitre.org/tactics/TA0005/"
93
94[rule.investigation_fields]
95field_names = [
96 "@timestamp",
97 "aws.cloudtrail.user_identity.arn",
98 "aws.cloudtrail.user_identity.type",
99 "user.name",
100 "event.action",
101 "event.outcome",
102 "aws.cloudtrail.request_parameters",
103 "source.ip",
104 "cloud.region",
105 "cloud.account.id",
106]
Triage and analysis
Investigating AWS GuardDuty Publishing Destination Deleted
Amazon GuardDuty publishing destinations export threat findings to S3 buckets, Amazon Security Lake, or EventBridge buses for retention and downstream SIEM ingestion. Deleting a publishing destination severs this pipeline: findings still appear in the GuardDuty console but are no longer exported, making it harder for security operations to correlate GuardDuty alerts with other event sources.
This action is uncommon in production environments. Legitimate deletions occur during planned migrations to a new destination or when decommissioning GuardDuty in an account.
Possible investigation steps
- Identify the caller from
aws.cloudtrail.user_identity.arnanduser.name. Verify this identity has a documented reason to modify GuardDuty configuration. - Check
aws.cloudtrail.request_parametersfor the destination ID and detector ID. Query GuardDuty to confirm whether any publishing destination remains configured. - Review CloudTrail for other GuardDuty control-plane actions by the same identity in the surrounding time window:
DeleteDetector,UpdateDetector,CreateFilter,CreateIPSet. - Determine whether a replacement destination was configured before or after the deletion.
- Correlate with IAM changes that may have granted GuardDuty administrative access to the calling identity.
Response and remediation
- If unauthorized, immediately re-create the publishing destination to restore findings export.
- Rotate credentials for the calling identity and review all actions taken by those credentials.
- Apply an SCP or IAM policy restricting
guardduty:DeletePublishingDestinationto a dedicated security operations role. - Review GuardDuty member account configurations to confirm the action was not replicated across multiple accounts.
References
Related rules
- AWS GuardDuty Detector Deletion
- AWS Detective Graph Deleted
- AWS Bedrock Guardrail Deleted or Weakened
- AWS CloudWatch Alarm Deletion
- AWS CloudWatch Log Group Deletion