* 本文原创作者:icecolor不疯不魔不成活,本文属FreeBuf原创奖励计划,未经许可禁止转载
有兴趣的以结合下我上次写的那篇看看,乌云drops升级,我把原文搞成PDF了:
企业级无线渗透与无线数据浅析
1.每个协议都有不同的工作频段,如802.11b/g标准工作在2.4G频段
2.一共14个子信道,但是中国就13个。海外地区略有差距
3.要是设备支持整个频段有(1、6、11)为互不干扰信道还有(2、7、12)(3、8、13)(4,9,14)
所以我们在使用路由器的时候,在基础设置的时候总会默认选择的是这几个信道之一。
大家有必要来了解一下协议和数据包的头。Wlan的通信在帧,下图是结构。当
然了。说句实话,一说到某些技术底层的东西时候,特别是这种相对没基础的人看一些底层图示的时候,大多人选择跳过。其实我觉得,多少看看,看不懂查一查不就懂了么。没有什么再比原理重要的了,除非你不想进步。
数据包结构:
框架控制结构
WEP是最初开发的保密协议,叫“有线等效保密”它使用了“RC4的RSA”算法,它的加密过程中有两个部分比较重要,一部分是24位的初始化向量IV,另一部分就是用户密钥。它的漏洞出现在通过抓包注入,只要获取足够多的数据向量,就可以破解。Wep的加密认证有:自动、开放、共享密钥三种。现在基本没人用了。
自动就是自动协商选择开放或者是共享。
1.开放认证:整个认证过程是以明文密码传输,适合要求安全性低的场所。
2.共享密钥认证:认证可选,过程执行wep认证。就是四次握手的过程。
WPA用户认证是使用的802.1X和EAP实现的。它考虑到了个人与企业的需要。WPA.是TKIP协议+MIC来进行完整性检查。WPA2是WPA的第二个版本,WPA2采用AES-CCMP的机制。
应用模式 | WPA | WAP2 |
---|---|---|
企业应用模式 | 身份认证:IEEE 802.1X/EAP | 身份认证:IEEE 802.1X/EAP |
加密:TKIP/MIC | 加密:AES-CCMP | |
SOHO/个人模式 | 身份认证:PSK | 身份认证:PSK |
加密:TKIP/MIC | 加密:AES-CCMP |
简单来讲就是一个路由器的简单安全设置,用户输入一个pin,就能完成连接。获得WPA2的加密防护。因为它的验证机制有问题,所以可以暴力破解出来pin。
国产加密,因为一直受Wifi联盟的封锁,所以导致一直没落.
众所周知,Aircrack-ng这是一个最经典的无线破解工具,也是一个套件。其实很多人认为它功能只有扫描破解,你要是这么想,就大错特错了,它相当于web界的sqlmap。
Aircrack-ng具体什么都与什么套件大家有兴趣自己去看文档。它是集扫描、破解、解密、fake AP 等等功能的套件。我着重说一下它的airodump-ng组件。下面我跟大家分享几个它的使用技巧。
我给大家详细解释一下:
CH[X] 扫描的信道号,因为airodump是跳频扫描的,会一直扫描13个信道。后面是你的扫描时间和你本地时间。
BSSID:路由器MAC地址
PWR:网卡的信号水平,新号越好数值越大,但是例如第一个出现‘-1’说明该客户端不在我的监听范围内。
Beacons:就是Beacon数据的速率
#Date:被捕获的数据分组数量
#/S :十秒内的捕获数据分组量
CH:信道号,是从beacon包里面获取的(在企业无线渗透中提到过beacon内容)
MB:是一直支持速率吧,关于802.11标准的,不过一般是用来看是否开启wps的,一般情况下54e.后面有.的都是开启的,但是也不完全。
ENC:(Encryption )所使用的加密算法体系。Open=无加密,WPA=WPA/WPA2=WPA2
CIPHER:加密算法,如CCMP,TKIP….
Auth:(Authentiction)认证协议:如:PSK:(PWA/WPA2的预共享密钥)或是OPEN(WEP开放)MGT(则是802.1x、eap、radius)因为MGT是独立认证服务器
ESSID:就是SSID
Station:客户端MAC
Notassociated:就是证明客户端没跟AP连上。Associated认证在上一篇文章提到过。
Lost:是10秒丢包数据
Rate:传输速率
Probe:就是一个client试图去连目标AP但没连上
Frame:通信帧数
这些只是扫描信息的分析,其他参数大家自己去看下工具文档。
上图这是airodump-ng是使用文档,例如其中的 ‘- -bssid’命令:就是针对扫描一条热点的客户端以及热点
例如我们在攻击某个指定AP时,在airodump-ng扫描会出现多个目标。我们可以用
airodump-ng --bssid XX:XX:XX:XX:XX:XX interface
’来扫描
也可以用Kismet:
Kismet很强大,如果Aircrack-ng 能比喻成sqlmap的话,那Kismet就能算是Nmap了。它的功能大家基本看文档就能解决。没什么太难的地方,用Kismet直接可以扫描出被隐藏的SSID和client的型号。
About Wlan frames
类型和字段定义了无线网络的三种类型,分别是
Management frames
它的主要作用是维护接入点和无线客户端之间的通信,管理该框架拥有以下子类型:
Authentication
De-authentication
Association Request
Association Response
Reassociation Request
Reassociation Response
Disassociation
Beacon
Probe Request
Probe Response
如果熟悉802.11的人,看见这些应该不陌生,像这些数据以及认证方式以及请求都是在Management frames中。
Control frames
控制帧呢是负责客户端和接入点的数据交换,类型为:
Request to Send (RTS) Clear to Send (CTS) Acknowledgement (ACK)
这些数据可以在一些报文请求中看到。
Data frames
这个框架是客户端和无线接入点之间传输数据的,没有子类型。
Ediit|preferences,选择IEEE802.11 协议。加密类型选择WPA-Pwd。格式为:password:BSSID。要是想通过更深入的渗透,数据解析肯定要有的,例如我们想进行一些更敏感信息的接触与过滤。如果你已经攻入被指定的AP,想分析其数据的话,可以在wireshark里设置,WPA为例:
Ediit|preferences,选择IEEE802.11 协议。加密类型选择WPA-Pwd。格式为:Pass:Bssid。
之后你就可以捕捉该AP的数据包:
这是我们在捕捉的无线数据信息,我们可以看数据包不同的标题字段,和上面说的那些框架类型与类型、子类型关联一下。
举几个常用的过滤信息,剩下的过滤语句类型我给大家放一个PDF,里面很全,大家自己去下载读一读。
http://www.willhackforsushi.com/papers/80211_Pocket_Reference_Guide.pdf
例如查看数据包里面的所有管理帧:
查看控制帧:
还有一种组合的:
这是查看管理帧中的信标帧,我觉得只要不傻,都能看懂为什么这么写。
例如我要想捕捉一些注入数据包,那我可以用一下aireplay-ng 发包自己过滤下看看。
简单举几个例子,剩下的过滤条件大家去看我给的那个文档。
一款俄罗斯的破解工具。Win平台的。
破解速度要看GPU。一般都用这个吧。
一个密码创建工具,我们可以对目标AP踩点渗透的时候,搜集一些信息之后生成自己的字典,大大减少我们的时间,也可以结合Aircrack-ng 一起使用:
crunch 8 8 | aircrack-ng -e [ESSID] -w – [file path to the .cap file]
一个彩虹表创建工具:
里面包括:rtgen rtsot rcrack三个工具进行排序生成。
之后可以选用Cowpatty或者Pyrit加载Hash Table进行破解;
重点说下pyrit,它的破解速度很厉害,但是很伤GPU。 它里面有一些比较犀利的模块。它可以启用GPU加速,大概可以加速百倍以上!
从网友那里盗个图,它这个是安装GPU驱动之后结合Copatty的破解速度。电脑配置并不是很高。当然了,这个跟自己的HashTable有关系,也跟握手包的AP数量有关系,越多相对来说越慢。但是,咱们家里的电脑I7, 8G内存,跑个3000万/S基本不成问题。再多说一句,虚拟机里是不能用的,只有独显可以,你可以自己电脑就装个KALI。
WPS漏洞呢,是可以计算出pin码。很多人都知道Reaver这个工具:
https://github.com/t6x/reaver-wps-fork-t6x
开发文档上有它的详细使用方法,但是,参数要随着环境的不同而变动,我以前总结过一次针对各种情况下的参数设置,很可惜,时间久了找不到了,只有一点不全的。
http://pan.baidu.com/s/1bpHqc83
还有一个叫Bully的 ,个人认为强于reaver。‘水滴’的gui工具就是就是基于它写的。Revaer,Bully等工具是在线破解的,所以说,它有时候可能会造成路由器锁定,这时候就需要我们组合参数了。
https://github.com/wiire/pixiewps
这个工具是离线破解,它是根据一些路由器芯片算法出现了漏洞;
这是一些已知存在漏洞的设备列表,我放个完整的:
https://docs.google.com/spreadsheets/d/1tSlbqVQ59kGn8hgmwcPTHUECQ3o9YhXR91A_p7Nnj5Y/edit?pref=2&pli=1#gid=2048815923
当然,并不是百分百的秒破。只是固件中存在缺陷的才可以。
伪AP呢现在是运用很广的一种攻击,你连上了黑客的伪AP后,它可以对你进行一系列的劫持,中间人攻击等。现在的好多无线工具组都出了Fake AP的功能。
这是一组通过Easy-Creds 的Fake AP模式进行的无线伪造。可以劫持个邮箱帐号,也可以劫持一些流量图片。我记得以前猪猪侠还放过几个github。当时留心记了,但是一直没看,大家看看愿意研究就研究下,大同小异:
https://github.com/DanMcInerney/wifijammer
https://github.com/DanMcInerney/LANs.py
https://github.com/DanMcInerney/fakeAP
关于隐藏SSID这个设置呢,其实很简单的,最初设置这个功能的原因我觉得是把它作为一个安全设置来考虑的,但是现在看来,我觉得把它这个设置更像个骗孩子的。
图中扫描的就是隐藏的ssid。发现SSID有好多种办法,举个最简单的例子:
Kismet可以直接扫出来。这个隐藏SSID的发现呢,其实可以通过一个合法的客户端与接入点连接,之后会产生探针和响应数据,这些数据里面呢,是包含SSID的!所以说,也有的方法就是通过Deauth Attack就能发现。
MAC地址过滤呢,一般就两个选项:一个是只禁止,一个是只允许。
基本上屏蔽了的,抓个包看下就知道了:
这就是一个被过滤的MAC认证过程,失败了。
但是呢,我们可以通过更改我们的MAC地址来绕过这个机制,我们可以用airodump-ng 来扫一下看看有那些客户端连上了该AP。
上面我提到过一个airodump-ng的指定AP扫描:
之后用
macchanger –m STA MAC interface
修改下白名单的MAC就可以了。
——————————————————————————————————————————————————————–
本来写了好多,很详细,大概有将近2万多字的个人无线渗透、包括最详细的无线数据分析方法,各种无线攻击技巧、还有一些国外的玩法。放暑假就开始写了,将近2个月。因为电脑两个月一直没关过,很卡,顺便格盘做个系统。把文档以及资料转到U盘里,U盘在钥匙链上,带着打球去了。钥匙丢了….
前天鼓起勇气想重写,但一想起这件事真的无力,也就随便写了…..本来名字都想好了叫:《个人无线渗透指南》。现在叫《快速读懂无线安全》
* 本文原创作者:icecolor不疯不魔不成活,本文属FreeBuf原创奖励计划,未经许可禁止转载