基于linux服务器的hashcat握手包破解
前言:为什么要使用Linux服务器?
当下对于WiFi密码的破解,主流的两种手段是握手包破解和WPS破解,而WPS破解却仅限于无线路由器。如果你到了一条陌生的街道或者办公场所,大部分情况下,手机热点是会比无线路由器信号要多的。所以握手包破解还是更加普适。
Hashcat作为最快的密码恢复工具之一,能够支持GPU加速计算,相关的测试表明,利用GPU计算密码是同层次CPU计算速度的几百倍左右。这个速度就不用我说了。但是,作为一名贫穷的学生党,买一款好的显卡来用Hashcat是不现实的好吧。幸运的是,最近搞了个项目做深度学习,本人成功的接触到了云服务器这个领域,实测发现,云服务器真的是又便宜又快。我用的是AutoDL这个平台:(不是来推销的,但真的很便宜。)
在这个大前提下,有个好基友把他的手机热点当靶机让我破解,于是兴趣就来了,咱话也不多说,直接开干。
一、握手包的抓取
关于握手包的抓取,我是在Kali系统里利用Aircrack进行抓取的,在这里就不做过多的阐述了,大家可以参考这位兄台的博客。基本上按照流程来,都没啥问题。这是我抓取到的握手包。
二、握手包格式转换(cap to hc22000)
现在很多关于Hashcat的博客关于转换的描述都说是cap转换为hccap格式,但是这种格式其实已经不适用于现在的Hashcat版本了,在Hashcat 6.0版本之后,-m 2500 和 -m 16800 已经被更改为 -m 22000 了,所以基于这个原因,现在握手包转换之后都是hc22000格式了,格式转换可以在Hashcat官网进行转换,路径如下:转换结果如下
三、Linux服务器的环境配置
在云服务器平台上,我创建了一个用于Hashcat计算的实例:一张2080ti的卡,很普通的配置,但是也比我笔记本的GTX1650好很多。可以利用 uname -a
命令来查看服务器的系统,它是Ubuntu。在服务器上的apt版本都是比较低的了,所以想要顺利的安装Hashcat,就必须要对apt和sudo的列表进行更新,否则就会报错,一般都是这种错误:unable to locate package。基本步骤如下:
第一步,apt更新:apt-get update
第二步,sudo版本更新:sudo apt-get upgrade
第三步、安装Hashcat:apt install hashcat
配好服务器环境之后,可以调用Hashcat里面的命令来查看你的显卡和对应的驱动是否支持Hash计算,输入命令来查看服务器配置,这里可以看到,我的显卡是2080ti的,显存是11GB,Device编号是#1,在计算的时候如果不指定,Hashcat会优先选择GPU来计算。hashcat -I
四、利用Hashcat进行哈希破解
Hashcat的使用还是比较简单的,在这里做一点简单的介绍。
-m
破解模式,握手包现在是22000,以前是2500-a
破解方法-o
结果输出路径--custom-charset1
自由组合模式,这里可以自定义4种范围--increment-min
最少位数--increment-max
最大位数
这里只是列出了一些常用的方法,方便我自己以后查阅,有个大佬关于Hashcat的用法写得非常全,链接如下:#!
个人认为这位大佬写得非常好,Hashcat不仅仅是只用于握手包破解,在其他的密码破解方面也非常强大。在这里我输入如下命令进行Hash破解:hashcat -a 3 -m 22000 29955_1649255867.hc22000 -o result.txt --custom-charset1 chegakun0123456789 ?1?1?1?1?1?1?1?1
-a 3
代表组合破解-m 22000
代表握手包破解模式-o
表示结果输出路径--custom-charset1
我这里相当于是自建了一个组合,因为我有先验知识(我的好基友告诉我他的密码是8位数字和字母组合,我猜测字母是他的姓名里边的字母)?1?1?1?1?1?1?1?1
这个的意思就是八位数,每位数的范围是在--custom-charset1
集合里面,并且根据需要,我们还可以创作更多的组合集,如--custom-charset2
、3
、4
等等
在云服务中运行的结果如下
这个就是