# Man in the middle e interceptación de tráfico. ![image](https://hackmd.io/_uploads/BkLpJOdLT.png) Un ataque "Man in the middle" (MITM) es un tipo de ataque informático en el que un atacante se sitúa entre dos dispositivos que se comunican, interceptando y modificando el tráfico entre ellos. ## Dispositivos involucrados Los ataques MITM pueden llevarse a cabo en cualquier entorno en el que haya dos dispositivos que se comuniquen entre sí. Los dispositivos más comunes que se utilizan en estos ataques son: * **Routers:** Los routers son dispositivos que conectan redes entre sí. Un atacante puede colocarse entre un router y una red, interceptando el tráfico que pasa por el router. * **Switches:** Los switches son dispositivos que conectan dispositivos en una misma red. Un atacante puede colocarse entre un switch y un dispositivo, interceptando el tráfico que pasa por el switch. ## Protocolos involucrados Los ataques MITM suelen aprovecharse de protocolos de comunicación que no están cifrados o que utilizan algoritmos de cifrado débiles. Los protocolos más comunes que se utilizan en estos ataques son: * **ARP:** El protocolo ARP (Address Resolution Protocol) se utiliza para traducir direcciones IP a direcciones físicas. Un atacante puede envenenar la tabla ARP de un dispositivo, haciendo que el dispositivo piense que el atacante es el destinatario correcto de los paquetes de datos. * **TCP/IP:** El protocolo TCP/IP es el protocolo de comunicación más utilizado en Internet. Un atacante puede interceptar los paquetes de datos TCP/IP que pasan por una red, modificándolos o reemplazándolos. ## Cómo funcionan los ataques MITM Los ataques MITM suelen funcionar de la siguiente manera: 1. El atacante se sitúa entre los dos dispositivos que se comunican. 2. El atacante envenena la tabla ARP de uno de los dispositivos, haciendo que el dispositivo piense que el atacante es el destinatario correcto de los paquetes de datos. 3. El atacante comienza a interceptar los paquetes de datos que pasan entre los dos dispositivos. 4. El atacante puede modificar o reemplazar los paquetes de datos, o puede simplemente leerlos. ## Consecuencias de los ataques MITM Los ataques MITM pueden tener graves consecuencias para los usuarios afectados. Los atacantes pueden utilizar estos ataques para robar información confidencial, como contraseñas, números de tarjetas de crédito o información personal. También pueden utilizar estos ataques para interrumpir los servicios o para llevar a cabo ataques de denegación de servicio. ## Cómo protegerse de los ataques MITM Hay una serie de medidas que pueden tomarse para protegerse de los ataques MITM, entre ellas: * **Utilizar protocolos de comunicación cifrados:** Los protocolos de comunicación cifrados, como HTTPS y SSH, proporcionan una capa de seguridad adicional que dificulta que los atacantes intercepten los datos. * **Mantener los dispositivos actualizados:** Las actualizaciones de software suelen incluir parches de seguridad que pueden ayudar a proteger los dispositivos de los ataques MITM. * **Utilizar firewalls:** Los firewalls pueden ayudar a bloquear el tráfico malicioso de las redes. ## Ejemplos de ataques MITM Algunos ejemplos de ataques MITM son: * **Ataques basados en el envenenamiento de la tabla ARP:** En este tipo de ataque, el atacante envía paquetes de datos ARP falsos a los dispositivos, haciendo que los dispositivos piensen que el atacante es el destinatario correcto de los paquetes de datos. * **Ataques basados en servidores DHCP:** En este tipo de ataque, el atacante se hace pasar por un servidor DHCP legítimo y asigna direcciones IP falsas a los dispositivos. Esto puede hacer que los dispositivos se comuniquen entre sí a través del atacante. * **Ataques basados en servidores DNS:** En este tipo de ataque, el atacante se hace pasar por un servidor DNS legítimo y dirige el tráfico a sitios web falsos. # Ataque MITM por envenenamiento de tabla ARP El ataque MITM por envenenamiento de tabla ARP es un tipo de ataque informático en el que un atacante se sitúa entre dos dispositivos que se comunican, interceptando y modificando el tráfico entre ellos. ## Cómo funciona El ataque funciona de la siguiente manera: 1. El atacante se sitúa entre los dos dispositivos que desea interceptar. 2. El atacante envenena la tabla ARP de uno de los dispositivos, haciendo que el dispositivo piense que el atacante es el destinatario correcto de los paquetes de datos. 3. El atacante comienza a interceptar los paquetes de datos que pasan entre los dos dispositivos. 4. El atacante puede modificar o reemplazar los paquetes de datos, o puede simplemente leerlos. ## Paso 1: El atacante se sitúa entre los dos dispositivos Para realizar el ataque, el atacante debe colocarse entre los dos dispositivos que desea interceptar. Esto se puede hacer de varias maneras, por ejemplo: * Utilizando un dispositivo inalámbrico para conectarse a la misma red que los dos dispositivos. * Conectando un cable Ethernet entre el atacante y uno de los dispositivos. * Utilizando un dispositivo físico que se coloque entre los dos dispositivos. ## Paso 2: El atacante envenena la tabla ARP de uno de los dispositivos Una vez que el atacante se ha situado entre los dos dispositivos, debe envenenar la tabla ARP de uno de ellos. Para ello, el atacante envía paquetes de datos ARP falsos a ese dispositivo. Los paquetes de datos ARP son los que se utilizan para traducir direcciones IP a direcciones físicas. Los paquetes de datos ARP falsos que envía el atacante indican que la dirección IP del dispositivo objetivo corresponde a la dirección física del atacante. Como es muy frecuente que se hagan este tipo de consultas, lo normal es que cada dispositivo tenga una tabla ARP, es esa tabla local la que tenemos que envenenar, haciendo pensar a la máquina objetivo que una IP de la red corresponde a nuestra MAC. Investiga: cómo funciona el protocolo ARP y cómo acceder a las tablas ARP tanto en linux como en windows. ## Paso 3: El atacante comienza a interceptar los paquetes de datos Una vez que el dispositivo objetivo ha envenenado su tabla ARP, el atacante podrá interceptar todos los paquetes de datos que pasan entre ese dispositivo y el dispositivo original.Quedando este esquema: ![image](https://hackmd.io/_uploads/HyJQuuOIa.png) Es decir, la máquina atacante en rojo ha convencido al router de que es la máquina objetivo y ha convencido al router de que es la máquina objetivo, haciendo que en la tabla ARP de ambos se haya relacionado las ip´s a su MAC. ## Paso 4: El atacante puede modificar o reemplazar los paquetes de datos El atacante puede utilizar los paquetes de datos interceptados para realizar una serie de acciones maliciosas, como: * **Robar información confidencial, como contraseñas, números de tarjetas de crédito o información personal.** * **Interrumpir los servicios o llevar a cabo ataques de denegación de servicio.** * **Redirigir el tráfico a sitios web falsos.** Y todo mientras tanto el router como la máquina objetivo piensan que están teniendo una conexión legítima entre ellos. ## Software para realizar ataques MITM por envenenamiento de tabla ARP Existen varios programas de software que se pueden utilizar para realizar ataques MITM por envenenamiento de tabla ARP. Algunos de los programas más populares son: * **bettercap:** bettercap es un programa de software gratuito y de código abierto que se puede utilizar para realizar una variedad de ataques MITM, incluyendo el envenenamiento de tabla ARP. * **arpspoof:** arpspoof es un programa de software gratuito y de código abierto que se puede utilizar para envenenar la tabla ARP de un dispositivo. * **cain & abel:** Cain & Abel es un programa de software comercial que se puede utilizar para realizar una variedad de ataques de seguridad, incluyendo el envenenamiento de tabla ARP. Utilizaremos el clásico: bettercap ## Bettercap Bettercap es una herramienta de pentesting de código abierto que se utiliza para realizar ataques de intermediario (MITM). Le permite interceptar, manipular y redirigir el tráfico de red. Veamos el repositorio: https://github.com/bettercap/bettercap Como vez ahí tienes el código y las distintas colaboraciones. Investigación: en qué lenguaje está escrita la herramienta? les suena el lenguaje? investiguen en qué se está usando este lenguaje de programación. No viene por defecto en kali así que: `sudo apt install bettercap` ### Propósitos Bettercap se puede utilizar para una variedad de propósitos, incluyendo: * **Recuperar contraseñas:** Bettercap puede utilizarse para interceptar el tráfico de red que contiene contraseñas, como el tráfico HTTP, HTTPS y FTP. * **Realizar ataques de phishing:** Bettercap puede utilizarse para redirigir el tráfico a sitios web falsos, lo que puede permitirle realizar ataques de phishing. * **Realizar ataques de denegación de servicio:** Bettercap puede utilizarse para interrumpir el tráfico de red, lo que puede provocar un ataque de denegación de servicio. ### Comandos y utilidades Bettercap ofrece una amplia gama de comandos y utilidades que le permiten realizar una variedad de tareas. Algunos de los comandos y utilidades más comunes incluyen: * **arpspoof:** Este comando se utiliza para envenenar la tabla ARP de un dispositivo, lo que le permite redirigir el tráfico de red a su dispositivo. * **mitmproxy:** Este comando se utiliza para iniciar un proxy MITM, lo que le permite interceptar y manipular el tráfico de red. [Image of Comando mitmproxy de Bettercap] * **sslstrip:** Este comando se utiliza para descifrar el tráfico HTTPS, lo que le permite ver el contenido de las comunicaciones cifradas. [Image of Comando sslstrip de Bettercap] * **webmitm:** Este comando se utiliza para iniciar un ataque de phishing, lo que le permite redirigir el tráfico a sitios web falsos. Vamos a entrar en bettercap y aprender algo más sobre la herramienta: ![image](https://hackmd.io/_uploads/SyzUsuOLT.png) Pulsamos: `help` ![image](https://hackmd.io/_uploads/S1ktoOdUp.png) De nuevo vemos una estructura por módulos, donde vemos que ahora mismo no hay ninguno ejecutándose. El primer módulo que vamos a usar es el arp.spoof, así que para ver más info: `help arp.spoof` ![image](https://hackmd.io/_uploads/HkCl3OuUT.png) ## ARP Spoofing Abrimos, por ser más modernos, una máquina víctima windows 10. Comprobamos la tabla ARP que tenemos ahora en nuestra máquina windows, y estas son mis dos primeras comprobaciones, con los conocimientos que ya tienen, por qué hago esto? ![image](https://hackmd.io/_uploads/BkWIEF_U6.png) Pues como ya sabemos la puerta de enlace que me está dando salida a internet, ya sé cuál es la dirección física del router de la máquina objetivo. Averigua: se está viendo ahora mismo en esa tabla mi máquina kali? Pues vamos abrir el wireshark...horror!!! Filtramos por paquetes ARP y en mi máquina windows voy a hacer un ping a mi kali ![image](https://hackmd.io/_uploads/rkf8ItuLT.png) Se verá el intercambio de mensajes arp y si ahora haces de nuevo` arp -a` en windows verás que se ha añadido la máquina kali en la caché ARP. Fíjate en la IP del router y en la de nuestra máquina atacante, vamos a ver cómo engañamos al windows para que piense que nosotros somos su router. Dejemos nuestro wireshark vigilante y vayamos al bettercap: ![image](https://hackmd.io/_uploads/ryGsDK_Lp.png) Le indicamos la ip de la máquina objetivo y le decimos que queremos el arp.spoof funcionando Vayamos a wirshark ![image](https://hackmd.io/_uploads/rkmDuFuIp.png) Nuestra máquina está spammeando a la máquina objetivo diciéndole que la dirección 10.0.2.1 (la del router), tiene nuestra MAC, si ahora vamos a la máquina windows y pondemos arp -a, voy a poner la previa y la nueva junta para que la analicen: La anterior: ![image](https://hackmd.io/_uploads/rk5nOKO86.png) La nueva: ![image](https://hackmd.io/_uploads/Hk9AuKdLa.png) Esa tabla ARP está envenenada y todo los paquetes y comunicaciones que haga esta máquina a partir de hora pasará por nosotros. Comprobemos, abrimos un navegador en la máquina objetivo. ![image](https://hackmd.io/_uploads/HkHf9tOU6.png) Como lo hicimos en red nat igual da algún error a la hora de los dns, repite el ejercicio con modo nat en ambas máquinas y entra por ejemplo a tryhackme con las contraseñas, como eres un máquina con wireshark observa qué pasa. Trabajo en Grupo: - como ya han visto el manejo básico y los conceptos básicos del ARP spoofing, investiguen y entreguen una tarea en grupo de cómo hacer el DNS Spoofing, con bettercap y si metasploit tiene herramientas para hacerlo y cómo. Próximos temas para después de navidad: ## Social Engineering Toolkit (SET) El Social Engineering Toolkit (SET) es un conjunto de herramientas de código abierto que se utiliza para realizar ataques de ingeniería social. La ingeniería social es una técnica de ciberseguridad que se basa en el engaño para obtener información o acceso a un sistema informático. ### Descripción El SET incluye una variedad de herramientas que se pueden utilizar para realizar diferentes tipos de ataques de ingeniería social, como: * **Correos electrónicos de phishing:** El SET puede generar correos electrónicos de phishing personalizados que se pueden utilizar para engañar a los usuarios para que proporcionen información confidencial, como contraseñas o números de tarjetas de crédito. * **Páginas web de phishing:** El SET puede crear páginas web de phishing que se pueden utilizar para engañar a los usuarios para que proporcionen información confidencial. * **Ingeniería social telefónica:** El SET puede generar guiones de llamadas telefónicas que se pueden utilizar para engañar a los usuarios para que proporcionen información confidencial. * **Ingeniería social de redes sociales:** El SET puede generar publicaciones de redes sociales que se pueden utilizar para engañar a los usuarios para que proporcionen información confidencial. ### Usos El SET se puede utilizar para realizar ataques de ingeniería social en una variedad de entornos, como empresas, organizaciones gubernamentales y particulares. **Ejemplos:** * Una empresa puede utilizar el SET para realizar pruebas de penetración de ingeniería social para evaluar la vulnerabilidad de sus empleados a los ataques de phishing. * Un gobierno puede utilizar el SET para realizar operaciones de inteligencia para recopilar información sobre objetivos de interés. * Un individuo puede utilizar el SET para realizar ataques de ingeniería social para obtener acceso a sistemas informáticos o información confidencial.