Recent Posts

HA Jocker CTF - TryHackMe

Debemos encontrar 1 bandera. Primero, a partir de un escaneo de puertos pude saber que había un servidor web que alojaba un sitio web con contenido estático y que admitía conexiones desde el puerto 80 Además, había otro sitio web que admitía conexiones desde el puerto 8080 pero su directorio raíz estaba protegido por un mecanismo de autenticación. Luego, realice fuerza bruta de directorios en el directorio raíz del primer sitio web, logrando encontrar un username valido para ser usado en un ataque de fuerza bruta contra el login. Luego, pude saber que el segundo sitio web estaba siendo gestionado con el CMS Joomla. Luego, con la fuerza bruta de directorios realizada por “ Nikto” , logre encontrar un archivo Zip que contenía un archivo SQL con diversas instrucciones SQL donde una de ella contenía las credenciales del usuario admin, pero su contraseña estaba en forma de hash, que logre crackearlo fácilmente, logrando acceder al portal de gestión del CMS. Luego, en el portal de gestión del CMS, logre modifica...

JPGChat - TryHackMe

Debemos encontrar 1 bandera. Primero, a partir de un escaneo de puertos pude saber que había un servicio desconocido ejecutándose. Además, en el banner emitido por el servicio al momento de establecer una conexión, se podía observar un mensaje que nos indicaba que el código fuente del servicio estaba en un repositorio Github. Luego, de buscar el repositorio en Internet, pude analizar su código fuente, dándome cuenta de que era vulnerable a Command Injection, por lo que establecí una conexión con el servicio mediante Netcat, logrando ejecutar una reverse Shell. Luego, en la escalada de privilegios, pude observar que el usuario podía ejecutar un script en Python con los privilegios de root mediante el comando sudo. Además, pude observar que la configuración “SETENV” estaba habilitada en el archivo “sudoers” permitiendo ejecutar un Python Library Hijackign mediante la variable de entorno PYTHONPATH y aprovechando que el script importaba una librería. Logrando, asignar el bit SUID al archivo binario bash con e...

Dreaming - TryHackMe

Debemos encontrar 3 banderas. Primero, a partir de un escaneo de puertos pude saber que había un servidor web que admitía conexiones desde el puerto 80. Luego, realice fuerza bruta de directorios en el directorio raíz del servidor web, logrando encontrar el directorio raíz del “CMS Pluck”. Luego, logre acceder al portal de gestión del CMS debido al uso de credenciales por defecto en su mecanismo de autenticación. En el portal de gestión logre saber la versión del CMS, por lo que pude encontrar un exploit que explotaba la vulnerabilidad “File Upload”, logrando replicar la explotación de manera manual. Luego, en la escalada de privilegio horizontal, encontré las credenciales del usuario “Lucien” en un script en Python. Luego, en otra escalada horizontal, aproveche que podía ejecutar un script en Python con los privilegios del usuario “death” mediante el comando sudo, permitiéndome explotar la vulnerabilidad “Command Injection”, que consistía en inyectar nuestro payload como un registro en la base de datos My...

DAV - TryHackMe

Debemos encontrar 2 banderas. Primero, a partir de un escaneo de puertos pude saber que había un servidor web ejecutándose en el puerto 80. Luego, realice fuerza bruta de directorios en el directorio raíz del servidor web, logrando obtener el directorio “webdav” que estaba protegido por un mecanismo de autenticación que consistía en un login. Además, debido al nombre de este directorio, pude deducir que el servidor web tenía habilitado la extensión “WebDAV”, por lo que logre enumerar los tipos de archivos que podía cargar en el directorio “webdav”, y logre cargar un archivo PHP con el fin de ejecutar una reverse Shell. Luego, en la escalada de privilegios, me di cuenta que el usuario “www-data” podía ejecutar el comando “cat” con los privilegios de root mediante el comando “sudo”, por lo que pude observar el contenido de los archivos localizados en directorios “home” del usuario “merlin” y “root”, que contenían las dos banderas.

Super Secret Tip - TryHackMe

Debemos encontrar 2 banderas. Primero, a partir de un escaneo de puertos pude saber que un servidor FTP permitía conexiones anónimas,logrando enumerar un recurso compartido que contenía un mensaje codificado con Base64 y Vigenere. Además, para conocer la clave utilizada en el cifrado Vigenere, observe el espectrograma de un archivo de audio, que fue encontrado a partir de una fuerza bruta de directorios desde el directorio raíz del servidor web. Luego, de decodificar y descifrar el mensaje, logre saber el password de un usuario local del sistema destino. Luego, en la escalada de privilegio horizontal, aproveche que un script Python era ejecutado de manera periódica y automatizada con los privilegios de un usuario local, logrando realizar un Command Injection para ejecutar una reverse Shell con los privilegios de dicho usuario. Luego, en la escalada de privilegios vertical, aproveche que el usuario pertenencia al grupo secundario lxd para ejecutar un contenedor donde se ejecuta una Shell Bash con privilegio...

VulnNet - TryHackMe

Debemos encontrar 2 banderas. Primero, a partir de un escaneo de puertos pude saber que había un servidor web que alojaba un sitio web cuyas funcionalidades y formularios no estaban operativos. Luego, analizando los scripts JavaScript que se cargan en el sitio web, encontramos el dominio del sitio web y un subdominio cuyo directorio raíz está siendo protegido por un login. Además, se logró encontrar un parámetro GET vulnerable a “LFI” que me permitió observar el contenido del archivo “000-default.conf” que contiene la ruta del archivo “.htpasswd”, logrando obtener las credenciales para acceder al directorio raíz del subdominio en el archivo “.htpasswd”. Luego, me encontré con la aplicación “CLIPBUCKET” con la versión 4.0 vulnerable a “File Upload”, logrando cargar un archivo PHP en el servidor web destino con el fin de obtener una reverse shell. Para la escalada de privilegio, encontré una clave privada SSH encriptada (cuyo passphrase puedo ser encontrada con “John The Ripper”) del usuario “server-managem...

Mindgames - TryHackMe

Debemos encontrar 2 bandera. Primero, a partir de un escaneo de puertos pude saber que había un servidor web que alojaba una aplicación web que contaba de un formulario con un campo donde podías ingresar código en BrainFuck que luego iba a ser traducido a código en Python e iba a ser ejecutado, por lo tanto, aprovechando que la librería os y sus métodos logro ejecutar comandos en el sistema operativo del sistema destino con el fin de ejecutar una reverse Shell. Luego, para la escalada de privilegio vertical, aproveche que el archivo binario openssl tenía asignado el capability cap_setuid, logrando obtener los privilegios de root. Además, el procedimiento de la escalada de privilegio vertical a partir del uso del binario openssl esta mejor detallada en el articulo https://chaudhary1337.github.io/p/how-to-openssl-cap_setuid-ep-privesc-exploit/.

ConvertMyVideo - TryHackMe

Debemos encontrar 1 bandera. Primero, a partir de un escaneo de puertos pude saber que había un servidor web que alojaba una aplicación web que constaba de un formulario con un campo asociado a la funcionalidad de convertir videos en archivos de audio en formato MP3. Además, el campo del formulario aceptaba como valor el identificador del video. Luego, a partir del análisis de un script JavaScript insertado en el código fuente, se logró saber que el identificador del video era incorporado en una URL dentro de un parámetro llamado yt_url que formaba parte de la solicitud POST. Ademas,se supo que el cuerpo de la respuesta estaba en formato JSON, y el valor de una clave era reflejada en la página de la aplicación web. Se logro inyectar comandos en el parámetro yt_url de la solicitud POST con el fin de observar los resultados en el valor de la clave “output” de la data JSON de la respuesta HTTP. Mediante esta vulnerabilidad se logró ejecutar una reverse Shell. Luego, en la escalada vertical, aproveche que un s...

VulnNet:Internal - TryHackMe

Debemos encontrar 3 banderas. Primero, a partir de un escaneo de puertos pude saber que había un servidor NFS que alojaba un directorio compartido que contenía el archivo de configuración del programa Redis. Luego, con el valor del parámetro “requirepasss” logre autenticarme y volcar los datos de las bases de datos de Redis, logrando encontrar un mensaje codificado en Base64, cuyo contenido decodificado contenía unas credenciales para acceder al módulo compartido del Rsync, que contenía el directorio home de un usuario local, logrando cargar una clave publica SSH con el fin de acceder al sistema destino mediante la clave privada SSH del servicio SSH. Luego, en la escalada de privilegio vertical, pude saber que la herramienta TeamCity estaba siendo ejecutado por el usuario root, y en el puerto 8111 y que solo admitía conexiones provenientes del mismo sistema, por tal razón realice un Local Port Forwarding con el fin de poder acceder a su interfaz web, logrando autenticarme mediante una token de autenticació...

For Business Reasons - TryHackMe

Debemos encontrar 2 banderas. Primero, a partir de un escaneo de puertos pude saber que un servidor web que alojaba un sitio web creado con el CMS WordPress. Luego, utilizando WPScan logre obtener una credencial válida para acceder al panel de gestión del CMS. Luego, logre obtener acceso a un contenedor Docker del sistema destino mediante tres formas (modificando el código fuente de un archivo de un Theme, Plugin o instalando y activando un Plugin malicioso). Luego, cree un script en Bash para escanear la subred de los contenedores Docker y el sistema anfitrión, logrando saber que el sistema anfitrión tenia un puerto abierto con el servicio SSH ejecutado. Luego, mediante un Reverse Port Forwarding con chisel logre acceder al sistema anfitrión mediante el servicio SSH y reutilizando las credenciales del usuario del CMS. Luego, en la escalada de privilegio vertical, encontré dos formas aprovechando que el usuario local pertenecía al grupo secundario Docker y lxd.