SecNotes

Publicado: 16 de Junio de 2025 Autor: Josรฉ Miguel Romero aKa x3m1Sec Dificultad: โญ Easy

๐Ÿ“ Descripciรณn

SecNotes es una mรกquina Windows de dificultad Easy de HackTheBox que presenta una aplicaciรณn web de notas seguras vulnerable a ataques CSRF. La explotaciรณn involucra el secuestro de cuentas de usuario, acceso a recursos compartidos SMB, ejecuciรณn de cรณdigo remoto a travรฉs de IIS, y escalada de privilegios mediante el subsistema Windows Subsystem for Linux (WSL). Esta mรกquina es excelente para practicar tรฉcnicas de web hacking, enumeraciรณn de servicios Windows y escalada de privilegios en entornos hรญbridos Windows/Linux.

Puntos clave de aprendizaje:

  • ๐ŸŽฏ Explotaciรณn de vulnerabilidades CSRF en aplicaciones web

  • ๐Ÿ”‘ Enumeraciรณn y explotaciรณn de servicios SMB

  • ๐ŸŒ Subida de webshells y ejecuciรณn remota de comandos en IIS

  • ๐Ÿง Escalada de privilegios atravรฉs de WSL (Windows Subsystem for Linux)

  • ๐Ÿ” Anรกlisis de historial de comandos para obtenciรณn de credenciales

๐Ÿ”ญ Reconocimiento

๐Ÿ“ Ping para verificaciรณn en base a TTL

๐Ÿ’ก Nota: El TTL cercano a 128 sugiere que probablemente sea una mรกquina Windows.

๐Ÿ” Escaneo de puertos

๐Ÿ› ๏ธ Enumeraciรณn de servicios


๐ŸŽฏ Enumeraciรณn de Servicios

๐ŸŒ HTTP (Puerto 80) - Aplicaciรณn de Notas Seguras

Encontramos un panel de login de lo que parece ser una aplicaciรณn de notas seguras. Ademรกs hay una opciรณn de registro.

URL: http://10.10.10.97/login.php

Al registrarnos tenemos acceso a una serie de opciones

๐Ÿ‘ค Enumeraciรณn de usuarios

Hay un banner en el que podemos enumerar un usuario llamado tyler. Tambiรฉn aparece en la secciรณn de contacto.

๐Ÿ”จ Fuzzing de directorios

El fuzzing de directorios no revela ningรบn otro recurso que aรฑadir a nuestro scope como posible vรญa potencial de ataque.

๐Ÿšจ Explotaciรณn Web - Ataque CSRF

๐ŸŽฏ Identificaciรณn de la vulnerabilidad

Despuรฉs de probar algunas cosas encuentro que puedo realizar un CSRF en la funciรณn Contact Us. Esta funcionalidad permite enviar mensajes a otros usuarios de la aplicaciรณn.

๐Ÿ’ฃ Ejecuciรณn del CSRF

Trato de aprovecharme de esto cambiando la clave de tyler. Cambiarรฉ la peticiรณn POST de la funciรณn Change Password a una GET, para que pueda cambiar la clave de Tyler por otra cuando visite mi enlace malicioso.

Ahora puedo autenticarme como tyler:

Al revisar sus notas encuentro lo que parece ser un recurso compartido y una contraseรฑa:

Credenciales encontradas:

๐Ÿ—‚๏ธ Explotaciรณn SMB

๐Ÿ” Validaciรณn de credenciales

Decido probar estas credenciales con el servicio SMB usando la herramienta netexec y confirmo que son vรกlidas:

๐Ÿ“ Enumeraciรณn de recursos compartidos

๐Ÿ” Exploraciรณn del recurso new-site

Enumeramos el recurso new-site, que lo รบnico que parece contener en la web en construcciรณn del sitio IIS que hay en el puerto 8808

Sin embargo, lo mรกs interesante aquรญ, es que tyler tiene tiene permisos de lectura y escritura sobre este recurso.

๐Ÿš€ Acceso Inicial al Sistema

โŒ Intento fallido con psexec

Primero intentamos sin รฉxito ganar acceso usando impacket-psexec:

๐Ÿ•ท๏ธ Webshell a travรฉs de IIS

Asรญ que optamos por la opciรณn de intentar subir un archivo malicioso al directorio new-site que puede ser interpretado por el servidor IIS.

Me creo una webshell en php bรกsica:

A continuaciรณn la subo al servidor SMB:

Y confirmamos la ejecuciรณn remota de comandos

Podrรญamos aprovechar esto para subir tambiรฉn la herramienta nc.exe al recureso smb /new-site y usarlo para establecer conexiรณn con nuestro host de ataque

Ganamos acceso al sistema y obtenemos la primera flag:

๐Ÿ” Escalada de Privilegios

Tras un rato enumerando la mรกquina buscando algรบna potencial vรญa de escalada de privilegios, decido subir Winpeas.exe para ver quรฉ encuentra y veo algo interesante:

๐Ÿง Descubrimiento de WSL

๐Ÿ”— Anรกlisis del enlace bash.lnk

Si revisamos el contenido de bash.lnk podremos ver que se estรก referenciando la ruta del binario de bash que ha encontrado Winpeas

๐Ÿšช Acceso al subsistema Linux

Al ejecutar el binario de bash comprobamos que accedemos a este subsistema Linux como root:

๐Ÿ” Bรบsqueda de credenciales en historial

Tras explorar el subsistema Linux y mejorar la TTY con Python, encuentro credenciales en el archivo .bash_history de root:

๐Ÿ”‘ Credenciales de Administrator

Credenciales encontradas:

Ahora simplemente usamos netexec para validar esta credencial contra el servicio SMB:

Ganamos acceso al sistema usando impacket-psexec y ya podemos obtener la flag root.txt:

Last updated