Tag Archive for mitm

mitmproxy: MitM de tráfico Web for fun and profit

¿Qué es mitmproxy?

En esta nueva entrada del blog vamos a tratar un tema que siempre despierta un gran interés. No se trata de ninguna técnica nueva ni mucho menos, pero sigue dando mucho “juego“. Se trata de los ataques a la red TCP/IP, concretamente haciendo Man-in-the-Middle con envenenamiento de ARP. Algo de lo que ya hemos hablado en varias ocasiones en ese blog, pero en esta ocasión nos vamos a centrar en el tráfico Web el cual vamos a controlar con un proxy Web diseñado precisamente para el tipo de ataque que vamos a ver a continuación, mitmproxy.

Esta herramienta, que la podéis descargar desde su GitHub en esta dirección https://github.com/mitmproxy/mitmproxy, actúa como un proxy Web donde podemos interceptar tráfico, como lo haría otros proxies Web locales como Burp o ZAP, y nos proporciona una serie de scripts en Python para, por ejemplo, inyectar código HTML. Suena divertido, ¿verdad? Hay muchas herramientas que también permiten hacer esto, pero hemos elegido esta por su sencillez a la hora de lanzar este ataque.

Objetivo: inyectar código HTML

Nuestro objetivo es lanzar un ataque de MitM utilizando la técnica de envenenamiento ARP, redirigir el tráfico Web a nuestro proxy local, mitmproxy, e inyectar nuevo código en la respuesta del servidor, para alterar la apariencia de la Web en el navegador del usuario.

Escenario

Como venimos haciendo últimamente en el blog, pasamos a explicar cuál es el escenario que vamos a usar para esta prueba de concepto del ataque.

Tenemos dos máquinas virtuales; una Windows 7 (192.168.10.146) que actuará como víctima y una Kali 2 (192.168.10.149) que actuará como máquina atacante.

Herramientas a usar en máquina atacante:

  • arpspoof: para lanzar ataque MitM evenando tabla ARP
  • iptables: para redirigir tráfico 80/443 a mitmproxy
  • mitmproxy: para interceptar e inyectar código HTML

Si usáis como máquina atacante Kali 2, estas herramientas ya las tendréis a vuestra disposición para ser usadas.

Ataque MitM y redirección de tráfico

Antes de poder inyectar tráfico HTML en las respuestas del servidor al cliente (navegador Web de la víctima), necesitamos que su tráfico de red pase por nuestra máquina atacante, para ello lanzamos un ataque de arpspoofing con la herramienta arpspoof.

Pero antes de hacer esto, si no queremos dejar a la víctima sin acceso a Internet u otras redes, tenemos que hacer que nuestra máquina atacante actúe como un router, y haga reenvío de paquetes.

echo 1 > /proc/sys/net/ipv4/ip_forward

Teniendo en cuenta, que la puerta de enlace es la 192.168.10.2, la sintaxis quedaría de la siguiente manera:

arpspoof -i eth0 -t 192.168.10.146 192.168.10.2

Si todo se ha ejecutado correctamente, ya tenemos pasando por nuestra interfaz el tráfico de red de la máquina Windows 7. Como hemos comentado anteriormente, nuestro objetivo es interceptar el tráfico Web, tanto http (80) como https (443), así que necesitamos que este tráfico sea redirigido a mitmproxy, que por defecto escucha en el puerto 8080.

iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 8080

iptables -t nat -A PREROUTING -p tcp –destination-port 443 -j REDIRECT –to-port 8080

Read more

Ataque BadUSB Man-In-The-Middle

Como ya habréis notado gracias a nuestro anterior artículo, en los últimos días en hacking-etico.com hemos estado probado la nueva maravilla que nos trae el equipo de Kali Linux: NetHunter. Aprovechando que yo también dispongo de un terminal Nexus 5 he decidido instalar y probarlo y las sensaciones son muy buenas.

Si aún no sabéis cómo descargarlo e instalarlo, os recomiendo nuevamente que leáis “NetHunter: Kali Linux en tu Android“, un estupendo artículo nos trae nuestro compañero Manuel Camacho en donde nos explica todo lo que necesitáis saber para tenerlo en vuestro dispositivo Nexus.

Uno de los ataques que más fácilmente nos permite hacer NetHunter es un curioso Man-In-The-Middle con el que me llevé una grata sorpresa. Vamos a centrar este artículo en explicar cómo funciona, por qué funciona, cómo explotarlo y cómo defendernos ante ello.

Este año tuve la suerte de asistir a la BackHat en Las Vegas, donde una de las más esperadas charlas era la de BadUSB y que a título personal me dejó maravillado. Ya se empiezan a ver las primeras implementaciones y vectores de ataque: Por parte de los chicos de NetHunter tenemos “BadUSB MITM Attack“. Ya podéis imaginar cual será el vector de ataque… con tan sólo conectar el móvil por USB a un ordenador con Windows conseguiremos redirigir todo el tráfico a nuestro móvil y hacer lo que queramos con él… guardarlo, modificarlo, bloquearlo… ¿interesante verdad? ¡A partir de ahora nos pensaremos dos veces cuando alguien nos pida que le carguemos el móvil en nuestro ordenador! Pero eso no es todo… seguid leyendo porque os cuento más adelante que la cosa es más grave aún.

Vamos al lío. Para ello voy a diferenciar tres secciones:

  1. Explotando Ataque BadUSB MITM: Mostrando cómo se explota y resultado en un escenario real.
  2. Entendiendo Ataque BadUSB MITM: Analizaremos en detalle cómo y por qué funciona el ataque.
  3. Defendiéndonos del Ataque BadUSB MITM: Una vez hemos analizado y entendido cómo funciona, podemos tomar un serie de acciones para evitar que este ataque sea efectivo en nuestras máquinas.

  Read more

Ataque de inyección CCS con MITM en OpenSSL (CVE-2014-0224)

Todavía no nos hemos recuperado del susto del Heartbleed cuando aparece una nueva vulnerabilidad crítica en OpenSSL (CVE-2014-0224). Parece que se está poniendo de moda las vulnerabilidades en las librerías de cifrado. En este caso se trata de combinar un ataque de Man-in-the-Middle (MITM) con una inyección de paquetes CCS para renegociar los atributos de seguridad de la conexión segura.

openssl-logo

Bien es cierto que para que el ataque tenga éxito, tanto el cliente como el servidor han de ser vulnerables. Parece ser que todos los clientes OpenSSL son vulnerables, y los servidores los de la versión 1.0.1, además el atacante tiene que estar en disposición de poder hacer un MITM. Hoy en día con las redes WiFi disponibles en bares, restaurantes, hoteles o aeropuertos esto es más probable que hace 10 años.

¿Cómo se realizaría el ataque?

Las sesiones SSL/TLS se inician con los mensajes de ClientHello y ServerHello desde ambos lados de la conexión, similar al handsake en las conexiones TCP/IP. Durante esta parte del protocolo se negocian los atributos de la sesión como por ejemplo las claves de cifrado o protocolo de cifrado.

Read more

Cifrando el tráfico DNS con DNSCrypt

DNSCrypt nos permite cifrar el tráfico entre el usuario y el servidor DNS. De esta manera, nos vamos a proteger de diferentes ataques, como Spoofing, Man in the Middle o Spying. Para hacer esto, bastará instalar y configurar el proxy DNSCrypt.

Además, vamos a utilizar dnsmasq. Es un paquete que nos permite instarlar de una manera sencilla, un servidor DNS y un servidor DHCP, sólo tenemos que instalar y arrancar el servicio dnsmasq. De esta manera, podremos mejorar el rendimiento de DNSCrypt, al utilizar la caché de dnsmasq. Podremos resolver los nombres que tengamos configurados en el /etc/hosts y, esta resolución, será, tanto en sentido directo, como inverso. También podremos tener el servicio de DHCP, añadiendo, simplemente, una línea al archivo de configuración de dnsmasq, indicando el rango de cesión.

Estas herramientas suelen estar incluidas en muchas distribuciones GNU/Linux. Su configuración es muy similar. En este caso, utilizaré ArchLinux.

Read more

Dsploit: Pentesting con tu Smartphone

A día de hoy hay infinidad de herramientas para pentesting. El pentesting, es un vocablo inglés que viene a significar “Test de penetración”. Básicamente esta tarea las componen un conjunto de aplicaciones que realizan un determinado proceso. Todas juntas hacen una suite informática para testear nuestras redes.

Distribuciones como Backtrack, Kali Linux o Wifislax (basados en Linux) poseen en sus entrañas software para auditar todo tipo de sistemas informáticos.

Desde un simple y a la vez potente escaneo de puertos con nmap, hasta testear la fortaleza de nuestra red Wi-Fi. 

Todo esto, a su vez es realizado con dispositivos como portátiles, netbooks, ordenadores de sobremesa, servidores, etc… 

Pero hoy podemos ir más allá. Con el uso masificado ya de smartphones y tablets, tenemos en nuestras manos posibilidades muy interesantes para poner a prueba cualquier red de nuestra propiedad.

Para ello, hay una suite para Android llamada DSPLOIT, la cual permite multitud de opciones tan operativas como si estuviéramos ejecutando Backtrack o Kali Linux en nuestro portátil o equipo de sobremesa.

Obviamente todo depende la potencia de nuestro smartphone o tablet para ejecutar los procesos pertinentes a la hora de “probar” nuestra red.

dsploit

Read more

Subterfurge. Extracción de contraseñas.

No hace mucho publicamos un artículo que hablaba del Websploit. El cual conseguia hacerse con credenciales de acceso de facebook, twitter, o lo que se pusiera por medio, estando conectado a la misma red.

Hoy traemos otra utilidad muy similar, con interfaz gráfica, y bastante potente. Si bien hemos utilizado bastante menos esta herramienta para testear nuestras conexiones en nuestra LAN si que lo poco que lo hemos hecho, ha dado buenos resultados.

Se trata de la herramienta Subterfurge. Esta herramienta nos permite hacer un MITM (Man-in-the-middle). Nos ahorrará tiempo en el caso de probarla para realizar un pentest a nuestra red.

Os recordamos que esto es solo educativo y únicamente debéis probarlo en redes de vuestra propiedad, ya que de lo contrario estaríais incurriendo en un delito.

Es otra alternativa a las muchas que hay para testear tus propias redes, y observar en que punto son vulnerables.

 SubterfugeWallpaper

Read more