tags: responder funzionamento Active_Directory windows
Responder funziona sfruttando le caratteristiche di alcuni protocolli di rete non sicuri, comunemente presenti in ambienti Windows. Questi protocolli, come LLMNR (Link-Local Multicast Name Resolution) e NBT-NS (NetBIOS Name Service), sono utilizzati per risolvere i nomi host sulla rete locale.
Ecco come funziona:
-
Risposta ai nomi non risolti: Quando una macchina Windows cerca di connettersi a una risorsa di rete (per esempio, digitando il percorso di una cartella condivisa in
Runo aprendo un link di rete), utilizza prima DNS per risolvere il nome della risorsa. Se la risoluzione DNS fallisce (ad esempio, se la risorsa non esiste o non è raggiungibile), il sistema operativo Windows prova con altri protocolli come LLMNR e NBT-NS. -
Responder come “finto” server di risoluzione: Responder si mette in ascolto sulla rete locale, rispondendo a queste richieste LLMNR o NBT-NS. Se un utente cerca di accedere a una risorsa inesistente (ad esempio, digitando un nome di condivisione che non esiste nella rete), Responder intercetta la richiesta di risoluzione e risponde fingendosi il server della risorsa richiesta.
-
Cattura degli hash NTLMv2: Quando la macchina Windows cerca di autenticarsi alla risorsa di rete finta (cioè Responder), invia automaticamente le credenziali sotto forma di hash NTLMv2. Questo avviene perché Windows cerca di autenticarsi alla risorsa con le sue credenziali di rete per accedere automaticamente alla condivisione (tipico comportamento in ambienti Windows).
-
Hash catturati: Responder cattura questi hash NTLMv2 inviati dalla macchina Windows e li salva. Successivamente, questi hash possono essere utilizzati per attacchi di tipo brute-force o pass-the-hash per cercare di ottenere la password in chiaro o accedere direttamente a risorse di rete usando l’hash catturato.
Perché funziona con Run?
La funzione Run in Windows è solo un modo per innescare una richiesta di rete (simile a come si potrebbe fare con una risorsa di rete da “Esplora Risorse”). Quando digiti un percorso di rete (come \\server_inesistente\cartella), Windows cerca di risolvere quel nome, e se la risoluzione DNS fallisce, passa a LLMNR e NBT-NS, permettendo a Responder di intervenire.
Può funzionare anche in altri modi?
Sì, qualsiasi richiesta di risoluzione di nomi non risolti attraverso LLMNR o NBT-NS potrebbe essere intercettata da Responder. Ciò significa che ogni volta che una macchina Windows cerca di accedere a una risorsa inesistente sulla rete locale, Responder potrebbe avere l’opportunità di catturare l’hash delle credenziali.
In sintesi
- Responder intercetta richieste LLMNR o NBT-NS per nomi non risolti.
- Risponde come se fosse il server di destinazione.
- La macchina Windows invia l’hash NTLMv2 come autenticazione.
- Responder cattura questo hash.