> 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-chocolatefire-openfire-cve-2023-32315-+-force-brute-ssh-+-privesc-subshell-o-perm-suid-bash.md).

# 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FjkcrtKTFm7YFwlgYdoYJ%2FCaptura%20de%20pantalla%202024-10-12%20192847.png?alt=media&amp;token=1b0e6ebe-7ee5-4aa5-bda5-d1494144ae03" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2F4fkywa9xlOu8s3RRoThW%2FCaptura%20de%20pantalla%202024-10-12%20192728.png?alt=media&amp;token=3eefa70b-5900-4738-8d31-388a34c319e7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FWDyuIM96lHwkvcirzjMZ%2FCaptura%20de%20pantalla%202024-10-12%20192741.png?alt=media&amp;token=2ef6b765-aa6b-4817-9928-ff9045f54c8e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FDqcJ9IVa25SEbHvLD9cJ%2FCaptura%20de%20pantalla%202024-10-12%20192753.png?alt=media&amp;token=f7cc8e45-2bef-4d3e-82ac-6596ebc2dc76" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FFMOUlHaD4cnrrM7aw0nE%2FCaptura%20de%20pantalla%202024-10-12%20192816.png?alt=media&amp;token=00b6b087-18aa-44f1-91a4-dd6be4a34155" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FZc3wldUyl8epiJVBpPsq%2FCaptura%20de%20pantalla%202024-10-12%20192825.png?alt=media&amp;token=96a4ee0d-444e-4bfd-b93e-f8a0021ddd3c" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FU2lgzTaKD5CVZ8DeW1Iw%2FCaptura%20de%20pantalla%202024-10-12%20194734.png?alt=media&amp;token=08188a3b-5612-4603-8764-c764bec5b93b" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FlF5jj7B90kGOy0vPBwNo%2FCaptura%20de%20pantalla%202024-10-12%20194907.png?alt=media&amp;token=08dceae9-234e-49eb-aa7f-bbd2dab4716f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FCd3wGdMWs39hAJZGafmu%2FCaptura%20de%20pantalla%202024-10-12%20195000.png?alt=media&amp;token=10ad2f68-56f7-48e2-b11a-fa04629796b0" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FqbMGnRfztBavl1su1b3E%2FCaptura%20de%20pantalla%202024-10-12%20195019.png?alt=media&amp;token=d5cfe88a-1fc1-4f09-9c0c-1a877acdc639" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2F363FCn9YZyCrzvS7zmqW%2FCaptura%20de%20pantalla%202024-10-12%20195904.png?alt=media&amp;token=e68e075d-c585-4ae2-9758-800e9e4142b9" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FvPXgknwednGQE2uAqFm1%2FCaptura%20de%20pantalla%202024-10-12%20200108.png?alt=media&amp;token=909b444e-65d7-4ee7-9010-cce5ced98214" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FiLkavd9HvtkRz2JCkytK%2FCaptura%20de%20pantalla%202024-10-12%20200204.png?alt=media&amp;token=df3f412b-65a1-41ec-bac7-e95a0e3e899d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FG64xOjSKoHzSITvcIMdJ%2FCaptura%20de%20pantalla%202024-10-12%20200219.png?alt=media&amp;token=79072db0-6db2-4769-a927-bdbb405bcf79" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FAFyt1D9bWKHzq1WZMt90%2FCaptura%20de%20pantalla%202024-10-12%20200623.png?alt=media&amp;token=ad23168f-da8f-4079-819b-2984b67a577c" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FAA2F8sfpaLu7ajz0WQVo%2FCaptura%20de%20pantalla%202024-10-12%20200702.png?alt=media&amp;token=cc8b6e43-2f26-48a7-b9e3-41294dcb5444" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FZ3RDd2xNIHQCOstHhjsy%2FCaptura%20de%20pantalla%202024-10-12%20200813.png?alt=media&amp;token=0cb23c8e-a48b-4bd9-ab0e-5ac751a64c78" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FY35RKQRdQ8PBOGVBUvAX%2FCaptura%20de%20pantalla%202024-10-12%20200905.png?alt=media&amp;token=948f8f6d-7365-4913-a5db-1b7d9f77ce62" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FT5fbf0T8rM6EbP3zaEvR%2FCaptura%20de%20pantalla%202024-10-12%20201004.png?alt=media&amp;token=c7e42a41-3dd9-4616-9427-1603dcf4670e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FedMVyn38IXEuY3kF22is%2FCaptura%20de%20pantalla%202024-10-12%20201118.png?alt=media&amp;token=d62d242f-3a6d-41da-aa13-d434df8a44e9" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FczzYV74PwaY02By0sIJ9%2FCaptura%20de%20pantalla%202024-10-12%20201253.png?alt=media&amp;token=c484e187-c1ab-4c34-916d-2d1825d06e05" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FtucdoyiZvn9HIF1jjAez%2FCaptura%20de%20pantalla%202024-10-12%20201316.png?alt=media&amp;token=4249f25b-00f3-40af-9488-c912d554a0ca" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FsLGfwYOpFgBKSIs99Isi%2FCaptura%20de%20pantalla%202024-10-12%20201427.png?alt=media&amp;token=8216bb94-dff7-4cdd-a1ca-4436de25d5ce" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FOdx3GMWHkOoN5vw8OPZO%2FCaptura%20de%20pantalla%202024-10-12%20201801.png?alt=media&amp;token=176b0c9c-9494-4a8a-a4dd-41ea05f951c3" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2F1u3Yj70DTl3V0QLiVOJM%2FCaptura%20de%20pantalla%202024-10-12%20202349.png?alt=media&amp;token=952bf63e-331e-4736-99fe-7633b42f6817" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FVXqSFcmBJLZCp6N2U8NH%2FCaptura%20de%20pantalla%202024-10-12%20202325.png?alt=media&amp;token=c5e9cbb7-cd88-4399-88a8-3ee1a2da9f39" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FYZCHFsT9PVTQWEqzNf9B%2FCaptura%20de%20pantalla%202024-10-12%20202653.png?alt=media&amp;token=de55f6c9-20d6-4941-9e2c-7c65fafb93fe" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FMPvoEcxohFlnHkiOtZLx%2FCaptura%20de%20pantalla%202024-10-12%20202712.png?alt=media&amp;token=d3190816-6857-465c-a553-d4b0b2504cec" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2Fpr4grTVx589XEODVGVA6%2FCaptura%20de%20pantalla%202024-10-12%20202747.png?alt=media&amp;token=1d0acf46-0b20-4421-82c3-e35a28c53dc3" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FX8x5tnSyVX89nFkthF4t%2FCaptura%20de%20pantalla%202024-10-12%20202953.png?alt=media&amp;token=fe06acf9-9b30-452d-8c36-82c2d6388e59" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FE04vfSbC48x47Hvyxjrw%2FCaptura%20de%20pantalla%202024-10-12%20203008.png?alt=media&amp;token=520362be-ae83-4941-80ea-257d7b7e2db9" 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="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2F6X0W6NnWGjtesB0lIWzV%2FCaptura%20de%20pantalla%202024-10-12%20203743.png?alt=media&amp;token=a4e03560-1d5c-4cbe-8aa4-ef6f7bc57025" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2262788210-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1UWZ7xdDAb8KAEfAIlA%2Fuploads%2FEyUKlsx4aUbOpYyYYCNw%2FCaptura%20de%20pantalla%202024-10-12%20203849.png?alt=media&amp;token=233f0579-e75a-4cb0-a2c4-64052976cd14" alt=""><figcaption></figcaption></figure>
