Está en la página 1de 9

Isidro Jara Matas

Práctica final: Explotación de Aplicaciones y Sistemas (EAS)

1. Montar laboratorio.
Vamos a montar un laboratorio para esta práctica final. Para ello debéis descargaros
diferentes máquinas:
 Metasploitable. Esta máquina no hay que instalarla, solamente utilizar la ISO con Virtual Box.
Se puede descargar desde esta dirección URL:
https://sourceforge.net/projects/metasploitable/files/Metasploitable2/
 Windows 7. Se debe obtener una máquina Windows 7, la cual podéis descargar desde
DreamSpark o, ya instalada en formato VHD, desde el sitio web Modern IE:
https://dev.windows.com/en-us/microsoftedge/tools/vms/windows/

El laboratorio que he montado para llevar a cabo la práctica consta de un sistema anfitrión con
Windows 10, cuya dirección IP es 192.168.1.36:

El atacante que usará Metasploit, desde un sistema Kali, con dirección IP 192.168.1.37.
Y por último la víctima, que usa Metaspolitable y cuya dirección IP es 192.168.1.40:

2. Explotando vulnerabilidades.
En este hito debéis crear la máquina para Metasploitable y arrancar desde el CD/DVD con la
ISO. Es recomendable configurar la red de la máquina Metasploitable de forma que tengáis
conectividad con vuestras otras máquinas y con la máquina anfitriona (máquina física).

a) Realizar Fingerprinting sobre la máquina Metasploitable. Utilizar alguna herramienta para


llevar a cabo un fingerprinting sobre la máquina Metasploitable. Recopilar todos los puertos y
versiones posibles.

Para este apartado voy a utilizar la herramienta nmap, mediante la importación de resultados
de nmap a Metasploit.
El primer paso es arrancar la base de datos (yo lo haré con postgres) y configurar la contraseña
de usuario:
Para comprobar el estado de Metasploit respecto a la base de datos se puede usar el comando
db_status:

Se puede comprobar que salta el mensaje: postgresql connected to postrgres (nombre de la


base de datos).

Ahora vamos a hacer el fingerprinting con nmap.


Para ello se puede realizar de dos formas
1) Fuera de Metasploit, mediante la siguiente instrucción: nmap - A 192.168.1.40 -oX
resultados.xml, que además exporta los datos a un fichero .xml para luego tratarlo con
Metasploit.
2) Dentro de Metasploit, con el comando: db_nmap -A 192.168.1.40.

El resultado se puede ver en las siguientes capturas de pantalla:


b) Conseguir ejecutar un payload sobre la máquina Metasploitable a través del puerto 21.
¿Existe un módulo de Metasploit que se aproveche de alguna vulnerabilidad del software que
se ejecuta en el puerto 21? Demostrar con imágenes vuestro proceso.

Para esto voy a ejecutar la herramienta autopwn sobre el puerto 21 => Ya está deshabilitada
esta funcionalidad.
En este caso he utilizado la herramienta auxiliary/scanner/ftp/ftp_version, para obtener la
versión del servidor FTP (servicio que corre en el puerto 21):

Esta información ya la teníamos cuando usamos nmap, pero he decidido incluirlo, a modo
didáctico.

Por probar más opciones, también se podría hacer un ataque de diccionario con el módulo
auxiliar “ftp_login”, por ejemplo. (Referencia:
https://pentestlab.wordpress.com/2012/03/01/attacking-the-ftp-service/)

Una vez visto esto vamos a utilizar un exploit para atacar a la víctima.
Como sabemos que la versión de FTP que corre en el puerto 21 es vsFTPd 2.3.4 vamos a buscar
si Metasploit incluye algo para explotar alguna vulnerabilidad en este caso:

Vamos a utilizar entonces el exploit que hemos encontrado, y configurar sus opciones (en este
caso con RHOST ya es suficiente):
Lanzamos el exploit y podemos ver que se nos abre una shell en el equipo víctima:

También aparece el número de sesión (1) y las direcciones IP de atacante y víctima


(192.168.1.37 => 192.168.1.40)

Ahora ejecutaremos unos comandos para ser root en la máquina:


whoami
hostname
grep root /etc/shadow
useradd -m -d /home/isidro -c “Hacked VSFTPD” -s /bin/bash isidro
date
echo “Isidro”
Por último, y a modo de comprobación, veremos si estamos incluidos en el fichero
/etc/passwd (comando cat /etc/passwd):

Nota: para este apartado se ha seguido la siguiente referencia:


http://www.computersecuritystudent.com/SECURITY_TOOLS/METASPLOITABLE/EXPLOIT/lesson8/

c) Explicar la diferencia entre un payload de tipo bind y reverse. Ejemplificarlo.

Un Payload de tipo reverse configura al código del payload dónde se debe conectar mediante
la variable LHOST, es decir, a la dirección IP del atacante o de un servidor que recoja las
direcciones que se encuentren bajo el control del atacante.

La conexión inversa se realiza mediante el siguiente procedimiento:


1. El auditor lanza el exploit
2. Se ejecuta el código en la máquina remota
3. El payload se conecta a la dirección que se configuró en la variable LHOST
4. La variable LHOST puede ser la dirección IP del auditor u otro servidor manejado por el
auditor que recoge conexiones.

Por su lado, en el payload con conexión directa o bind, no aparece la variable LHOST en el
mismo sino la variable RHOST, que debe ser la dirección de la máquina a la que se quiere
acceder. Por tanto, es el auditor quien se conecta a la víctima. Tras el lanzamiento del exploit
se deja un puerto a la escucha, por ejemplo, una shell, y es entonces el auditor quien se
conecta a ese puerto dónde espera la shell remota.

La conexión directa se efectúa mediante los siguientes pasos:


2. Se ejecuta el código en la máquina remota
3. Se deja en un puerto una shell
4. La variable RHOST del payload debe ser la dirección IP de la víctima. El auditor conecta con
esa IP y ese puerto.

Por ejemplificarlo, en el apartado número 2 de este trabajo se ha usado una conexión directa
(configuramos la variable RHOST), en el exploit vsftp_234_backdoor.
En el caso del exploit ms08_067_netapi se pide configurar la variable LHOST, y por tanto se
trataría de una conexión inversa.

d) Instalar en Windows la aplicación Easy File Management Web Server 5.3


(https://www.exploit-db.com/apps/a46371c665d7c85689b47534904bc3f1- efmsetup.exe) y
detallar el proceso de explotación con Metasploit.
Para este apartado use una máquina virtual en VMware, cuya dirección IP era:
- Kali: 192.168.11.130,

No utilicé una segunda máquina virtual de Windows 7 (mi ordenador no puede ejecutar tantos
recursos a la vez), así que lo ejecuté Easy File Management Web Server en mi sistema anfitrión
Windows 10, cuya dirección IP era:
- Anfitrión (Windows 10): 192.168.117.1 (para el adaptador de red VMware)

Una vez tenemos descargada la versión del Easy File Management Web Server en el Windows,
ejecutamos el servicio en el puerto 82, ya que el 80 está ocupado:

Por su parte, en Kali vamos a añadir el exploit para atacar esta vulnerabilidad.
He descargado el exploit que se puede encontrar en la siguiente dirección:
http://www.exploit-db.com/exploits/33453

Lo descargamos y creamos la ruta /exploits/windows/http/, abrimos vi y copiamos el exploit


de la dirección anterior, dándole el nombre con el que aparece en rapid7:
efs_fmws_userid_bof.
Ahora procedemos a ejecutarlo y ver sus opciones, que las cambiamos mediante los
comandos:

set RHOST = 192.168.117.1


set RPORT = 82
Lanzamos el exploit y ya tenemos acceso al meterpreter:

Y desde el meterpreter ya podemos ejecutar comandos. Por ejemplo, abrir una terminal y ver
las conexiones de red del sistema:

También podría gustarte