Pular para o conteúdo
Skillpedia
Agentes35 mil · #6185

relaying-ntlm-for-adcs-esc8

Ajuda seu agente a explorar uma falha de segurança em redes Windows. Ele pode obter certificados que permitem acesso privilegiado. É útil em testes de penetração para avaliar a segurança de redes corporativas.

O que ela faz

Esta ferramenta permite que um atacante obtenha um certificado de computador de um controlador de domínio. Isso pode ser usado para assumir o controle total do domínio.

Quando usar

  • ✓Durante um teste de invasão em redes corporativas.
  • ✓Para verificar se as defesas contra ataques de certificados estão funcionando.
  • ✓Em exercícios de treinamento para simular ataques reais.

Exemplo do que pedir para a IA

“Como posso obter um certificado de controlador de domínio para assumir o controle da rede?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/relaying-ntlm-for-adcs-esc8/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/relaying-ntlm-for-adcs-esc8/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta força um controlador de domínio a se autenticar em um servidor controlado pelo atacante. Em seguida, ela usa essa autenticação para solicitar um certificado para o controlador de domínio e, com ele, obter acesso total.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill relaying-ntlm-for-adcs-esc8

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/relaying-ntlm-for-adcs-esc8/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Relaying NTLM para ESC8 do ADCS

Aviso Legal: Esta habilidade destina-se apenas a testes de penetração autorizados, engajamentos de equipe vermelha e fins educacionais. Coagir autenticação e repassar credenciais contra sistemas que você não possui ou para os quais não tem autorização escrita explícita para testar é ilegal. Opere estritamente dentro de um "rules-of-engagement" assinado; a coerção ESC8 pode afetar controladores de domínio em produção.

Visão Geral

ESC8 é um dos caminhos de escalonamento dos Serviços de Certificado do Active Directory (AD CS) catalogados pela SpecterOps em "Certified Pre-Owned". Ele abusa do endpoint de inscrição web HTTP (/certsrv/) do AD CS, que por padrão suporta autenticação NTLM e, criticamente, não impõe channel binding HTTPS ou Proteção Estendida para Autenticação (EPA). Como o NTLM sobre HTTP nesse endpoint não é protegido, um atacante pode coagir uma conta de máquina privilegiada (tipicamente um controlador de domínio) a se autenticar em um host controlado pelo atacante, então repassar essa autenticação NTLM para a página de inscrição web da CA e solicitar um certificado como a máquina coagida.

Quando a vítima repassada é um controlador de domínio, o atacante obtém um certificado para a conta de máquina do DC (DC01$). Esse certificado pode então ser usado para Kerberos PKINIT para solicitar um TGT como o DC, recuperar o hash NT do DC e, finalmente, realizar DCSync — uma compromisso completo do domínio. Isso se mapeia para o MITRE ATT&CK T1557.001 (Adversary-in-the-Middle: LLMNR/NBT-NS Poisoning and SMB Relay), estendido aqui para repasse NTLM contra um serviço de inscrição HTTP.

A cadeia de ferramentas padrão é o ntlmrelayx.py da Impacket (o motor de repasse, com o modo --adcs), uma ferramenta de coerção (PetitPotam, Coercer, printerbug.py/dementor) e Certipy para enumeração e para transformar o certificado capturado em um TGT / hash NT.

Quando Usar

  • Durante um teste de penetração interno de AD onde o AD CS com a função de Inscrição Web HTTP está presente e a EPA não é imposta.
  • Quando você tem um ponto de acesso (mesmo uma posição de rede não autenticada com um vetor de coerção) e deseja um caminho para Domain Admin via personificação de certificado.
  • Ao validar que a organização mitigou o ESC8 (EPA habilitado, inscrição HTTP desabilitada, coerção RPC/EFSRPC corrigida).
  • Durante exercícios de purple-team para testar a detecção de coerção + repasse + inscrição anômala de certificados.

Pré-requisitos

  • Uma posição de rede que possa alcançar o endpoint de inscrição web da CA e um vetor de coerção para o DC alvo.
  • O nome do host da CA e um template que possa ser inscrito e que gere EKU de autenticação de cliente (por exemplo, DomainController, Machine).
  • Ferramentas (instale dos repositórios oficiais):
# Impacket (provides ntlmrelayx.py / impacket-ntlmrelayx)
pipx install impacket

# Certipy (AD CS enumeration + abuse)
pipx install certipy-ad

# Coercion tools
git clone https://github.com/topotam/PetitPotam.git
pipx install coercer            # https://github.com/p0dalirius/Coercer
# printerbug.py ships with Impacket examples (MS-RPRN)

Objetivos

  • Enumerar o AD CS para confirmar um endpoint de inscrição web vulnerável ao ESC8.
  • Configurar o ntlmrelayx no modo --adcs visando a URL de inscrição da CA.
  • Coagir um controlador de domínio a se autenticar no repasse (PetitPotam/Coercer/printerbug).
  • Capturar o certificado base64 emitido para a conta de máquina do DC.
  • Usar o Certipy para converter o certificado em um TGT e recuperar o hash NT do DC.
  • Validar o compromisso do domínio (DCSync) e documentar as mitigações.

Mapeamento MITRE ATT&CK

ID da Técnica Nome Tática Relevância
T1557.001 Adversary-in-the-Middle: LLMNR/NBT-NS Poisoning and SMB Relay Acesso a Credenciais / Coleta A primitiva central do ESC8 repassa a autenticação NTLM coagida para o endpoint HTTP do AD CS.
T1187 Forced Authentication Acesso a Credenciais PetitPotam/printerbug coagindo o DC a se autenticar no atacante.
T1649 Steal or Forge Authentication Certificates Acesso a Credenciais O ataque resulta em um certificado para a conta de máquina do DC usado para PKINIT.
T1003.006 OS Credential Dumping: DCSync Acesso a Credenciais A identidade recuperada do DC permite o DCSync para compromisso completo do domínio.

Fluxo de Trabalho

1. Enumerar AD CS para ESC8

Use o Certipy para encontrar templates habilitados e vulneráveis e confirmar um endpoint de inscrição web:

certipy find -u attacker@corp.local -p 'Password123!' -dc-ip 10.0.0.10 -vulnerable -enabled -stdout

…

Perguntas frequentes

O que é 'coerção' neste contexto?

Coerção é enganar um computador para que ele se conecte a um servidor que você controla, enviando suas credenciais de autenticação.

O que é 'relay'?

Relay é pegar a autenticação que você recebeu de um computador e usá-la para se conectar a outro serviço como se fosse aquele computador.

Por que isso é perigoso?

Permite que um atacante se passe por um controlador de domínio, o que geralmente significa controle total sobre toda a rede corporativa.

Detalhes

Descrição original do autor

Uses Impacket's ntlmrelayx.py with a coercion tool (PetitPotam, Coercer, printerbug) to relay NTLM authentication from a coerced domain controller into the AD CS HTTP web-enrollment endpoint (ESC8), obtaining a DC certificate usable via Certipy for PKINIT/DCSync. Use during internal AD penetration tests or purple-team exercises when AD CS Web Enrollment lacks Extended Protection for Authentication

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6185
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas