Bizness
Bizness es una máquina Linux sencilla que muestra un punto de apoyo de ejecución remota de código (RCE) y autenticación previa de Apache OFBiz, clasificado como [CVE-2023-49070](https://nvd.nist.gov/vuln/detail/CVE-2023-49070). El exploit se aprovecha para obtener un shell en la máquina, donde la enumeración de la configuración de OFBiz revela una contraseña con hash en la base de datos Derby del servicio. A través de la investigación y una pequeña revisión del código, el hash se transforma en un formato más común que puede ser descifrado por herramientas estándar de la industria. La contraseña obtenida se utiliza para iniciar sesión en la máquina como usuario root.

Reconnaissance
Realizaremos un reconocimiento con nmap para ver los puertos que están expuestos en la máquina Bizness. Este resultado lo almacenaremos en un archivo llamado allPorts.
A través de la herramienta de extractPorts, la utilizaremos para extraer los puertos del archivo que nos generó el primer escaneo a través de Nmap. Esta herramienta nos copiará en la clipboard los puertos encontrados.
Lanzaremos scripts de reconocimiento sobre los puertos encontrados y lo exportaremos en formato oN y oX para posteriormente trabajar con ellos. En el resultado, comprobamos que se encuentran abierta una página web de Nginx y el servicio de SSH habilitado.
Transformaremos el archivo generado targetedXML para transformar el XML en un archivo HTML para posteriormente montar un servidor web y visualizarlo.
Accederemos a http://localhost y verificaremos el resultado en un formato más cómodo para su análisis.

Añadiremos la siguiente entrada en nuestro archivo /etc/hosts.
Web Enumeration
Realizaremos una comprobación de las tecnologías que utiliza el sitio web.
Accederemos a https://bizness.htb y nos encontramos con la siguiente página web.

Al realizar un escaneo con dirsearch sobre el objetivo https://bizness.htb, encontramos algunos directorios interesantes:
/control/ y /control/login: Aparecieron como rutas válidas, lo que podría indicarnos un panel de administración o alguna forma de autenticación.
/solr/admin/ y /solr/admin/file/: Estas rutas también regresaron respuestas, lo que sugiere que Solr está presente en el servidor. A través de estas rutas, podríamos tener la posibilidad de explorar configuraciones o archivos sensibles, aunque al principio no parecían ofrecer algo directamente explotable.
Al acceder a https://bizness.htb/control se nos mostraba una página con un mensaje de error. Entre la información reportada, se nos indica que la página web utiliza Apache OFBiz.

Al acceder a https://bizness.htb/solr/admin/ se nos redirigió a la siguiente página web en la cual se nos muestra un panel de autenticación.
En el footer de la página, se menciona la versión de Apache OFBinz, la cual se trata de la versióon 18.12.

Initial Access
Apache OFBiz 18.12 - PreAuth Remote Code Execution [RCE] (CVE-2023-49070)
Al revisar por Internet posibles vulnerabilidades sobre esa versión, nos encontramos con el siguiente CVE-2023-49070.
RCE previo a la autenticación en Apache Ofbiz 18.12.09. Se debe a que XML-RPC ya no se mantiene y sigue estando presente. Este problema afecta a Apache OFBiz: anterior a 18.12.10. Se recomienda a los usuarios que actualicen a la versión 18.12.10
Nos descargaremos el siguiente repositorio el cual nos proporcionan un exploit para aprovecharnos de la vulnerabilidad.
El exploit nos indica que debemos de descargarnos ysoserial a través del siguiente comando.
Revisaremos la sintaxis del exploit, el cual permite ejecutar comandos remotos o proporcionarnos una Reverse Shell directamente.
Al intentar ejecutar el exploit, se nos menciona que debemos utilizar OpenJDK-11.
Nos lo descargaremos el .deb a través de la página oficial de Oracle.
Configuramos nuestro equipo para que utilize la versión JDK-11.
Realizaremos una prueba básica para verificar que podemos ejecutar comandos. Para ello, nos montaremos un servidor web.
Ejecutaremos el exploit para que ejecute el comando cURL hacía nuestro servidor web.
Verificamos en nuestro servidor web que se ha recibido la petición GET desde el equipo víctima. Con lo cual, queda confirmada la ejecución de comandos.
El siguiente paso será obtener una Reverse Shell, para ello nos pondremos en escucha connc.
Ejecutaremos el exploit pora proporcionarnos directamente la Reverse Shell.
Verificamos que hemos ganado acceso al sistema como el usuario ofbizy podemos ver el contenido de la flag user.txt.
Al obtener la reverse shell, mejoramos la calidad de la shell con los siguientes pasos para obtener una TTY interactiva.
Privilege Escalation
Analysis of OFbiz code to understand the hashes storage mechanism
Después de enumerar el sistema con el usuario ofbiz, no logramos obtener ninguna información interesante.
Con lo cual, nos llevó a pensar que quizás exista una base de datos para el Apache OFBiz. Nos encontramos que OFBiz utiliza Derby como base de datos.

Enumerando el directorio de /opt/ofbiz/framework/security/config, nos encontramos con un archivo nombrado security.properties el cual contenías las propiedades de seguridad de la configuración de Apache OFBiz.
Entre el resultado obtenido, verificamos que se está empleando encriptación de SHA.
Realizamos una búsqueda recursiva a través del comando find para localizar algún archivo/directorio relacionado con la base de datos de Apache OFBiz llamada Derby.
Accedemos a /opt/ofbiz/runtime/data/derby y logramos encontrar la estructura de la base de datos que hace uso Apache OFBiz.
Para trabajar mejor con la información, lo que realizaremos es comprimir todo el directorio de derby para disponerlo de manera local en nuestro equipo.
Nos pondremos en escucha con nc para recibir el comprimido.
Enviaremos la información a través de /dev/tcp.
Una vez recibido el archivo en nuestro equipo local, lo descomprimiremos para analizarlo posteriormente.
Connecting to a Derby database (ij)
Nos encontramos con los archivos que utiliza Apache OFBiz para la base de datos Derby. A través del siguiente blog, se nos menciona como lograr conectarnos.
Mediante la herramienta ij, logramos conectarnos a la base de datos que disponemos localmente en el directorio mencionado. Visualizamos los SCHEMAS y el que parece interesarnos más es el de OFBIZ.
Enumeramos las tablas de la base de datos OFBIZ, en el resultado obtenido, comprobamos una tabla mencionada USER_LOGIN.
Al revisar los datos de dicha tabla, nos encontramos con las credenciales del usuarioadmin en formato hash SHA, tal cómo se mencionaba en el archivo de configuración de seguridad.
Cracking Apache OFBiz SHA1 Passwords
Para lograr crackear este hash, nos encontramos con la siguiente herramienta.
Intentamos crackear el has obtenido y finalmente logramos obtener las credenciales en texto plano del hash del usuario admin.
Intentamos cambiar de usuario al usuario root con las credenciales obtenidas, y comprobamos del correcto acceso como root. Finalmente, visualizamos la flag root.txt.
Última actualización
¿Te fue útil?