LOTL e LOLBAS. Abbiamo deciso che è arrivato il momento di parlarvene. Tra le molteplici minacce che le aziende devono affrontare, i cyber attacchi “Living off the Land” (LOTL) perpetrati attraverso LOLBAS o LOLBIN si ergono come una delle tattiche più subdole e difficili da contrastare. Ma di che cosa stiamo parlando ? In questo breve articolo cercheremo di spiegare di cosa si tratta e vi racconteremo 8 dei LOLBAS con cose che magari vi stupiranno anche un po’. Pronti ?
Cosa si intende con Living off the Land (LOTL)?
Living off the Land (LOTL) è una tecnica di attacco informatico fileless o LOLbins, in cui il cybercriminale sfrutta strumenti nativi e legittimi presenti nel sistema della vittima per sostenere e avanzare l’attacco. A differenza degli attacchi malware tradizionali, che utilizzano file per eseguire il piano di attacco, gli attacchi LOTL non richiedono all’attaccante di installare alcun codice o script all’interno del sistema di destinazione.
Come Funzionano gli Attacchi LOTL?
L’attaccante utilizza strumenti già presenti nell’ambiente (LOLBAS – Living Off-the-LAN Binaries and Scripts), come PowerShell, Windows Management Instrumentation (WMI) o altri tool, per eseguire l’attacco. Questo rende gli attacchi LOTL molto più difficili da rilevare, specialmente se ci si affida a strumenti di sicurezza tradizionali che cercano script o file malware noti.
Strumenti Utilizzati negli Attacchi LOTL
Gli attaccanti LOTL possono accedere all’ambiente in diversi modi, tra cui l’uso di kit di exploit, strumenti nativi utilizzati in modo improprio, malware residenti nel registro di sistema, malware solo in memoria, ransomware e credenziali rubate.
Perché gli Attacchi LOTL sono così Popolari?
Gli attacchi LOTL sono sempre più diffusi perché tendono ad essere più efficaci dei tradizionali attacchi malware. Questo perché sono molto più difficili da rilevare con gli strumenti di sicurezza legacy, il che aumenta la probabilità di successo e concede all’attaccante più tempo per scalare i privilegi, rubare dati e impostare backdoor per l’accesso futuro.
Come Prevenire e Rilevare gli Attacchi LOTL
Prevenire e rilevare gli attacchi LOTL è una sfida complessa, ma esistono alcune misure di sicurezza efficaci che le organizzazioni possono adottare:
- Indicatori di Attacco (IOA): utilizzare degli indicatori di attacco (IOA) anziché solo su indicatori di compromissione (IOC) può ridurre il rischio di attacchi LOTL. Gli IOA sono in grado di rilevare segni che un attacco potrebbe essere in corso, indipendentemente dal fatto che l’azione sia stata avviata da un file su disco o utilizzando una tecnica “fileless”.
- Gestione delle Minacce: Threat Hunting – essenziale per individuare attività sospette e avanzate all’interno dell’ambiente IT.
- Monitoraggio degli Account: Il monitoraggio e il controllo degli account possono prevenire attività non autorizzate e violazioni delle credenziali.
- Inventario Applicativo e degli Asset: Mantenere un inventario aggiornato delle applicazioni e degli asset IT permette di identificare e gestire potenziali vulnerabilità.
Gli 8 LOLBAS da segnarsi
Prendiamo a piene mani da un progetto stupendo (https://lolbas-project.github.io/) e portiamo 8 spunti..
Rundll32
Lo conoscono tutti o quasi. Tecnicamente serve per eseguire dinamicamente le librerie di sistema (le dll). L’idea è che un file eseguibile possa accedere a delle funzionalità aggiuntive semplicemente facendo riferimento a queste librerie, che tuttavia non possono essere utilizzate in autonomia. Microsoft così ci fornisce lo splendido rundll32 che è in grado di eseguire il contenuto di una dll. Non fatevi ingannare dal quel “32” finale. rundll32 funziona anche con librerie a 64bit e si invoca come un qualsiasi interprete, specificando libreria (dll) e argomenti.
Per cosa lo usano gli attaccanti ? 2 ottimi votivi
- Ovviamente posso creare delle dll malevole che contengono codice malevolo ed eseguirle con rundll32
- Posso sfruttare parti legittime delle librerie di sistema per fare cose “illegittime”
- Posso eseguire payload illegittimi attraverso librerie “legittime”
Regsvr32
Altro mitico componente che è in grado di registrare e de-registrare librerie (dll) e controlli activeX.
Cose carine: è network and proxy aware. Quindi può usare i proxy e può potenzialmente caricare codice da zone “remote”. Tipicamente, l’uso più frequente è descritto dalla tecnica T1218 del Mitre, in soldoni, è possibile eseguire codice che è in grado di bypassare l’application whitelisting (ma io non ve l’ho detto). Inoltre, in combinazione con altre dll, consente potenzialmente di eseguire codice remoto.
Msiexec
E’ l’installatore di Microsoft per eccellenza !
Tramite questo componente, possiamo installare e disinstallare software dalla macchina, manipolare il registro. Forse non tutti sanno che msiexec è in grado anche di comunicare con web server esterni su uri http e https..
Gli attaccanti ovviamente si servono di questo pezzo di software per installare o eseguire file MSI non autorizzati, installare silenziosamente sulla macchina oggetti illegittimi o dll malevole.
Mshta
L’idea era buona, anzi no. Eseguire come binary files, il contenuto attivo e non di una pagina HTML. i file HTA (formalmente Microsoft Html Application file) sono infatti applicazioni che consistono in un file HTML compresivo di Jscript (non javascript) e VBScript.
MSHTA è proxy aware, e accetta come URI sia http che https. Scatenate la fantasia ! Potete eseguire contenuto locale, remoto o addirittura inline
Certutil
Questo è uno dei nostri preferiti. Certutil è l’utilità che si dovrebbe preoccupare della gestione dei certificati. In realtà ha più di 80 sottocomandi e diventa un vero e proprio coltellino svizzero, ma non solo per i certificati.
Certutil è in grado di fare encode e decode di base64 ed è in grado di parlare con risorse remote.
L’attaccante per cosa lo utilizza ?
Scaricare file (tramite parametro -urlcache) , anche codificati (opzione -encode) (e poi li decodifica).. nonchè gestione dei certificati ( funzione -addstore)
MSBuild
il compilatore di Microsoft: accetta file xml, ma anche proj, sln o csproj. a seconda del file di progetto e di input è in grado di compilare un file eseguibile del programma associato.
2 sono gli usi malevoli
- compilarsi il codice malevolo !
- esecuzione di codice “particolare”. Esiste infatti la possibilità di istruire msbuild per far sì che carichi comandi “pre” e “post” build, consentendo quindi l’esecuzione di software
WMI – WINDOWS MANAGEMENT INSTRUMENTATION
Windows Management Instrumentation (WMI) è l’implementazione di Microsoft di Web-Based Enterprise Management (WBEM), che è un insieme di tecnologie di gestione di sistema sviluppate per unificare la gestione di ambienti di calcolo distribuiti. In termini semplici, WMI è stato progettato per consentire agli amministratori di interrogare informazioni su e eseguire processi su sistemi sia locali che remoti. Questo è fondamentalmente uno strumento per l’amministrazione di sistema, ma si è osservato che gli attaccanti sfruttano WMI per una certa varietà di scopi malevoli, tra cui esecuzione, distruzione di dati, configurazione di sistema e ricognizione dell’host.
WMI command line utility (WMIC)
WMIC è uno strumento di Windows che consente di eseguire comandi attraverso la riga di comando. Anche se è stato deprecato da Microsoft con l’introduzione di Windows 10, è ancora presente di default su molte installazioni. È considerato un LOLBAS perché può eseguire codice creando nuovi processi. Anche se di solito viene utilizzato per eseguire processi, gli attaccanti possono sfruttarlo in modi diversi.
WMI provider host (WmiPrvSe)
Un’analisi di WMI sarebbe incompleta senza considerare anche il processo WMI Provider Host (WMIPrvSE). Ogni volta che WMIC viene utilizzato per l’esecuzione di processi (sia che miri all’host locale o a un host remoto), viene eseguito WMIPrvSE, che a sua volta esegue il comando desiderato nel contesto utente appropriato. Questa relazione padre-figlio asincrona rende l’esecuzione tramite WMI un metodo interessante per gli aggressori.
Movimenti laterali ( lancio processi da wmic)
Rimozione delle shadow copy
Lettura delle informazioni dell’host e configurazione di sistema
FTP
Vi lasciamo con una chicca: FTP.
FTP è l’implementazione del file transfer protocol su windows. Ebbene oltre ad ovviamente essere un ottimo sistema per poter caricare e scaricare file, l’utility in ambiente microsoft ci regala anche la possibilità di eseguire comandi. un poco documentato switch “-s” consente di passare un file che può anche contenere comandi.
echo !calc.exe > ftpcommands.txt && ftp -s:ftpcommands.txt
provare per credere. ftp.exe effettua proprio uno spawn di cmd.exe /c con il tuo comando.
E’ arrivata l’ora di riguardare il tuo EDR ? Se ti va, possiamo farlo anche assieme, basta che ci contatti; questi sono solamente 8 dei LOLBAS più famosi che ci sono venuti in mente.