Relevant es una habitación de Tryhackme que trata de simular un test de penetración. Se supone que somos encargados de conseguir las banderas de usuario y administrador como prueba de que hemos conseguido introducirnos en la máquina.

Se trata de una intrusión black box, es decir, que desconocemos qué hay en la máquina o cómo es.

Nos insta a redactar un informe, explotar manualmente sin Metasploit e identificar las diversas formas de escaladas de privilegios.

La dificultad asignada es media, veremos.

Comenzamos con un escaneo de puertos con Rustscan:

rustscan -a IP_Objetivo -- -A

Ese escaneo agresivo y tan rápido de Rustscan nos dice que no tiene puertos abiertos, probablemente porque nos han rechazado, así que reducimos el lote de peticiones (batch) a 20 de la siguiente manera.

rust -b 20 -a IP_Objetivo -- -A

Nos aparecen abiertos los puertos 80 (http), 135 (Windows Remote Procedure Call o RCP), 139 (smb), 445 (smb), 3389 (Microsoft Remote Desktop), 5985 (Microsoft Windows Remote Management).

Visitando la página web nos aparece la página por defecto de Windows Server. Agh, es una máquina Windows, con la poca experiencia que tengo en ellas. En fin, no pasa nada.

Examinar el código fuente no nos revela nada especial.

A ver si Gobuster nos dice algo interesante.

gobuster dir -u IP_Objetivo -w /usr/share/wordlists/dirb/common.txt

No aparece nada interesante con esa lista.

Es hora ver si hay vulnerabilidades en alguno de los servicios. Nmap, dentro de sus scripts, tiene uno para ello. Ejecutamos esta instrucción:

nmap --script vuln IP_Objetivo -p 80,135,139,445,3389,5985

Análisis de vulnerabilidades con Nmap

Nos descubre una vulnerabilidad en SMB y nos da su identificador: CVE-2017-0143.

Ya que nos pide no usar Metasploit, hay un script de Python para explotar la vulnerabilidad cuando buscas en Exploit Database.

https://www.exploit-db.com/exploits/41987

Sin embargo, al ejecutarlo contra el servidor nos resetea la conexión.

Vamos a seguir tocando con un palo a ver si algo cede, empecemos por enumerar los compartidos en SMB, a ver si hay algo. Nmap tiene un script para eso.

nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse IP_Objetivo

Examinemos con smbclient.

smbclient -L IP_Objetivo

-L nos permite sacar una lista de lo que hay en el host, pero esto no funciona bien. No sé si la máquina está rota o qué, pero conectar por smb da problemas constantes.