我對無線網絡的各種協議沒有研究,所以這里不討論,只是通過網上的教程,選擇合適的工具,在已有的硬件條件下提高破解效率。選擇工具的原則很簡單,有中文的就絕對不用英文的,有帶界面的就絕對不用命令行的,有開源的就絕對不用花錢的,有 Windows 版的就絕對不用 Linux 版的。。。總之,怎么簡單怎么來。
接下來,開始行動。
準備工作
先說一下大概的流程:掃描無線網—獲取握手包(抓包)—暴力破解握手包(跑包)—得出密碼。 其中,抓包和跑包是最關鍵的兩個步驟,可能耗費大量的時間,還有些運氣成分。
主要工具: CDLinux:小型的 Linux 系統,用于抓包,中文帶界面,可以放到U盤中;
hashcat:異常強大的密碼破解工具,支持 GPU 加速,除了支持破解 WPA,還能破解 md5、zip 等密碼;
U盤:運行 CDLinux,保存抓包文件,容量在512M以上;
帶無線網卡的 PC 機:筆記本或者有外置無線網卡的臺式機均可,最好有獨立顯卡,可以提高跑包效率。
輔助工具: UltraISO、BOOTICE、grldr 和 menu.lst,用于從U盤啟動 CDLinux。
相關工具下載地址:關注微信公眾號回復:Wifi密碼破解實戰之CDLinux使用教程
第一步:安裝 CDLinux
需要用到 UltraISO、BOOTICE、grldr、menu.lst、CDLinux。
1. 格式化U盤,文件系統為 FAT32,卷標設置為 CDLINUX;
2. 運行 UltraISO,依次點擊文件–打開–選擇下載好的 CDLinux –打開;點擊左上角窗口的 CDLINUX,將右側窗口的 CDLinux 目錄和 mkisofs.sh 文件復制到U盤根目錄;
如下圖所示:
注意,此時還不能從U盤啟動;
3. 關閉 UltraISO,把 grldr 和 menu.lst 兩個文件復制到U盤;
4. 運行 BOOTICE.EXE,目標磁盤選擇U盤,然后點擊主引導記錄,選擇 GRUB4DOS,點擊 安裝/配置,新窗口中,選中 禁止搜索軟盤上的 GLLDR、禁止按 C 無條件進入命令行控制臺、禁止引導分區別表無效的原引導記錄,引導文件名輸入 GRLDR(自動轉大寫),然后點擊寫入磁盤,提示成功后點擊確定。
5. 關閉 BOOTICE.EXE,將U盤插到帶無線網卡的電腦上,開啟無線網卡,重啟電腦,選擇從U盤啟動。
第二步:抓包
需要用到已經安裝 CDLinux 的U盤。
1. 進入到 CDLinux 的桌面后,運行 minidwep-gtk,圖標在左下角,像水滴一樣,彈出的警告窗口點 OK;
2. 點擊掃描按鈕,附近的無線網絡信息都會顯示出來;
3. 優先選擇信號強并且有客戶端的無線網絡:
第三列,強度,都是負數那一列,越接近0表示信號越強;
最后一列,客戶端 MAC,有 MAC 地址時,容易抓包;如果沒有,調整天線位置,重新掃描;
4. 點擊啟動,開始抓包;有沒有握手包,完全看運氣,所以盡量在上網高峰時段抓包,成功率更高;
5. 抓到握手包時,會提示是否搜索密碼,選擇 NO,一會用別的工具跑包;
6. 然后會提示文件保存在 /tmp 目錄下,點擊 OK 后,提示是否保存到硬盤分區,將類似 MAC 地址_handshake.cap.hccap 的文件保存好,我這保存為 A8_handshake.cap.hccap,一會跑包時會用到。
第三步:跑包
需要用到 hashcat。
跑包是整個過程的重中之重,核心思路就是窮舉密碼,暴力破解。這個環節很耗時,我嘗試過若干工具均不理想,速度太慢,完全不能用于實際操作。
如果要窮舉所有密碼,肯定不現實。想一下我們常用的密碼,基本是8位純數字,所以我們先從8位純數字密碼入手。hashcat 剛好符合要求,在 GPU 加速的情況下,跑8位純數字密碼大約15分鐘,在可接受的范圍,幫助文檔和官方 Wiki 足夠詳細,照著例子抄就能跑起來。
解壓 hashcat-3.30.7z,將剛才保存的握手包 A8_handshake.cap.hccap 拷貝進來,以管理員身份啟動 cmd,進入到 hashcat 目錄; 新建批處理 Run.bat,并編輯,將下面的內容復制進去并保存:
hashcat64.exe -m 2500 -a3 A8_handshake.cap.hccap ?d?d?d?d?d?d?d?dpause
大概解釋一下各個參數作用:
-m 2500:破解 WPA2 密碼
-a3:暴力破解
A8_handshake.cap.hccap:握手包文件
?d?d?d?d?d?d?d?d:每個 ?d 表示數字,連在一起表示8位純數字
pause 是批處理命令,防止 hashcat 運行結束后自動退出。
其余詳細的參數信息,參考 hashcat 的幫助提示,因為內容非常多,滾屏查看很不方便,所以需要將幫助信息重定向輸出到文件中:
hashcat64.exe --help > help.txt
查看 help.txt 就方便多了。
運行 Run.bat,然后就是等待了,這是運行時的樣子:
這次運氣不錯,很快就跑出來了,耗時三分半鐘。很明顯,密碼是8位出生年月日:
下面兩張圖,是破解11位純數字密碼和8位數字字母標點混合密碼所需要的時間:
總結
1. 8位純數字密碼不要再使用了,太容易被破解了;
2. 大小寫混合字母 + 數字 + 標點符號,即使位數較少,也比位數更長的純數字密碼更難破解;
3. WPA\WPA2 密碼并非絕對安全,但是增加密碼復雜度可以提高破解難度;推薦密碼為字母+標點+數字,這樣輸入起來比較方便;
4. 抓的包越多,破解的成功率越高;
5. 我想換4路 GTX1080。。。
尾巴
實踐是檢驗真理的唯一標準。
紙上得來終覺淺,絕知此事要躬行。
。。。。。
破解 WIFI 密碼從失敗到成功,從成功到寫成記錄,每一步都比想象的要曲折。最早看的教程,以破解 WEP 的密碼為主,號稱100%破解,可是悲催的我發現,周圍根本就沒用 WEP 加密的。后來流行一陣子破解 pin 碼,嘗試了一下,結果到99%時卡死了,原因好像是路由器掛了。。。每次充足的準備之后,都是意料之外的結局。包括制作啟動U盤的部分,隨手做完竟然沒有記錄,在收藏夾翻到的教程竟然是錯的。還好,這些都成為了故事。所以么,無論做什么,只要方向正確,持續嘗試,及時糾錯,再加上一些運氣,結局都不會太差。
以上就是全部的破解過程,更高級的生成字典、生成 Hash Table 文件加速破解留著以后再研究。最后感謝我的鄰居,為我提供了完善的測試環境。。。好人一生平安!
歡迎關注黑客迷微信公眾號:HackerFans
由于此前只在VMWare虛擬機上安裝過Linux系統,而且當時實際使用比較少,因此安裝虛擬機時并不覺得艱難,沒想到在安裝雙系統時卻遇到了那么多問題,可以說是把所有的坑都踩了一遍,差點把實驗室電腦上的硬盤數據都給弄丟了,好在有驚無險,經過幾天的折騰,終于解決了所有問題,把坑都填上了。
之所以寫這篇博客,是因為大部分文章都只有安裝系統的步驟,卻沒有告訴我們需要做哪些準備、會遇到什么問題以及其解決方法,希望這篇文章能幫助一些想要安裝雙系統的同學。
安裝Ubuntu時不能顯示Windows中未分配空間:
將動態磁盤改為基本磁盤,因為動態盤是不能安裝雙系統的。可以在計算機-管理-磁盤管理中查看Windows分區是基本盤還是動態盤,關于基本盤和動態盤的更多內容可以看這個:基本盤和動態盤的區別。
由于動態盤的卷在物理內存上可能不連續,因此直接將動態盤轉為基本盤時數據會被清空,需要使用分區助手 或DiskGenius來進行轉換,但是轉換到基本盤可能會導致下面這個問題。
安裝ubuntu時不能顯示Windows分區,只能看到dev/sda:
退出安裝,進入試用版Ubuntu,輸入sudo parted /dev/sda print,提示錯誤:分區表不能重疊。分區表重疊是分區助手在轉換到基本磁盤時造成的,需要使用DiskGenius重建分區,這里有一篇重建分區 的教程。按照教程一步一步操作,可以避免數據丟失,如果有條件,最好先備份硬盤里的所有數據。
分區時提示無法再繼續分區:
這是因為MBR磁盤最多只有4個主分區, 但是考慮到可能要裝雙系統,建議Windows中使用1個主分區+3個邏輯分區,這樣可以在剩下的邏輯分區里選一個空閑的分區作為Ubuntu的主分區。
事實上只有MBR磁盤才有4個主分區的限制,GPT則沒有此限制,這篇教程說明了如何查看電腦是GPT磁盤還是MBR磁盤。
在計算機-管理-磁盤管理中,如果未分配空間是綠色的,就會分成邏輯分區;如果未分配的空間是黑色的,那么新建的卷就是主分區,這種情況下為Linux系統新建的分區都會成為主分區,因此會有很大概率超過4塊主分區而導致無法正常安裝Linux系統。
要使新建的分區為邏輯分區,則可以在cmd下使用如下命令:
diskpart # 進入磁盤分區
list disk # 磁盤列表
select disk 0 # 選擇需要修改分區的磁盤
# 通常大部分電腦都只有一塊磁盤,因此0就是當前要分區的磁盤
# 如果有多塊磁盤則需謹慎選擇
list partition # 列出分區列表
create partition extended # 回車后系統會把剩余的未分配空間全部劃分為擴展分區
# 在磁盤管理中可以看到這部分是綠色的。
圖文教程請參看博客windows磁盤黑色未分配區域擴展到邏輯驅動器
如果使用上述命令時提示“虛擬磁盤服務錯誤:分區數已經達到磁盤的限制”,則改為如下命令:
list volume # 卷列表,找到和未分配空間相鄰的卷,例如F卷,其編號為4,則:
select volume 4 # 選中F卷
extend # 擴展F卷,將未分配空間全部劃分到F卷
# 由于F卷是邏輯分區,因此擴展F卷后,再將其壓縮
# 即可變為綠色的邏輯分區
執行完上述命令后,可以看到黑色的未分配空間已經和其相鄰卷(例如F卷)合并了,此時右鍵該卷,選擇壓縮卷,輸入未分配空間的大小,確認壓縮后即可看到被壓縮出來的未分配空間已經變為綠色。
至于為什么不直接先擴展卷再壓縮卷,是因為我在實際操作中發現,如果直接對黑色的未分配空間做以上操作,得到的未分配空間還是黑色的。
安裝完雙系統后出現grub rescue:
ls # 列出所有分區信息,例如有0-10共11個分區塊
ls (hd0,msdosX) # X是分區的區號,將X改為從0到10的數
# 找到那個可顯示當前文件系統的分區,例如區塊2
set root=(hd0,msdos2)/grub # 區塊2是有文件系統的分區
set prefix=(hd0,msdos2)/grub
insmod normal
normal
解決之后下次開機還是會出現grub rescue,因此在正常進入Linux系統后需要更新grub:
sudo update-grub
sudo grub-install /dev/sda
這篇文章Grub Rescue修復方法給出了詳細的修復方法,并且區分了boot單獨分區和未分區時的不同操作,比我參考的其他文章都更好。
為什么卸載Ubuntu
之所以要卸載Ubuntu,是因為我參考了一篇如何安裝Linux的博客,這篇博客提到Linux分區的常規方法為:
/boot # 引導分區,略大于200M即可
/swap # 交換分區,大于或等于物理內存的大小
# 早期電腦內存比較小,因此推薦設置為物理內存的兩倍左右
# 現在電腦內存夠用,設置為略大于物理內存即可
/ # 主分區,夠用就行
/home # 剩余的都給home就行
這個教程唯一的問題在于,沒有說明根目錄/的大小,導致我以為主分區不需要多大空間,因此只給根目錄分了4G,而把剩余分區全部劃分給了/home,其后果是在安裝了一些編程軟件后,系統便提示根目錄空間不足,使得Ubuntu系統無法正常使用,也使得我不得不重新安裝Ubuntu。
重新安裝Ubuntu系統時,我給Ubuntu預留了80多G的可用空間(原來為50G),其中home分區36G,主分區40G,其余空間分給swap和boot分區。關于Linux分區的更多信息,請參考這篇博客:Ubuntu分區方案(菜鳥方案、常用方案和進階方案)
注:如果不想重新安裝系統,可以考慮使用lvm2來擴展根目錄空間,擴容教程見Linux下對lvm邏輯卷分區大小的調整(針對xfs和ext4不同文件系統)。安裝lvm大約需要8M空間,如果根目錄已經完全被占滿,則可能連lvm也安裝不了,使用如下命令可以擴展一些內存:
sudo apt-get clean#清理所有軟件的緩存
sudo apt-get autoclean#清除舊版本的軟件緩存
sudo apt-get autoremove#刪除系統不再使用的孤立軟件
執行完后可以使用df -h命令查看磁盤使用空間大小。
Windows雙系統中卸載Ubuntu的方法
下載MbrFix軟件,解壓后將MbrFix.exe放到C盤根目錄下或者C:/Windows/System32目錄下。
以管理員身份打開cmd,輸入命令MbrFix /drive 0 fixmbr再確認即可。
重啟時如果沒有雙系統的引導項而是直接進入Windows系統,則說明MBR引導已經修復,不再使用Ubuntu系統引導了,此時即可刪除Ubuntu系統,刪除方式很簡單,在計算機-管理-磁盤管理中,選中原先Linux系統的安裝分區,右擊刪除卷即可(Linux的安裝分區是那些不能被Windows系統識別的卷)。被刪除后剩余的未分配空間應該是綠色的。
詳細內容可以參考這篇簡書文章:WIN7+ubuntu雙系統重裝ubuntu。
制作Ubuntu最新版的U盤啟動盤
在Ubuntu官網下載最新版Ubuntu的iso鏡像文件,用于制作U盤啟動盤。
常用的U盤啟動盤制作軟件有UltraISO、USB Installer、大白菜以及Win32DiskImager等。
使用UltraISO制作U盤啟動盤無法進入啟動項,提示Failed to load ldlinux.c32,原因是UltraISO軟件不支持最新版的Ubuntu,USB Installer也出現同樣問題。
解決方法:格式化U盤,使用Win32DiskImager制作U盤啟動盤以重新安裝系統。
安裝系統的方法很簡單,將U盤啟動盤插入電腦后,重新啟動時按F12或F2,進入Ubuntu安裝引導界面一步一步來即可,詳細步驟請參考教程:Win7 下U盤安裝Ubuntu16.04 雙系統詳細圖文教程。
注1:制作啟動盤的過程中會對U盤進行格式化,因此需要先進行數據備份;
注2:只有在前面幾種工具無法使用時再使用Win32DiskImager,因為Win32DiskImager制作好啟動盤后會將啟動盤進行分區,導致可用的空間十分之少,只能進行格式化。
1、安裝雙系統時,必須確保Windows的分區是基本盤而不是動態盤。
2、在Windows下劃分出的用于安裝Linux的未分配空間必須是綠色的,如果是黑色的則需要將其轉換為綠色。未分配空間最好大于50G(Ubuntu官網建議不小于25G)。
3、給Linux系統分區時,必須保證根目錄也有足夠大的空間(大于20G),或者干脆不分區,把所有空間都掛載到根目錄下。
4、遇到問題要及時解決,并記錄下來,以避免下次遇到時還要再搜一遍。