MyBB - DockerLabs
| OS | Dificultad | Creator |
|---|---|---|
| Linux | Medio | Pylon |
Escaneo y Reconocimiento de puertos
Vamos a iniciar nuestro reconocimiento con un rápido escaneo de nmap.
nmap -p- --open -sS -sC -sV --min-rate=5000 -vvv -n -Pn -oN escaneo 172.17.0.2
-p-: Escanea todos los puertos (1-65535).--open: Solo muestra los puertos abiertos.-sS: Realiza un escaneo SYN, que es rápido y discreto.-sC: Utiliza los scripts de reconocimiento por defecto de Nmap.-sV: Detecta la versión del servicio en los puertos abiertos.--min-rate=5000: Envía al menos 5000 paquetes por segundo, acelerando el escaneo.-n: No realiza resolución DNS.-Pn: No realiza ping previo para determinar si el host está activo.-vvv: Muestra resultados detallados y en tiempo real.
Vemos que esta abierto el puerto 80 HTTP
Enumeración Web
Si accedemos a la pagina web vemos lo siguiente
Usamos Gobuster para hacer un reconocimiento web y ver que directorios podemos encontrar en dicho sitio.
gobuster dir -u http://172.17.0.2/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php
gobuster dir- Indica que estás utilizando la herramienta Gobuster para realizar un escaneo de directorios.-u http://172.20.10.5/Especifica la URL objetivo que deseas escanear en busca de directorios.-wEspecifica que diccionario queremos usar-xPara indicar que tipo de extension queremos que nos encuentre
Encuentra diferentes directorios, si accedemos al index.html encontramos lo siguente:
Si accedemos al foro vemos que tenemos que poner en el archivo hosts el dominio panel.mybb.dl
Y ahora vemos lo siguiente
Vemos un usuario, el usuario admin
Vamos a volver a pasar el gobuster y nos encuentra bastantes directorios.
Vemos el directorio admin si accedemos nos encontramos con un panel de login, probamos las contraseñas típicas pero no podemos acceder.
Vamos a interceptar la petición con burpsuite y hacer un ataque de fuerza bruta con hydra para ver si conseguimos la contraseña.
Nos aparecen diferentes contraseñas vamos a probarlas.
Perfecto la contraseña es babygirl así que vamos a seguir con la intrusión
Nos aparece que la versión de mybb es la MyBB 1.8.35 vamos a buscar por internet información sobre vulnerabilidades.
Encontramos que es vulnerable a Template Code Injection y encontramos una prueba de como hacer que esto funcione https://blog.sorcery.ie/posts/mybb_acp_rce/
Lo que tenemos que hacer es ir a Templates & Style > Templates > Default Templates > Who’s Online Templates > Online
Ahí tendremos que pegar un codigo que se nos proporciona en la web antes mencionada
Luego le damos a guardar y si lo tenemos bien hecho tendremos estas dos opciones disponibles
Si accedemos al PHPInfo vemos que funciona
Así que vamos a ver si la ejecución de comandos también nos funciona.
Como si que funcióna podemos hacer una reverse shell para poder acceder a la máquina.
Escalada de privilegios
Si investigamos los archivos vemos que hay un a archivo en /var/www/mybb/backups, llamado data y dentro de ese mismo hay una contraseña encriptada de la usuaria alice
Si le pasamos la contraseña encriptada a john nos da la contraseña en texto claro de alice
Ahora si hacemos un sudo -l vemos que alice tiene permisos para ejecutar cualquier script en ruby
Vamos a buscar algun script en ruby que haga una reverse shell para poder conectarnos como root
https://gist.github.com/gr33n7007h/c8cba38c5a4a59905f62233b36882325
Copiamos este script en nuestra maquina local, lo pasamos con un servidor de python a la maquina victima y lo ejecutamos.
En nuestra maquina atacante tendremos que ponernos por escucha con nc por el puerto que le pongamos en el script.
Ya somos root.