Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ntlmv1-multi — NTLMv1 Multitool | Kitploit
Ferramentas/GitHubGitHub/evilmog/ntlmv1-multi
Quebra de SenhasFerramentas de Criptografia/DescriptografiaAtaques de SenhaAnálise de HashCriptografiaAutenticação
GitHubevilmog/ntlmv1-multi

ntlmv1-multi

NTLMv1 Multitool

Ver Repositório
6709923há 3 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Ferramenta Multi NTLMv1

Esta ferramenta reverte hashes NTLMv1 para NTLM ou, mais especificamente, formata respostas de desafio NTLMv1 em um formato que pode ser quebrado com o hashcat no modo 14000

Cálculo do CT3

Se você especificar --ct3, ele calculará os 4 dígitos finais do NTLM para você; se você especificar --json, então --ct3 está implícito e será retornado como o elemento pt3, por exemplo:

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

Por fim, nesta atualização, movi as funções para main() para que você possa simplesmente importar o módulo para uso direto.

Atualizações de 10 de novembro de 2020

Adicionei 2 novas opções, --hashcat e --hcutils, que definem o caminho para o seu hashcat e hashcat-utils, respectivamente, para que você possa copiar e colar diretamente da ferramenta.

Você executaria a ferramenta assim se o diretório do hashcat estivesse em ~/git/hashcat e o diretório do hashcat-utils estivesse em ~/git/hashcat-utils:

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

Atualizações de 10 de dezembro de 2019

Sim, isso é supostamente compatível com Python 3; também mesclei ntlmv1 e ntlmv1-ess.

ntlmv1-multi

Multiferramenta NTLMv1

Esta ferramenta modifica hashes NTLMv1/NTLMv1-ESS/MSCHAPv2 para que possam ser quebrados com o Modo DES 14000 no hashcat.

Esta ferramenta é baseada no trabalho feito por atom, do time Hashcat: https://hashcat.net/forum/thread-5832.html

Também é baseada em https://hashcat.net/forum/thread-5912.html e https://www.youtube.com/watch?v=LIHACAct2vo

Instalação

Instale a ferramenta de próxima geração ntlmv1_nextgen.py como um comando global ntlmv1-multi com uv:

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

Ou execute-a diretamente do repositório sem instalar:

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

O projeto acompanha um pyproject.toml (Python 3.14+, dependência pycryptodome), portanto o uv resolve tudo para você; o ntlmv1.py original ainda roda de forma autônoma com qualquer interpretador Python 3.

Ferramenta de próxima geração (ntlmv1_nextgen.py)

ntlmv1_nextgen.py (instalado como o comando ntlmv1-multi) é o parser moderno. Ele aceita NTLMv1, blobs $99$ e MSCHAPv2, lida com ESS automaticamente e pode concluir a conversão completa de NTLMv1 -> NTLM a partir de um potfile quebrado em uma única etapa. Opções disponíveis:

OpçãoDescrição
--ntlmv1 <hash>Hash NTLMv1 no formato Responder (user::host:LM:NT:challenge).
--99 <blob>Blob base64 no estilo $99$.
--mschapv2 <hash>Hash MSCHAPv2 no formato John the Ripper.
--nthash <hex>Hash NTLM de 32 caracteres; deriva as chaves DES e os candidatos para hashcat.
--password <pw>Deriva as chaves DES --key1/--key2 a partir de uma senha conhecida.
--key1 <hex> / --key2 <hex>Forneça diretamente as chaves DES de 16 hex para CT1/CT2 (tem precedência sobre --potfile).
--potfile <path>Potfile do hashcat/rainbowcrackalack com chaves do modo 14000 quebradas; recupera key1/key2 automaticamente para concluir a conversão NTLMv1 -> NTLM.
--hashcatEmite strings no formato hashcat para CT1/CT2.
--jsonSaída apenas em JSON (implica o cálculo do CT3).

Uso

NTLMv1 sem ESS

Para capturar, use o responder com a flag --lm; sem --lm você ativará o ESS, o que levará mais tempo para quebrar. Também há uma nova flag, --disable-ess, que tentará desabilitar o ESS e forçar o downgrade. Tente --disable-ess primeiro e, se falhar, tente --lm. Se estiver usando --disable-ess ou --lm, certifique-se de que o desafio do cliente seja 1122334455667788 para usar o FPGA; no entanto, isso pode acionar algumas proteções de IDS/IPS de rede se esse tráfego for visto.

A captura ficará assim.

[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

A parte do hash fica assim

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

Então use a multi ferramenta assim (ela também é compatível com Python 2)

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

Ela produzirá os seguintes dados sem modificar os desafios do servidor etc.

['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

A senha usada neste caso é "password" e podemos verificar o hash NTLM com

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

Com o ct3_to_ntlm.bin dos utilitários do hashcat que o atom escreveu, você pode calcular os últimos 4 caracteres do hash NTLM a partir do desafio NTLMv1, que a ferramenta gera.

./ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788
586c

Isso corresponde ao final do hash NTLM, então estamos prontos. O próximo passo é quebrar os hashes com o hashcat; para isso, precisamos criar um arquivo hashes.txt com

727B4E35F947129E:1122334455667788
A52B9CDEDAE86934:1122334455667788

Para quebrar isso com o hashcat, use

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

Uma nota importante é que o hashcat retornará chaves DES, e não chaves NTLM; você precisará converter para NTLM usando deskey_to_ntlm.pl do Hashcat Utils. Isso pode ser feito com

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

Você então combina as duas chaves NTLM com a terceira parte da senha, calculada por (o que a ferramenta gerar)

./ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788

Some essas 3 partes e você estará pronto.

Testando com o conversor DES

Se você está apenas testando meu código e já conhece a senha, pode usar o conversor DES

python ntlm-to-des.py --ntlm b4b9b02e6f09a9bd760f388b67351e2b
DESKEY1: b55d6d04e67926
DESKEY2: bcba83e6895b9d
Baixar ferramenta