ARP Spoofing: Ataques y Protección en Redes TCP/IP
Los fundamentos de la arquitectura TCP/IP condicionan tanto las vulnerabilidades, que pueden ser explotadas en diversos ataques, como el tipo de mecanismos y herramientas que pueden ser utilizados para su protección.
Como se vio en clases anteriores el modelo TCP funciona en capas que son:
El protocolo ARP (Address Resolution Protocol)
Es un protocolo de la capa física que se encarga de encontrar la dirección hardware (MAC) que corresponde a una determinada dirección lógica (IP).
Por lo cual desde su concepción en el RFC 826 su funcionamiento se basa en el envío de un paquete (ARP request) a la dirección de difusión de red a (broadcast) el cual contiene la IP por la que se pregunta.
El equipo que contenga la dirección responderá con un paquete (ARP reply) junto con la dirección Ethernet que le corresponde.
Existe un tipo de ataque que se aprovecha del protocolo ARP y que permite a un atacante suplantar a otro usuario de la red de área local (LAN), teniendo acceso a los paquetes de datos para él destinados y pudiendo, incluso, modificarlos o bloquearlos.
Esta técnica se conoce como ARP Spoofing o ARP Poisoning y consiste en enviar falsos mensajes ARP reply a la red para que el atacante reciba los paquetes destinados al usuario que el atacante quiere suplantar, ya que como fue concebido no se requieren un ARP request mandar una respuesta.
Herramientas necesarias:
Para la realización de esta práctica se requiere los siguiente:
Instalación de MITMf
Es una herramienta que proporciona una gran cantidad de ataques de manera simple al uso de plugins.
Para la instalación se requiere la instalación desde su dirección el Github que es:
https://github.com/byt3bl33d3r/MITMf
Acceder a la carpeta Download y se descarga el git con el comando: git clone https://github.com/byt3bl33d3r/MITMf.git
Se ingresa a la carpeta con el comando cd. Cd MITMf
Es necesario instalar las siguientes dependencias que MITMf requiere.
Se ingresa a la carpeta, además de inicializar y clone los submódulos con:
cd MITMf && git submodule init && git submodule update –recursive
Con las dependencias instaladas, se prosigue a instalar la herramienta.
pip install -r requirements.txt
Para probar que se instaló correctamente, se debe correr lo siguiente:
Se realiza un ataque que involucre todos los equipos.
Para verificar su funcionamiento en el equipo con Metasploitable 3, se ingresa al navegador.
Iniciando con el ataque de forma manual:
En la máquina con Kali Linux es necesario determinar cuál es la interfaz de red que se utilizara, para esto se hace uso del comando ifconfig que para esta prueba es “eth0”.
En la máquina donde está instalado Metasploitable 3 se recomienda realizar un ping al equipo atacante para probar que están visibles. Después revisar su tabla ARP con el comando en cmd de “arp -a”, donde cada equipo tiene una dirección física única.
El paso siguiente es mandar tantos paquetes ARP reply a nuestra víctima con el objetivo de suplantar la identidad del Gateway que tiene la dirección 192.168.2.1, con el comando:
arpspoof -i eth0 -t IPVíctima -r DefaultGateway
Nota: Es necesario dejar que esta terminal continúe mandando paquetes:
Donde:
i: corresponde a la interfaz de red.
t: La dirección IP de la víctima.
r: El Gateway por default.
Para constatar su funcionamiento, nuevamente se ejecuta el comando “arp -a” en el equipo objetivo para ver si se realizó algún cambio. ¿Qué pueden notar?
Con el paso anterior los paquetes llegan a nuestro equipo, pero es necesario saber qué hacer con ellos, Linux tiene la funcionalidad de reenviar los paquetes que recibe, pero esta desactivada por default para estos es necesario ejecutar en otra terminal lo siguiente:
echo 1 > /proc/sys/net/ipv4/ip_forward
Para conocer a detalle el funcionamiento de este ataque en el equipo donde se encuentra Kali, abrir la herramienta Wireshark y seleccionar la interfaz “eth0” o en la cual estén realizando el ataque.
Se manda un ping de la máquina objetivo a la dirección Gateway para ver qué sucede.
Al revisar las tramas en Wireshark se puede notar que llegan al destino, pero también son recibidas y reenviadas por nuestro equipo.
Para seguir jugando con este ataque se abre un navegador en la máquina objetivo y se ingresa a una página de internet.
En el equipo donde se encuentra corriendo wireshark, se añade un filtro el cual solamente mostrará las peticiones HTTP, agregando solamente el nombre del protocolo en este apartado.
Si se agrega Facebook podemos ver dentro de Wireshark como automáticamente redirecciona a la página con el protocolo HTTPS.
Para finalizar nuestro sniffing detenemos en el cuadro rojo que se muestra en la imagen de abajo y se guarda todo el tráfico analizado en la opción:
File->Save as
Podemos exportar los objetos en el menú: File->Export Objects->HTTP.
Otra opción es guardar la captura como archivo. pcap y agregarlo a la herramienta Network Minner que organiza de mejor manera la información resultante del análisis.
Nota: imagen ilustrativa
Hay que recordar que una página que implemente el protocolo HTTP toda la información viaja en “texto claro” y una persona malintencionada puede obtener las credenciales sin problemas si se encuentra inspeccionando el tráfico por lo que se recomienda utilizar página con el distintivo de HTTPS.
Claro, existen herramientas que te permiten hacer un bypass a este protocolo también como lo es MiTmF
-i = Interfaz Eth de salida
-t = IP Target
-r = Router/Gateway
Que yo recuerde, la suplantacion de arp, es un bug muy viejo en routers y utms, basicamente consistia en hacerse pasar por el gateway, pero la mayoria de los routers solucionaron esto..... Lo que no probe, es el bypasss. veremos
No puedo realizar esta práctica porque el paquete libpcap0.8-dev "no tiene candidato para instalacion", el archivo no existe o la versión ha quedado obsoleta. Y Dice: Sin embargo detecta un archivo libpcap0.8 que lo reemplaza
TODO ESTO FALLA: apt-get install python-dev python-setuptools libpcap0.8-dev libnetfilter-queue-dev libssl-dev libjpeg-dev libxml2-dev libxslt1-dev libcapstone3 libcapstone-dev libffi-dev file
FALLA TAMBIEN pip install -r requirements.txt
Pruebo ahora descargarlo e instalarlo manualmente: https://packages.ubuntu.com/disco/amd64/libpcap0.8-dev/download
Me pide instalar primero el libpcap0.8.
Lo Instalo. Y por fin me instala el libpcap0.8-dev
Pero todas las demas librerias dice que no las encuentra....que debo hacer? descargarlas e instalarlas una por una?
Buenas Ariel, estas son las librerias probadas al día de hoy y todas funcionan:
apt-get install python-dev python-setuptools libpcap0.8-dev libnetfilter-queue-dev libssl-dev libjpeg-dev libxml2-dev libxslt1-dev libcapstone3 libcapstone-dev libffi-dev file
Se requieren los submodulos (sin ingresar a la carpeta MITMf) mediante:
cd MITMf && git submodule init && git submodule update --recursive
Para concluir la instalación:
pip install -r requirements.txt
Muy buena clase, mucho que practicar.
▼Si con Arpspoof les da este error:
✘ E: Unable to locate package arpspoof
▼La solución es instalar dsniff:
✔ sudo apt install dsniff
Alguien hoy en día logro realizar el ejercicio, o tubo dificultades?
Cordial saludo;
Hasta el día de hoy (29/06/23) no he podido solucionar el error al instalar las dependencias: pip install -r requirements.txt, adicionalmente no he podido instalar correctamente mitmf
Me encataria solucionar este error, gracias.
Es obligatorio hacer el ping desde la maquina que tiene Metasploitable a la maquina de kali, o solo es cuestion de de mostracion, xq no entiendo que yo como atacante tenga acceso a hacer un ping desde la maquina que es mi objetivo.
Gracias
Saludos.
:)
Saludos, es demostrativo. Muchas gracias por tu aportación.
Ya no se puede usar la herramienta desde github porque ya esta archivada y a la fecha ya es antigua. Por favor actualicen este curso.
gracias
Por su nombre en inglés, un intermediario, normalmente el cibercriminal o un software malicioso, se incrusta entre la víctima y la fuente de datos (cuentas bancatias, email…etc). El objetivo es interceptar, leer o manipular de forma efectiva la comunicación entre la víctima y sus datos sin que nadie se dé cuenta de que hay una tercera persona incluida en la operación.
Para los que tienen problemas de hacer este ejercicio en este año 2021 como me paso a mi, aquí hay un video para instalar el mitmf https://www.youtube.com/watch?v=dakbWHCUSPY
Super la Clase lastimosamente tuve problemas al no poder ejecutar por error en el Banner el mitmf.py --help, por lo anterior no pude realizar la primera fase.
Hola:
Tengo el mismo problema, conseguiste arreglarlo de alguna forma?.
Gracias de antemano.
Sergio.
También me quedé ahí :(
revisen para instalar.
ufff tremenda clase. el wireShare pense que ya no existia.
Buen dia profe, estoy con la instalacion del MITMf pero ya en la ejecucion me aparece el siguiente error https://imgur.com/Xj2Mwyp el cual creo que es por que no esta instalado el Modulo "bdfactory" me puse a instalar ese modulo pero no me deja instalarlo me aparece lo siguiente https://imgur.com/OXJPzpS
Saludos Fabio, fuer de la carpeta MITMf ejecuta lo siguiente:
Buenas Profe
Disculpe
Para que sirve este comando del git con los módulos ?
No pude hacerlo de forma manual pero aventando a todo el segmento si pude obtener información. Es impresionante como se puede romper la seguridad con estas herramientas