Break Process Trees: Manipolazione dell'Albero dei Processi (T1036.009)

La tecnica Break Process Trees consiste nel manipolare la relazione genitore-figlio tra processi per sottrarre il malware all'analisi comportamentale basata sugli alberi di processo. Molte soluzioni di endpoint protection ricostruiscono la catena parent-child per correlare le azioni sospette: se un payload malevolo viene "staccato" dal suo processo genitore, la sua attività non viene più associata all'origine dell'esecuzione, rendendo l'anomalia difficile da imputare.

Dal punto di vista tattico questa tecnica ricade in TA0005 (Stealth), l'insieme di comportamenti mirati a confondersi con l'attività legittima riducendo i segnali osservabili, senza alterare i controlli di sicurezza né compromettere le fonti di monitoraggio. L'obiettivo è restare indistinguibile dal traffico benigno mantenendo intatti i sistemi difensivi.

Sui sistemi Unix il meccanismo classico è la doppia fork: il payload viene eseguito, invoca due volte la chiamata fork(), poi il processo intermedio termina. Ne risulta un processo "nipote" orfano, immediatamente adottato da init (PID 1), che spezza ogni legame con l'albero originale. Un'alternativa è la syscall daemon, che distacca il processo e lo esegue in background.

L'impatto è tutt'altro che teorico: due famiglie di malware documentate — il backdoor per Linux BPFDoor e il malware Shai-Hulud — sfruttano questa logica di distacco e uscita pulita del processo padre per apparire normali e sfuggire alla ricostruzione dell'esecuzione.

Per un red team, riprodurre la rottura dell'albero di processo significa dimostrare come un payload possa "perdere" la propria genealogia agli occhi dell'EDR. Il pattern di riferimento è la doppia fork in ambiente Unix/Linux, comportamento peraltro legittimo per i demoni di sistema, il che ne aumenta la copertura.

Lo schema operativo minimale è: eseguire il payload senza argomenti, chiamare fork() due volte e far uscire il processo intermedio. Il "nipote" resta orfano e viene adottato da init/systemd (PID 1). In C questo si realizza con due invocazioni consecutive di fork() intervallate da setsid() per creare una nuova sessione, e con l'uscita del padre tramite exit(). In alternativa la libc espone direttamente daemon(nofork, noclose), che incapsula fork e distacco dal terminale controllante.

Dalla shell, per un test lab-safe puoi osservare l'effetto del re-parenting lanciando un processo in background con setsid comando & e poi verificando il cambio di PPID:

ps -o pid,ppid,comm -p

Subito dopo la terminazione del padre, il campo PPID passerà a 1. Uno script Python didattico può usare os.fork() due volte e os.setsid() nel mezzo per riprodurre l'orfanizzazione in modo controllato.

Sul fronte del malware reale, BPFDoor (S1161) dopo l'esecuzione iniziale esegue una fork di sé stesso lanciando la copia con il flag --init, che avvia operazioni secondarie di pulizia; il processo padre termina e la copia forkata viene ereditata dal legittimo processo init. È un esempio pulito di come combinare distacco e cleanup.

Shai-Hulud (S9008) agisce in ambito supply-chain: il processo di installazione originale esce in modo pulito per dare all'utente l'illusione che il servizio sia stato installato normalmente, spezzando la catena osservabile durante il setup.

Per strumentazione di laboratorio sono utili:

  • strace (open source) per tracciare le syscall clone/fork e verificare l'orfanizzazione;
  • Sysmon for Linux (open source) per generare eventi di process creation con PPID esplicito;
  • Atomic Red Team (open source) come framework per costruire test ripetibili di masquerading.

Durante gli ingaggi, documenta il time delta fra creazione figlio e terminazione padre: è la firma che il blue team cercherà, e permette di valutare quanto la tua tecnica sia rumorosa rispetto ai demoni legittimi.

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.
We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.