Compromissione della Supply Chain Software: Compromise Software Supply Chain (T1195.002)
La manipolazione del software prima che raggiunga l'utente finale rappresenta una delle tecniche più insidiose nel panorama delle minacce moderne. Questa forma di attacco permette agli avversari di infiltrarsi nei sistemi target attraverso canali apparentemente legittimi, sfruttando la fiducia riposta negli aggiornamenti software e nei processi di distribuzione.
La tecnica si manifesta nella fase di Initial Access (TA0001) della kill chain, quando l'attaccante cerca di ottenere un primo punto d'appoggio nella rete target. L'approccio può variare dalla modifica del codice sorgente alla compromissione dei meccanismi di aggiornamento, fino alla sostituzione completa di release compilate con versioni malevole.
L'impatto di questa metodologia è significativo: 9 gruppi APT documentati utilizzano attivamente questa tecnica, insieme a 3 software malevoli specificamente progettati per questo scopo. Le 2 campagne più note, SolarWinds e 3CX, hanno dimostrato la devastante efficacia di questo approccio, colpendo migliaia di organizzazioni attraverso un singolo punto di compromissione.
Per comprendere come gli attaccanti sfruttano la supply chain, iniziamo con la creazione di un installer trojanizzato. Su Windows, possiamo manipolare un MSI esistente:
msiexec /a legitimate_app.msi /qb TARGETDIR=C:\Temp\Extracted
Una volta estratto, inserisci il payload malevolo nel percorso di installazione e ricompila il pacchetto. L'obiettivo è mantenere tutte le firme digitali apparentemente intatte mentre si aggiunge codice malevolo che verrà eseguito post-installazione.
Su Linux, la manipolazione dei pacchetti richiede un approccio diverso. Estrai un pacchetto DEB legittimo:
dpkg-deb -R legitimate_package.deb ./package_contents
Modifica gli script di post-installazione in ./package_contents/DEBIAN/postinst per includere il download e l'esecuzione del payload. Ricostruisci il pacchetto con dpkg-deb -b package_contents malicious_package.deb.
Per simulare un attacco alla catena di aggiornamento, configura un server web che ospiti gli update malevoli. Utilizza tecniche di DNS hijacking o comprometti il CDN legittimo per reindirizzare le richieste di aggiornamento:
python3 -m http.server 80 --directory /malicious_updates
Il payload dovrebbe stabilire persistenza e comunicare con il C2 utilizzando protocolli comuni. SUNSPOT ha dimostrato come inserire codice malevolo direttamente nel processo di build, monitorando i processi di compilazione e iniettando codice al momento giusto.
Per macOS, sfrutta la fiducia nei pacchetti notarizzati creando un'applicazione che superi i controlli iniziali di Gatekeeper ma contenga codice malevolo dormiente che si attiva dopo l'installazione.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo