0x00 工具简介
arpspoof是一款进行arp欺骗的工具,攻击者通过毒化受害者arp缓存,将网关mac替换为攻击者mac,然后攻击者可截获受害者发送和收到的数据包,可获取受害者账户、密码等相关敏感信息。
0x01 arpspoof 工作原理简介
关于arp的工作原理,我们在前面的文章已经介绍过了。
arp工作原理剖析
lexsaints,公众号:蜗牛Linuxarp工作原理剖析
根据arp的工作原理,我们知道,PC或手机端需要通过arp缓存中IP和Mac地址的对应关系,来确定谁是网关?然后将数据包发送给网关,然后由网关将请求的数据转发到互联网。而确定IP和Mac对应关系的arp请求包是在整个局域网内进行广播的,所以,kali就有可以通过响应arp包来把自己伪装成网关。
arpspoof就是这样一个工具,在局域网中通过响应指定客户端的arp包来把自己伪装成网关,从而截获靶机的请求信息。
0x02 安装及使用
1、一般情况下,kali、parrot等渗透os都是集成了arpspoof的,如果你的系统没有安装的话,可以使用命令手动安装。
安装apt install arpspoof #安装arpspoof
2、相关语法
语法arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host
参数-i interface 指定要使用的接口。-c own|host|both 指定范围own|host|both(自己|主机|两者)-t target 指定一台特定主机进行ARP中毒(如果未指定,则为LAN上的所有主机)-r 毒害两个主机(主机和目标)以捕获两个方向的流量。(仅对-t有效)host 指定您希望拦截数据包的host(通常是本地网关)
示例 arpspoof -i eth0 -t 192.168.1.100 192.168.1.1 # eth0为攻击者使用的网卡 # 192.168.1.100为攻击目标的IP # 192.168.1.1为攻击目标的网关
0x03 攻击流程演示
1、环境配置
靶机 :192.168.107.185 / windows7
网关 :192.168.107.244/ Mac地址 f0 - - - - 33
攻击者:192.168.107.109 / Mac地址 00-0c-29-71-2d-1b
在靶机端,我们可以看到arp缓存中,网关是192.168.107.244,Mac地址指向f0 - - - -33,我们需要让靶机认为网关是攻击者的Mac 00-0c-29-71-2d-1b
2、攻击者开始伪装
root@kali:/# arpspoof -i eth0 -t 192.168.107.185 192.168.107.244
# 192.168.107.185为靶机地址
# 192.168.107.244为网关地址
3、开始攻击
4、查看靶机的arp缓存
arp -a | findstr 244 #查看包含244地址的arp信息
可以看到,网关192.168.107.244的Mac地址已经指向了kali的Mac地址,欺骗靶机成功,这样靶机所有发送到网关的数据包(请求信息,用户名 密码等等)都会通过发送给kali
所以,kali还需要扮演网关的角色,将数据包转发到互联网上去,否则靶机就无法正常上网,靶机就能感知到网络出问题了。
5、kali开启转发功能
#开启数据转发功能root@kali:/# echo 1 > /proc/sys/net/ipv4/ip_forward
开启转发功能后,测试网络搜索正常。
0x04 截取靶机上网信息
1、使用wireshark抓包工具来截取数据包
#wireshark过滤数据包,来源和目的地是靶机的数据包ip.src==192.168.107.185||ip.dst==192.168.107.185