0xEtern4lW0lf
Hack The BoxMediumLinux

Surveillance

3 min de leitura
#RCE#NFS#HTTP#SSH#Python

Introdução

Writeup da máquina Surveillance do Hack The Box, dificuldade Medium. IP alvo: 10.10.11.191

Escaneamento

Primeiro passo foi escanear a máquina com nmap, primeiro em todas as portas para achar rapidamente as abertas, depois com scripts e detecção de versão só nas portas encontradas:

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

O nmap mostrou três portas abertas: 22 (ssh), 80 (http) e uma porta de NFS.

Enumeração

Porta 80 (HTTP)

Acessando a porta 80 aparece o site do alvo. Adicionei surveillance.htb ao /etc/hosts e comecei a fuzzar diretórios:

gobuster dir -u http://surveillance.htb/ -w /usr/share/wordlists/dirb/big.txt -t 100 --delay 1s -e --no-error -r -x php

Painel administrativo

O fuzzing revelou um painel de login em http://surveillance.htb/admin/login, que é o painel de administração do Craft CMS.

Código-fonte da página

Dando uma olhada no view-source: da página principal encontrei indícios do CMS usado (Craft CMS), o que direcionou a exploração para vulnerabilidades conhecidas desse produto.

NFS

Também havia um compartilhamento NFS exposto no host. (As notas originais não detalham os comandos de montagem/enumeração do NFS usados nesta etapa — foi identificado como serviço aberto pelo nmap, mas os passos específicos de enumeração não ficaram registrados.)

Exploração

CVE-2023-41892 — Craft CMS Remote Code Execution

A versão do Craft CMS identificada no painel /admin/login é vulnerável ao CVE-2023-41892, uma falha de execução remota de código no CMS. Explorei essa vulnerabilidade para obter execução de comandos no servidor. (As notas originais não detalham o payload/requisição exata usada para disparar o RCE nem a sequência completa de exploração — apenas o CVE ficou registrado como vetor usado. Ao reproduzir, vale revisar os detalhes técnicos do CVE-2023-41892 antes de repetir o ataque.)

Obtenção de shell — automação por script

Para automatizar a obtenção de shell nesta máquina usei um script em Python (sau-getshell.py), referente ao apelido “SAU” dado à vulnerabilidade do Craft CMS. (As notas originais não incluem o conteúdo do script nem o output da execução — apenas a referência ao arquivo usado.)

Pós-exploração

Elevação de privilégios

(As notas originais não detalham as etapas de elevação de privilégios realizadas nesta máquina. Preciso revisitar a máquina para completar esta seção com o caminho até root/usuário privilegiado.)

Anexos

  • nmap — varredura de portas e serviços
  • gobuster — fuzzing de diretórios (wordlist dirb/big.txt)
  • sau-getshell.py — script Python para automatizar a exploração do CVE-2023-41892 (SAU) no Craft CMS e obtenção de shell
  • NFS — serviço identificado na varredura de portas

Mitigação

  • Craft CMS desatualizado (CVE-2023-41892): atualizar o Craft CMS para uma versão corrigida assim que possível. Este CVE permite RCE não autenticado através do endpoint de geração de imagem/asset transform, então manter o CMS em dia é crítico.
  • Painel administrativo exposto publicamente: restringir o acesso a /admin/login por IP/VPN ou colocar autenticação adicional (ex.: basic auth) na frente do painel administrativo, reduzindo a superfície de ataque.
  • Serviço NFS exposto: revisar as configurações de exportação NFS (/etc/exports), restringindo o acesso apenas a hosts confiáveis e evitando exports com permissões amplas demais (no_root_squash, rw para qualquer host).
  • Escalonamento de privilégios: aplicar o princípio do menor privilégio nas contas de serviço e revisar permissões de arquivos/binários SUID e configurações sudo, já que não há detalhamento suficiente nas notas originais para apontar a causa raiz específica usada nesta máquina — recomenda-se reproduzir e documentar o vetor exato na próxima tentativa.