- A+
IP:172.20.150.1 mac:24050FCE53
靶机(手机):
IP:172.20.150.20 mac:000822D806D2
攻击主机(虚拟机):
IP:172.20.150.2 mac:6C40089A1F16
Wifi接入点(360免费wifi):
BSSID: 24050FCE53(就是网关的mac),SSID:private(wifi名称)
攻击场景:
攻击主机利用Cain对网关和靶机进行双向Arp欺骗。
下图展示靶机的路由表情况:
注:
Destination,Gateway,Mask均采用逆向十六进制表示法,比如:019614AC,其实表示的是AC:14:96:01,转换为十进制就是:172.20.150.1
Destination,路由的目标网段,会和Mask进行运算求得网段,运算结果是00000000表示所有网段,上图的第一条记录表示:所有网段的数据的网关是172.20.150.1,由wlan0网卡发出。
BSSID:BasicServiceSetIdentifier(基本服务单元标识符),
下图展示靶机的BSSID和SSID情况:
图中可以看出,BSSID为24:05:0f:0f:ce:53,SSID为:private
用户在使用手机连接wifi时,通常是搜索wifi名称,输入密码,然后连接上网,很少有情况会需要自己再去配置网关,流量也仅仅是和网关在交换。因此,用户默认的网关就是wifi接入点,于是wifi的BSSID和用户的网关mac将是同一个,基于此有了如下arp检测原理:
2. 通过route表信息获取全网段路由对应的网关IP
3. 通过arp表,查询此网关IP对应Mac(mac2)
如果mac1和mac2相同,则表示没有arp攻击,如果不相同(mac2是arp欺骗引入的),则arp攻击正在发生。
衍生:如果用户配置了网关,也就是route记录的IP和BSSID将没有任何关系,根据arp发生并不会修改网关ip,可以不断监听arp缓存表中网关IP对应的mac是否在变化,变化则表示arp正在发生或者arp攻击结束,可以结合别的手段,比如长时间统计来确定正确的网关IP和Mac,当arp表中IP发生变化,则检测arp攻击发生。
本文通过逆向wifi保护令的原理分析得出,wifi保护令能准确检测arp发生,wifi保护令一些技术细节如下:
1. 5s循环监听路由表和arp的变化,通过上述的原理来检测arp欺骗
2. Arp发生后,给予用户如下提示:
b) 响铃
c) 断开当前连接wifi
d) 状态栏提示
e) 开启Activity,显示攻击发生
apk截图:
arp原理介绍:
AC地址表、ARP缓存表以及路由表:
arp命令:
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫