
Analizar solicitudes ARP para identificar hosts intercomunicados y configuraciones obsoletas de direcciones de red (SNACs)
Una herramienta de reconocimiento que analiza solicitudes ARP para identificar hosts que probablemente se están comunicando entre sí, útil en esas situaciones temidas donde LLMNR/NBNS no se utilizan para la resolución de nombres.
Presentado por:

Esto solo funciona en Kali u otras distribuciones Linux basadas en Debian
eavesarp requiere Python3.7 y Scapy. Después de instalar Python, ejecuta lo siguiente para instalar Scapy: python3.7 -m pip install -r requirements.txt
Notas:
eavesarp requiere privilegios de root para olfatear la interfaz y crear paquetes ARP.eavesarp.db para evitar tener que recapturar solicitudes ARP.La forma más básica de ejecución es:
sudo ./eavesarp.py capture -i eth1
Esto inicializará eavesarp de modo que las solicitudes ARP se capturen, analicen y se presente al usuario la salida relevante en una tabla. Usa --help para obtener información adicional sobre argumentos no estándar. Ten en cuenta que la columna "Stale" indica [UNCONFIRMED] cuando una solicitud ARP que se origina desde un objetivo (como remitente) aún no se ha observado al ejecutar en este modo. Habilita la resolución ARP mediante el indicador -ar para determinar si una dirección de objetivo dada se ha vuelto obsoleta.
___ ___ __ _____ ___ ___ ________
/ -_) _ `/ |/ / -_|_-</ _ `/ __/ _ \
\__/\_,_/|___/\__/___/\_,_/_/ / .__/
-----------------------------/ /---
[LISTEN CAREFULLY] /_/
Interfaz de captura: eth1
Resolución ARP: deshabilitada
Resolución DNS: deshabilitada
Solicitudes analizadas: 65
SNAC Remitente Objetivo ARP# Obsoleto
------ ------------- -------------- ------ -------------
192.168.86.5 192.168.86.101 29 [NO CONFIRMADO]
192.168.86.3 1
192.168.86.3 192.168.86.37 25 [NO CONFIRMADO]
192.168.86.38 7 [NO CONFIRMADO]
192.168.86.5 1
192.168.86.99 1
192.168.86.99 192.168.86.3 1
Habilita la resolución ARP y DNS incluyendo los indicadores -ar y -dr. Ten en cuenta que esto hace que la herramienta no sea pasiva, pero la ventaja es que se devuelven registros DNS, direcciones MAC y una confirmación del estado de SNACs.
sudo ./eavesarp.py capture -i eth1 -ar -dr --blacklist 192.168.86.5
Podemos ver claramente en la salida a continuación qué remitentes se ven afectados por uno o más SNACs y las direcciones afectadas. La columna final indica si existe una oportunidad potencial de MITM. eavesarp verifica si la dirección FWD del PTR resuelta para un remitente dado es diferente. Si es así, puede ser un indicador de que el objetivo previsto se ha movido a la nueva dirección FWD. Aplicar un alias a la interfaz de nuestro host atacante puede permitirnos reenviar el tráfico al objetivo previsto y capturar información en tránsito.
___ ___ __ _____ ___ ___ ________
/ -_) _ `/ |/ / -_|_-</ _ `/ __/ _ \
\__/\_,_/|___/\__/___/\_,_/_/ / .__/
-----------------------------/ /---
[LISTEN CAREFULLY] /_/
Interfaz de captura: eth1
Resolución ARP: habilitada
Resolución DNS: habilitada
Solicitudes analizadas: 55
SNAC Remitente Objetivo ARP# Obsoleto PTR remitente PTR objetivo MITM
------ ------------- -------------- ------ ------- -------------- ---------------- ---------------------------------------------
True 192.168.86.2 192.168.86.101 21 True iron.aa.local. syslog.aa.local. T-IP:192.168.86.101 != PTR-FWD:192.168.86.102
True 192.168.86.3 192.168.86.38 17 True crux.aa.local.
192.168.86.37 15 True
192.168.86.99 1 w10.aa.local.
192.168.86.99 192.168.86.3 1 w10.aa.local. crux.aa.local.
eavesarp)eavesarp puede aceptar bases de datos SQLite y archivos PCAP para su análisis. Enviará los valores extraídos a un nuevo archivo de base de datos para su posterior análisis. Consulta el indicador --help para obtener más información sobre este proceso; sin embargo, la ejecución básica se demuestra a continuación.
sudo ./eavesarp.py analyze -sfs eavesarp.db -cp disable --blacklist 192.168.86.5 --csv-output-file eavesarp_analysis.db
SNAC Remitente Objetivo ARP# Obsoleto PTR remitente PTR objetivo MITM
------ ------------- -------------- ------ ------- -------------- ---------------- ---------------------------------------------
True 192.168.86.2 192.168.86.101 21 True iron.aa.local. syslog.aa.local. T-IP:192.168.86.101 != PTR-FWD:192.168.86.102
True 192.168.86.3 192.168.86.38 17 True crux.aa.local.
192.168.86.37 15 True
192.168.86.99 1 w10.aa.local.
192.168.86.99 192.168.86.3 1 w10.aa.local. crux.aa.local.
- Escribiendo salida CSV a eavesarp_analysis.db
...y la salida CSV se ve así...
arp_count,sender,sender_mac,target,target_mac,stale,sender_ptr,target_ptr,target_forward,mitm_op,snac
21,192.168.86.2,74:d4:35:1a:b5:fb,192.168.86.101,[STALE TARGET],True,iron.aa.local.,syslog.aa.local.,192.168.86.102,T-IP:192.168.86.101 != PTR-FWD:192.168.86.102,True
17,192.168.86.3,b8:27:eb:a9:5c:8f,192.168.86.38,[STALE TARGET],True,crux.aa.local.,,,False,True
15,192.168.86.3,b8:27:eb:a9:5c:8f,192.168.86.37,[STALE TARGET],True,crux.aa.local.,,,False,True
1,192.168.86.99,08:00:27:22:49:c5,192.168.86.3,b8:27:eb:a9:5c:8f,False,w10.aa.local.,crux.aa.local.,192.168.86.3,False,False
1,192.168.86.3,b8:27:eb:a9:5c:8f,192.168.86.99,08:00:27:22:49:c5,False,crux.aa.local.,w10.aa.local.,192.168.86.99,False,True