實驗2 Windows口令破解
實驗目的
- 了解Windows口令破解原理
- 對信息安全有直觀感性認識
- 能夠運用工具實現口令破解
實驗工具
LC5
實驗原理
口令破解方法:
口令破解主要有兩種方法:字典破解和暴力破解。
字典破解是指通過破解者對管理員的了解,猜測其可能使用某些信息作為密碼,例如其姓名、生日、電話號碼等,同時結合對密碼長度的猜測,利用工具來生成密碼破解字典。如果相關信息設置准確,字典破解的成功率很高,並且其速度快,因此字典破解是密碼破解的首選。
而暴力破解是指對密碼可能使用的字符和長度進行設定后(例如限定為所有英文字母和所有數字,長度不超過8),對所有可能的密碼組合逐個實驗。隨着可能字符和可能長度的增加,存在的密碼組合數量也會變得非常龐大,因此暴力破解往往需要花費很長的時間,尤其是在密碼長度大於10,並且包含各種字符(英文字母、數字和標點符號)的情況下。
口令破解方式
口令破解主要有兩種方式:離線破解和在線破解
離線破解攻擊者得到目標主機存放密碼的文件后,就可以脫離目標主機,在其他計算機上通過口令破解程序窮舉各種可能的口令,如果計算出的新密碼與密碼文件存放的密碼相同,則口令已被破解。
其中,候選口令產生器作用是不斷生成可能的口令。有幾種方法產生候選口令,一種是用枚舉法來構造候選口令(暴力破解),另一種方法是從一個字典文件里讀取候選口令(字典破解);口令加密過程就是用加密算法對從口令候選器送來的候選口令進行加密運算而得到密碼。這要求加密算法要采用和目標主機一致的加密算法。加密算法有很多種,通常與操作系統的類型和版本相關;密碼比較就是口令比較,是將從候選口令計算得到的新密碼和密碼文件中存放的密碼相比較。如果一致,那么口令破解成功,可以使用候選口令和對應的賬號登錄目標主機。如果不一致,則候選口令產生器計算下一個候選口令。
通過在線破解攻擊者可以使用一個程序連接到目標主機,不斷地嘗試各種口令試圖登錄目標主機。目標主機系統中某些低等級的賬號的口令往往容易被嘗試成功,然后,攻擊者使用其賬號進入系統獲取密碼存放文件(Windows系統是SAM文件,Linux系統是passwd等文件),再使用離線破解方法破解高權限的口令(管理員口令等)。
實驗步驟
- 首先通過快照X恢復Windows系統環境。
- 字典破解
(1)為本機創建新用戶。為了達到實驗效果,用戶口令不要設置得過於復雜。
我將密碼設置為199612228.
(2)進入實驗平台,單擊工具欄“字典生成器”按鈕,啟動“字典生成器”。選擇“生日”標簽頁,輸入的年份與月份信息應盡量包含步驟(1)中用到的生日日期,在“生成字典”標簽頁中確定字典文件存放的路徑以及新用戶口令位數,最后生成字典文件。
(3)單擊工具欄“LC5”按鈕,啟動LC5口令破解工具。選擇“Session”(會話)|“Session Options…”(會話選項)菜單項,在彈出的“Auditing Options For This Session”對話框中選中“Dictionary Crack”項的“Enabled”,取消其它項的“Enabled”。單擊“Dictionary
List”(字典列表)按鈕,導入步驟(2)中生成的字典文件。
(4)返回LC5主界面,選擇“Session”|“Import…”(導入)菜單項,在彈出的“Import”對話框中導入本地用戶列表,選擇“Session”|“Begin Audit”(開始審計)菜單項,開始字典破解用戶口令。
3. 暴力破解
(1)創建新用戶,建議用戶口令僅由英文字母和數字組成,長度不超過6位,如123abc。
我創建的用戶口令是123abc
(2)選擇LC5的“File”|“New Session…”(新會話)菜單項,新建會話。重新導入本地用戶列表。
(3)在會話選項中僅選中“Brute Force Crack”(暴力破解)|“Enabled”,並在“Character Set”(字符集)中選擇“alphabet+numbers”(字母表+數字), 開始暴力破解新建用戶口令。
不同密碼強度的破解時間比較
(1)再次新建4個用戶,使用不同強度的用戶口令
(2)新建LC5會話,在會話選項中選中暴力破解選項,字符設置選擇“Custom”(自定義)。為了減少破解所需時間,請縮小自定義字符集。
(3)開始暴力破解,當破解完成后,查看LC5的破解信息,記錄各自的破解時間。
(4)根據實驗結果不難發現長密碼比短密碼破解要更多的時間,復雜密碼比簡單密碼需要更多的時間,這也就是設置復雜密碼能夠提高系統安全性的原因。
【思考問題】
- 分析口令破解軟件L0phtCrack(簡寫為LC)的工作原理。
工作原理:候選口令產生器作用是不斷生成可能的口令。有幾種方法產生候選口令,一種是用枚舉法來構造候選口令(暴力破解),另一種方法是從一個字典文件里讀取候選口令(字典破解);口令加密過程就是用加密算法對從口令候選器送來的候選口令進行加密運算而得到密碼。這要求加密算法要采用和目標主機一致的加密算法。加密算法有很多種,通常與操作系統的類型和版本相關;密碼比較就是口令比較,是將從候選口令計算得到的新密碼和密碼文件中存放的密碼相比較。如果一致,那么口令破解成功,可以使用候選口令和對應的賬號登錄目標主機。如果不一致,則候選口令產生器計算下一個候選口令。
- Windows 7的口令保護文件名稱及存儲位置是什么?
SAM文件位於C:\Windows/system32/config/
- Windows保護系統帳戶口令的算法有LM和NTLM,這兩種算法有什么區別?
LAN Manager哈希是Windows操作系統最早使用的密碼哈希算法之一,LM存儲的密碼有明顯的不足,加密工作是基於數據加密標准(DES)的。NT LAN Manager (NTLM)是由微軟開發,用於取代LM的身份驗證協議。最終通過改進,從Windows NT 4開始,NTLMv2被用作全新的身份驗證方法。 NTLMv2哈希(下文簡稱為NT哈希)的創建在操作系統實際參與的工作上更加簡單,並需要使用MD4哈希算法,通過一系列數學計算創建哈希。MD4算法需要使用三次,這樣才能產生NT哈希。
- 為了保護口令安全,設置口令應該遵循什么樣的原則?
安全性,重要的文件密碼要設置安全性高的;易記憶,不要設完自己也忘記是什么;安全問題設置,最好把這個備份一下,找回密碼時候容易。
- Windows系統在什么地方可設置帳戶密碼策略?帳戶密碼策略包括哪些內容?
主要有以下幾個安全策略:
(1)、密碼必須符合復雜性要求
(2)、密碼長度最小值
(3)、密碼最長存留期
(4)、強制密碼歷史
(5)、為域中所有用戶使用可還原的加密來存儲密碼
各項安全策略是根據實際的電腦使用情況來進行設定。
- 在密碼破解中,常到彩虹表(Rainbow Table),彩虹表是什么?
彩虹表是一個用於加密散列函數逆運算的預先計算好的表, 為破解密碼的散列值(或稱哈希值、微縮圖、摘要、指紋、哈希密文)而准備。一般主流的彩虹表都在100G以上。 這樣的表常常用於恢復由有限集字符組成的固定長度的純文本密碼。這是空間/時間替換的典型實踐, 比每一次嘗試都計算哈希的暴力破解處理時間少而儲存空間多,但卻比簡單的對每條輸入散列翻查表的破解方式儲存空間少而處理時間多。使用加salt的KDF函數可以使這種攻擊難以實現。
7. 你認為口令破解的技術將如何發展?
我認為口令破解會朝着更加快捷化和智能化發展,在計算機硬件的快速發展過程中,窮舉速度無疑會大大加快,配合軟件的智能分析,才是未來口令破解發展的方向。