nldcsc-elastic-rules 0.0.8__py3-none-any.whl → 0.0.16__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nldcsc_elastic_rules/__init__.py +1 -1
- nldcsc_elastic_rules/rules/{linux → cross-platform}/command_and_control_curl_wget_spawn_via_nodejs_parent.toml +32 -11
- nldcsc_elastic_rules/rules/cross-platform/command_and_control_genai_process_suspicious_tld_connection.toml +134 -0
- nldcsc_elastic_rules/rules/cross-platform/command_and_control_genai_process_unusual_domain.toml +128 -0
- nldcsc_elastic_rules/rules/cross-platform/credential_access_genai_process_sensitive_file_access.toml +154 -0
- nldcsc_elastic_rules/rules/cross-platform/credential_access_gitleaks_execution.toml +114 -0
- nldcsc_elastic_rules/rules/cross-platform/credential_access_multi_could_secrets_via_api.toml +198 -0
- nldcsc_elastic_rules/rules/cross-platform/credential_access_trufflehog_execution.toml +24 -5
- nldcsc_elastic_rules/rules/cross-platform/defense_evasion_genai_config_modification.toml +120 -0
- nldcsc_elastic_rules/rules/cross-platform/defense_evasion_genai_process_compiling_executables.toml +158 -0
- nldcsc_elastic_rules/rules/cross-platform/defense_evasion_genai_process_encoding_prior_to_network_activity.toml +172 -0
- nldcsc_elastic_rules/rules/cross-platform/defense_evasion_potential_http_downgrade_attack.toml +98 -0
- nldcsc_elastic_rules/rules/cross-platform/discovery_web_server_local_file_inclusion_activity.toml +172 -0
- nldcsc_elastic_rules/rules/cross-platform/discovery_web_server_remote_file_inclusion_activity.toml +133 -0
- nldcsc_elastic_rules/rules/cross-platform/execution_aws_ec2_lolbin_via_ssm.toml +250 -0
- nldcsc_elastic_rules/rules/{linux/persistence_nodejs_pre_or_post_install_script_execution.toml → cross-platform/execution_nodejs_pre_or_post_install_script_execution.toml} +40 -24
- nldcsc_elastic_rules/rules/cross-platform/execution_privileged_container_creation_with_host_reference.toml +146 -0
- nldcsc_elastic_rules/rules/cross-platform/execution_register_github_actions_runner.toml +126 -0
- nldcsc_elastic_rules/rules/cross-platform/execution_via_github_actions_runner.toml +130 -0
- nldcsc_elastic_rules/rules/cross-platform/execution_via_github_runner_with_runner_tracking_id_tampering_via_env_vars.toml +163 -0
- nldcsc_elastic_rules/rules/cross-platform/initial_access_execution_susp_react_serv_child.toml +130 -0
- nldcsc_elastic_rules/rules/cross-platform/initial_access_file_upload_followed_by_get_request.toml +145 -0
- nldcsc_elastic_rules/rules/cross-platform/multiple_alerts_elastic_defend_netsecurity_by_host.toml +4 -1
- nldcsc_elastic_rules/rules/cross-platform/persistence_credential_access_modify_auth_module_or_config.toml +3 -4
- nldcsc_elastic_rules/rules/cross-platform/persistence_web_server_potential_command_injection.toml +23 -25
- nldcsc_elastic_rules/rules/cross-platform/reconnaissance_web_server_discovery_or_fuzzing_activity.toml +13 -14
- nldcsc_elastic_rules/rules/cross-platform/reconnaissance_web_server_unusual_spike_in_error_logs.toml +8 -5
- nldcsc_elastic_rules/rules/cross-platform/reconnaissance_web_server_unusual_spike_in_error_response_codes.toml +12 -12
- nldcsc_elastic_rules/rules/cross-platform/reconnaissance_web_server_unusual_user_agents.toml +37 -43
- nldcsc_elastic_rules/rules/integrations/aws/defense_evasion_rds_instance_restored.toml +137 -45
- nldcsc_elastic_rules/rules/integrations/aws/discovery_iam_principal_enumeration_via_update_assume_role_policy.toml +152 -0
- nldcsc_elastic_rules/rules/integrations/aws/discovery_multiple_discovery_api_calls_via_cli.toml +242 -0
- nldcsc_elastic_rules/rules/integrations/aws/exfiltration_rds_snapshot_export.toml +141 -33
- nldcsc_elastic_rules/rules/integrations/aws/exfiltration_rds_snapshot_shared_with_another_account.toml +108 -30
- nldcsc_elastic_rules/rules/integrations/aws/exfiltration_s3_bucket_policy_added_for_external_account_access.toml +2 -1
- nldcsc_elastic_rules/rules/integrations/aws/exfiltration_s3_bucket_replicated_to_external_account.toml +114 -27
- nldcsc_elastic_rules/rules/integrations/aws/impact_efs_filesystem_deleted.toml +174 -0
- nldcsc_elastic_rules/rules/integrations/aws/impact_kms_cmk_disabled_or_scheduled_for_deletion.toml +111 -33
- nldcsc_elastic_rules/rules/integrations/aws/impact_rds_instance_cluster_deletion.toml +129 -43
- nldcsc_elastic_rules/rules/integrations/aws/impact_rds_instance_cluster_deletion_protection_disabled.toml +89 -27
- nldcsc_elastic_rules/rules/integrations/aws/impact_rds_snapshot_deleted.toml +127 -37
- nldcsc_elastic_rules/rules/integrations/aws/impact_s3_object_encryption_with_external_key.toml +160 -43
- nldcsc_elastic_rules/rules/integrations/aws/initial_access_iam_session_token_used_from_multiple_addresses.toml +20 -10
- nldcsc_elastic_rules/rules/integrations/aws/ml_cloudtrail_error_message_spike.toml +35 -1
- nldcsc_elastic_rules/rules/integrations/aws/ml_cloudtrail_rare_error_code.toml +59 -1
- nldcsc_elastic_rules/rules/integrations/aws/ml_cloudtrail_rare_method_by_city.toml +19 -1
- nldcsc_elastic_rules/rules/integrations/aws/ml_cloudtrail_rare_method_by_country.toml +19 -1
- nldcsc_elastic_rules/rules/integrations/aws/ml_cloudtrail_rare_method_by_user.toml +58 -1
- nldcsc_elastic_rules/rules/integrations/aws/persistence_rds_db_instance_password_modified.toml +109 -35
- nldcsc_elastic_rules/rules/integrations/aws/persistence_rds_instance_made_public.toml +103 -22
- nldcsc_elastic_rules/rules/integrations/aws/persistence_redshift_instance_creation.toml +3 -3
- nldcsc_elastic_rules/rules/integrations/aws/privilege_escalation_sts_assume_root_from_rare_user_and_member_account.toml +126 -69
- nldcsc_elastic_rules/rules/integrations/azure/credential_access_azure_entra_susp_device_code_signin.toml +134 -0
- nldcsc_elastic_rules/rules/integrations/azure/credential_access_entra_id_excessive_account_lockouts.toml +2 -2
- nldcsc_elastic_rules/rules/integrations/azure/ml_azure_event_failures.toml +124 -0
- nldcsc_elastic_rules/rules/integrations/azure/ml_azure_rare_event_failures.toml +148 -0
- nldcsc_elastic_rules/rules/integrations/azure/ml_azure_rare_method_by_city.toml +109 -0
- nldcsc_elastic_rules/rules/integrations/azure/ml_azure_rare_method_by_country.toml +108 -0
- nldcsc_elastic_rules/rules/integrations/azure/ml_azure_rare_method_by_user.toml +147 -0
- nldcsc_elastic_rules/rules/integrations/fim/persistence_suspicious_file_modifications.toml +9 -1
- nldcsc_elastic_rules/rules/integrations/gcp/ml_gcp_error_message_spike.toml +95 -0
- nldcsc_elastic_rules/rules/integrations/gcp/ml_gcp_rare_error_code.toml +118 -0
- nldcsc_elastic_rules/rules/integrations/gcp/ml_gcp_rare_method_by_city.toml +79 -0
- nldcsc_elastic_rules/rules/integrations/gcp/ml_gcp_rare_method_by_country.toml +79 -0
- nldcsc_elastic_rules/rules/integrations/gcp/ml_gcp_rare_method_by_user.toml +117 -0
- nldcsc_elastic_rules/rules/integrations/github/initial_access_github_register_self_hosted_runner.toml +92 -0
- nldcsc_elastic_rules/rules/integrations/o365/collection_onedrive_excessive_file_downloads.toml +24 -14
- nldcsc_elastic_rules/rules/linux/defense_evasion_file_deletion_via_shred.toml +12 -5
- nldcsc_elastic_rules/rules/linux/execution_suspicious_pod_or_container_creation_command_execution.toml +150 -0
- nldcsc_elastic_rules/rules/linux/persistence_at_job_creation.toml +4 -4
- nldcsc_elastic_rules/rules/linux/persistence_pluggable_authentication_module_creation.toml +12 -7
- nldcsc_elastic_rules/rules/linux/persistence_pth_file_creation.toml +6 -1
- nldcsc_elastic_rules/rules/linux/persistence_site_and_user_customize_file_creation.toml +6 -1
- nldcsc_elastic_rules/rules/linux/persistence_web_server_unusual_command_execution.toml +155 -0
- nldcsc_elastic_rules/rules/ml/ml_high_count_events_for_a_host_name.toml +58 -1
- nldcsc_elastic_rules/rules/ml/ml_high_count_network_denies.toml +71 -1
- nldcsc_elastic_rules/rules/ml/ml_high_count_network_events.toml +53 -1
- nldcsc_elastic_rules/rules/ml/ml_linux_anomalous_network_activity.toml +56 -1
- nldcsc_elastic_rules/rules/ml/ml_linux_anomalous_network_port_activity.toml +40 -1
- nldcsc_elastic_rules/rules/ml/ml_low_count_events_for_a_host_name.toml +27 -1
- nldcsc_elastic_rules/rules/ml/ml_packetbeat_rare_server_domain.toml +63 -1
- nldcsc_elastic_rules/rules/ml/ml_rare_destination_country.toml +68 -1
- nldcsc_elastic_rules/rules/ml/ml_spike_in_traffic_to_a_country.toml +53 -1
- nldcsc_elastic_rules/rules/ml/ml_windows_anomalous_network_activity.toml +56 -1
- nldcsc_elastic_rules/rules/network/initial_access_react_server_components_rce_attempt.toml +123 -0
- nldcsc_elastic_rules/rules/promotions/external_alerts.toml +2 -2
- nldcsc_elastic_rules/rules/windows/command_and_control_common_webservices.toml +4 -3
- nldcsc_elastic_rules/rules/windows/credential_access_rare_webdav_destination.toml +3 -4
- nldcsc_elastic_rules/rules/windows/defense_evasion_masquerading_as_svchost.toml +11 -8
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation.toml +25 -2
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_backtick.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_backtick_var.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_char_arrays.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_concat_dynamic.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_high_number_proportion.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_iex_env_vars_reconstruction.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_iex_string_reconstruction.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_index_reversal.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_reverse_keyword.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_string_concat.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_string_format.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_posh_obfuscation_whitespace_special_proportion.toml +2 -3
- nldcsc_elastic_rules/rules/windows/defense_evasion_wsl_filesystem.toml +13 -10
- nldcsc_elastic_rules/rules/windows/execution_posh_hacktool_functions.toml +3 -2
- nldcsc_elastic_rules/rules/windows/execution_suspicious_powershell_imgload.toml +7 -2
- nldcsc_elastic_rules/rules/windows/execution_windows_powershell_susp_args.toml +9 -2
- nldcsc_elastic_rules/rules/windows/impact_mod_critical_os_files.toml +16 -6
- nldcsc_elastic_rules/rules/windows/lateral_movement_credential_access_kerberos_correlation.toml +7 -2
- nldcsc_elastic_rules/rules/windows/lateral_movement_scheduled_task_target.toml +2 -2
- nldcsc_elastic_rules/rules/windows/persistence_browser_extension_install.toml +19 -2
- nldcsc_elastic_rules/rules/windows/persistence_msi_installer_task_startup.toml +50 -13
- nldcsc_elastic_rules/rules/windows/persistence_via_application_shimming.toml +12 -2
- nldcsc_elastic_rules/rules/windows/privilege_escalation_tokenmanip_sedebugpriv_enabled.toml +24 -18
- nldcsc_elastic_rules/rules/windows/privilege_escalation_unusual_printspooler_childprocess.toml +14 -2
- nldcsc_elastic_rules/rules/windows/privilege_escalation_via_ppid_spoofing.toml +3 -2
- {nldcsc_elastic_rules-0.0.8.dist-info → nldcsc_elastic_rules-0.0.16.dist-info}/METADATA +1 -1
- {nldcsc_elastic_rules-0.0.8.dist-info → nldcsc_elastic_rules-0.0.16.dist-info}/RECORD +119 -87
- nldcsc_elastic_rules/rules/integrations/aws/credential_access_aws_iam_assume_role_brute_force.toml +0 -105
- nldcsc_elastic_rules/rules/integrations/aws/discovery_ec2_multi_region_describe_instances.toml +0 -135
- nldcsc_elastic_rules/rules/integrations/aws/discovery_ec2_multiple_discovery_api_calls_via_cli.toml +0 -155
- nldcsc_elastic_rules/rules/integrations/aws/impact_efs_filesystem_or_mount_deleted.toml +0 -95
- {nldcsc_elastic_rules-0.0.8.dist-info → nldcsc_elastic_rules-0.0.16.dist-info}/WHEEL +0 -0
- {nldcsc_elastic_rules-0.0.8.dist-info → nldcsc_elastic_rules-0.0.16.dist-info}/top_level.txt +0 -0
nldcsc_elastic_rules/rules/integrations/aws/credential_access_aws_iam_assume_role_brute_force.toml
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
[metadata]
|
|
2
|
-
creation_date = "2020/07/16"
|
|
3
|
-
integration = ["aws"]
|
|
4
|
-
maturity = "production"
|
|
5
|
-
updated_date = "2024/05/21"
|
|
6
|
-
|
|
7
|
-
[rule]
|
|
8
|
-
author = ["Elastic"]
|
|
9
|
-
description = """
|
|
10
|
-
Identifies a high number of failed attempts to assume an AWS Identity and Access Management (IAM) role. IAM roles are
|
|
11
|
-
used to delegate access to users or services. An adversary may attempt to enumerate IAM roles in order to determine if a
|
|
12
|
-
role exists before attempting to assume or hijack the discovered role.
|
|
13
|
-
"""
|
|
14
|
-
from = "now-20m"
|
|
15
|
-
index = ["filebeat-*", "logs-aws.cloudtrail-*"]
|
|
16
|
-
language = "kuery"
|
|
17
|
-
license = "Elastic License v2"
|
|
18
|
-
name = "AWS IAM Brute Force of Assume Role Policy"
|
|
19
|
-
note = """## Triage and analysis
|
|
20
|
-
|
|
21
|
-
### Investigating AWS IAM Brute Force of Assume Role Policy
|
|
22
|
-
|
|
23
|
-
An IAM role is an IAM identity that you can create in your account that has specific permissions. An IAM role is similar to an IAM user, in that it is an AWS identity with permission policies that determine what the identity can and cannot do in AWS. However, instead of being uniquely associated with one person, a role is intended to be assumable by anyone who needs it. Also, a role does not have standard long-term credentials such as a password or access keys associated with it. Instead, when you assume a role, it provides you with temporary security credentials for your role session.
|
|
24
|
-
|
|
25
|
-
Attackers may attempt to enumerate IAM roles in order to determine if a role exists before attempting to assume or hijack the discovered role.
|
|
26
|
-
|
|
27
|
-
#### Possible investigation steps
|
|
28
|
-
|
|
29
|
-
- Identify the user account that performed the action and whether it should perform this kind of action.
|
|
30
|
-
- Verify if the `RoleName` parameter contains a unique value in all requests or if the activity is potentially a brute force attack.
|
|
31
|
-
- Verify if the user account successfully updated a trust policy in the last 24 hours.
|
|
32
|
-
- Examine whether this role existed in the environment by looking for past occurrences in your logs.
|
|
33
|
-
- Investigate other alerts associated with the user account during the past 48 hours.
|
|
34
|
-
- Contact the account and resource owners and confirm whether they are aware of this activity.
|
|
35
|
-
- Consider the time of day. If the user is a human (not a program or script), did the activity take place during a normal time of day?
|
|
36
|
-
- Examine the account's commands, API calls, and data management actions in the last 24 hours.
|
|
37
|
-
- If you suspect the account has been compromised, scope potentially compromised assets by tracking servers, services, and data accessed by the account in the last 24 hours.
|
|
38
|
-
|
|
39
|
-
### False positive analysis
|
|
40
|
-
|
|
41
|
-
- Verify the roles targeted in the failed attempts, and whether the subject role previously existed in the environment. If only one role was targeted in the requests and that role previously existed, it may be a false positive, since automations can continue targeting roles that existed in the environment in the past and cause false positives (FPs).
|
|
42
|
-
|
|
43
|
-
### Response and remediation
|
|
44
|
-
|
|
45
|
-
- Initiate the incident response process based on the outcome of the triage.
|
|
46
|
-
- Disable or limit the account during the investigation and response.
|
|
47
|
-
- Identify the possible impact of the incident and prioritize accordingly; the following actions can help you gain context:
|
|
48
|
-
- Identify the account role in the cloud environment.
|
|
49
|
-
- Assess the criticality of affected services and servers.
|
|
50
|
-
- Work with your IT team to identify and minimize the impact on users.
|
|
51
|
-
- Identify if the attacker is moving laterally and compromising other accounts, servers, or services.
|
|
52
|
-
- Identify any regulatory or legal ramifications related to this activity.
|
|
53
|
-
- Investigate credential exposure on systems compromised or used by the attacker to ensure all compromised accounts are identified. Reset passwords or delete API keys as needed to revoke the attacker's access to the environment. Work with your IT teams to minimize the impact on business operations during these actions.
|
|
54
|
-
- Check if unauthorized new users were created, remove unauthorized new accounts, and request password resets for other IAM users.
|
|
55
|
-
- Consider enabling multi-factor authentication for users.
|
|
56
|
-
- Review the permissions assigned to the implicated user to ensure that the least privilege principle is being followed.
|
|
57
|
-
- Implement security best practices [outlined](https://aws.amazon.com/premiumsupport/knowledge-center/security-best-practices/) by AWS.
|
|
58
|
-
- Determine the initial vector abused by the attacker and take action to prevent reinfection via the same vector.
|
|
59
|
-
- Using the incident response data, update logging and audit policies to improve the mean time to detect (MTTD) and the mean time to respond (MTTR).
|
|
60
|
-
|
|
61
|
-
## Setup
|
|
62
|
-
|
|
63
|
-
The AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule."""
|
|
64
|
-
references = [
|
|
65
|
-
"https://www.praetorian.com/blog/aws-iam-assume-role-vulnerabilities",
|
|
66
|
-
"https://rhinosecuritylabs.com/aws/assume-worst-aws-assume-role-enumeration/",
|
|
67
|
-
]
|
|
68
|
-
risk_score = 47
|
|
69
|
-
rule_id = "ea248a02-bc47-4043-8e94-2885b19b2636"
|
|
70
|
-
severity = "medium"
|
|
71
|
-
tags = [
|
|
72
|
-
"Domain: Cloud",
|
|
73
|
-
"Data Source: AWS",
|
|
74
|
-
"Data Source: Amazon Web Services",
|
|
75
|
-
"Use Case: Identity and Access Audit",
|
|
76
|
-
"Resources: Investigation Guide",
|
|
77
|
-
"Tactic: Credential Access",
|
|
78
|
-
]
|
|
79
|
-
timestamp_override = "event.ingested"
|
|
80
|
-
type = "threshold"
|
|
81
|
-
|
|
82
|
-
query = '''
|
|
83
|
-
event.dataset:aws.cloudtrail and
|
|
84
|
-
event.provider:iam.amazonaws.com and event.action:UpdateAssumeRolePolicy and
|
|
85
|
-
aws.cloudtrail.error_code:MalformedPolicyDocumentException and event.outcome:failure
|
|
86
|
-
'''
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
[[rule.threat]]
|
|
90
|
-
framework = "MITRE ATT&CK"
|
|
91
|
-
[[rule.threat.technique]]
|
|
92
|
-
id = "T1110"
|
|
93
|
-
name = "Brute Force"
|
|
94
|
-
reference = "https://attack.mitre.org/techniques/T1110/"
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
[rule.threat.tactic]
|
|
98
|
-
id = "TA0006"
|
|
99
|
-
name = "Credential Access"
|
|
100
|
-
reference = "https://attack.mitre.org/tactics/TA0006/"
|
|
101
|
-
|
|
102
|
-
[rule.threshold]
|
|
103
|
-
field = []
|
|
104
|
-
value = 25
|
|
105
|
-
|
nldcsc_elastic_rules/rules/integrations/aws/discovery_ec2_multi_region_describe_instances.toml
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
[metadata]
|
|
2
|
-
creation_date = "2024/08/26"
|
|
3
|
-
integration = ["aws"]
|
|
4
|
-
maturity = "production"
|
|
5
|
-
updated_date = "2025/07/16"
|
|
6
|
-
|
|
7
|
-
[rule]
|
|
8
|
-
author = ["Elastic"]
|
|
9
|
-
description = """
|
|
10
|
-
Identifies when a single AWS resource is making `DescribeInstances` API calls in more than 10 regions within a 30-second
|
|
11
|
-
window. This could indicate a potential threat actor attempting to discover the AWS infrastructure across multiple
|
|
12
|
-
regions using compromised credentials or a compromised instance. Adversaries may use this information to identify
|
|
13
|
-
potential targets for further exploitation or to gain a better understanding of the target's infrastructure.
|
|
14
|
-
"""
|
|
15
|
-
false_positives = [
|
|
16
|
-
"""
|
|
17
|
-
Legitimate use of the `DescribeInstances` API call by an AWS resource that requires information about instances in
|
|
18
|
-
multiple regions.
|
|
19
|
-
""",
|
|
20
|
-
"Scheduled tasks or scripts that require information about instances in multiple regions.",
|
|
21
|
-
]
|
|
22
|
-
from = "now-9m"
|
|
23
|
-
language = "esql"
|
|
24
|
-
license = "Elastic License v2"
|
|
25
|
-
name = "AWS EC2 Multi-Region DescribeInstances API Calls"
|
|
26
|
-
note = """## Triage and analysis
|
|
27
|
-
|
|
28
|
-
### Investigating AWS EC2 Multi-Region DescribeInstances API Calls
|
|
29
|
-
|
|
30
|
-
This rule detects instances where a single AWS resource makes `DescribeInstances` API calls in over 10 regions within a 30-second window. This could indicate an adversary using compromised credentials or an exploited resource to enumerate AWS infrastructure across multiple regions. Attackers often leverage multi-region enumeration to assess the overall cloud environment and find potential targets for further exploitation.
|
|
31
|
-
|
|
32
|
-
#### Possible Investigation Steps
|
|
33
|
-
|
|
34
|
-
- **Identify the Resource and Actor**:
|
|
35
|
-
- **Actor ARN**: Check `aws.cloudtrail.user_identity.arn` to determine the exact identity performing the enumeration. Validate if the user is expected to perform region-wide `DescribeInstances` actions across multiple regions or if it seems unusual.
|
|
36
|
-
- **Account and Role Details**: Examine `cloud.account.id` and `aws.cloudtrail.user_identity.session_context.session_issuer` for information about the AWS account and specific role associated with the action.
|
|
37
|
-
|
|
38
|
-
- **Analyze API Call Patterns**:
|
|
39
|
-
- **Frequency and Scope**: Review `cloud.region` field and confirm if this specific resource commonly performs `DescribeInstances` calls across multiple regions.
|
|
40
|
-
- **Time Window Context**: Compare the timing of the API calls within the `target_time_window` to determine if this burst pattern aligns with expected system usage or is potentially malicious.
|
|
41
|
-
|
|
42
|
-
- **Check User Agent and Tooling**:
|
|
43
|
-
- **Source and User Agent**: Verify `user_agent.original` to determine if the request was made through expected tooling (e.g., AWS CLI or SDK) or a third-party tool that might indicate non-standard access.
|
|
44
|
-
- **Source IP Address**: Look into `source.address` to identify the origin of the calls. Unusual IP addresses, especially those outside expected ranges, may indicate compromised access.
|
|
45
|
-
|
|
46
|
-
- **Evaluate for Potential Reconnaissance Behavior**:
|
|
47
|
-
- **Account and Region Enumeration**: Adversaries may use region-wide `DescribeInstances` requests to discover resources within an account across different regions. Confirm if this access aligns with operational practices or represents excessive access.
|
|
48
|
-
- **Permissions and Roles**: Investigate the permissions associated with the user role. Excessive permissions on a compromised role may allow broader enumeration, which should be restricted.
|
|
49
|
-
|
|
50
|
-
- **Review Related CloudTrail Events**:
|
|
51
|
-
- **Additional Describe or List Actions**: Identify any associated `Describe` or `List` API calls that may indicate further enumeration of other AWS services within the same timeframe.
|
|
52
|
-
- **Potential Preceding Events**: Look for preceding login or access events from the same actor, as these may indicate potential credential compromise or unauthorized escalation of privileges.
|
|
53
|
-
|
|
54
|
-
### False Positive Analysis
|
|
55
|
-
|
|
56
|
-
- **Expected Enumeration**: Certain administrative or automation scripts may conduct broad `DescribeInstances` API calls for inventory purposes. Review usage patterns or consult relevant teams to validate the purpose.
|
|
57
|
-
- **Automated Cloud Management**: Some automated services may perform regional checks for compliance or backup operations. If this rule is triggered repeatedly by a known service, consider whitelisting or tuning accordingly.
|
|
58
|
-
|
|
59
|
-
### Response and Remediation
|
|
60
|
-
|
|
61
|
-
- **Review IAM Policies and Role Permissions**: Limit the permissions of roles associated with this resource, restricting unnecessary multi-region enumeration access.
|
|
62
|
-
- **Enforce Least Privilege Access**: Ensure that permissions for DescribeInstances are tightly controlled and restricted to specific roles or accounts that require multi-region access.
|
|
63
|
-
- **Increase Monitoring and Alerts**: Set up additional monitoring on this role or account for further signs of unauthorized activity or lateral movement attempts.
|
|
64
|
-
- **Access Review**: Conduct a review of users and entities with `DescribeInstances` permissions, especially for multi-region capabilities, and ensure these permissions are necessary for their functions.
|
|
65
|
-
|
|
66
|
-
### Additional Information
|
|
67
|
-
|
|
68
|
-
For further information on AWS `DescribeInstances` permissions and best practices, refer to the [AWS DescribeInstances API documentation](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html).
|
|
69
|
-
"""
|
|
70
|
-
references = [
|
|
71
|
-
"https://www.sentinelone.com/labs/exploring-fbot-python-based-malware-targeting-cloud-and-payment-services/",
|
|
72
|
-
"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html",
|
|
73
|
-
]
|
|
74
|
-
risk_score = 21
|
|
75
|
-
rule_id = "393ef120-63d1-11ef-8e38-f661ea17fbce"
|
|
76
|
-
severity = "low"
|
|
77
|
-
tags = [
|
|
78
|
-
"Domain: Cloud",
|
|
79
|
-
"Data Source: AWS",
|
|
80
|
-
"Data Source: AWS EC2",
|
|
81
|
-
"Resources: Investigation Guide",
|
|
82
|
-
"Use Case: Threat Detection",
|
|
83
|
-
"Tactic: Discovery",
|
|
84
|
-
]
|
|
85
|
-
timestamp_override = "event.ingested"
|
|
86
|
-
type = "esql"
|
|
87
|
-
|
|
88
|
-
query = '''
|
|
89
|
-
from logs-aws.cloudtrail-*
|
|
90
|
-
|
|
91
|
-
// filter for DescribeInstances API calls
|
|
92
|
-
| where event.dataset == "aws.cloudtrail"
|
|
93
|
-
and event.provider == "ec2.amazonaws.com"
|
|
94
|
-
and event.action == "DescribeInstances"
|
|
95
|
-
|
|
96
|
-
// truncate the timestamp to a 30-second window
|
|
97
|
-
| eval Esql.time_window_date_trunc = date_trunc(30 seconds, @timestamp)
|
|
98
|
-
|
|
99
|
-
// keep only the relevant raw fields
|
|
100
|
-
| keep Esql.time_window_date_trunc, aws.cloudtrail.user_identity.arn, cloud.region
|
|
101
|
-
|
|
102
|
-
// count the number of unique regions and total API calls within the 30-second window
|
|
103
|
-
| stats
|
|
104
|
-
Esql.cloud_region_count_distinct = count_distinct(cloud.region),
|
|
105
|
-
Esql.event_count = count(*)
|
|
106
|
-
by Esql.time_window_date_trunc, aws.cloudtrail.user_identity.arn
|
|
107
|
-
|
|
108
|
-
// filter for resources making DescribeInstances API calls in more than 10 regions within the 30-second window
|
|
109
|
-
| where Esql.cloud_region_count_distinct >= 10 and Esql.event_count >= 10
|
|
110
|
-
|
|
111
|
-
// sort the results by time window in descending order
|
|
112
|
-
| sort Esql.time_window_date_trunc desc
|
|
113
|
-
'''
|
|
114
|
-
|
|
115
|
-
[rule.investigation_fields]
|
|
116
|
-
field_names = [
|
|
117
|
-
"aws.cloudtrail.user_identity.arn",
|
|
118
|
-
"target_time_window",
|
|
119
|
-
"region_count",
|
|
120
|
-
"window_count"
|
|
121
|
-
]
|
|
122
|
-
|
|
123
|
-
[[rule.threat]]
|
|
124
|
-
framework = "MITRE ATT&CK"
|
|
125
|
-
[[rule.threat.technique]]
|
|
126
|
-
id = "T1580"
|
|
127
|
-
name = "Cloud Infrastructure Discovery"
|
|
128
|
-
reference = "https://attack.mitre.org/techniques/T1580/"
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
[rule.threat.tactic]
|
|
132
|
-
id = "TA0007"
|
|
133
|
-
name = "Discovery"
|
|
134
|
-
reference = "https://attack.mitre.org/tactics/TA0007/"
|
|
135
|
-
|
nldcsc_elastic_rules/rules/integrations/aws/discovery_ec2_multiple_discovery_api_calls_via_cli.toml
DELETED
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
[metadata]
|
|
2
|
-
creation_date = "2024/11/04"
|
|
3
|
-
integration = ["aws"]
|
|
4
|
-
maturity = "production"
|
|
5
|
-
updated_date = "2025/07/16"
|
|
6
|
-
|
|
7
|
-
[rule]
|
|
8
|
-
author = ["Elastic"]
|
|
9
|
-
description = """
|
|
10
|
-
Detects when a single AWS resource is running multiple `Describe` and `List` API calls in a 10-second window. This
|
|
11
|
-
behavior could indicate an actor attempting to discover the AWS infrastructure using compromised credentials or a
|
|
12
|
-
compromised instance. Adversaries may use this information to identify potential targets for further exploitation or to
|
|
13
|
-
gain a better understanding of the target's infrastructure.
|
|
14
|
-
"""
|
|
15
|
-
false_positives = [
|
|
16
|
-
"""
|
|
17
|
-
Administrators or automated systems may legitimately perform multiple `Describe` and `List` API calls in a short
|
|
18
|
-
time frame. Verify the user identity and the purpose of the API calls to determine if the behavior is expected.
|
|
19
|
-
""",
|
|
20
|
-
]
|
|
21
|
-
from = "now-9m"
|
|
22
|
-
language = "esql"
|
|
23
|
-
license = "Elastic License v2"
|
|
24
|
-
name = "AWS Discovery API Calls via CLI from a Single Resource"
|
|
25
|
-
note = """## Triage and analysis
|
|
26
|
-
|
|
27
|
-
### Investigating AWS Discovery API Calls via CLI from a Single Resource
|
|
28
|
-
|
|
29
|
-
This rule detects multiple discovery-related API calls (`Describe`, `List`, or `Get` actions) within a short time window (30 seconds) from a single AWS resource. High volumes of such calls may indicate attempts to enumerate AWS infrastructure for reconnaissance purposes, which is often a tactic used by adversaries with compromised credentials or unauthorized access.
|
|
30
|
-
|
|
31
|
-
#### Possible Investigation Steps
|
|
32
|
-
|
|
33
|
-
- **Identify the Actor and Resource**:
|
|
34
|
-
- **User Identity and Resource**: Examine `aws.cloudtrail.user_identity.arn` to identify the actor making the discovery requests. Verify the user or resource associated with these actions to ensure they are recognized and expected.
|
|
35
|
-
- **User Agent and Tooling**: Check `user_agent.name` to confirm whether the `aws-cli` tool was used for these requests. Use of the CLI in an atypical context might indicate unauthorized or automated access.
|
|
36
|
-
|
|
37
|
-
- **Evaluate the Context and Scope of API Calls**:
|
|
38
|
-
- **API Action Types**: Look into the specific actions under `event.action` for API calls like `Describe*`, `List*`, or `Get*`. Note if these calls are targeting sensitive services, such as `EC2`, `IAM`, or `S3`, which may suggest an attempt to identify high-value assets.
|
|
39
|
-
- **Time Pattern Analysis**: Review the `time_window` and `unique_api_count` to assess whether the frequency of these calls is consistent with normal patterns for this resource or user.
|
|
40
|
-
|
|
41
|
-
- **Analyze Potential Compromise Indicators**:
|
|
42
|
-
- **Identity Type**: Review `aws.cloudtrail.user_identity.type` to determine if the calls originated from an assumed role, a root user, or a service role. Unusual identity types for discovery operations may suggest misuse or compromise.
|
|
43
|
-
- **Source IP and Geographic Location**: Examine the `source.ip` and `source.geo` fields to identify any unusual IP addresses or locations associated with the activity, which may help confirm or rule out external access.
|
|
44
|
-
|
|
45
|
-
- **Examine Related CloudTrail Events**:
|
|
46
|
-
- **Pivot for Related Events**: Identify any additional IAM or CloudTrail events tied to the same actor ARN. Activities such as `AssumeRole`, `GetSessionToken`, or `CreateAccessKey` in proximity to these discovery calls may signal an attempt to escalate privileges.
|
|
47
|
-
- **Look for Anomalous Patterns**: Determine if this actor or resource has performed similar discovery actions previously, or if these actions coincide with other alerts related to credential use or privilege escalation.
|
|
48
|
-
|
|
49
|
-
### False Positive Analysis
|
|
50
|
-
|
|
51
|
-
- **Expected Discovery Activity**: Regular discovery or enumeration API calls may be conducted by security, automation, or monitoring scripts to maintain an inventory of resources. Validate if this activity aligns with known automation or inventory tasks.
|
|
52
|
-
- **Routine Admin or Automated Access**: If specific roles or resources, such as automation tools or monitoring services, regularly trigger this rule, consider adding exceptions for these known, benign users to reduce false positives.
|
|
53
|
-
|
|
54
|
-
### Response and Remediation
|
|
55
|
-
|
|
56
|
-
- **Confirm Authorized Access**: If the discovery activity appears unauthorized, consider immediate steps to restrict the user or resource’s permissions.
|
|
57
|
-
- **Review and Remove Unauthorized API Calls**: If the actor is not authorized to perform discovery actions, investigate and potentially disable their permissions or access keys to prevent further misuse.
|
|
58
|
-
- **Enhance Monitoring for Discovery Patterns**: Consider additional logging or alerting for high-frequency discovery API calls, especially if triggered from new or unrecognized resources.
|
|
59
|
-
- **Policy Review and Updates**: Review IAM policies associated with the actor, ensuring restrictive permissions and MFA enforcement where possible to prevent unauthorized discovery.
|
|
60
|
-
|
|
61
|
-
### Additional Information
|
|
62
|
-
|
|
63
|
-
For further guidance on AWS infrastructure discovery and best practices, refer to [AWS CloudTrail documentation](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference.html) and MITRE ATT&CK’s [Cloud Infrastructure Discovery](https://attack.mitre.org/techniques/T1580/).
|
|
64
|
-
"""
|
|
65
|
-
references = ["https://stratus-red-team.cloud/attack-techniques/AWS/aws.discovery.ec2-enumerate-from-instance/"]
|
|
66
|
-
risk_score = 21
|
|
67
|
-
rule_id = "74f45152-9aee-11ef-b0a5-f661ea17fbcd"
|
|
68
|
-
severity = "low"
|
|
69
|
-
tags = [
|
|
70
|
-
"Domain: Cloud",
|
|
71
|
-
"Data Source: AWS",
|
|
72
|
-
"Data Source: AWS EC2",
|
|
73
|
-
"Data Source: AWS IAM",
|
|
74
|
-
"Data Source: AWS S3",
|
|
75
|
-
"Use Case: Threat Detection",
|
|
76
|
-
"Tactic: Discovery",
|
|
77
|
-
"Resources: Investigation Guide",
|
|
78
|
-
]
|
|
79
|
-
timestamp_override = "event.ingested"
|
|
80
|
-
type = "esql"
|
|
81
|
-
|
|
82
|
-
query = '''
|
|
83
|
-
from logs-aws.cloudtrail*
|
|
84
|
-
|
|
85
|
-
// create time window buckets of 10 seconds
|
|
86
|
-
| eval Esql.time_window_date_trunc = date_trunc(10 seconds, @timestamp)
|
|
87
|
-
| where
|
|
88
|
-
event.dataset == "aws.cloudtrail"
|
|
89
|
-
|
|
90
|
-
// filter on CloudTrail audit logs for IAM, EC2, S3, etc.
|
|
91
|
-
and event.provider in (
|
|
92
|
-
"iam.amazonaws.com",
|
|
93
|
-
"ec2.amazonaws.com",
|
|
94
|
-
"s3.amazonaws.com",
|
|
95
|
-
"rds.amazonaws.com",
|
|
96
|
-
"lambda.amazonaws.com",
|
|
97
|
-
"dynamodb.amazonaws.com",
|
|
98
|
-
"kms.amazonaws.com",
|
|
99
|
-
"cloudfront.amazonaws.com",
|
|
100
|
-
"elasticloadbalancing.amazonaws.com"
|
|
101
|
-
)
|
|
102
|
-
|
|
103
|
-
// ignore AWS service actions
|
|
104
|
-
and aws.cloudtrail.user_identity.type != "AWSService"
|
|
105
|
-
|
|
106
|
-
// filter for aws-cli specifically
|
|
107
|
-
and user_agent.name == "aws-cli"
|
|
108
|
-
|
|
109
|
-
// exclude DescribeCapacityReservations events related to AWS Config
|
|
110
|
-
and not event.action in ("DescribeCapacityReservations")
|
|
111
|
-
|
|
112
|
-
// filter for Describe, Get, List, and Generate API calls
|
|
113
|
-
| where true in (
|
|
114
|
-
starts_with(event.action, "Describe"),
|
|
115
|
-
starts_with(event.action, "Get"),
|
|
116
|
-
starts_with(event.action, "List"),
|
|
117
|
-
starts_with(event.action, "Generate")
|
|
118
|
-
)
|
|
119
|
-
|
|
120
|
-
// extract owner, identity type, and actor from the ARN
|
|
121
|
-
| dissect aws.cloudtrail.user_identity.arn "%{}::%{Esql_priv.aws_cloudtrail_user_identity_arn_owner}:%{Esql.aws_cloudtrail_user_identity_arn_type}/%{Esql.aws_cloudtrail_user_identity_arn_roles}"
|
|
122
|
-
| where starts_with(Esql.aws_cloudtrail_user_identity_arn_roles, "AWSServiceRoleForConfig") != true
|
|
123
|
-
|
|
124
|
-
// keep relevant fields (preserving ECS fields and computed time window)
|
|
125
|
-
| keep @timestamp, Esql.time_window_date_trunc, event.action, aws.cloudtrail.user_identity.arn
|
|
126
|
-
|
|
127
|
-
// count the number of unique API calls per time window and actor
|
|
128
|
-
| stats
|
|
129
|
-
Esql.event_action_count_distinct = count_distinct(event.action)
|
|
130
|
-
by Esql.time_window_date_trunc, aws.cloudtrail.user_identity.arn
|
|
131
|
-
|
|
132
|
-
// filter for more than 5 unique API calls per 10s window
|
|
133
|
-
| where Esql.event_action_count_distinct > 5
|
|
134
|
-
|
|
135
|
-
// sort the results by the number of unique API calls in descending order
|
|
136
|
-
| sort Esql.event_action_count_distinct desc
|
|
137
|
-
'''
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
[[rule.threat]]
|
|
141
|
-
framework = "MITRE ATT&CK"
|
|
142
|
-
[[rule.threat.technique]]
|
|
143
|
-
id = "T1580"
|
|
144
|
-
name = "Cloud Infrastructure Discovery"
|
|
145
|
-
reference = "https://attack.mitre.org/techniques/T1580/"
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
[rule.threat.tactic]
|
|
149
|
-
id = "TA0007"
|
|
150
|
-
name = "Discovery"
|
|
151
|
-
reference = "https://attack.mitre.org/tactics/TA0007/"
|
|
152
|
-
|
|
153
|
-
[rule.investigation_fields]
|
|
154
|
-
field_names = ["time_window", "aws.cloudtrail.user_identity.arn", "unique_api_count"]
|
|
155
|
-
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
[metadata]
|
|
2
|
-
creation_date = "2021/08/27"
|
|
3
|
-
integration = ["aws"]
|
|
4
|
-
maturity = "production"
|
|
5
|
-
updated_date = "2025/01/15"
|
|
6
|
-
|
|
7
|
-
[rule]
|
|
8
|
-
author = ["Austin Songer"]
|
|
9
|
-
description = """
|
|
10
|
-
Detects when an EFS File System or Mount is deleted. An adversary could break any file system using the mount target
|
|
11
|
-
that is being deleted, which might disrupt instances or applications using those mounts. The mount must be deleted prior
|
|
12
|
-
to deleting the File System, or the adversary will be unable to delete the File System.
|
|
13
|
-
"""
|
|
14
|
-
false_positives = [
|
|
15
|
-
"""
|
|
16
|
-
File System or Mount being deleted may be performed by a system administrator. Verify whether the user identity,
|
|
17
|
-
user agent, and/or hostname should be making changes in your environment. File System Mount deletion by unfamiliar
|
|
18
|
-
users should be investigated. If known behavior is causing false positives, it can be exempted from the rule.
|
|
19
|
-
""",
|
|
20
|
-
]
|
|
21
|
-
from = "now-60m"
|
|
22
|
-
index = ["filebeat-*", "logs-aws.cloudtrail-*"]
|
|
23
|
-
interval = "10m"
|
|
24
|
-
language = "kuery"
|
|
25
|
-
license = "Elastic License v2"
|
|
26
|
-
name = "AWS EFS File System or Mount Deleted"
|
|
27
|
-
note = """## Triage and analysis
|
|
28
|
-
|
|
29
|
-
> **Disclaimer**:
|
|
30
|
-
> 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.
|
|
31
|
-
|
|
32
|
-
### Investigating AWS EFS File System or Mount Deleted
|
|
33
|
-
|
|
34
|
-
Amazon Elastic File System (EFS) provides scalable file storage for use with AWS cloud services and on-premises resources. Adversaries may target EFS by deleting file systems or mount targets, disrupting applications reliant on these resources. The detection rule monitors AWS CloudTrail logs for successful deletion events, signaling potential malicious activity aimed at data destruction or service disruption.
|
|
35
|
-
|
|
36
|
-
### Possible investigation steps
|
|
37
|
-
|
|
38
|
-
- Review the AWS CloudTrail logs to identify the user or role associated with the deletion event by examining the user identity information in the logs.
|
|
39
|
-
- Check the event time and correlate it with other activities in the AWS environment to determine if there are any related suspicious actions or patterns.
|
|
40
|
-
- Investigate the source IP address and location from which the deletion request was made to assess if it aligns with expected access patterns or if it appears anomalous.
|
|
41
|
-
- Verify if there were any recent changes to IAM policies or roles that might have inadvertently granted permissions to delete EFS resources.
|
|
42
|
-
- Assess the impact of the deletion by identifying which applications or services were using the deleted EFS file system or mount target and determine if there are any disruptions.
|
|
43
|
-
- Contact the user or team responsible for the AWS account to confirm if the deletion was intentional and authorized, or if it was potentially malicious.
|
|
44
|
-
|
|
45
|
-
### False positive analysis
|
|
46
|
-
|
|
47
|
-
- Routine maintenance activities by system administrators may trigger deletion events. To manage this, create exceptions for known maintenance windows or specific administrator accounts.
|
|
48
|
-
- Automated scripts or cloud management tools that manage EFS resources might delete mounts or file systems as part of their normal operation. Identify these scripts and exclude their actions from triggering alerts.
|
|
49
|
-
- Development or testing environments often involve frequent creation and deletion of resources. Exclude these environments from the rule to prevent unnecessary alerts.
|
|
50
|
-
- Scheduled cleanup jobs that remove unused or temporary file systems can cause false positives. Document these jobs and configure exceptions based on their execution schedule.
|
|
51
|
-
- Ensure that any third-party services or integrations with AWS that manage EFS resources are accounted for, and their actions are excluded if they are part of expected behavior.
|
|
52
|
-
|
|
53
|
-
### Response and remediation
|
|
54
|
-
|
|
55
|
-
- Immediately isolate the affected EFS file system to prevent further unauthorized deletions or access. This can be done by modifying the security group rules to deny all traffic temporarily.
|
|
56
|
-
- Review AWS CloudTrail logs to identify the source of the deletion request, including the IAM user or role involved, and assess whether the action was authorized.
|
|
57
|
-
- Revoke or adjust permissions for the identified IAM user or role to prevent further unauthorized actions. Ensure that least privilege principles are applied.
|
|
58
|
-
- Restore the deleted EFS file system or mount from the most recent backup, if available, to minimize data loss and service disruption.
|
|
59
|
-
- Notify the incident response team and relevant stakeholders about the incident for further investigation and to ensure awareness across the organization.
|
|
60
|
-
- Conduct a post-incident review to identify any gaps in security controls or processes that allowed the unauthorized deletion, and implement necessary improvements.
|
|
61
|
-
- Enhance monitoring and alerting for similar events by ensuring that all critical AWS resources have appropriate logging and alerting configured, focusing on deletion and modification actions.
|
|
62
|
-
|
|
63
|
-
## Setup
|
|
64
|
-
|
|
65
|
-
The AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule."""
|
|
66
|
-
references = [
|
|
67
|
-
"https://docs.aws.amazon.com/efs/latest/ug/API_DeleteFileSystem.html",
|
|
68
|
-
"https://docs.aws.amazon.com/efs/latest/ug/API_DeleteMountTarget.html",
|
|
69
|
-
]
|
|
70
|
-
risk_score = 47
|
|
71
|
-
rule_id = "536997f7-ae73-447d-a12d-bff1e8f5f0a0"
|
|
72
|
-
severity = "medium"
|
|
73
|
-
tags = ["Domain: Cloud", "Data Source: AWS", "Data Source: Amazon Web Services", "Tactic: Impact", "Resources: Investigation Guide"]
|
|
74
|
-
timestamp_override = "event.ingested"
|
|
75
|
-
type = "query"
|
|
76
|
-
|
|
77
|
-
query = '''
|
|
78
|
-
event.dataset:aws.cloudtrail and event.provider:elasticfilesystem.amazonaws.com and
|
|
79
|
-
event.action:(DeleteMountTarget or DeleteFileSystem) and event.outcome:success
|
|
80
|
-
'''
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
[[rule.threat]]
|
|
84
|
-
framework = "MITRE ATT&CK"
|
|
85
|
-
[[rule.threat.technique]]
|
|
86
|
-
id = "T1485"
|
|
87
|
-
name = "Data Destruction"
|
|
88
|
-
reference = "https://attack.mitre.org/techniques/T1485/"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
[rule.threat.tactic]
|
|
92
|
-
id = "TA0040"
|
|
93
|
-
name = "Impact"
|
|
94
|
-
reference = "https://attack.mitre.org/tactics/TA0040/"
|
|
95
|
-
|
|
File without changes
|
{nldcsc_elastic_rules-0.0.8.dist-info → nldcsc_elastic_rules-0.0.16.dist-info}/top_level.txt
RENAMED
|
File without changes
|