# MAQUINA CHOCOLATEFIRE (Openfire CVE-2023-32315 + FORCE BRUTE SSH + PRIVESC SUBSHELL o PERM SUID bash

Realice un reconocimiento o escaneo de puertos básicos para verificar cuales se encuentran abiertos dentro de la maquina.

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

Ya terminado veo que tengo varios puertos en open por lo que realizo otro reconocimiento a travez de nmap para ver un poco mas detallado los servicios y las versiones de cada puerto.

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

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

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

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

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

1: Tengo el puerto 22 ssh de versión un poco ambigua pero como no tengo ningun nombre de usuario ni ninguna credencial no voy a poder acceder

2: En el puerto 5222 tengo un servidor openfire de versión 3.10 (<https://www.igniterealtime.org/projects/openfire/>)

3: En el puerto 5269 hay un servicio xmpp (<https://www.genbeta.com/windows/wildfire-la-forma-mas-sencilla-de-montar-un-servidor-jabber>)

4: En el 7070 hay un servicio web al parecer

5: Luego hay un 7777 y le mas interesante es el 9090 donde corre un servicio web.

Al entrar a los puertos 5222,5269,7070 y 7777 no me envían a ninguna lugar, por lo que descarto estos puertos por el momento y ingreso al 9090 donde me tengo algo interesante.

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

Estoy ante un panel de sesión y tengo la versión del openfire 4.7.4, al buscar por searchsploit esta no posee ninguna vuln para aprovechar.

Así que paso a buscar info sobre este servicio en google donde me encontré mucha info.

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

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

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

La versión de openfire como me indico el informe es versión 3.10 por lo que es vulnerable a un path traversal CVE-2023-32315.

En esta web me indica que este [CVE-2023-32315](https://nvd.nist.gov/vuln/detail/CVE-2023-32315) es una vulnerabilidad de paso de ruta que afecta a la [Abrir](https://www.igniterealtime.org/projects/openfire/) consola de administración, tengo la forma de hacerlo manual o con metasploit por lo que voy a realizarlo manualmente.

Realice un escaneo de directorios en la URL que corre por el puerto 9090 no encontrando nada interesante.

En gihub encontré esta herramienta la cual me crea a través de un exploit un nombre y una contraseña para ingresar al servicio openfire a través del panel de sesión.

<https://github.com/miko550/CVE-2023-32315/blob/main/README.md>

Ya colocado los requerimientos de la herramienta ya tengo el usuario.

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

Ahora con estas credenciales voy al panel de sesión, me logue y realizo un reconocimiento de la web.

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

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

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

Lo interesante que encontré fueron usuarios y un apartado donde puedo subir archivos (.jar)

Siguiendo los pasos del exploit, en el apartado plugins al ver que puedo subir archivos (.jar) voy a subir el siguiente archivo donde contiene una webshell --> openfire-management-tool-plugin.jar

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

Una vez subido me aparece lo siguiente y realizo lo siguiente.

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

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

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

Una vez que este dentro de managment tool me va a pedir una contraseña la cual según el exploit es "123"

Ya una vez logueado tengo acceso a varios utilidades del sistema.

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

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

Lo mas interesante acá es la parte de system commando donde puedo ejecutar comandos como root tales como whoami, ls, etc.

<figure><img src="/files/8fGtqY7dZftSGlx4Y4p4" alt=""><figcaption></figcaption></figure>

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

Trate de realizar un RVshell pero no tuve éxito, por lo que al ver el /etc/passwd veo que tengo 2 usuarios "pinguinaso y "chicolatitochingon".

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

Ahora lo agrego a la lista de mis usuarios que encontré en la web en la sección USERS y noto que tengo 1 repetido "chocolatitochingon" asi que paso a realizar fuerza bruta con hydra a ver si su contraseña es facil de decifrar.

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

Ya teniendo esta credencial voy a ingresar a través del ssh y adentrarme ya dentro de la maquina.

Ahora paso a buscar la forma de realizar una escalada de privilegios en este caso voy a mostrar 2 formas de realizar.

Primero ejecuto un sudo -l y me muestra un binario llamado dpkg pero este lo puede ejecutar el usuario pinguinacio (ojo) así que lo paso a buscar en gtfobins.

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

<figure><img src="/files/3MGH7zsFlt2gYWOjRpKw" alt=""><figcaption></figcaption></figure>

Ejecuto este binario como pinguinacio y me sale un lista de archivos para ejecutar asi que directamente escribo !/bin/bash y automáticamente cambio de usuario siendo ahora pinguinacio.

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

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

Como soy pinguinacio ejecuto otra vez sudo -l y veo que tengo puedo ejecutar el script.sh que este mismo tiene permisos de root.

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

El script al ejecutarlo me esta solicitando un imput o una entrada por lo que acá en busca de mucha info encontré que puedo realizar subshell (algo nuevo para mi) con el siguiente comando.

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

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

Al pasarle el comando de la subshell me pivotea el usuario a root :D

La otra forma de escalar privilegios es de la siguiente manera, voy al panel de ejecución de comandos en la web y veo que al realizar un whoami soy root por ende si le doy permisos de SUID a la bash, me logueo y realizo un /bin/bash -p automáticamente paso de ser usuario "chocolatechingon a root"

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

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://1gnotus.gitbook.io/ignotus_pwn/dockerlabs/writeup/maquina-chocolatefire-openfire-cve-2023-32315-+-force-brute-ssh-+-privesc-subshell-o-perm-suid-bash.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
