Dump della Memoria via /proc: Proc Filesystem (T1003.007)

La tecnica T1003.007 — Proc Filesystem appartiene alla tattica TA0006 (Credential Access) e sfrutta una peculiarità dei sistemi Linux: il filesystem virtuale /proc, interfaccia diretta alle strutture dati del kernel. Ogni processo attivo espone al suo interno file speciali come /proc/<PID>/maps, che descrive il layout della memoria virtuale, e /proc/<PID>/mem, che consente la lettura diretta dello spazio di indirizzamento.

Un attaccante con privilegi di root può iterare su tutti i PID e cercare pattern regex indicativi di credenziali — password in chiaro, hash NTLM, token di sessione, chiavi API — direttamente nella memoria dei processi in esecuzione. Anche senza privilegi elevati, un processo può leggere la propria memoria: un plugin malevolo o un injection dentro un browser può quindi estrarre credenziali salvate dal password manager integrato.

Nella kill chain la tecnica si colloca dopo l'Initial Access e una qualche forma di Privilege Escalation, e precede tipicamente Lateral Movement o Persistence basata su credenziali riutilizzate. L'impatto è significativo: MITRE documenta 3 famiglie che la implementano — MimiPenguin, LaZagne e PACEMAKER — e la superficie di rischio cresce con il numero di servizi che mantengono segreti in memoria (SSH agent, gnome-keyring, browser, database client). Due mitigazioni ufficiali (M1026 e M1027) affrontano il problema riducendo il valore delle credenziali esposte piuttosto che bloccando l'accesso a /proc, che rimane funzionalmente necessario.

In un esercizio red team autorizzato, la simulazione di T1003.007 parte dall'ottenimento di privilegi di root sull'host Linux target, tipicamente tramite abuso di sudo, kernel exploit o servizi mal configurati. Una volta ottenuti, l'operatore può procedere con approcci manuali o tool consolidati.

L'approccio manuale è didatticamente utile per comprendere il meccanismo. Il comando classico documentato da MITRE identifica le regioni di memoria leggibili di un processo:

grep -E "^[0-9a-f-] r" /proc/$pid/maps | cut -d' ' -f 1*

Da qui si estrae l'offset iniziale e finale di ogni segmento e si legge /proc/$pid/mem con dd posizionandosi tramite skip= e count=, oppure con uno script Python che apra il file in modalità binaria e faccia seek() sull'indirizzo. Il dump risultante viene poi analizzato con strings e grep su pattern come password=, Authorization: Bearer, BEGIN RSA PRIVATE KEY.

Per un'operazione più efficiente, i tool di riferimento sono:

  • MimiPenguin (open source, repository GitHub di huntergregal): specializzato nell'estrazione di password in chiaro da processi come gdm, lightdm, VSFTPd, Apache2 e SSH. Si esegue come sudo ./mimipenguin.sh oppure nella variante Python sudo python3 mimipenguin.py.
  • LaZagne (open source, repository GitHub di AlessandroZ): copre browser, client mail, wifi e database. Su Linux si lancia con sudo python3 laZagne.py all per scansionare tutti i moduli, o sudo python3 laZagne.py browsers per limitarsi ai browser.
  • procdump for Linux (open source, Microsoft/Sysinternals): utile per generare core dump di processi specifici con procdump -p , che poi si analizzano offline con strings o volatility-like parser.

Un workflow tipico prevede prima l'enumerazione dei processi interessanti tramite ps -ef | grep -Ei 'ssh|gnome-keyring|firefox|chrome', poi il targeting selettivo. Attenzione operativa: la lettura di /proc/<PID>/mem di processi non propri genera syscall openat e pread64 rumorose, facilmente intercettabili se auditd o Sysmon for Linux sono configurati. In un red team maturo si valuta se accettare il rumore o preferire tecniche alternative come T1555 (Credentials from Password Stores) su file su disco. Il post-processing dei dump va sempre fatto su una macchina isolata per evitare esfiltrazione accidentale.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.