一、ARP概念
1、ARP是什么?
-
地址解析协议 ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
-
主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
2、ARP协议的基本功能
- 基本功能:通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行。
- 局限性:仅能在局域网进行。
- 作用:IP——>ARP——>MAC
3、ARP缓存表
- ARP缓存表是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址——>MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。
- 每一个以太网或令牌环网络适配器都有自己单独的表。当地址解析协议被询问一个已知IP地址节点的MAC地址时,先在ARP缓存中查看,若存在,就直接返回与之对应的MAC地址,若不存在,才发送ARP请求向局域网查询。
3.1、查看本机IP地址和MAC地址命令
Windows:ipconfig /all
Linux:ifconfig
3.2、查看ARP表的命令
arp -a或arp –g
4、什么是ARP spoofing?
- 同时对局域网内的一台主机和网关进行ARP欺骗,更改这台主机和网关的ARP缓存表。通俗易懂就是,局域网有主机A和网关B,黑客C来了。黑客C欺骗主机A说:我是网关B。接着又欺骗网关B说:我是主机A。那么主机A原本发送到网关B的信息都全部发向了黑客C,同理网关B原本发给主机A的信息都全部发给了黑客C。这就是ARP欺骗。
二、ARP断网复现
1、环境
受害者:Windows 10,IP:192.168.50.244/24,MAC:00-0C-29-9F-6C-7F;
攻击者:Kali Linux,IP:192.168.50.86/24,MAC:00:0c:29:f4:02:e8;
网关:192.168.50.1,MAC:58-11-22-16-28-f0
2、使用工具:
Kali Linux 中的Arpspoof
关于该工具的安装不多说,直接可参考这篇文章:link
3、开始复现
3.1、攻击者扫描网络存活主机
fping -g 192.168.50.0/24
3.2、查看ARP路由表
arp -a
Kali Linux查看
Windows10查看。
3.3、启用arpspoof工具
攻击者启用arpspoof开始攻击目标(这一步也可以使用ettercap来实现)
格式:arpspoof –i 网卡 -t 目标IP 网关
受害者端此时查看ARP表,会发现网关的MAC地址已经改变
此时受害者是无法上网的,尝试ping百度,ping不通
这时候就完成了ARP断网了
3.4、如果想让目标主机恢复
只需要把攻击者端的攻击停止下来,受害者就能够再次上网了
三、ARP欺骗复现
环境和使用工具跟ARP断网攻击一样
1、开启流量转发
echo 1 > /proc/sys/net/ipv4/ip_forward
修改/proc/sys/net/ipv4/ip_forward文件值,默认值是0,代表流量转发功能关闭,要改为1,代表流量转发功能打开。
2、攻击者启用arpspoof开始攻击目标
格式:arpspoof –i 网卡 -t 目标IP 网关
arpspoof -i eth0 -t 192.168.50.244 192.168.50.1
3、查看受害者端ARP表,以及网络情况
ARP表的网关MAC值被修改,但还是能上网。
四、实现ARP欺骗后操作
1、内网截获图片
可以捕获受害者正在浏览的图片(只能爬取HTTP连接的图片,爬取不了HTTPS的图片)
命令行输入:driftnet –i eth0
受害者主机浏览网页
攻击者主机捕获成功
2、综合应用-HTTP账户密码获取
使用ettercap:一个基于ARP地址欺骗方式的网络嗅探工具,主要适用于交换局域网络。
命令:ettercap -Tq -i eth0
-Tq 启动文本模式 q 安静模式
-i 网卡
受害者开一个网页测试,输入账号密码,账号:admin123年后,密码:123456
返回攻击者主机,捕获成功,其中中文的编码方式是URL编码。
五、拓展:复现对HTTPS进行ARP欺骗(老方法,不好用)
1、修改 etc/Ettercap/etter.conf 内容
2、然后开启 sslstrip 把 https 转化成 http
sslstrip -a -f -k
3、然后重复上面ARP欺骗的过程
开启流量转发:echo 1 > /proc/sys/net/ipv4/ip_forward
进行ARP欺骗:arpspoof -i eth0 -t 192.168.50.244 192.168.50.1
开启嗅探:ettercap -Tq -i eth0
4、结语
接着在受害者端尝试打开https的网站,发现被浏览器强制拦截了,Windows 10的浏览器不行,就尝试在Windows 7操作,发现,Windows 7只有使用落户的IE浏览器才成功打开https网站。这对我这种初入门的菜鸟也算是成功了吧?
要是某位大神有对Windows 10的浏览器成功ARP欺骗HTTPS网站,跪求告知。