Closed terrancedejesus closed 1 month ago
These guidelines serve as a reminder set of considerations when proposing a new rule.
creation_date
matches the date of creation PR initially merged.min_stack_version
should support the widest stack versions.name
and description
should be descriptive and not include typos.query
should be inclusive, not overly exclusive, considering performance for diverse environments. Non ecs fields should be added to non-ecs-schema.json
if not available in an integration.min_stack_comments
and min_stack_version
should be included if the rule is only compatible starting from a specific stack version.index
pattern should be neither too specific nor too vague, ensuring it accurately matches the relevant data stream (e.g., use logs-endpoint.process-* for process data).integration
should align with the index
. If the integration is newly introduced, ensure the manifest, schemas, and new_rule.yaml
template are updated.setup
should include the necessary steps to configure the integration.note
should include any additional information (e.g. Triage and analysis investigation guides, timeline templates).tags
should be relevant to the threat and align/added to the EXPECTED_RULE_TAGS
in the definitions.py file.threat
, techniques
, and subtechniques
should map to ATT&CK always if possible.building_block_type
should be included if the rule is a building block and the rule should be located in the rules_building_block
folder.bypass_bbr_timing
should be included if adding custom lookback timing to the rule.Added event.type and event.action to the sequence, as the screenshot you provided detects a UID change event followed by a network event, rather than a process execution event. You might want to go back and check whether the query still works as intended with this change.
joining on process.entity_id
and process.parent.entity_id
for the sequences does not match the expected events, hence the image you pointed out. Rather, they entity IDs for both parent and child process are the same so I added process.parent.entity_id
to the initial sequence by ...
instead.
Pull Request
Issue link(s): https://github.com/elastic/ia-trade-team/issues/272
Summary - What I changed
Adding a new detection rule for unusual instance metadata service (IMDS) API requests. The IMDS has a global API for cloud service providers that will allow compute instance information retrieval, as well as can facilitate federated authentication and credential access. Adversaries, with compromised credentials or instance, may leverage a custom binary or native tools to send requests to IMDS' API for instance information or event temporary credential requests.
How To Test
Personal stack
Telemetry
Last 4 months there is ~36 alerts that match this. A majority of these are FP for a specific custom shellscript by a client that should be an exception rather than global exclusion in the query.
Checklist
bug
,enhancement
,schema
,Rule: New
,Rule: Deprecation
,Rule: Tuning
,Hunt: New
, orHunt: Tuning
so guidelines can be generatedmeta:rapid-merge
label if planning to merge within 24 hoursContributor checklist