# DriftingBlues6

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

### Enumeración

#### NMAP

Comenzamos como siempre enumerando de forma rápida los servicios que tiene abiertos el objetivo.

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

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

Únicamente está el puerto 80 (HTTP) abierto en la máquina objetivo. Vamos a realizar un escaneo más profundo de este servicio.

```
nmap -p80 -sCV -Pn -n 192.168.76.219
```

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

El escaneo intensivo detecta la versión del servidor Apache (2.2.22) y que existe un archivo robots.txt. El siguiente paso será la enumeración del sitio Web.

#### Enumeración Web

<figure><img src="/files/9vyEWYgjqNpkgIk88HCs" alt=""><figcaption></figcaption></figure>

No contiene nada útil. Analizamos también el código fuente.&#x20;

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

Sin infomración útil.&#x20;

Recordamos del escaneo de NMAP, la entrada robots.txt. Vamos a ver su contenido.&#x20;

<figure><img src="/files/0IpTpwPEwhCrZ7IYDmfe" alt=""><figcaption></figcaption></figure>

Encontramos un posible directorio interesante además de una pista útil cuando realicemos la enumeración de directorios.

Vamos a ver el contenido del directorio que hemos encontrado en el robots.txt.

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

Es un formulario de Login para el CMS Textpattern. No tenemos credenciales así que vamos a enumerar directorios. Vamos a utilizar la herramienta GoBuster y FeroxBuster

```
gobuster dir -u http://192.168.76.219 -w /home/kali/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -x .zip
```

<figure><img src="/files/mNUUgnROaGzEjE0BXOx9" alt=""><figcaption><p>Gobuster</p></figcaption></figure>

```
feroxbuster --url http://192.168.76.219
```

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

FeroxBuster es una herramienta de enumeración de directorios recursiva. En la imagen es un ejemplo de la gran cantidad de información que podemos obtener con esta herramienta.&#x20;

Como resultado tenemos 4 directorios y un archivo ZIP. Vamos a descargar este archivo para ver su contenido.

```
unzip spammer.zip
```

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

El ZIP está cifrado. Vamos a descifrarlo con la herramienta "fcrackzip"

```
fcrackzip -u -D -p /home/kali/rockyou.txt spammer.zip 
```

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

La contraseña del archivo spammer.zip es "myspace4".

Otra forma de extraer la contraseña del archivo ZIP es con la herramienta "zip2john".

```
zip2john spammer.zip > spammer.hash
```

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

Y ahora desciframos el hash generado con "john the ripper".

```
john --wordlist=/home/kali/rockyou.txt spammer.hash
```

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

Vamos a extraer el contenido del archivo ZIP.

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

Obtenemos un archivo "creds.txt"

<figure><img src="/files/1MRG3gezvWpEJWlUoi85" alt=""><figcaption><p>mayer:lionheart</p></figcaption></figure>

Ahora con estas credenciales vamos a intentar iniciar sesión utilizando el formulario de Login que encontramos en el archivo robots.txt

<figure><img src="/files/7ssM831rnAG2tPmsjIFY" alt=""><figcaption></figcaption></figure>

Podemos iniciar sesión con las credenciales encontradas. Recibimos un mensaje de advertencia.&#x20;

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

Mientras investigábamos el sitio Web, encontramos un punto donde podemos cargar archivos.&#x20;

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

### Explotación

Una vez encontrado este posible punto de inyección, podemos continuar con la explotación. Vamos a intentar subir una shell php en el servidor.&#x20;

Vamos a utilizar esta shell de "[pentestmonkey](https://github.com/pentestmonkey/php-reverse-shell)".&#x20;

Cargamos el archivo en el servidor.

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

Por otro lado, en nuestra máquina de ataque colocamos un oyente nc en el puerto 4444.

Recordamos que en la enumeración de directorios con la herramienta "feroxbuster", había un directorio "textpattern//files"

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

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

Al hacer clic en "shell.php", ya tendremos conexión reversa entre el servidor y nuestra máquina de ataque.&#x20;

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

Adaptamos la terminal.

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

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

### Elevación de privilegios

Una vez estamos dentro de la máquina pero sin privilegios máximos, es el tiempo de la elevación de privilegios.&#x20;

Vamos a comenzar enumerando versiones del sistema.&#x20;

```
uname -a
```

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

Tenemos una versión de kernel, 3.2.0. Vamos a buscar si existen exploits para esta versión.&#x20;

```
searchsploit Linux kernel 3.2
```

Tenemos un resultado que puede ser interesante.&#x20;

<figure><img src="/files/LNCNrUAE7aJ9h549eaUm" alt=""><figcaption><p>40839.c</p></figcaption></figure>

Descargamos el exploit en nuestra máquina.

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

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

Vamos a ver como tenemos que compilar y utilizar este exploit.&#x20;

<figure><img src="/files/15OVAmluHbvzk2EZR9WG" alt=""><figcaption></figcaption></figure>

Ya sabemos como funciona y como compilarlo. Vamos a ello.&#x20;

<figure><img src="/files/7NuqqjJPCq4oSgCGtrJI" alt=""><figcaption></figcaption></figure>

Ya tenemos compilado el exploit. Ahora vamos a levantar un servidor HTTP con Python para poder enviar este archivo al objetivo.&#x20;

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

Y en la víctima ejecutamos lo siguiente:

<figure><img src="/files/1ZeTqzvcfEMM4kOt8ch9" alt=""><figcaption></figcaption></figure>

Nota: Debemos enviar el archivo "dirty" al directorio /tmp porque en otros directorios no tenemos permiso.&#x20;

Damos permisos de ejecución al arcivo "dirty"

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

&#x20;Y ejecutamos.&#x20;

<figure><img src="/files/1IGHD1esGqEDLg208ObZ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/9LufW3obOElGrDrHIfig" alt=""><figcaption></figcaption></figure>

Pivotamos al usuario "firefart" utilizando la contraseña que generamos anteriormente.&#x20;

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

Firefart pertenece al grupo "root" por lo que tendriamos privilegios máximos. Ahora solo queda buscar la flag proof.txt (única en esta máquina).

<figure><img src="/files/1yQXP23dmzIXBawNCam7" alt=""><figcaption></figcaption></figure>

Y ya estaría acabada la máquina.

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.securiters.com/securiters-wiki/write-ups/proving-grounds/driftingblues6.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
