🕸️DAILY BUGLE
Comprometa una cuenta de Joomla CMS a través de SQLi, practique descifrar hashes y aumente sus privilegios aprovechando yum.
Primero, cuando empecé a investigar la máquina Dayli Bugle, decidí realizar una exploración de puertos para ver qué servicios estaban disponibles. Utilicé nmap para esto.
Luego, noté que había un servidor web ejecutándose en la máquina, así que accedí al puerto HTTP para ver qué encontraba. Ahí me topé con la página del Daily Bugle.
Curioseando un poco, me encontré con una pregunta intrigante en la página web: "¿Quién robó el banco?". Después de un poco de reflexión, recordé la referencia al spiderman en la foto de Daily Bugle, así que escribí "spiderman" como respuesta y, ¡bingo!, me dejó pasar.
Una vez dentro, empecé a explorar el servidor web y encontré con gobuster un directorio llamado /administrator. Pensé que podría haber algo interesante allí, así que entré y me encontré con una página de inicio de sesión que parecía ser del sistema de gestión de contenidos Joomla CMS.
Después de un rápido vistazo a la documentación de Joomla, usando mi herramienta en python P4Iversionjoomla.py y manualmente descubrí que la versión del CMS era 3.7.0. Esto era crucial porque sabía que las versiones antiguas de Joomla tenían vulnerabilidades conocidas.
Buscando en Exploit-DB, searchsploit y github, encontré un exploit para Joomla! con esa versión específica. Intenté seguir las instrucciones del exploit, pero parece que no obtuve los resultados esperados.
Decidí intentar la enumeración con sqlmap para ver si podía encontrar alguna vulnerabilidad más fácilmente. Después de unos minutos de espera, sqlmap me mostró algunas bases de datos interesantes y demas datos.
Descargué un archivo Python de un exploit para joomla 3.7 que parecía ser útil para obtener un hash de contraseña. Lo ejecuté y obtuve el hash de la contraseña de un usuario jonah que necesitaba para el panel de administrator de joomla. Investigando un poco más, descubrí que el hash estaba en formato bcrypt.
Utilicé John the Ripper y tambien Hashcat para descifrar el hash y finalmente obtuve la contraseña: "spiderman123" encontrandola mas rapido con Jonh, ya gpt nos habia dichio que era un cifrado fuerte Bcrypt, pero lo logramos y se tenzo.
Con las credenciales de acceso, inicié sesión en el panel de administración y, sorprendentemente, ¡funcionó! Tenía acceso completo como super usuario.
Ahora que tenía acceso, decidí buscar una forma de obtener una shell inversa. Modifiqué el archivo index.php de la plantilla para incluir un shell inverso php que creee con msfvenom para una sesion de meterpreter para escuchar con multihandler de metasploit y tambien me cree un reverse shell php con la extension hacktools, y después de configurar metasploit escuchando con multihandler y el payload de meterpreter, y el oyente netcat en mi máquina, ¡logré obtener acceso a las shell en ambas opciones para probar tambien con los comandos especiales de meterpreter y modulos postexplotacion!
Una vez dentro, comencé a buscar archivos interesantes y encontré un archivo llamado configuration.php que ya lo habia visto antes y hasta probe conectarme antes por mysql con las credenciales que figuraban como root pero no habia funcionado, lo encontre en var/www/html. Al abrirlo, encontré la contraseña de root pero como dije para mysql no funciono, ni por ssh.
Sin embargo, al intentar iniciar sesión como root, no tuve éxito. Pero luego, intenté con el nombre de usuario "jjameson" por SSH con el passwd del archivo configuration.php que encontramos y, ¡lo logré! Tenía acceso con éxito con este usuario distinto a el usuario qeu nos daban las shells que era apache el cual no funciono realizando los pasos de escalada de privilegios por falta de permisos.
Busqué un poco más y encontré la primera bandera de usuario jjameson
Intenté escalar privilegios accediendo a sudo, pero lamentablemente no funcionó. Después de investigar un poco más, encontré nuevamente una forma de escalar privilegios usando "yum" en la pagina de GTFObins para conseguir una shell raiz y la volvi a probar ahora como el usuario jjameson.
Siguiendo los pasos de la documentación, ¡obtuve acceso de root! Ahora tenía control total sobre la máquina.
Busqué archivos interesantes una vez más y encontré la última bandera de root. ¡Misión cumplida!
Last updated