无线安全将来会成为一个值得重视的领域,现在无线的普及大大的方便我们的生活,同时在带来的便利的同时也会给我带来新的威胁!下面我来通过cdlinux以及BT5来演示现在比较常见的无线攻防之战。
====================================攻====破解===========================================
我们都知道现在的个人无线局域网基本都会使用wpa或者wpa2加密方式,下面我们来说说两种对其进行测试的方法。第一种方法是pin穷破解(假如对方开启了QSS这个选项的话,并且信号不错的话,这个是90%能够破解的);第二种是抓握手包,然后用字典文件计算hash来匹配进行破解。所以一般首选的是pin穷破解
一、Pin穷破解
原理:8位0-9的数字的Pin码,第八位是由前七位的校验和得到的!也是说我们需要知道穷列举前七位。可是它验证机制是先验证前四位,再验证后四位。前四位正确与否,返回的信息都会不同,所以Pin穷破解先是穷列举前四位,共有10000种可能。然后确定后三位,1000种可能。一共11000种可能,按照一般pin的速度5s/pin。那就最长需要55000s,约等于15个小时。但现在一般会加了些防Pin手段,遇到这些只能换目标或者换成抓握手包了
我们的上一篇帖子是列出了BT5能够识别外置的usb无线网卡,而Pin穷破解的对网卡的限制又更为严格一点。首先来说说今天要用到
系统:cdlinux (一般是挑最新版本的那个比如这上面有一个2014.1.23号更新的又或者挑一个稳定版,假如对这个网站不放心的话,可以去官网下载)
软件:minidwep-gtk(其实里面起作用的是reaverv1.4)
一般会选择支持:Rtl8187L、Rtl3070L,Atheros9271芯片的无线网卡,对这些支持比较好!假如不是的话,就需要找相应的驱动程序了。
我们主要是在虚拟机里面使用CDlinux这个系统,所以我们最好使用的外置的无线网卡。当然你也可以把你的U盘做成启动盘,利用电脑自带的无线网卡。不过你的网卡列表芯片列表应该包含在之前BT5识别的系列中。
====================================网卡篇============================================
(1)在虚拟机中连接你的无线网卡,这个时候要注意以下几点
【1】请开启这个服务
【2】有时候,你的电脑某些USB接口可能不识别USB无线网卡的的USB接口,应该多尝试其它几个。一般是开启虚拟机再插入USB接口。我的电脑有几次就是某个usb2.0接口不识别网卡的接口,然后换了其它的就能识别了!所依这点请注意以下。
【3】有人提到一种方法,当你的外置网卡无法被虚拟机是别的时候可以尝试一下!就是创建虚拟机的时候先移除网络适配器,然后在你开启cdlinux系统或者安装了系统之后,再连接无线网卡!有些人尝试成功,连接的失败的童鞋可以试试。
======================================CDlinux操作篇======================================
下面来看一下我这里的操作的情况。
我们开启了cdlinux之后,连接无线网卡
(1)当usb网卡连接连接进入的时候,虚拟机右下方会多了这样一个图标
当你查看虚拟机上方的选项卡VM,里面的可移动设备可以看到新加入的usb网卡。
我们进入到虚拟机里面,我们可以打开这个miniwep-gtk软件
【1】假如我们的无线网卡可以识别的话,我们就能够进入这个软件,我们将会看到这个界面,在左上角是我们的无线网卡,芯片类型以及网卡驱动
假如识别不了网卡,当我们打开minidwep-gtk这个软件的时候,软件会提示“没有发现网卡”
【2】假如进入到软件中,我们先点击“扫描”,扫描的时候最好尝试两到三次[一般第一次是让网卡设置成监控模式,这时你用ifconfig命令时,你会发现多了一个mon0.第二次或者第三次扫描出来的结果才是进入监控模式扫描出来的正确结果]。下列是我这里扫描出来的结果。我们选择的列表中带有wps(这个开启了QSS),并且信号强度一般选择大于-75进行Pin穷破解。这里我选择第二个。但在第三步之前,我们应该先选择排序pin码,一般路由器以2开始的较多,所以一般排序可以使2345678910.
【3】我们现则右边竖列的"Reaver",点击它。然后弹出Reaver的参数选项,这里保持就好。
Reaver开始穷破解pin,按ctrl+c保存当前进度。这个时候一般耐心等待就好。假如信号较好,并且需要破解的路由并没有关闭的话。我们就偶尔看一下(先保存进度,然后再次进行扫描,查看目标路由是否还存在,不存在的话保存数据),Pin码这个主要把前四位测试出来就会突然跳到90%,所以不用太担心时间问题。
========================================pin码保存篇======================================
(1)一般在虚拟机里面,最简单的保存方法是就是建立快照或者挂起。
(2)还有的话就是连接U盘到虚拟机里面,将桌面上"Thunar temp"里面的AP's mac.wpc文件保存到U盘里(这里的AP’s mac.wpc是指你想破解的无线网mac地址为文件名,wpc为文件后缀名)
(3)第三种的话,就是你的虚拟机上网方式为NAT,这样我们能在网络邻居里面找到我们的cdlinux电脑,如图,我在网络这里找到我的cdlinux。这时候打开里面/tmp/minidwep/AP's mac.wpc文件,拷到我们自己的电脑就好。下次假如我们想恢复进度的时候,我们只需要点击一下排序方式,然后产生了AP's mac.wpc文件后,我们将我们之前放在U盘的或者物理机的wpc文件替换原来的wpc文件就好。
(4)第四种,一种是记下我们已经pin过的前四位,然后下次使用-p这个命令来恢复上次的Pin。又或者我们记下wpc文件前面的两行的数字。在上面原理当中,我们提到Pin码穷破解是分为三部分,第一部分是前四位(0000-9999),第二部分是后四位中的前三位(000-999),最后一位校验和是由前七位所确定。[在这里我们假设排序方式是(0123456789)这个则表示前四位穷列举是从0000到9999,后三位是000-999一直递增列举],wpc文件中第一行对应的数字为6,表示已前四位已经穷列举到0006;假如是56,则已经穷列举到0056.第二行则是后四位的前三位,我们需要记录下这七位,下次只需修改wpc文件为这几个数字就行。
下面看一下我这里的数据,我这里是排序方式是(2345678910,即从2000开始),可以看第一张图前四位对应的是2447,因为这里我是2000开始的,所以对应的wpc文件第一行的数字应该为447.我们可以看到正如我们所想
AP's mac.wpc文件的数值
=================================Pin码没有进度===========================================
有些时候,我们Pin穷破解时,会出现pin码徘徊在一个进度上。下面的方法除了mdk3测试过外,另外一个的真实性还没验证情况还没出现过。
(1)当我们进行破解时假如卡在某一个进度,这个时候先按ctrl+c保存进度,再重新点击reaver,在参数上填写“-a -s -vv”[注意这里是两个v]。原理时避免reaver在路由器返回确认信息之前跳过p某个pim。
(2)第二种是漏码的情况,这是一般来说,软件使用优化选项来提高速度,但是因为使用参数没有“-n”的问题
pin到 90.9%死循环,说明前四位已经pin完,但是没出;原因大概就是AP没发出确认信息,reaver就已经跳过了,从而错过了正确前四位的确认。
pin到 99.9%死循环,说明后四位的前三已经跑完,但是没出。原因同上
[还有经过测试发现,假如你使用不恰当的“-p”参数,也就是前四个数书你自己给定的,这样的情况下即使Pin到99.9%也会没有出现密码。因为你已经限定了前四位数]
这个时候应该在参数上加上“-n”,即"reaver -i mon0 -b MAC -a -n -v"就可以防止漏码了
(3)这个是我们pin一些质量或者信号品质不是很好的路由器时把路由器给pin死了。这个时候一般是使用mdk3发送大量伪造的连接,即洪水攻击以便让正常的客户端无法上网!一般的话就是ip冲突,数据没办法从网关转发到客户端。可以看到这个攻击是挺危险的也挺损的,所以非到迫不得已不要用这种方法。
一般来说,cdlinux以及bt5都集成了mdk3 v6这个小软件。一些版本的cdlinux可能没在开始菜单放着,你可以打开命令行终端,分别执行下列命令
#先使用ifconfig这个命令来查看无线网卡的代号 ifconfig airmon-ng start 无线网卡代号 #在使用mdk3之前记得把自己的网卡设置成监控模式 sudo mdk3 mon0 a -a MAC #第一个a表示的选用的模式,一般这个操作已经足够了
ATTENTION:注意一般不超过5分钟,不然你的电脑有可能卡死。其实一般30s左右就好了,这个测试过了。当30s后请按ctrl+c来中断操作,这个一般有客户端在线的时候,应该都会马上重启。
下面是别人翻译mdk3的其它模式
虚拟一个客户端:sudo mdk3 mon0 b -n 路由MAC地址 -c信道
让路由AP重启/重置:sudo mdk3 mon0 a -a 路由MAC地址
检查客户端是否隐藏并暴力PJ:sudo mdk3 mon0 p -e 路由MAC地址 -c 信道 -t 客户端地址 -f
提走连接路由所有客户端:sudo mdk3 mon0 d -n 路由MAC地址 -c 信道
杀死路由ap:sudo mdk3 mon0 m -t 路由MAC地址
启动最强力攻击:sudo mdk3 mon0 x -n 路由MAC地址 -t 客户端地址 -w加密类型
迷惑路由密码验证:sudmdk3 mon0 w -e 路由MAC地址 -c 信道
防止MAC地址过滤:sudomdk3 mon0 f -t 客户端地址 -m本机MAC地址
测试加密类型有无可能编程wep或不加密:sudo mdk3 mon0 g -t 路由MAC地址
更多的信息可以使用下列命令
sudo mdk3 --help #获得简易信息 sudo mdk3 --fullhelp #获得详细信息
补充:假如你想下载mdk3 v6请Click here
还有你的Pin假如不断失败的话,请先保存进度,再扫描一下AP。查看想要破解的路由是否还存在
===========================到此,一个简单的cdlinux的pin穷破解就介绍到这里================
后记:有时候使用虚拟机+cdlinux+无线网卡的时候,使用水滴这个软件时会出现扫描结果不准确或者有挺多的essid没有出现列表当中,这个不得不说是一个小遗憾,操作简便的同时结果会出现较大的误差,虽然水滴很经典但是还是多练习使用打气筒,打气筒显示的结果比水滴的好多了!。我现在一般使用BT5,这个比水滴更准确,虽然没有图形界面,但是熟悉就好很多了。
下面先来对比一下信号扫描吧!
【1】水滴的
打气筒的
【2】其实打气筒的操作也十分简单,无线网卡能识别的话,请点击无线网卡
对应的方框里面,让网卡成为监控模式。如图Message:这里已经将wlan0变为mon0,之后点击Next,请点击“Scan for Wps ... ”这个,然后就进入扫描模式了
【3】选择一个信号较好的AP,然后选择Next,然后配置可以如下图
【4】点击Run,然后Reaver开始工作了。不过这个打气筒不能排序,建议先用水滴软件对
pin码进行排序,再来破解。其实水滴软件的排序是修改AP's MAC.wpc这个文件的Pin码的排列顺序,比如正常是0000-9999,我们可以将0000-1999放到最后面。然后pin码开始就会从2000开始
===================================路由器防御===========================================
(1)对于Pin破解这个最安全的莫过于关闭QSS这个选项
这样的话,pin穷破解这种方法相当于废了
(2)对于洪水攻击这个,现在一般的路由器里面都有一个防洪水攻击阀值的设定,假如发包率达到了阀值。就会丢弃某个ip的数据包!这个可以有效地防止上面的mdk3 v6的洪水攻击,我们要进入到这个页面设置阀值,不过阀值这个最好是根据你个人所在网络接发数据包的多少来衡量,也可以根据下列推荐值[不过假如是根据推荐来的话,有可能防御效果没那么明显!这还得再根据流量统计的数据来分析]
[1]打开路由界面,找到系统工具那里的流量统计,这个是为我们设定阀值做准备
[2] 打开安全设置里面的高级安全设置,进行下列设置。不过阀值这个最好根据自己个人环境而定,比如会使用BT,视频等,玩某些游戏啥的都会使得你的数据包变大!比如我这里前面总流量是路由器记录下每个主机与路由器交换的总数据包数目。后面的Tx才是我们关注的地方,检测一下自己平常正常使用时候Tx数据包总数,然后设定阀值为(1+1/3)Tx。不过具体还是根据自己的经验和环境设定
下面这个推荐配置是来自别人的经验分析,不过你们都可以看一下我这里接受的数据包书目以及链接上的,可以发现我们这个推荐设置还是不错《传送门》
二、抓握手包。然后进行字典破解
一般来说,假如路由器关闭了QSS,我们无法使用Pin穷破解,那么我们只好使用抓包来进行无线破解了。不过抓握手包跑字典也有一些条件
【1】有客户端在线
【2】有一个较为全面的字典的,不过一般来说,先是自己根据获得的信息自己制造字典文件
(1)这里还是以cdlinux来一次简单的抓取握手包
(2)抓取到握手包,我们并不在虚拟机里面进行破解,而是选择在物理机上使用ESWA(一个支持GPU破解的跑包软件)。因而当握手包出现的时候,我们应该将握手包用上面我介绍的方法将其放回物理机上
======================================BT5篇操作篇========================================
[1]BT5环境下的Pin穷破解
这个可以在虚拟机或者做成U盘启动盘来运行,我这里还是虚拟机上的操作。
所以这上面的前置操作和上面的基本一样
(1)确定USB网卡连接成功
(2)以下的流程分为:
【1】开启监控模式
【2】扫描开启QSS的路由器,并且选定信号好的路由器。点击进行破解
【3】遇到问题的时候,其实基本和CDlinux解决方法的一样,在参数上变化。当遇到Pin死路由的时候,还是利用mdk3 v6进行洪水攻击。因而水滴软件以及打气筒的核心软件都是reaver 1.4,所以它们的效果基本一样
对应BT5的命令如下
#查看一下你的无线网卡的代号 ifconfig #开启监控模式,我这里的无线网卡代号是wlan0 airmon-ng strat wlan0 #进行wps扫描,显示列表上的都会开启了wps,mon0这个是你开启监控模式后,软件用来识别你开启监控模式的无线网卡,还是可以用ifconfig这个来查看新增加的网卡 wash -i mon0 #选择一个信号最好的,进行破解 reaver -i mon0 -b AP's mac -c 6 -a -v -l 300 -x 20 -r 100:10 -n -p 2000 #这里“-c”参数对应的是AP的信道(channal),“-p 2000”表示pin码从2000开始
下面以图片对应上面的操作与命令。
【1】
【2】
【3】
[2]BT5环境下的抓握手包
还是按照上面的先来说一下流程,
【1】还是开启监控模式,假如开启的话就不用了
【2】使用软件扫描AP,选择信号较好的一个并且有客户端在线(客户端在线这个更为重要)
【3】开启抓握手包,假如握手包增加比较缓慢,可以使用接触认证攻击,让客户端掉线,重现连接AP握手连接
【4】转移握手包到物理机上,使用ESWA进行字典破解
命令分别如下
airmon-ng start wlan0 #进行扫描 airodump-ng mon0 #选择好AP,抓握手包 airodump-ng -w xxx -channal y --bssid AP's MAC mon0 #进行解除认证攻击,加快握手包的获取 aireplay-ng -0 10 -a AP's MAC -c Client's MAC mon0
图片如下
【1】扫描
【2】抓包
【3】解除认证攻击,10次就够了
【4】其实你接触认证后,在等待5分钟左右就足够了,你可以看到我这里是没有提示说有握手包
【5】但是我用EWSA这个软件检测的时候可以发现到握手包
这个GPU的选项,这个要根据个人显卡是否支持,使用EWSA时候注意散热
这里我们选择字典穷列举攻击
在程序运行的时候,注意GPU温度,这本身就对机器有点损伤。千万要注意
===================================路由器防御篇==========================================
【1】对于一般抓取握手包这种,我们首先可以做的是关闭SSID广播,这种设置可让即使知道密码的人也可能无法连接上无线网,因为连接的时候我们需要填写SSID,这个我们还可已设置成中文的,因为编码方式不同,即使找出来也可能是乱码
【2】对MAC地址进行过滤,这个可以有效阻挡非正常用户。并且进行ip与mac绑定
【3】可以抽空看一下dhcp服务器----客户端列表,以及系统日志,限制非正常用户
这个是系统工具里面的系统日志记录,可以清楚看到对应的mac以及ip
【4】限制dhcp地址池,地址数目为连接用户的数目
==================================路由器登录设置攻防=====================================
一般获得路由密码还不够,假如我们还想进行进一步的提升自己的权限,我们需要把路由设置的账号和密码都获取。之后客户端的数据就掌握在我们手上
(1)下面我们介绍一种破解工具,那边是webcrack。这个经常用来破解无线路由设置的账号和密码
【1】选择用户名文件,密码文件,输入URL为网关地址,点击开始
【2】之后就是等着它尝试所有账号以及密码
程序运行时的界面
发现了密码以及账号
(2)对于修改默认端口这类,我们可以利用扫描工具对网关进行扫描,这里用的是zenmap。可以看到1234这个端口对应路由设置界面
防御:对于防御这个我们有几点可以做的
(1)修改路由设置登录的默认端口,原本为80,我们可以修改为其他的端口
比如我这里设置成1234.设置完之后重启路由,你会发现输入网关地址时访问不了这个路由设置界面,需要加上端口号。
(2)就是修改我们默认路由设置账号和密码,路由密码应该不要与无线密码有交集。
(3)就是修改我们路由器的网段,并且关闭dhcp服务器。这样知道密码,不知道网段也只能手工测试。
EWSA破解版:地址《传送门》
webcrack:传送门
Zenmap:传送门