AWS SSM Command Document Created by Rare User
Identifies when an AWS Systems Manager (SSM) command document is created by a user who does not typically perform this action. Adversaries may create SSM command documents to execute commands on managed instances, potentially leading to unauthorized access, command and control, data exfiltration and more.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2024/11/01"
3integration = ["aws"]
4maturity = "production"
5updated_date = "2024/11/07"
6
7[rule]
8author = ["Elastic"]
9description = """
10Identifies when an AWS Systems Manager (SSM) command document is created by a user who does not typically perform this
11action. Adversaries may create SSM command documents to execute commands on managed instances, potentially leading to
12unauthorized access, command and control, data exfiltration and more.
13"""
14false_positives = [
15 """
16 Legitimate users may create SSM command documents for legitimate purposes. Ensure that the document is authorized
17 and the user is known before taking action.
18 """,
19]
20from = "now-9m"
21index = ["filebeat-*", "logs-aws.cloudtrail-*"]
22language = "kuery"
23license = "Elastic License v2"
24name = "AWS SSM Command Document Created by Rare User"
25note = """## Triage and Analysis
26
27### Investigating AWS SSM Command Document Created by Rare User
28
29This rule identifies when an AWS Systems Manager (SSM) command document is created by a user who does not typically perform this action. Creating SSM command documents can be a legitimate action but may also indicate malicious intent if done by an unusual or compromised user. Adversaries may leverage SSM documents to execute commands on managed instances, potentially leading to unauthorized access, command and control, or data exfiltration.
30
31#### Possible Investigation Steps
32
33- **Identify the Actor**: Review the `aws.cloudtrail.user_identity.arn` field to identify who created the SSM document. Verify if this user typically creates such documents and has the appropriate permissions. It may be unexpected for certain types of users, like assumed roles or federated users, to perform this action.
34- **Analyze the Document Details**:
35 - **Document Name**: Check the `aws.cloudtrail.request_parameters.name` field for the document name to understand its intended purpose.
36 - **Document Content**: If possible, review `aws.cloudtrail.request_parameters.content` for any sensitive or unexpected instructions (e.g., actions for data exfiltration or privilege escalation). If not available via logs, consider reviewing the document in the AWS Management Console.
37- **Contextualize the Activity with Related Events**: Look for other CloudTrail events involving the same user ARN or IP address (`source.address`). Examine actions performed in other AWS services, such as IAM, EC2, or S3, to identify if additional suspicious behavior exists. The `SendCommand` API call may indicate attempts to execute the SSM document on managed instances.
38- **Check Document Status and Metadata**:
39 - **Document Status**: Confirm the document creation status in `aws.cloudtrail.response_elements.documentDescription.status`. A status of `Creating` may indicate that the document is in progress.
40 - **Execution Permissions**: Review if the document specifies `platformTypes` and `documentVersion` in `aws.cloudtrail.response_elements.documentDescription` to understand which environments may be impacted and if multiple versions exist.
41
42### False Positive Analysis
43
44- **Authorized Administrative Actions**: Determine if this document creation aligns with scheduled administrative tasks or actions by authorized personnel.
45- **Historical User Actions**: Compare this action against historical activities for the user to determine if they have a history of creating similar documents, which may indicate legitimate usage.
46
47### Response and Remediation
48
49- **Immediate Document Review and Deletion**: If the document creation is deemed unauthorized, delete the document immediately and check for other similar documents created recently.
50- **Enhance Monitoring and Alerts**: Configure additional monitoring for SSM document creation events, especially when associated with untrusted or rare users.
51- **Policy Update**: Consider restricting SSM document creation permissions to specific, trusted roles or users to prevent unauthorized document creation.
52- **Incident Response**: If the document is confirmed as part of malicious activity, treat this as a security incident. Follow incident response protocols, including containment, investigation, and remediation.
53
54### Additional Information
55
56For further guidance on managing and securing AWS Systems Manager in your environment, refer to the [AWS SSM documentation](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) and AWS security best practices.
57"""
58references = [
59 "https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateDocument.html",
60 "https://docs.aws.amazon.com/systems-manager/latest/userguide/documents.html",
61]
62risk_score = 21
63rule_id = "50a2bdea-9876-11ef-89db-f661ea17fbcd"
64severity = "low"
65tags = [
66 "Domain: Cloud",
67 "Data Source: AWS",
68 "Data Source: Amazon Web Services",
69 "Data Source: AWS SNS",
70 "Data Source: AWS Systems Manager",
71 "Resources: Investigation Guide",
72 "Use Case: Threat Detection",
73 "Tactic: Execution",
74]
75timestamp_override = "event.ingested"
76type = "new_terms"
77
78query = '''
79event.dataset: "aws.cloudtrail"
80 and event.provider: "ssm.amazonaws.com"
81 and event.action: "CreateDocument"
82 and event.outcome: "success"
83 and aws.cloudtrail.response_elements: *documentType=Command*
84'''
85
86[rule.investigation_fields]
87field_names = [
88 "@timestamp",
89 "user.name",
90 "source.address",
91 "aws.cloudtrail.user_identity.arn",
92 "aws.cloudtrail.user_identity.type",
93 "user_agent.original",
94 "event.action",
95 "event.outcome",
96 "cloud.region",
97 "aws.cloudtrail.request_parameters",
98 "aws.cloudtrail.response_elements",
99]
100
101[[rule.threat]]
102framework = "MITRE ATT&CK"
103
104[rule.threat.tactic]
105id = "TA0002"
106name = "Execution"
107reference = "https://attack.mitre.org/tactics/TA0002/"
108
109[rule.new_terms]
110field = "new_terms_fields"
111value = ["aws.cloudtrail.user_identity.arn"]
112[[rule.new_terms.history_window_start]]
113field = "history_window_start"
114value = "now-14d"
Triage and Analysis
Investigating AWS SSM Command Document Created by Rare User
This rule identifies when an AWS Systems Manager (SSM) command document is created by a user who does not typically perform this action. Creating SSM command documents can be a legitimate action but may also indicate malicious intent if done by an unusual or compromised user. Adversaries may leverage SSM documents to execute commands on managed instances, potentially leading to unauthorized access, command and control, or data exfiltration.
Possible Investigation Steps
- Identify the Actor: Review the
aws.cloudtrail.user_identity.arn
field to identify who created the SSM document. Verify if this user typically creates such documents and has the appropriate permissions. It may be unexpected for certain types of users, like assumed roles or federated users, to perform this action. - Analyze the Document Details:
- Document Name: Check the
aws.cloudtrail.request_parameters.name
field for the document name to understand its intended purpose. - Document Content: If possible, review
aws.cloudtrail.request_parameters.content
for any sensitive or unexpected instructions (e.g., actions for data exfiltration or privilege escalation). If not available via logs, consider reviewing the document in the AWS Management Console.
- Document Name: Check the
- Contextualize the Activity with Related Events: Look for other CloudTrail events involving the same user ARN or IP address (
source.address
). Examine actions performed in other AWS services, such as IAM, EC2, or S3, to identify if additional suspicious behavior exists. TheSendCommand
API call may indicate attempts to execute the SSM document on managed instances. - Check Document Status and Metadata:
- Document Status: Confirm the document creation status in
aws.cloudtrail.response_elements.documentDescription.status
. A status ofCreating
may indicate that the document is in progress. - Execution Permissions: Review if the document specifies
platformTypes
anddocumentVersion
inaws.cloudtrail.response_elements.documentDescription
to understand which environments may be impacted and if multiple versions exist.
- Document Status: Confirm the document creation status in
False Positive Analysis
- Authorized Administrative Actions: Determine if this document creation aligns with scheduled administrative tasks or actions by authorized personnel.
- Historical User Actions: Compare this action against historical activities for the user to determine if they have a history of creating similar documents, which may indicate legitimate usage.
Response and Remediation
- Immediate Document Review and Deletion: If the document creation is deemed unauthorized, delete the document immediately and check for other similar documents created recently.
- Enhance Monitoring and Alerts: Configure additional monitoring for SSM document creation events, especially when associated with untrusted or rare users.
- Policy Update: Consider restricting SSM document creation permissions to specific, trusted roles or users to prevent unauthorized document creation.
- Incident Response: If the document is confirmed as part of malicious activity, treat this as a security incident. Follow incident response protocols, including containment, investigation, and remediation.
Additional Information
For further guidance on managing and securing AWS Systems Manager in your environment, refer to the AWS SSM documentation and AWS security best practices.
References
Related rules
- AWS SNS Email Subscription by Rare User
- AWS SSM `SendCommand` Execution by Rare User
- AWS Lambda Layer Added to Existing Function
- AWS Systems Manager SecureString Parameter Request with Decryption Flag
- AWS S3 Bucket Replicated to Another Account