Detection rules › Splunk
File Executed from INetCache (Windows Event Log)
Adversaries may transfer tools or other files from an external system into a compromised environment. Tools or files may be copied from an external adversary-controlled system to the victim network through the command and control channel or through alternate protocols such as ftp. Once present, adversaries may also transfer/spread tools between victim devices within a compromised environment (i.e. Lateral Tool Transfer). This use case detects when a file was executed from the C:\Users<user>\AppData\Local\Microsoft\Windows\INetCache\IE folder.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Command & Control | T1105 Ingress Tool Transfer |
References
Event coverage
| Provider | Event | Title |
|---|---|---|
| Security-Auditing | Event ID 4688 | A new process has been created. |
Rule body yaml
id: '35400.62241'
title: File Executed from INetCache
description: Adversaries may transfer tools or other files from an external system
into a compromised environment. Tools or files may be copied from an external adversary-controlled
system to the victim network through the command and control channel or through
alternate protocols such as ftp. Once present, adversaries may also transfer/spread
tools between victim devices within a compromised environment (i.e. Lateral Tool
Transfer). This use case detects when a file was executed from the C:\Users\<user>\AppData\Local\Microsoft\Windows\INetCache\IE
folder.
logic_format: Splunk
logic: '`get_endpoint_data` `get_endpoint_data_winevent` (TERM(EventCode=4688) OR
"<EventID>4688<" OR Type=Process) "\\AppData\\Local\\Microsoft\\Windows\\INetCache\\IE"
| regex process_path="(?i)\x5cAppData\x5cLocal\x5cMicrosoft\x5cWindows\x5cINetCache\x5cIE"
| table _time, host, user, process, process_*, parent_* | bin span=1s | stats values(*)
as * by _time, host '
techniques:
- command-and-control:ingress tool transfer
technique_id:
- T1105
data_category:
- Windows event logs
references:
- https://lolbas-project.github.io/lolbas/Binaries/Ngen/
- https://learn.microsoft.com/en-us/dotnet/framework/tools/ngen-exe-native-image-generator
- https://attack.mitre.org/techniques/T1105/
- https://www.elastic.co/guide/en/security/8.14/suspicious-execution-from-inet-cache.html
Stages and Predicates
Stage 1: search
`get_endpoint_data` `get_endpoint_data_winevent` (TERM(EventCode=4688) OR "<EventID>4688<" OR Type=Process) "\\AppData\\Local\\Microsoft\\Windows\\INetCache\\IE"
Stage 2: regex
| regex process_path="(?i)\x5cAppData\x5cLocal\x5cMicrosoft\x5cWindows\x5cINetCache\x5cIE"
Stage 3: table
| table _time, host, user, process, process_*, parent_*
Stage 4: bucket
| bin span=1s
Stage 5: stats
| stats values(*) as * by _time, host
Indicators
Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.
| Field | Kind | Values |
|---|---|---|
EventCode | eq |
|
process_path | regex_match |
|
Search terms
Bare-string tokens in the SPL search body. Splunk matches each token against _raw (the untyped raw event text) anywhere it appears, not against a specific field. These don't surface in the Indicators table because they aren't predicates on a known field.
| Stage | Term |
|---|---|
| 1 | TERM |
| 1 | "<EventID>4688<" |
| 1 | "\\AppData\\Local\\Microsoft\\Windows\\INetCache\\IE" |