Prefazione
Il processo LSASS (Local Security Authority Subsystem Service) è un componente fondamentale di Windows in quanto responsabile della gestione delle politiche di sicurezza locali, dell’autenticazione degli utenti e della generazione dei token di accesso.
LSASS memorizza e processa informazioni critiche come le credenziali degli utenti (password o hash delle password), i certificati di sicurezza e i token di accesso che sono essenziali per la gestione delle sessioni utente e delle risorse protette.
Un attaccante che riesca a compromettere LSASS potrebbe estrarre queste informazioni sensibili, permettendogli di ottenere accesso non autorizzato a sistemi e dati, eseguire attacchi di tipo “pass-the-hash” o persino impersonare utenti legittimi, facilitando movimenti laterali all’interno della rete e l’escalation dei privilegi.
Dump
Un dump è una copia della memoria del processo mentre è in esecuzione. Questa copia contiene tutte le informazioni che LSASS sta gestendo in quel momento, inclusi dati sensibili come credenziali e token di accesso. Gli attaccanti spesso cercano di eseguire un dump di LSASS per estrarre queste informazioni critiche e utilizzarle per compromettere ulteriormente un sistema.
L’attacco
TL;DR L’estratto che viene sotto riportato ha lo scopo di far leva sulla libreria comsvcs.dll, usando come proxy rundll32, per eseguire un dump del processo lsass allo scopo di poter successivamente ricavare gli hash di autenticazione.
Il comando
%COMSPEC% /Q /c cmd.eXE /Q /c for /f "tokens=1,2 delims= " ^%A in ('"tasklist /fi "Imagename eq lsass.exe" | find "lsass""') do rundll32.exe C:\windows\System32\comsvcs.dll, #+0000^24 ^%B \Windows\Temp\jvX7H.png full
Dissezione del comando
%COMSPEC% /Q /c
: %COMSPEC%
è una variabile d’ambiente di Windows che punta all’interprete dei comandi (cmd.exe
). Questo comando avvia il cmd.exe
con l’opzione /Q
, che sopprime la visualizzazione del prompt di comando, e l’opzione /c
, che esegue il comando successivo e poi termina.
cmd.eXE /Q /c
: Questo esegue un’ulteriore istanza di cmd.exe
, sempre con le stesse opzioni /Q
e /c
, per aumentare il livello di offuscamento.
for /f "tokens=1,2 delims= " ^%A in ('"tasklist /fi "Imagename eq lsass.exe" | find "lsass""') do rundll32.exe C:\windows\System32\comsvcs.dll, #+0000^24 ^%B \Windows\Temp\jvX7H.png full
: Questa parte è la più complessa e contiene l’operazione effettiva che viene eseguita.
for /f "tokens=1,2 delims= " ^%A in (...) do ...
: Il ciclofor /f
in batch è utilizzato per leggere righe di output di un comando. L’opzionetokens=1,2 delims=
specifica che i campi da elaborare sono il primo e il secondo, separati da spazi.'tasklist /fi "Imagename eq lsass.exe" | find "lsass"'
: Il comando all’interno delle parentesi esegue un filtro sulla lista dei processi per identificare il processolsass.exe
.tasklist
viene usato con un filtro (/fi
) per cercare il processolsass.exe
. Successivamente, l’output viene passato afind
per cercare il nome del processo.rundll32.exe C:\windows\System32\comsvcs.dll, #+0000^24 ^%B \Windows\Temp\jvX7H.png full
: Se il processolsass.exe
viene trovato, il ciclofor
esegue il comandorundll32.exe
, che carica una DLL e invoca una funzione esportata all’interno della DLL. In questo caso, viene invocata la DLLcomsvcs.dll
con un parametro offuscato#+0000^24 ^%B
. Il risultato dell’operazione di dump viene scritto nel file \Windows\Temp\jvX7H.png
comsvcs.dll, #+0000^24 ^%B … full
La DLL
La DLL comsvcs.dll
(COM+ Services DLL) è un file di sistema di Windows che fornisce funzionalità per i servizi COM+ (Component Object Model Plus). La DLL comsvcs.dll
contiene vari metodi e funzioni che vengono utilizzati per la gestione delle transazioni, la sicurezza, la sincronizzazione e altre operazioni di base nei servizi COM+.
MITRE ATT&CK
Parametri
- #+0000^24: indica il valore ordinale della funzione “MiniDump”
- ^%B: indica il PID associato al processo lsass.exe
\Windows\Temp\jvX7H.png
indica il file di uscita contenente il dump- full: direttiva per l’esportazione completa
Crediti
EOF