Enumeración
Para comenzar realizo un escaneo de puertos con nmap para ver cuales son los puertos abiertos y los servicios que se estan ejecutando:
Puedo observar que los puertos 22 (SSH) y 80 (HTTP) están abiertos y ejecutando un servidor OpenSSH y un servidor web Apache respectivamente, por lo que voy a acceder al servidor Apache a través del navegador para ver de que se trata la pagina e inspeccionarla en busca de algo interesante:
Dentro de la pagina no pareciera haber nada útil de donde agarrarse como punto de partida salvo por un nombre de dominio que encontré en el pie de pagina, el cual voy a analizar para tratar de encontrar algún directorio oculto o subdominio:
Usando FUZZ pude hallar el subdominio "crm.board.htb". Al ingresar en el me lleva a un login mediante el cual me tengo que registrar para poder tener acceso.
Lo primero que noto es que el CRM es Dolibarr en su versión 17.0.0, el cual tiene una vulnerabilidad conocida (CVE-2023-30253), la cual permite a un atacante autenticado obtener la ejecución remota de comandos por medio de inyección PHP. Recomiendo ingresar en el siguiente enlace para obtener mas información al respecto: https://www.swascan.com/security-advisory-dolibarr-17-0-0/ Ahora bien, para poder explotar esta vulnerabilidad necesito autenticarme. Así que lo primero que voy a hacer es investigar si es posible conseguir el login con usuarios y contraseñas por defecto y así encontré que puedo acceder usando admin como usuario y admin como contraseña.
Explotación
Navegando en busca de algún exploit para la vulnerabilidad encontrada descubrí el siguiente repositorio: https://github.com/dollarboysushil/Dolibarr-17.0.0-Exploit-CVE-2023-30253.
Este exploit permite realizar una reverse shell. Recomiendo seguir paso a paso las indicaciones del repositorio para lograr comprometer la maquina.
Escalar Privilegios
Una vez obtenida la reverse shell vamos a intentar recopilar información para así lograr la escalada de privilegios. Lo primero que voy a hacer es dirigirme al home para enumerar los usuarios. Ahí veo que existe un usuario de nombre "larissa".
Por otro lado investigué cual es el nombre del archivo de configuraciones en dolibarr y me encontré con que es conf.php, asi que lo lógico seria buscar ese archivo para ver si encuentro algún dato relevante:
Una vez encontrado el archivo conf.php veo que hay una base de datos MySQL. Lamentablemente no hay abierto ningun puerto correspondiente a MySQL, pero puedo probar usar la contraseña con el usuario "larissa" que habia encontrado previamente, para probar ingresar mediante SSH:
Y es un éxito! Logré acceder como usuario "larissa".
Al listar los archivos encuentro rápidamente la bandera de usuario, así que únicamente resta hallar la bandera root.
Luego de probar de varias formas obtener acceso root probé con listar archivos que tengan permisos SUID. Ahí me encontré con el archivo enlightemment, el cual se puede usar para escalar privilegios (CVE-2022-37706).
Investigando en la web encontré un exploit para lograr escalar los privilegios aprovechando la vulnerabilidad del archivo enlightemment: https://github.com/MaherAzzouzi/CVE-2022-37706-LPE-exploit.
Voy a clonar ese exploit en mi maquina local, así que ahora solo resta transferir ese archivo desde mi maquina local a la maquina remota para poder ejecutarlo ahí.
En mi maquina local voy a crear un servidor con Python:
Ahora voy a realizar la transferencia del exploit a la maquina remota:
Y por ultimo lo ejecuto en la maquina remota:
Una vez ejecutado obtenemos permisos de root así que solo resta dirigirnos a la carpeta root para hallar la bandera.
Felicitaciones! Ya lograste resolver la máquina. Espero que hayas disfrutado de este tutorial.