一款侦察工具,通过分析ARP请求来识别可能相互通信的主机,在LLMNR/NBNS未被用于名称解析的棘手情况下非常有用。
由以下机构提供:

此工具仅可在Kali或其他基于Debian的Linux发行版上运行
eavesarp 需要Python3.7和Scapy。安装Python后,运行以下命令安装Scapy:python3.7 -m pip install -r requirements.txt
注意:
eavesarp 需要root权限才能从接口嗅探并构造ARP数据包。eavesarp.db,以避免重复捕获ARP请求。最基本的执行方式是:
sudo ./eavesarp.py capture -i eth1
这将初始化 eavesarp,从而捕获并分析ARP请求,并以表格形式向用户展示相关输出。使用 --help 获取非标准参数的更多信息。注意,在此模式下运行时,如果尚未观察到目标(作为发送方)发出的ARP请求,则失效状态列会显示 [未确认]。通过 -ar 标志启用ARP解析,以确定某个目标地址是否已失效。
___ ___ __ _____ ___ ___ ________
/ -_) _ `/ |/ / -_|_-</ _ `/ __/ _ \
\__/\_,_/|___/\__/___/\_,_/_/ / .__/
-----------------------------/ /---
[LISTEN CAREFULLY] /_/
Capture interface: eth1
ARP resolution: disabled
DNS resolution: disabled
Requests analyzed: 65
SNAC 发送方 目标 ARP计数 失效状态
------ ------------- -------------- ------ -------------
192.168.86.5 192.168.86.101 29 [未确认]
192.168.86.3 1
192.168.86.3 192.168.86.37 25 [未确认]
192.168.86.38 7 [未确认]
192.168.86.5 1
192.168.86.99 1
192.168.86.99 192.168.86.3 1
通过包含 -ar 和 -dr 标志来启用ARP和DNS解析。请注意,这会使工具变得非被动,但优点是能返回DNS记录、MAC地址以及SNAC状态的确认信息。
sudo ./eavesarp.py capture -i eth1 -ar -dr --blacklist 192.168.86.5
从下面的输出可以清楚看到哪些发送方受到一个或多个SNAC的影响以及受影响的地址。最后一列指示是否存在潜在的中间人(MITM)机会。eavesarp会检查给定发送方解析的PTR的FWD地址是否不同。如果是,则可能表明预期目标已移动到了新的FWD地址。在我们的攻击主机接口上应用别名,可以让我们将流量转发到预期目标,并在传输过程中捕获信息。
___ ___ __ _____ ___ ___ ________
/ -_) _ `/ |/ / -_|_-</ _ `/ __/ _ \
\__/\_,_/|___/\__/___/\_,_/_/ / .__/
-----------------------------/ /---
[LISTEN CAREFULLY] /_/
Capture interface: eth1
ARP resolution: enabled
DNS resolution: enabled
Requests analyzed: 55
SNAC 发送方 目标 ARP计数 失效状态 发送方PTR 目标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 可以接受SQLite数据库和PCAP文件进行分析。它会将提取的值输出到一个新的数据库文件中,以便进一步分析。有关此过程的更多信息,请参见 --help 标志,下面展示了基本执行方式。
sudo ./eavesarp.py analyze -sfs eavesarp.db -cp disable --blacklist 192.168.86.5 --csv-output-file eavesarp_analysis.db
SNAC 发送方 目标 ARP计数 失效状态 发送方PTR 目标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
...CSV输出如下所示...
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