🟢DriftingBlues6
Write-up de la máquina DriftingBlues6 de Proving Grounds #writeup #walkthrough
Last updated
Write-up de la máquina DriftingBlues6 de Proving Grounds #writeup #walkthrough
Last updated
Comenzamos como siempre enumerando de forma rápida los servicios que tiene abiertos el objetivo.
Únicamente está el puerto 80 (HTTP) abierto en la máquina objetivo. Vamos a realizar un escaneo más profundo de este servicio.
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.
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
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.
El ZIP está cifrado. Vamos a descifrarlo con la herramienta "fcrackzip"
La contraseña del archivo spammer.zip es "myspace4".
Otra forma de extraer la contraseña del archivo ZIP es con la herramienta "zip2john".
Y ahora desciframos el hash generado con "john the ripper".
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.
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.
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.
Tenemos una versión de kernel, 3.2.0. Vamos a buscar si existen exploits para esta versión.
Tenemos un resultado que puede ser interesante.
Descargamos el exploit en nuestra máquina.
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.