🟢DriftingBlues6

Write-up de la máquina DriftingBlues6 de Proving Grounds #writeup #walkthrough

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

Ú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

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

No contiene nada útil. Analizamos también el código fuente.

Sin infomración útil.

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

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.

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
feroxbuster --url http://192.168.76.219

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.

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

unzip spammer.zip

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

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

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

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

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

Vamos a extraer el contenido del archivo ZIP.

Obtenemos un archivo "creds.txt"

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

Podemos iniciar sesión con las credenciales encontradas. Recibimos un mensaje de advertencia.

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

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.

Vamos a utilizar esta shell de "pentestmonkey".

Cargamos el archivo en el servidor.

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"

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

Adaptamos la terminal.

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

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.

Vamos a comenzar enumerando versiones del sistema.

uname -a

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

searchsploit Linux kernel 3.2

Tenemos un resultado que puede ser interesante.

Descargamos el exploit en nuestra máquina.

 searchsploit -m 40839.c 

Vamos a ver como tenemos que compilar y utilizar este exploit.

Ya sabemos como funciona y como compilarlo. Vamos a ello.

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

Y en la víctima ejecutamos lo siguiente:

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

Damos permisos de ejecución al arcivo "dirty"

Y ejecutamos.

Pivotamos al usuario "firefart" utilizando la contraseña que generamos anteriormente.

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).

Y ya estaría acabada la máquina.

Last updated