| name | T1003.007_proc-filesystem |
| description | Adversaries may gather credentials from the proc filesystem or `/proc`. |
| category | authentication |
| version | 18.1 |
| author | cyberstrike-official |
| tags | ["mitre-attack","enterprise","t1003.007","credential-access","linux","sub-technique"] |
| technique_id | T1003.007 |
| tactic | credential-access |
| all_tactics | ["credential-access"] |
| platforms | ["Linux"] |
| mitre_url | https://attack.mitre.org/techniques/T1003/007 |
| tech_stack | ["linux"] |
| cwe_ids | ["CWE-522"] |
| chains_with | ["T1003","T1003.001","T1003.002","T1003.003","T1003.004","T1003.005","T1003.006","T1003.008"] |
| prerequisites | ["T1003"] |
| severity_boost | {"T1003":"Chain with T1003 for deeper attack path","T1003.001":"Chain with T1003.001 for deeper attack path","T1003.002":"Chain with T1003.002 for deeper attack path"} |
T1003.007 Proc Filesystem
Sub-technique of: T1003
High-Level Description
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.
When executing with root privileges, adversaries can search these memory locations for all processes on a system that contain patterns indicative of credentials. Adversaries may use regex patterns, such as grep -E "^[0-9a-f-]* r" /proc/"$pid"/maps | cut -d' ' -f 1, to look for fixed strings in memory structures or cached hashes. When running without privileged access, processes can still view their own virtual memory locations. Some services or programs may save credentials in clear text inside the process’s memory.
If running as or with the permissions of a web browser, a process can search the /maps & /mem locations for common website credential patterns (that can also be used to find adjacent memory within the same structure) in which hashes or cleartext credentials may be located.
Kill Chain Phase
- Credential Access (TA0006)
Platforms: Linux
What to Check
How to Test
Atomic Red Team Tests
The following tests are from Atomic Red Team and provide actionable ways to test this technique:
Atomic Test 1: Dump individual process memory with sh (Local)
Using /proc/$PID/mem, where $PID is the target process ID, use shell utilities to
copy process memory to an external file so it can be searched or exfiltrated later.
Supported Platforms: linux
Elevation Required: Yes