基于linux服务器的hashcat握手包破解
目錄
- 前言:為什么要使用linux服務器?
- 一、握手包的抓取
- 二、握手包格式轉換(cap to hc22000)
- 三、linux服務器的環境配置
- 四、利用hashcat進行哈希破解
- 總結
前言:為什么要使用linux服務器?
當下對于wifi密碼的破解,主流的兩種手段是握手包破解和WPS破解,而WPS破解卻僅限于無線路由器。如果你到了一條陌生的街道或者辦公場所,大部分情況下,手機熱點是會比無線路由器信號要多的。所以握手包破解還是更加普適。hashcat作為最快的密碼恢復工具之一,能夠支持GPU加速計算,相關的測試表明,利用GPU計算密碼是同層次CPU計算速度的幾百倍左右。這個速度就不用我說了。但是,作為一名貧窮的學生黨,買一款好的顯卡來hashcat是不現實的好吧。幸運的是,最近搞了個項目做深度學習,本人成功的接觸到了云服務器這個領域,實測發現,云服務器真的是又便宜又快。我用的是AutoDL這個平臺:(不是來推銷的,但真的很便宜。)
https://www.autodl.com/
在這個大前提下,有個好基友把他的手機熱點當靶機讓我破解,于是興趣就來了,咱話也不多說,直接開干。
一、握手包的抓取
關于握手包的抓取,我是在kali系統里利用aircrack進行抓取的,在這里就不做過多的闡述了,大家可以參考這位兄臺的博客。
http://t.csdn.cn/imXl5
基本上按照流程來,都沒啥問題。
這是我抓取到的握手包。
二、握手包格式轉換(cap to hc22000)
現在很多關于hashcat的博客關于轉換的描述都說是cap轉換為hccap格式,但是這種格式其實已經不適用于現在的hashcat版本了,在hashcat6.0版本之后,-m 2500 和 -m 16800 已經被更改為 -m 22000 了,
所以基于這個原因,現在握手包轉換之后都是hc22000格式了,格式轉換可以在hashcat官網進行轉換,路徑如下:
https://hashcat.net/cap2hashcat/
轉換結果如下
三、linux服務器的環境配置
在云服務器平臺上,我創了一個用于hashcat計算的實例:
一張2080ti的卡,很普通的配置,但是也比我筆記本的GTX1650好很多。
可以利用 uname -a 來查看服務器的系統,其為ubuntu,在服務器上的apt版本都是比較低的了,所以想要順利的安裝hashcat,就必須要對apt和sudo的列表進行更新,否則就會報錯,一般都是這種錯誤:
unable to lacate 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的用法寫的非常的全,鏈接如下:
https://www.sqlsec.com/2019/10/hashcat.html#!
個人認為這位大佬寫的非常好,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等等
在云服務中運行的結果如下
這個就是運行中的結果,在運行過程中可以向終端輸入命令s 來查看實時破解狀態。這個hash計算從我起草這篇博客開始運行,到現在跑了大概兩個,跑了差不多55%,總密碼數一共有18**8次方=110億個,我細細想想…不對勁啊,hashcat不是號稱一秒鐘1.4億個密碼么?我這跑了兩個小時了才試了60億個左右。果然賣家和買家之間永遠都存在一定的差距,關于速度這個問題看來還得深究一下,下次租個更好的顯卡試試。
總結
感謝你能閱讀完這篇博客,這是我的第一篇博客,如果你覺得這篇博客對你有幫助,可以點個贊或者轉發。之所以寫這篇博客,一個是為了把自己的整個學習流程給捋一捋,方便以后查閱,另一方面是為了留一個念想。
下一步想改進的空間,一個是想著如何提升hash計算的速度,另外一個是把訓練日志記錄到一個log中而不是在終端輸出來,因為終端有個時候會刷掉。這也是我在yolov5學習中得到的經驗。
破解進程已經進行了55%左右了,給服務器設一個定時關機明天等結果,今晚早點睡覺。
總結
以上是生活随笔為你收集整理的基于linux服务器的hashcat握手包破解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android开发apk捆绑,Andro
- 下一篇: UE4的本地化