1.ARP是什么
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,局域网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。
通俗点说,在局域网中通信时使用的是MAC地址,而不是常见的IP地址。所以在局域网的两台主机间通信时,必须要知道对方的MAC地址,这就是ARP协议要做的事:将IP地址转换为MAC地址。
2.ARP欺骗是什么
ARP欺骗(ARP spoofing),又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。
ARP欺骗分类
- 1.主机欺骗:欺骗对象为主机。
- 2.网关欺骗:欺骗对象为网关,可以获得其他主机的进流量。
ARP攻击的危害
1.造成局域网中的其他主机断网。
2.劫持局域网中其他主机或网关的流量,获取敏感信息等。
双向欺骗与单向欺骗的区别
-
单向欺骗:是指欺骗网关,分别有三个机器 A(网关) B(server) C(server) 。A要跟C正常通讯。B给A说我才是C,那么A就把数据就给C了,此时A就把原本给C的数据给了B了,A修改了本地的缓存表,但是C跟A的通讯还是正常的。只是A跟C的通讯不正常。
双向欺骗:是欺骗网关跟被攻击的两个机器,A(网关) B(server) C(server),A要跟C正常通讯.B对A说我是C,B对C说我是A,那么这样的情况下A跟C的ARP缓存表全部修改了,发送的数据全部发送到B那里去了。
3.复现
使用的工具:
arpspoof
wireshark
实现断网
查看基本信息:
靶机 win7
默认网关:192.168.10.2
ip地址:192.168.10.130

攻击机:kali2022
ip地址:192.168.10.129

利用命令查看存活主机
fping -g 192.168.10.0/24

发现靶机存活
命令格式:
arpspoof -i 网卡 -t 目标Ip 网关
其中,-i后面的参数是网卡名称,-t后面的参数是目的主机和网关,截取目标的主机发往网关的数据包
kali会不断向被攻击机发送应答包,被攻击机的ARP缓存表中,原网关的MAC地址就被篡改为攻击机的MAC地址。kali默认不转发数据,被攻击机达到断网效果。
arpspoof -i eth0 -t 192.168.10.130 192.168.10.2

发现靶机被断网了

ctrl+c 停止后 又可以访问网络了

限制网速:
要实现限制网速,kali要先开启路由转发功能。
cat /proc/sys/net/ipv4/ip_forward
回显0表示没开启流量转发↓,显示1表示开启了。

开启kali流量转发:
echo 1 > /proc/sys/net/ipv4/ip_forward

限制网速200ms延时
tc qdisc add dev eth0 root netem delay 200ms
参数:
qdisc:排队规则
add:添加
dev:设备(网卡)
root:root用户身份
netem delay:设置网络延时时间
设置200ms延时

可以发现靶机出现高延时

取消200ms延时

可以发现靶机恢复正常

嗅探流量:
需要让被攻击机通过攻击机进行上网,所以开启kali的流量转发。
echo 1 > /proc/sys/net/ipv4/ip_forward;开启流量转发。
cat /proc/sys/net/ipv4/ip_forward ;检查是否开启了。

这个时候win7会经过kali上网,kali也就可以抓取win7数据了。
win7在网上浏览内容时,使用wireshark就可以抓到很多流量包。

总结
arp欺骗的复现差不多就结束了 感觉还是有点一知半解 也想到了其他的问题 比如arp欺骗在现实中的利用 在现实中断网等操作 作为渗透的一些攻击 windows的系统漏洞是不是可以更深一步的渗透 例如永恒之蓝漏洞 是不是可以穿过防火墙再进行攻击 因为之前学习的内容也是比较浅 只是去复现 看原理 没有想过这种的问题 在实战中也不可能关掉防火墙让你去攻击 所以还是要进一步的思考关于渗透的攻击方式以及怎么去攻击 也是我下一步要学习的东西 过waf去渗透
参考文章: