OS Credential Dumping: Proc Filesystem T1003.007

Tactic: Credential Access

Adversaries may gather credentials from the proc filesystem or `/proc`. The proc filesystem is a pseudo-filesystem used as an interface to kernel data structures for Linux based systems managing virtual memory. For each process, the `/proc/<PID>/maps` file shows how memory is mapped within the process’s virtual address space. And `/proc/<PID>/mem`, exposed for debugging purposes, provides access to the process’s virtual address space.

Authoring guide

These 9 rules share fields, values, and exclusions.

Fields filtered most (6 distinct)

These fields appear most often in rule filters.

FieldRulesHowSample values
EventType9in 5, eq 4exec, exec_event, ProcessRollup2, ptrace, start
process_name9eq 6, in 3gdb, cat, egrep, strings, agetty
event.type8eq 8start
process.args7in 4, eq 3, wildcard 2, ne 1, starts_with 1--pid, -p, 1, -eo, /dev/mem
host.os.type5eq 5
CommandLine1wildcard 1/proc/*/mem

Top indicator values (56 distinct)

These values appear most often in rule predicates.

FieldKindValueRules (here)Corpus reach
event.typeeq
start
81087
EventTypein
exec
5206
EventTypein
exec_event
5150
EventTypein
start
5168
EventTypein
ProcessRollup2
4118
EventTypein
executed
498
EventTypein
process_started
483
EventTypeeq
exec
4579
EventTypeeq
ptrace
1
process.argsin
--pid
33
process.argsin
-p
34
process.argsin
-eo
1
process.argsin
command
1
process.argsin
pid
1
process_nameeq
gdb
36
process_nameeq
strings
24
process.argseq
1
23
process.argseq
/dev/mem
1
process_namein
cat
228
process_namein
egrep
214
process_namein
fgrep
211
process_namein
grep
218
process_namein
less
215
process_namein
more
214
process_namein
tail
211
CommandLinewildcard
/proc/*/mem
1
process.argsne
1
1
process.argsstarts_with
/tmp/
118
process.argswildcard
/proc/*/maps
12
process.argswildcard
if=/proc/*/mem*
1

Exclusions (16 distinct)

These values appear most often in top-level exclusions.

FieldKindValueRules excluding
CurrentDirectorywildcard
/opt/Tanium/TaniumClient/*
1
CurrentDirectorywildcard
/opt/traps/deb-installer
1
ParentCommandLineeq
/sbin/init
1
ParentImageeq
/usr/lib/systemd/systemd
1
ParentImagein
/opt/secl/linux-ir-scripts-v3/thieves.sh
1
ParentImagein
/opt/traps/rpm-installer/setup.sh
1
ParentImagein
/sbin/chkrootkit
1
ParentImagein
/usr/sbin/chkrootkit
1
ParentImagewildcard
/home/*/sunlight/thieves.sh
1
parent_process_nameeq
uac
1
process.group_leader.executablein
/opt/traps/bin/cytool
1
process.group_leader.executablein
/usr/local/qualys/cloud-agent/bin/qualys-cloud-agent
1
process.parent.argsin
./uac
1
process.parent.argsin
/sbin/chkrootkit
1
process.parent.argsin
/usr/bin/finalrd
1

Rules under this technique

These vendors publish rules tagged with this technique.

Platform: Linux

Domain: Endpoint

Elastic 9 rules