capa-rules/host-interaction/process/modules/list/enumerate-process-modules.yml
Willi Ballenthin c1d20764ad
use "span of calls" scope (#973)
* use sequence scope instead of thread scope for "static: function" rules

* use sequence scope instead of thread scope for "static: basic block" rules

* make runtime linking rules more concise

* doc: describe sequence scope

* rename "sequence" scope to "span of calls" scope

* Update anti-analysis/anti-av/check-for-sandbox-and-av-modules.yml

Co-authored-by: Mike Hunhoff <mike.hunhoff@gmail.com>

* Update anti-analysis/anti-vm/vm-detection/check-for-windows-sandbox-via-device.yml

Co-authored-by: Mike Hunhoff <mike.hunhoff@gmail.com>

* Update collection/get-geographical-location.yml

Co-authored-by: Mike Hunhoff <mike.hunhoff@gmail.com>

* Update collection/file-managers/gather-classicftp-information.yml

Co-authored-by: Mike Hunhoff <mike.hunhoff@gmail.com>

* Update collection/database/wmi/reference-wmi-statements.yml

Co-authored-by: Mike Hunhoff <mike.hunhoff@gmail.com>

* Update collection/database/sql/reference-sql-statements.yml

Co-authored-by: Mike Hunhoff <mike.hunhoff@gmail.com>

---------

Co-authored-by: Mike Hunhoff <mike.hunhoff@gmail.com>
2025-01-29 10:27:13 +01:00

51 lines
1.7 KiB
YAML

rule:
meta:
name: enumerate process modules
namespace: host-interaction/process/modules/list
authors:
- michael.hunhoff@mandiant.com
- anushka.virgaonkar@mandiant.com
scopes:
static: function
dynamic: span of calls
att&ck:
- Discovery::Process Discovery [T1057]
examples:
- 6F99A2C8944CB02FF28C6F9CED59B161:0x419FF8
- 9B2FD471274C41626B75DDBB5C897877:0x100046B0
features:
- or:
- and:
- optional:
- or:
- api: kernel32.OpenProcess
- api: kernel32.CloseHandle
- or:
- api: kernel32.K32EnumProcessModules
- api: kernel32.K32EnumProcessModulesEx
- api: kernel32.K32EnumProcesses
# depending on OS version in kernel32 or psapi
- api: EnumProcessModules
- api: EnumProcessModulesEx
- api: EnumProcesses
- and:
- api: kernel32.Module32First
- api: kernel32.Module32Next
- optional:
- basic block:
- and:
- or:
- number: 0x8 = TH32CS_SNAPMODULE
- number: 0x10 = TH32CS_SNAPMODULE32
- number: 0x18 = TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32
- api: kernel32.CreateToolhelp32Snapshot
- call:
- and:
- or:
- number: 0x8 = TH32CS_SNAPMODULE
- number: 0x10 = TH32CS_SNAPMODULE32
- number: 0x18 = TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32
- api: kernel32.CreateToolhelp32Snapshot
- and:
- property/read: System.Diagnostics.Process::Modules
- property/read: System.Diagnostics.ProcessModuleCollection::Item