Modifica Binari Sistema: Compromise Host Software Binary (T1554)

La compromissione dei binari software rappresenta una delle tecniche di persistenza più insidiose nel panorama delle minacce avanzate. Gli attaccanti modificano eseguibili legittimi del sistema - dai client SSH ai browser web - inserendo backdoor o funzionalità malevole che si attivano durante l'esecuzione normale del software.

Questa tecnica si posiziona nella fase di Persistence (TA0003) della kill chain, garantendo agli avversari un accesso duraturo che sopravvive ai riavvii e ai cambi di credenziali. La sua efficacia deriva dal mimetismo: il codice malevolo si nasconde all'interno di processi che gli utenti e i sistemi di sicurezza considerano affidabili.

I numeri parlano chiaro: 2 gruppi APT hanno utilizzato questa tecnica in campagne documentate, con 16 famiglie di malware che implementano varianti di questo approccio. Tra le 3 campagne rilevanti spicca l'attacco alla rete elettrica ucraina del 2016, dove Sandworm Team utilizzò una versione trojanizzata di Notepad per mantenere la persistenza di Industroyer.

La simulazione di questa tecnica richiede precisione chirurgica per evitare di compromettere il sistema di test. Iniziamo con la modifica di un binario su Linux, replicando il comportamento di Kobalos che sostituisce il client SSH.

Prima di tutto, create una copia di backup del binario originale: cp /usr/bin/ssh /tmp/ssh.original

Ora prepariamo un wrapper malevolo che intercetta le credenziali. Create un file /tmp/malicious_ssh.c con funzionalità di logging nascosto, poi compilatelo e sostituite il binario originale mantenendo gli stessi permessi.

Su Windows, la tecnica diventa più sofisticata. ThiefQuest su macOS ci insegna un approccio elegante: invece di sostituire completamente il binario, prepende il codice malevolo all'inizio del file eseguibile. Quando l'utente lancia l'applicazione, il malware si esegue per primo, poi passa il controllo all'applicazione originale.

Per testare questa tecnica su macOS: cp /Applications/Calculator.app/Contents/MacOS/Calculator /tmp/Calculator.bak

Il malware può poi modificare l'entry point del binario usando tool come hopper o radare2, inserendo un jump al codice malevolo prima di ripristinare il flusso normale.

XCSSET dimostra un'evoluzione: sostituisce l'intera applicazione browser con una versione modificata che mantiene l'interfaccia identica ma cattura credenziali e traffico web. Per replicarlo in laboratorio, modificate i file Info.plist dell'applicazione target per caricare dylib malevole all'avvio.

Gli attaccanti più sofisticati come UNC3886 modificano addirittura i firmware. Durante la campagna RedPenguin, hanno patchato in memoria i demoni snmpd e mgd dei router Juniper, una tecnica che richiede conoscenza profonda dell'architettura target.

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

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo