9a9f5437f2
* Updating config guides for Advanced Analytics rules * More updates * Update setup instructions for LMD * Adding more guides * update TestRuleTiming unit test to ignore advanced analytic rules * fixed flake error * Moving config guides under setup instead of note * Removing leading and trailing whitespace * Updates as requested by PM * Updating related integrations, minor updates to setup guides * fixing unit tests to ignore analytic packages with multiple integration tags * Update tests/test_all_rules.py * fixing linting errors --------- Co-authored-by: Kirti Kirti <kirti.kirti@elastic.co> Co-authored-by: terrancedejesus <terrance.dejesus@elastic.co> Co-authored-by: Terrance DeJesus <99630311+terrancedejesus@users.noreply.github.com>
110 lines
4.8 KiB
TOML
110 lines
4.8 KiB
TOML
[metadata]
|
|
creation_date = "2023/10/16"
|
|
integration = ["problemchild", "endpoint"]
|
|
maturity = "production"
|
|
min_stack_comments = "LotL package job ID and rule removal updates"
|
|
min_stack_version = "8.9.0"
|
|
updated_date = "2023/12/12"
|
|
|
|
[rule]
|
|
author = ["Elastic"]
|
|
description = """
|
|
A supervised machine learning model (ProblemChild) has identified a suspicious Windows process event with high
|
|
probability of it being malicious activity. Alternatively, the model's blocklist identified the event as being
|
|
malicious.
|
|
"""
|
|
from = "now-10m"
|
|
index = ["endgame-*", "logs-endpoint.events.process-*", "winlogbeat-*"]
|
|
language = "eql"
|
|
license = "Elastic License v2"
|
|
name = "Machine Learning Detected a Suspicious Windows Event Predicted to be Malicious Activity"
|
|
setup = """
|
|
The rule requires the Living off the Land (LotL) Attack Detection integration assets to be installed, as well as Windows process events collected by integrations such as Elastic Defend or Winlogbeat.
|
|
|
|
### LotL Attack Detection Setup
|
|
The LotL Attack Detection integration detects living-off-the-land activity in Windows process events.
|
|
|
|
#### Prerequisite Requirements:
|
|
- Fleet is required for LotL Attack Detection.
|
|
- To configure Fleet Server refer to the [documentation](https://www.elastic.co/guide/en/fleet/current/fleet-server.html).
|
|
- Windows process events collected by the [Elastic Defend](https://docs.elastic.co/en/integrations/endpoint) integration or Winlogbeat(https://www.elastic.co/guide/en/beats/winlogbeat/current/_winlogbeat_overview.html).
|
|
- To install Elastic Defend, refer to the [documentation](https://www.elastic.co/guide/en/security/current/install-endpoint.html).
|
|
- To set up and run Winlogbeat, follow [this](https://www.elastic.co/guide/en/beats/winlogbeat/current/winlogbeat-installation-configuration.html) guide.
|
|
|
|
#### The following steps should be executed to install assets associated with the LotL Attack Detection integration:
|
|
- Go to the Kibana homepage. Under Management, click Integrations.
|
|
- In the query bar, search for Living off the Land Attack Detection and select the integration to see more details about it.
|
|
- Under Settings, click Install Living off the Land Attack Detection assets and follow the prompts to install the assets.
|
|
|
|
#### Ingest Pipeline Setup
|
|
Before you can enable this rule, you'll need to enrich Windows process events with predictions from the Supervised LotL Attack Detection model. This is done via the ingest pipeline named `<package_version>-problem_child_ingest_pipeline` installed with the LotL Attack Detection package.
|
|
- If using an Elastic Beat such as Winlogbeat, add the LotL ingest pipeline to it by adding a simple configuration [setting](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html#pipelines-for-beats) to `winlogbeat.yml`.
|
|
- If adding the LotL ingest pipeline to an existing pipeline, use a [pipeline processor](https://www.elastic.co/guide/en/elasticsearch/reference/current/pipeline-processor.html).
|
|
|
|
#### Adding Custom Mappings
|
|
- Go to the Kibana homepage. Under Management, click Stack Management.
|
|
- Under Data click Index Management and navigate to the Component Templates tab.
|
|
- Templates that can be edited to add custom components will be marked with a @custom suffix. Edit the @custom component template corresponding to the beat/integration you added the LotL ingest pipeline to, by pasting the following JSON blob in the "Load JSON" flyout:
|
|
```
|
|
{
|
|
"properties": {
|
|
"problemchild": {
|
|
"properties": {
|
|
"prediction": {
|
|
"type": "long"
|
|
},
|
|
"prediction_probability": {
|
|
"type": "float"
|
|
}
|
|
}
|
|
},
|
|
"blocklist_label": {
|
|
"type": "long"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
"""
|
|
references = [
|
|
"https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html",
|
|
"https://docs.elastic.co/en/integrations/problemchild",
|
|
"https://www.elastic.co/security-labs/detecting-living-off-the-land-attacks-with-new-elastic-integration",
|
|
]
|
|
risk_score = 21
|
|
rule_id = "13e908b9-7bf0-4235-abc9-b5deb500d0ad"
|
|
severity = "low"
|
|
tags = [
|
|
"OS: Windows",
|
|
"Data Source: Elastic Endgame",
|
|
"Use Case: Living off the Land Attack Detection",
|
|
"Rule Type: ML",
|
|
"Rule Type: Machine Learning",
|
|
"Tactic: Defense Evasion",
|
|
]
|
|
timestamp_override = "event.ingested"
|
|
type = "eql"
|
|
|
|
query = '''
|
|
process where (problemchild.prediction == 1 or blocklist_label == 1) and not process.args : ("*C:\\WINDOWS\\temp\\nessus_*.txt*", "*C:\\WINDOWS\\temp\\nessus_*.tmp*")
|
|
'''
|
|
|
|
|
|
[[rule.threat]]
|
|
framework = "MITRE ATT&CK"
|
|
[[rule.threat.technique]]
|
|
id = "T1036"
|
|
name = "Masquerading"
|
|
reference = "https://attack.mitre.org/techniques/T1036/"
|
|
[[rule.threat.technique.subtechnique]]
|
|
id = "T1036.004"
|
|
name = "Masquerade Task or Service"
|
|
reference = "https://attack.mitre.org/techniques/T1036/004/"
|
|
|
|
|
|
|
|
[rule.threat.tactic]
|
|
id = "TA0005"
|
|
name = "Defense Evasion"
|
|
reference = "https://attack.mitre.org/tactics/TA0005/"
|
|
|