暴力破解攻擊的定義
通常,這種攻擊方式仰賴強大的運算能力,並基於一個前提:只要嘗試次數足夠,任何密碼或加密金鑰終將被破解。
暴力破解攻擊通常耗時甚久,其成效受限於密碼或加密金鑰的複雜度。
目標憑證的長度與複雜度,直接影響暴力破解攻擊的可行性。短密碼或採用常見字詞、姓名的密碼,顯然比複雜且較長的密碼更容易遭到破解。
現代加密演算法與嚴格的密碼政策正是為了防範暴力破解攻擊而設計,目的在於大幅提升攻擊所需的時間與運算資源,使此類攻擊變得不切實際。
暴力破解攻擊的類型
暴力破解攻擊有多種形式,方法和效率各異。這些攻擊本質上都是透過系統性嘗試密碼、個人識別碼(PIN)或加密金鑰,以取得未經授權的存取。
主要的暴力破解攻擊類型如下:
簡單暴力破解攻擊
攻擊者會嘗試所有可能的字元組合,直到找到正確的密碼。這是速度最慢的一種暴力破解方式,通常會利用自動化軟體,每秒可產生並測試數千組密碼組合。雖然耗時且效率低,但對於弱密碼(常見如 123456、password、111111、pa$word、abc123、Password1、test、guest、Welcome@123)仍極具威脅性。
憑證填充攻擊(Credential Stuffing)
嚴格來說不屬於傳統暴力破解,但這類攻擊會利用過去資料外洩(Data Breach)事件中取得的已知帳號密碼組合,並嘗試登入不同網站。由於許多使用者習慣重複使用密碼,因此攻擊成功率高。
字典攻擊
此技術會利用一份常見密碼或字典單字清單,針對使用者偏好簡單密碼的現象,比單純嘗試所有可能組合更有效率。攻擊者通常會整理常見密碼、標準字典詞彙及常用密碼短語,作為預設的猜測清單。
混合型暴力破解攻擊
結合暴力破解與字典攻擊,針對字典詞彙進行數字、符號或大小寫變化,以推測稍具複雜度但仍基於常見模式的密碼。此類攻擊特別針對以常見替換或附加字元組成的密碼。
遮罩攻擊(Mask Attack)
這是一種更具針對性的暴力破解方式,攻擊者已知密碼結構(如長度、特定符號或前綴),可利用遮罩或模式大幅減少嘗試次數,加速破解速度。
彩虹表攻擊
與傳統猜密碼不同,彩虹表攻擊會預先計算所有可能密碼的雜湊值,攻擊時只需比對目標密碼的雜湊值與表中數據,即可繞過單純雜湊防護。此方法對於未採用「加鹽」機制(即雜湊前未加入隨機資料)的系統特別有效。
反向暴力破解攻擊
此方法與傳統攻擊相反,從已知密碼或高機率密碼清單出發,嘗試找出對應的帳號。由於許多使用者跨帳號重複使用密碼,這種方式亦常見於實際攻擊中。
規則式攻擊(Rule-based Attack)
這是一種進階的暴力破解手法,攻擊者會設定一系列規則,針對常見密碼或字典詞彙進行變形,例如將「o」改為「0」、於字尾加上數字或符號、變換大小寫,甚至套用「Leet-speak」(以數字或特殊符號替代字母)。規則式攻擊能有效利用密碼設定的可預測性,即使密碼較複雜,也可能遭此類攻擊突破。
暴力破解攻擊為何發生
暴力破解攻擊之所以層出不窮,原因在於技術漏洞、人為行為模式,以及數位安全環境的持續變化。這類攻擊針對驗證/身分驗證系統的基本運作原理——即以秘密資訊作為存取控管依據——並鎖定安全防線中最薄弱的一環:用戶傾向設定容易猜中的密碼,或是系統能以合理運算成本枚舉所有可能的金鑰組合。
暴力破解攻擊之所以普遍,主要原因在於其方法簡單且成本低廉。
攻擊者如今能輕易取得強大運算資源,將密碼猜測過程自動化,即使是複雜密碼也變得愈發容易被破解。雲端運算的普及與專用硬體的取得便利,大幅降低了發動此類攻擊的門檻,即使技術不高明的攻擊者,也能對受保護的系統發動暴力破解攻擊。
人為因素同樣是暴力破解攻擊得逞的重要原因。許多使用者為求方便,偏好選用容易記憶的簡單密碼,卻也因此讓密碼更容易被猜中。
常見被攻擊者利用的行為包括:使用字典單字、可預測的模式(如 password、123456 或 qwerty)、個人資訊(如生日、姓名),或在多個帳號間重複使用同一組密碼。
密碼重複使用的普遍現象,更加劇了暴力破解攻擊的威脅。攻擊者一旦從某次資料外洩取得密碼,即可將該密碼用於同一使用者在不同平台的其他帳號(即「憑證填充」攻擊),這種方式實際上是一種反向暴力破解,利用已知密碼嘗試不同的帳號或服務,藉此攻擊未設專屬密碼的帳號。
技術層面的弱點同樣不容忽視。許多系統與應用程式未實施足夠的嘗試次數限制或帳號鎖定機制,讓攻擊者能無阻礙地反覆嘗試密碼。
現今個人與工作活動大量移至線上,暴力破解攻擊的潛在目標也隨之增加。隨著愈來愈多服務需要登入認證,攻擊者的機會也隨之提升。
此外,大量個資因公開揭露或資料外洩而取得,讓攻擊者能更有效發動暴力破解或字典攻擊。結合已知個人資訊,攻擊者能根據目標的興趣、習慣或細節,量身打造猜測組合。
部分組織(企業)仍使用舊式系統或過時的安全協定,也使暴力破解攻擊更容易成功。這些系統常仰賴較弱的舊式加密方法,或密碼政策未隨時更新,未強制要求使用強密碼與複雜密碼。
暴力破解攻擊常用工具
暴力破解攻擊仰賴多種自動化工具,專為猜測密碼、加密金鑰或 PIN 碼而設計。這些工具在複雜度、速度與可自訂性上各有差異,涵蓋從簡單密碼破解到複雜加密金鑰發現等多元應用。
以下介紹幾款常見的暴力破解攻擊工具:
Aircrack-ng
專注於網路安全,Aircrack-ng 是一套評估 Wi-Fi 網路安全性的工具組,具備監控、攻擊、測試及破解無線網路功能。可擷取封包、將資料匯出為文字檔以供第三方工具分析,並能破解 WEP 與 WPA-PSK 金鑰。Aircrack-ng 主要採用簡單暴力破解及字典攻擊。
Brutus
作為 Windows 登入破解工具,Brutus 是歷史最悠久且仍具效力的暴力破解工具之一。支援多階段驗證/身分驗證引擎,可同時連線 60 個目標,支援多種協定(如 HTTP、FTP、SMB),能在網際網路上進行密碼破解。
Hashcat
被譽為全球最快、最先進的密碼還原工具,Hashcat 支援多種演算法,具備五種以上獨特攻擊模式,可針對 200 多種高度最佳化的雜湊演算法進行破解。可執行暴力破解、字典、混合、遮罩及規則式等多種攻擊,靈活破解複雜雜湊值。
Hydra
Hydra 以快速且高效的密碼破解能力聞名,可同時破解多個帳號,是針對網頁應用程式發動暴力破解的利器。設計上支援多種暴力破解選項,可快速猜測密碼來驗證/身分驗證遠端伺服器。
John the Ripper
John the Ripper 是開源軟體,最初為 Unix 系統設計,現已支援多種平台。能自動偵測密碼雜湊型態,並提供多種自訂選項,是靈活的暴力破解工具。
John the Ripper 支援多種模式與外掛,可有效破解複雜密碼。
L0phtCrack
L0phtCrack 是進階的密碼稽核與還原工具,擅長破解 Windows 密碼。透過分析 Windows 密碼雜湊儲存方式的弱點,結合暴力破解、字典、混合及彩虹表等多種手法,加速破解過程。可從本機、遠端、Active Directory 及網路封包等多來源匯入 Windows 支援格式的雜湊密碼。
Medusa
Medusa 是專為遠端系統設計的高速暴力破解工具,支援平行運算,可同時對多個主機、服務與帳號發動攻擊,大幅提升效率。
Ncrack
Ncrack 專為高速網路密碼破解而設計,可執行高效率的平行暴力破解,協助找出弱密碼,強化網路安全。
Ophcrack
Ophcrack 以破解 Windows 密碼為主,採用彩虹表攻擊法還原雜湊函數,特別擅長破解 Windows 系統中的 LM 及 NTLM 雜湊。
Patator
Patator 是多功能且高度彈性的暴力破解工具,支援廣泛的服務與協定。
Patator 不僅多元,且效率極高,採用多執行緒設計,可快速且同步發動攻擊。
這種設計能在短時間內針對多種服務與系統發現弱密碼。此外,Patator 具備規避鎖定政策與 CAPTCHA 防護的功能,進一步提升攻擊效能。
RainbowCrack
RainbowCrack 運用時間-記憶體權衡演算法,預先計算彩虹表,涵蓋多種字元集與雜湊演算法,大幅加快破解密碼雜湊的速度。透過事先建立所有可能的雜湊組合,顯著縮短破解時間。
防範暴力破解攻擊
各類暴力破解攻擊會針對密碼安全措施或系統設定中的不同弱點下手。防禦核心在於密碼管理,但實務上還有其他可行的防範措施,包括:
帳號鎖定
限制重複登入嘗試,有效防堵暴力破解攻擊。帳號鎖定機制可在多次登入失敗後暫時停用帳號,阻止攻擊者持續猜測密碼。
加密
採用強大的加密演算法能大幅增加可能組合數,讓暴力破解因所需時間與運算資源過於龐大而難以實行。加密同時能降低暴力破解成功後的損害。
將敏感資料加密,即使攻擊者取得資料,若無加密金鑰,仍無法解讀內容;而高複雜度與長度的金鑰極難破解。
多因子驗證
多因子驗證(MFA , Multi-Factor Authenication)可作為密碼的輔助機制,在授予存取權限前增加額外驗證/身分驗證步驟。
強密碼
落實強而複雜的密碼政策,定期更換密碼,並確保不同帳號與服務採用獨立密碼,可大幅降低風險。
登入行為監控
可監控登入嘗試,並在偵測到異常或重複登入時發出警示。
暴力破解攻擊常見問答
以下彙整了關於暴力破解攻擊的常見問題:
暴力破解攻擊是否合法?
暴力破解攻擊通常被視為非法行為,因為這類手法經常用於取得未經授權的存取系統、資料或網路。這些行為違反多項用以保障數位隱私與資安的法律與法規(例如美國的《電腦詐欺與濫用法》)。
然而,在合規授權的道德駭客或資安測試情境下,暴力破解技術可以合法運用。
暴力破解攻擊發生頻率有多高?
暴力破解攻擊是最常見的資安威脅之一。資安公司與研究人員每天都會偵測到數千次暴力破解攻擊嘗試。
不過,實際受害範圍難以精確量化,因為許多目標(如個人、企業、政府單位)甚至未察覺攻擊已發生。
什麼是「破解」密碼?
破解密碼是指成功解讀或猜出密碼。
什麼是加密金鑰?
加密金鑰是密碼學運作的核心。它確保資訊在傳輸與儲存過程中,能對未經授權的使用者保持不可讀狀態。
加密金鑰有不同長度與類型,例如對稱式金鑰(同一組金鑰負責加密與解密)與非對稱式金鑰(公鑰用於加密,私鑰用於解密)。
加密資料的安全性高度仰賴金鑰的保密性與複雜度。
切勿低估暴力破解攻擊的威脅
如前所述,暴力破解攻擊雖非最複雜的網路攻擊手法,卻因其高效率而屢屢發生。其影響遠不僅止於針對個人的竊盜或詐騙,攻擊者更可能藉此入侵關鍵系統,導致嚴重且高昂的業務中斷。
所幸,暴力破解攻擊屬於較容易防範的網路威脅類型之一。建議遵循資安最佳實務,並善用現有多元解決方案,有效防堵相關攻擊。