
Analyser les requêtes ARP pour identifier les hôtes communicants et les configurations d'adresses réseau obsolètes (SNACs)
Un outil de reconnaissance qui analyse les requêtes ARP pour identifier les hôtes susceptibles de communiquer entre eux, ce qui est utile dans ces situations redoutées où LLMNR/NBNS ne sont pas utilisés pour la résolution de noms.
Proposé par :

Ceci ne fonctionnera que sur Kali ou d'autres distributions Linux basées sur Debian
eavesarp nécessite Python3.7 et Scapy. Après avoir installé Python, exécutez la commande suivante pour installer Scapy : python3.7 -m pip install -r requirements.txt
Notes :
eavesarp nécessite des privilèges root pour sniffer l'interface et forger des paquets ARP.eavesarp.db pour éviter d'avoir à recapturer les requêtes ARP.La forme la plus basique d'exécution est :
sudo ./eavesarp.py capture -i eth1
Cela initialisera eavesarp de sorte que les requêtes ARP seront capturées, analysées, et la sortie pertinente sera présentée à l'utilisateur dans un tableau. Utilisez --help pour plus d'informations sur les arguments non standards. Notez que la colonne « stale » indique [UNCONFIRMED] lorsqu'une requête ARP provenant d'une cible (en tant qu'expéditeur) n'a pas encore été observée en exécutant ce mode. Activez la résolution ARP via le flag -ar pour déterminer si une adresse cible donnée est devenue obsolète.
___ ___ __ _____ ___ ___ ________
/ -_) _ `/ |/ / -_|_-</ _ `/ __/ _ \
\__/\_,_/|___/\__/___/\_,_/_/ / .__/
-----------------------------/ /---
[LISTEN CAREFULLY] /_/
Capture interface: eth1
ARP resolution: disabled
DNS resolution: disabled
Requests analyzed: 65
SNAC Sender Target ARP# Stale
------ ------------- -------------- ------ -------------
192.168.86.5 192.168.86.101 29 [UNCONFIRMED]
192.168.86.3 1
192.168.86.3 192.168.86.37 25 [UNCONFIRMED]
192.168.86.38 7 [UNCONFIRMED]
192.168.86.5 1
192.168.86.99 1
192.168.86.99 192.168.86.3 1
Activez la résolution ARP et DNS en incluant les flags -ar et -dr. Gardez à l'esprit que cela rend l'outil non passif, mais l'avantage est que les enregistrements DNS, les adresses MAC et une confirmation du statut SNAC sont retournés.
sudo ./eavesarp.py capture -i eth1 -ar -dr --blacklist 192.168.86.5
Nous pouvons clairement voir dans la sortie ci-dessous quels expéditeurs sont affectés par un ou plusieurs SNAC et les adresses affectées. La dernière colonne indique si une opportunité MITM potentielle est présente. eavesarp vérifie si l'adresse FWD du PTR résolu pour un expéditeur donné est différente. Si c'est le cas, cela peut être un indicateur que la cible prévue s'est déplacée vers la nouvelle adresse FWD. Appliquer un alias à l'interface de notre hôte attaquant peut nous permettre de transférer le trafic vers la cible prévue et de capturer les informations en transit.
___ ___ __ _____ ___ ___ ________
/ -_) _ `/ |/ / -_|_-</ _ `/ __/ _ \
\__/\_,_/|___/\__/___/\_,_/_/ / .__/
-----------------------------/ /---
[LISTEN CAREFULLY] /_/
Capture interface: eth1
ARP resolution: enabled
DNS resolution: enabled
Requests analyzed: 55
SNAC Sender Target ARP# Stale Sender PTR Target PTR 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 peut accepter des bases de données SQLite et des fichiers PCAP pour analyse. Il produira les valeurs extraites dans un nouveau fichier de base de données pour une analyse plus approfondie. Consultez le flag --help pour plus d'informations sur ce processus, cependant l'exécution de base est démontrée ci-dessous.
sudo ./eavesarp.py analyze -sfs eavesarp.db -cp disable --blacklist 192.168.86.5 --csv-output-file eavesarp_analysis.db
SNAC Sender Target ARP# Stale Sender PTR Target PTR 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.
- Writing csv output to eavesarp_analysis.db
...et la sortie CSV ressemble à...
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