mirror of
https://github.com/vee1e/capa-rules.git
synced 2026-09-02 19:37:19 +00:00
* 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>
51 lines
1.7 KiB
YAML
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
|