緯育 2026-0525.2
出自頂極製作所
帳號與密碼安全、破解技術。
本系列講堂詳細介紹了號稱世界上最快破解程式的Hashcat,並延伸探討密碼安全的整體概念。第一部分的核心在於Hashcat能利用GPU(顯卡)等運算設備來加速破解過程,遠勝於僅使用CPU。內容涵蓋其支援超過300種加密機制、多種攻擊模式(如字典攻擊、暴力破解),並強調了字典攻擊(模式0)和暴力破解(模式3)是最常用的方式。此外,課程還詳細說明了Hashcat的常用指令選項,如指定攻擊模式(-a)、性能測速(-b)以及最關鍵的指定雜湊類型編號(-m)。透過一個破解PDF檔案密碼的實例,完整演示了從提取雜湊值到最終執行破解指令的流程。
第二部分則將焦點轉向破解受密碼保護的Office文件,並透過實作展示如何使用office2john和Hashcat的掩碼攻擊模式,針對一個有密碼線索的Word文件進行破解。接著,講座深入討論了多種增強密碼安全性的策略,包括提高密碼複雜度、定期更換密碼、使用一次性密碼(OTP)、雙重驗證(2FA)以及登入限制等。最後,講師簡要介紹了破解Windows登入密碼的方法,並提及了台灣使用者特有的注音輸入法密碼作為一種獨特的防禦手段。
Hashcat 核心概念與特性
- Hashcat 簡介
- 自稱為世界上最快的破解程式,主要原因是它能利用顯卡(GPU)進行破解運算,速度遠超僅使用CPU的工具。
- 除了顯卡,它也支援CPU、FBGA、DSP等運算晶片,但顯卡是個人電腦中最常見且高效的加速設備。
- 支援超過300種加密機制,包括常見的MD5、SHA1、SHA256、SHA512等。
- 可以同時破解多個雜湊值,並且是自由軟體。
- 運算設備與效能
- Hashcat會優先使用顯卡等專用運算設備,若無則使用CPU。
- 講者提到,筆記型電腦的效能通常會打折扣,例如筆電的i7處理器效能約等於桌機的i5,顯卡也是如此。
- 建議使用顯存較大的顯卡(如12G)來運行AI或破解任務,因為模型載入可能就需要8G以上的顯存。
Hashcat 攻擊模式與指令選項
- 攻擊模式
- Hashcat提供多種攻擊模式,以編號0至7表示。
- 最常用的模式是模式0 (字典攻擊):使用字典檔案進行破解,搭配顯卡速度非常快。
- 其次常用的是模式3 (暴力破解/遮罩攻擊):可以指定密碼的字元規則,例如指定第幾位是數字或符號。
- 其他模式如組合攻擊(模式1)、字典加遮罩(模式6)、遮罩加字典(模式7)較少使用。
- 常用指令選項
- -b:執行效能測試(Benchmark),用於比較不同電腦的破解速度。它會顯示每秒能計算多少次密碼。
- --show:顯示已破解成功的雜湊和對應的密碼。
- -a [模式編號]:指定攻擊模式,例如 -a 0 代表字典攻擊,-a 3 代表遮罩攻擊。
- -m [編號]:必要選項。指定雜湊的類型編號。Hashcat不會自動判別,必須手動查詢並提供。
- -d [設備編號]:指定使用的運算設備。例如,若有顯卡,可透過 -d 2 來指定使用。
- -o [檔案名稱]:將破解結果輸出到指定檔案。
- 雜湊類型編號(-m)的重要性
- Hashcat要求提供純淨的雜湊內容,不包含檔名或其他額外資訊。
- 使用者必須手動從官方文件或其備份中,根據雜湊值的開頭格式(例如 $pdf$4...)來查詢對應的類型編號。
- 如果提供了錯誤的編號,Hashcat將無法成功執行破解。
密碼破解實作
- 實作一:破解 PDF 檔案密碼 (字典攻擊)
1. 複製檔案:使用scp指令將目標PDF檔案(s3curity.pdf)複製到Kali Linux虛擬機中。 2. 提取雜湊值:使用pdf2john.py工具從PDF檔案中提取雜湊值。 3. 清理雜湊值:使用cut指令配合管線(|)去除檔名與冒號,僅保留純淨雜湊,並存入hash.txt檔案。指令:pdf2john.py s3curity.pdf | cut -d ":" -f 2 > hash.txt。 4. 查詢雜湊類型:根據雜湊開頭$pdf$4...,在Hashcat官網查詢到其類型編號為10500。 5. 執行破解:使用字典攻擊指令hashcat -a 0 -m 10500 hash.txt /usr/share/wordlists/rockyou.txt。 6. 檢視結果:使用hashcat --show -m 10500 hash.txt指令顯示已破解的密碼p@ssword。
- 實作二:破解 Office 文件密碼 (掩碼攻擊)
1. 提取雜湊值:使用office2john secure-note.doc指令從Word文件中提取雜湊值。 2. 儲存雜湊值:同樣使用cut指令處理後,儲存到檔案中(例如Security-Note.h)。 3. 識別雜湊模式:查詢確認Office 2013的雜湊模式編號為9600。 4. 使用掩碼攻擊 (Mask Attack):當已知部分密碼格式(ADN開頭、八位數、含符號與數字)時,可使用此模式。
- 掩碼語法:?l(小寫)、?u(大寫)、?d(數字)、?s(符號)、?1(自訂字符集)。
- 指令建構:hashcat -a 3 -m 9600 Security-Note.h --custom-charset1='!@#$%^&*' ADN?1?d?d?d?u
- 此方法適用於有特定密碼結構線索的情境,效能極高。
密碼安全強化策略
- 提高密碼強度
- 複雜度與長度:增加密碼長度,並混合使用大小寫字母、數字及特殊符號。可使用密碼產生器建立無規律的強密碼。
- 定期更換密碼
- 建議定期更換密碼(如每三個月),以降低洩漏風險。可設定系統強制更換,以對抗持續攻擊。
- 一次性密碼 (OTP)
- 透過簡訊或Email發送一次性使用的密碼,認證依賴於使用者持有的裝置,提升安全性。
- 雙重/兩步驟/兩因素驗證 (2FA)
- 雙重驗證:登入時需滿足第二個條件,如插入實體卡片或在特定網路環境內。
- 兩因素驗證 (2FA):輸入帳密後,需再輸入手機或Email收到的第二驗證碼,是目前普及的安全措施。
- 雙人驗證
- 需要兩個人同時完成驗證才能授權,極為罕見,多用於電影中的高安全場景。
- 避免帳號與密碼的關聯性
- 不要使用帳號暗示密碼,也勿用同一組密碼管理所有帳號,避免密碼結構有規律可循。
- 登入限制策略
- 設定在連續輸入錯誤密碼達一定次數後鎖定帳號,能極大拖慢暴力破解速度,使攻擊者放棄。
- 台灣人專屬密碼
- 利用注音輸入法直接輸入中文詞彙作為密碼(如woshidashuaige),對於不熟悉注音的攻擊者極難猜測。
Windows 密碼破解簡介
- 背景:Windows密碼機制因歷史因素存在兩套系統。
- 破解工具與流程 (彩虹表法)
1. 提取密碼檔:使用pwdump工具匯出Windows系統中的密碼檔。 2. 破解軟體:使用ophcrack等軟體。 3. 彩虹表:下載對應的彩虹表檔案(預先計算好的雜湊值資料庫)。 4. 執行破解:在ophcrack中載入密碼檔與彩虹表進行比對破解。
- 繞過方法 (清空密碼)
- 使用特定的可開機ISO檔案,開機後可直接偵測Windows系統並清空指定帳號的密碼,使其可無密碼登入。此方法會留下操作痕跡。