SOC Prime Bias: Alto

10 Jul 2026 18:23 UTC

Impacket per Pentester: Tecniche di Cambio Password

Author Photo
SOC Prime Team linkedin icon Segui
Impacket per Pentester: Tecniche di Cambio Password
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

Questo articolo spiega come configurazioni errate di Active Directory possano essere sfruttate per reimpostare forzatamente le password degli utenti con il toolkit Impacket. Si concentra sull’utilità impacket-changepasswd , che può utilizzare il Reset Password ACE per consentire la presa del controllo degli account. La tecnica supporta diversi protocolli, inclusi SMB-SAMR, RPC-SAMR, LDAP e Kerberos.

Indagine

Il rapporto presenta uno scenario di laboratorio in cui a un utente sono concessi i diritti di Reset Password su un altro oggetto account. Illustra vari approcci di autenticazione, inclusi credenziali in chiaro, Pass-the-Hash, Pass-the-Key e utilizzo della cache TGT Kerberos, per manipolare le password degli account attraverso diversi protocolli.

Mitigazione

I difensori dovrebbero eseguire regolarmente audit degli ACL di Active Directory con strumenti come BloodHound per identificare diritti di Reset Password eccessivamente permissivi. Applicare un modello di amministrazione a più livelli e utilizzare il gruppo di sicurezza degli Utenti Protetti può ridurre sensibilmente l’esposizione. Si raccomanda inoltre di applicare la firma LDAP e implementare Credential Guard.

Risposta

Se viene rilevata un’attività sospetta, i team di sicurezza dovrebbero indagare sugli ID eventi di Windows 4723, 4724, 4738, 4771, e 5136. Gli analisti dovrebbero confermare se il reset della password è stato autorizzato e esaminare l’ambiente per traffico SAMR insolito o modifiche alla directory LDAP. Le azioni immediate dovrebbero includere la verifica delle autorizzazioni dell’account interessato e la rotazione delle credenziali per eventuali utenti amministrativi potenzialmente compromessi.

Flusso di Attacco

Stiamo ancora aggiornando questa parte. Iscriviti per ricevere notifiche

Notificami

Esecuzione della Simulazione

Prerequisito: La Verifica Pre-volo di Telemetria e Baseline deve essere riuscita.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica d’attacco (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a una diagnosi errata.

  • Narrazione Attacco & Comandi: Un avversario è riuscito a compromettere un account utente con permessi delegati o ha elevato i privilegi a un livello di amministratore del dominio. Per garantire la persistenza a lungo termine ed evitare il rilevamento durante una fase successiva dell’operazione, l’attaccante decide di reimpostare la password di un account di servizio noto. Utilizzando strumenti PowerShell nativi (Set-ADAccountPassword or net user), l’attaccante cerca di cambiare la password di Service_SVC. Questa azione è una tecnica classica di “Living off the Land”, progettata per confondersi con le attività amministrative di routine, ma provoca specifici ID eventi di sicurezza di Windows (4724/4738) che la regola di rilevamento è progettata per catturare.

  • Script di Test di Regressione:

    # Script di Simulazione: Reset della Password tramite PowerShell
    # Nota: Questo deve essere eseguito in un ambiente di laboratorio controllato con i permessi appropriati.
    
    $TargetUser = "Service_SVC"
    
    Write-Host "[*] Verifica se l'utente target esiste..." -ForegroundColor Cyan
    if (Get-ADUser -Filter "SamAccountName -eq '$TargetUser'") {
        Write-Host "[+] Utente target $TargetUser trovato. Procedo con la simulazione del reset della password..." -ForegroundColor Green
    
        # Generazione degli ID Evento 4724 / 4738
        try {
            $NewPassword = ConvertTo-SecureString "SimulatedPass123!" -AsPlainText -Force
            Set-ADAccountPassword -Identity $TargetUser -NewPassword $NewPassword
            Write-Host "[+] SUCCESSO: Reset della password attivato. Controlla i Log di Sicurezza per l'ID Evento 4724/4738." -ForegroundColor Green
        } catch {
            Write-Host "[-] ERRORE: Impossibile reimpostare la password. Assicurati di eseguire come utente Admin/Autorizzato." -ForegroundColor Red
            Write-Error $_
        }
    } else {
        Write-Host "[-] ERRORE: Utente target $TargetUser non trovato. Si prega di creare prima l'utente." -ForegroundColor Red
    }
  • Comandi di Pulizia:

    # Script di Pulizia: Ripristinare lo stato originale
    $TargetUser = "Service_SVC"
    $OriginalPassword = ConvertTo-SecureString "Original_Safe_Pass_2025!" -AsPlainText -Force
    
    Write-Host "[*] Ripristino della password originale per $TargetUser..." -ForegroundColor Cyan
    Set-ADAccountPassword -Identity $TargetUser -NewPassword $OriginalPassword
    Write-Host "[+] Pulizia completata." -ForegroundColor Green