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