Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ntlmv1-multi — NTLMv1 Multitool | Kitploit
Strumenti/GitHubGitHub/evilmog/ntlmv1-multi
Password CrackingStrumenti di Crittografia/DecrittografiaAttacchi alle PasswordAnalisi HashCrittografiaAutenticazione
GitHubevilmog/ntlmv1-multi

ntlmv1-multi

NTLMv1 Multitool

Vedi Repository
67099233 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

NTLMv1 Multi Tool

Questo strumento converte gli hash NTLMv1 in NTLM, o più precisamente formatta le risposte alla challenge NTLMv1 in un formato che può essere crackato con hashcat modalità 14000.

Calcolo di CT3

Se specifichi --ct3, lo strumento calcola le ultime 4 cifre dell'NTLM per te; se specifichi --json, allora --ct3 è implicito e lo restituisce come elemento pt3, ad esempio:

python3 ntlmv1.py --ntlm "DC1$::MOG:AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E:AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E:1122334455667788" --json 

{"ntlmv1": "DC1$::MOG:AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E:AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E:1122334455667788", "user": "DC1$", "domain": "MOG", "challenge": "1122334455667788", "lmresp": "AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E", "ntresp": "AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E", "ct3": "352661ECEF909C5E", "ct3_crack": "ct3_to_ntlm.bin 352661ECEF909C5E 1122334455667788", "pt3": "8c71", "hash1": "AC51EC464A91A35A:1122334455667788", "hash2": "04A862DA3106EC2B:1122334455667788"}

Infine in questo aggiornamento ho spostato le funzioni in main() così puoi semplicemente importare il modulo per un uso diretto.

Aggiornamenti del 10 novembre 2020

Ho aggiunto 2 nuove opzioni, --hashcat e --hcutils, che impostano rispettivamente il percorso di hashcat e hashcat-utils, così puoi fare un copia e incolla diretto dallo strumento.

Eseguirai lo strumento in questo modo se la tua directory hashcat si trova in ~/git/hashcat e la tua directory hashcat-utils in ~/git/hashcat-utils:

python3 ./ntlmv1.py --ntlm "SERVER1$::MOG:9DE7F41D81C1207400000000000000000000000000000000:DE766A98B60D1C911DCFFFDBB3E521314B2CE34EAB63CC7B:1122334455667788" --hashcat "~/git/hashcat" --hcutils "~/git/hashcat-utils"

Aggiornamenti del 10 dicembre 2019

Sì, è presumibilmente compatibile con Python 3; ho anche unito ntlmv1 e ntlmv1-ess.

ntlmv1-multi

Multitool NTLMv1

Questo strumento modifica gli hash NTLMv1/NTLMv1-ESS/MSCHAPv2 in modo che possano essere crackati con la modalità DES 14000 in hashcat.

Questo strumento si basa sul lavoro di atom del team Hashcat https://hashcat.net/forum/thread-5832.html

Si basa anche su https://hashcat.net/forum/thread-5912.html e https://www.youtube.com/watch?v=LIHACAct2vo

Installazione

Installa lo strumento di nuova generazione ntlmv1_nextgen.py come comando globale ntlmv1-multi con uv:

uv tool install .
ntlmv1-multi --ntlmv1 "hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788"

Oppure eseguilo direttamente dal repository senza installarlo:

uv run ntlmv1_nextgen.py --ntlmv1 "hashcat::DUSTIN-5AA37877:..."

Il progetto include un pyproject.toml (Python 3.14+, dipendenza pycryptodome), così uv risolve tutto per te; il ntlmv1.py originale continua a funzionare in modo autonomo con qualsiasi interprete Python 3.

Strumento di nuova generazione (ntlmv1_nextgen.py)

ntlmv1_nextgen.py (installato come comando ntlmv1-multi) è il parser moderno. Accetta NTLMv1, blob $99$ e MSCHAPv2, gestisce automaticamente ESS e può completare l'intera conversione NTLMv1 -> NTLM da un potfile crackato in un solo passaggio. Opzioni disponibili:

OpzioneDescrizione
--ntlmv1 <hash>Hash NTLMv1 in formato Responder (user::host:LM:NT:challenge).
--99 <blob>Blob base64 in stile $99$.
--mschapv2 <hash>Hash MSCHAPv2 in formato John the Ripper.
--nthash <hex>Hash NTLM a 32 caratteri; deriva le chiavi DES e i candidati hashcat.
--password <pw>Deriva le chiavi DES --key1/--key2 da una password nota.
--key1 <hex> / --key2 <hex>Fornisce direttamente le chiavi DES a 16 esadecimali per CT1/CT2 (ha precedenza su --potfile).
--potfile <path>Potfile di hashcat/rainbowcrackalack con le chiavi crackate della modalità 14000; recupera automaticamente key1/key2 per completare la conversione NTLMv1 -> NTLM.
--hashcatEmette stringhe in formato hashcat per CT1/CT2.
--jsonSolo output JSON (implica il calcolo di CT3).

Utilizzo

NTLMv1 senza ESS

Per la cattura usa responder con il flag --lm; senza --lm attiverai ESS, che richiederà più tempo per il cracking. Inoltre è disponibile un nuovo flag, --disable-ess, che tenta di disabilitare ESS e forzare il downgrade. Prova prima --disable-ess e, se fallisce, prova --lm. Se usi --disable-ess o --lm, assicurati che la client challenge sia 1122334455667788 per usare la FPGA; tuttavia ciò potrebbe attivare alcune protezioni IDS/IPS di rete se vedono quel traffico.

La cattura apparirà così.

[SMB] NTLMv1 Client   : 184.64.60.62
[SMB] NTLMv1 Username : DUSTIN-5AA37877\hashcat
[SMB] NTLMv1 Hash     : hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788
[*] Skipping previously captured hash for DUSTIN-5AA37877\hashcat

La parte dell'hash appare così

hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788

Quindi usa il multi tool in questo modo (è anche compatibile con Python 2)

python3 ntlmv1.py --ntlmv1 hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788

Lo strumento produrrà i seguenti dati senza modificare le server challenge, ecc.

['hashcat', '', 'DUSTIN-5AA37877', '76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D', '727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595', '1122334455667788']

Hostname: DUSTIN-5AA37877
Username: hashcat
Challenge: 1122334455667788
LM Response: 76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D
NT Response: 727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595
CT1: 727B4E35F947129E
CT2: A52B9CDEDAE86934
CT3: BB23EF89F50FC595

To Calculate final 4 characters of NTLM hash use:
./ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788

To crack with hashcat create a file with the following contents:
727B4E35F947129E:1122334455667788
A52B9CDEDAE86934:1122334455667788

To crack with hashcat:
./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1

La password usata in questo caso è "password" e possiamo verificare l'hash NTLM con

echo -n password | iconv -f utf8 -t utf16le | openssl dgst -md4
(stdin)= 8846f7eaee8fb117ad06bdd830b7586c

Con ct3_to_ntlm.bin degli hashcat utils, scritto da atom, puoi calcolare gli ultimi 4 caratteri dell'hash NTLM dalla challenge NTLMv1, che lo strumento restituisce

./ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788
586c

Questo corrisponde alla parte finale dell'hash NTLM, quindi siamo a posto. Il passo successivo è crackare gli hash con hashcat, quindi dobbiamo creare un file hashes.txt con

727B4E35F947129E:1122334455667788
A52B9CDEDAE86934:1122334455667788

Per crackarlo con hashcat usi

./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1

Una nota importante: hashcat restituirà chiavi DES e non chiavi NTLM; dovrai convertirle in NTLM usando deskey_to_ntlm.pl di Hashcat Utils. Puoi farlo con

./deskey_to_ntlm.pl [cracked des key 1]
./deskey_to_ntlm.pl [cracked des key 2]

Poi combini le due chiavi NTLM con la terza parte della password, calcolata da (qualunque cosa lo strumento restituisca)

./ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788

Somma queste 3 parti e sei a posto.

Test con il convertitore DES

Se stai semplicemente testando il mio codice e conosci già la password, puoi usare il convertitore DES

python ntlm-to-des.py --ntlm b4b9b02e6f09a9bd760f388b67351e2b
DESKEY1: b55d6d04e67926
DESKEY2: bcba83e6895b9d
Scarica lo strumento