94bb6643fc
These Cloudtrail lifecycle rules are performing as expected in telemetry, very low volume. No major changes needed - updated Descriptions and IGs - added highlighted fields - added missing tags - reduced execution windows
122 lines
4.9 KiB
TOML
122 lines
4.9 KiB
TOML
[metadata]
|
||
creation_date = "2020/06/10"
|
||
integration = ["aws"]
|
||
maturity = "production"
|
||
updated_date = "2025/11/07"
|
||
|
||
[rule]
|
||
author = ["Elastic"]
|
||
description = """
|
||
Detects Cloudtrail logging suspension via StopLogging API. Stopping CloudTrail eliminates forward audit visibility and
|
||
is a classic defense evasion step before sensitive changes or data theft. Investigate immediately and determine what
|
||
occurred during the logging gap.
|
||
"""
|
||
false_positives = [
|
||
"""
|
||
Suspending the recording of a trail may be done by a system or network administrator. Verify whether the user
|
||
identity, user agent, and/or hostname should be making changes in your environment. Trail suspensions from
|
||
unfamiliar users or hosts should be investigated. If known behavior is causing false positives, it can be exempted
|
||
from the rule.
|
||
""",
|
||
]
|
||
from = "now-6m"
|
||
index = ["filebeat-*", "logs-aws.cloudtrail-*"]
|
||
language = "kuery"
|
||
license = "Elastic License v2"
|
||
name = "AWS CloudTrail Log Suspended"
|
||
note = """## 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 CloudTrail Log Suspended
|
||
|
||
AWS CloudTrail is a service that enables governance, compliance, and operational and risk auditing of your AWS account. It logs API calls and related events, providing visibility into user activity. This rule identifies the suspension of an AWS log trail using the `StopLogging` API. Attackers can do this to cover their tracks and impact security monitoring that relies on this source.
|
||
|
||
#### Possible investigation steps
|
||
- **Actor & scope**
|
||
- Identify `aws.cloudtrail.user_identity.arn`, `user_agent.original`, `source.ip`.
|
||
- Determine which trail stopped (`target.entity.id`) and whether it’s multi-region or organization-wide.
|
||
- **Timing and impact**
|
||
- When did logging stop and resume (if at all)? Are there overlapping detections indicating activity during the gap?
|
||
- **Correlate activity**
|
||
- Search for sensitive API activity around the stop event (IAM changes, S3 policy changes, EC2 exports, KMS changes).
|
||
- Check for preceding `UpdateTrail` (e.g., destination change) and subsequent `DeleteTrail`.
|
||
|
||
### False positive analysis
|
||
- **Planned suspensions**: Rare; verify maintenance tickets and ensure post-change validation.
|
||
|
||
### Response and remediation
|
||
- Restart logging (`StartLogging`) immediately.
|
||
- Investigate actor’s recent activity; rotate credentials if suspicious.
|
||
- Validate trail configuration, destination bucket/CMK, and event selectors.
|
||
- Hardening: Limit `cloudtrail:StopLogging` to break-glass roles; alert on any future stops; enforce via AWS Config/SCPs.
|
||
|
||
### Additional information
|
||
- **[AWS IR Playbooks](https://github.com/aws-samples/aws-incident-response-playbooks/blob/c151b0dc091755fffd4d662a8f29e2f6794da52c/playbooks/)**
|
||
- **[AWS Customer Playbook Framework](https://github.com/aws-samples/aws-customer-playbook-framework/tree/a8c7b313636b406a375952ac00b2d68e89a991f2/docs)**
|
||
- **Security Best Practices:** [AWS Knowledge Center – Security Best Practices](https://aws.amazon.com/premiumsupport/knowledge-center/security-best-practices/).
|
||
"""
|
||
references = [
|
||
"https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_StopLogging.html",
|
||
"https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudtrail/stop-logging.html",
|
||
]
|
||
risk_score = 47
|
||
rule_id = "1aa8fa52-44a7-4dae-b058-f3333b91c8d7"
|
||
severity = "medium"
|
||
tags = [
|
||
"Domain: Cloud",
|
||
"Data Source: AWS",
|
||
"Data Source: Amazon Web Services",
|
||
"Data Source: AWS Cloudtrail",
|
||
"Use Case: Log Auditing",
|
||
"Resources: Investigation Guide",
|
||
"Tactic: Defense Evasion",
|
||
]
|
||
timestamp_override = "event.ingested"
|
||
type = "query"
|
||
|
||
query = '''
|
||
event.dataset: "aws.cloudtrail"
|
||
and event.provider: "cloudtrail.amazonaws.com"
|
||
and event.action: "StopLogging"
|
||
and event.outcome: "success"
|
||
'''
|
||
|
||
|
||
[[rule.threat]]
|
||
framework = "MITRE ATT&CK"
|
||
[[rule.threat.technique]]
|
||
id = "T1562"
|
||
name = "Impair Defenses"
|
||
reference = "https://attack.mitre.org/techniques/T1562/"
|
||
[[rule.threat.technique.subtechnique]]
|
||
id = "T1562.001"
|
||
name = "Disable or Modify Tools"
|
||
reference = "https://attack.mitre.org/techniques/T1562/001/"
|
||
|
||
|
||
|
||
[rule.threat.tactic]
|
||
id = "TA0005"
|
||
name = "Defense Evasion"
|
||
reference = "https://attack.mitre.org/tactics/TA0005/"
|
||
|
||
[rule.investigation_fields]
|
||
field_names = [
|
||
"@timestamp",
|
||
"user.name",
|
||
"user_agent.original",
|
||
"source.ip",
|
||
"aws.cloudtrail.user_identity.arn",
|
||
"aws.cloudtrail.user_identity.type",
|
||
"aws.cloudtrail.user_identity.access_key_id",
|
||
"target.entity.id",
|
||
"event.action",
|
||
"event.outcome",
|
||
"cloud.account.id",
|
||
"cloud.region",
|
||
"aws.cloudtrail.request_parameters",
|
||
]
|
||
|