No ARP Attacks (narpa)
————————————————-***
Narpa es un proyecto en c++ basado en otro programa de envío y recepción de paquetes arp llamado “arp_sk” y usa las librerías winpcap.
————————————————-
El proyecto consiste en la protección de una red a ataques en el protocolo arp engañando al propio atacante y aislándolo de la red.
————————————————-
Las fases del programa son las siguientes:
.
- Petición y almacenamiento de direcciones ip y mac del gateway y local.
- Creación de una entrada estática arp con la ip y mac del router.
- Petición y almacenamiento de todas las direcciones mac e ips de los hosts de la red.
- Estado de espera a que un atacante mande un paquete arp “diciendo ser” el gateway/router.
- El programa se alerta de esta situación, espera al proximo ataque del atacante, y reacciona de la siguiente manera:
5.1. Envío de las macs reales de los hosts asociadas a su ip al gw
5.2. Envio de la mac real del gateway a cada host de la red
5.3. Envio de macs falsas de las ips de la red hacia el atacante
5.4. Actualiza la caché arp de los pasos 5.1, 5.2 y 5.3 en modo reply
5.5. Espera al siguiente paquete falso del atacante para contraatacar de nuevo en el paso 5.4
5.6. Reescaneo de la red quitando hosts que esten ofline o añadiendo nuevos (cada 10 minutos)
5.7. Si no es atacado por el atacante focalizado, actualiza ips y se mantiene a la espera de otro atacante