ESC1
O ESC1 é a técnica mais famosa e direta de escalação de privilégios no Active Directory Certificate Services (AD CS). Ele permite que um usuário comum solicite um certificado digital e se passe por qualquer outra pessoa (incluindo um Domain Admin).
1. O que é?
Ocorre quando um Template de Certificado está mal configurado e permite que o solicitante especifique um SAN (Subject Alternative Name) personalizado. O SAN é um campo do certificado que define a identidade do dono (ex: Administrator).
2. Como acontece? (Pré-requisitos)
Para que o ESC1 exista, quatro condições devem ser verdadeiras simultaneamente:
Enrollment Rights: Usuários comuns (ex:
Domain Users) têm permissão para solicitar o certificado.Client Authentication: O template permite o uso do certificado para autenticação (Smart Card Logon, Client Auth, etc).
Manager Approval: A aprovação do gerente de CA está desabilitada (o certificado é emitido na hora).
CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT: Esta é a falha principal. O template permite que o usuário forneça o nome do sujeito no pedido (CSR).
3. Como explorar? (Passo a passo)
A. Enumeração (via Certipy):
certipy find -u user@domain.local -p password -dc-ip 10.10.10.10 -vulnerableProcure por: [!] Vulnerabilities: ESC1.
B. Solicitação do Certificado (Impersonando o Admin):
Isso gera um arquivo .pfx para o usuário Administrator.
C. Autenticação e Obtenção do Hash NT:
O comando retornará o Hash NT do Administrador, que você pode usar via Pass-the-Hash.
4. Como mitigar?
Remover permissões de Enroll de grupos amplos (Domain Users, Authenticated Users)
Desabilitar “Supply in request” em templates sensíveis
Restringir EKUs apenas ao mínimo necessário
Habilitar Manager Approval para emissão de certificados críticos
Atualizado