使用pwdump 匯出本地windows SAM雜湊並破解

whime_sakura發表於2018-12-22

來源:shiyanbar.com,僅作為筆記,侵刪

Windows hash由二部分組成,分別是LM HASH&NT HASH。Windows系統關於hash的組成如下:

使用者名稱稱:RID: LM-HASH值:NT-HASH值

LM HASH生成規則:
1.使用者的密碼被限制為最多14個字元。
2.使用者的密碼轉換為大寫。
3.系統中使用者的密碼編碼使用了OEM內碼頁
4.密碼不足14位元組將會用0來補全。
5.固定長度的密碼被分成兩個7byte部分。每部分轉換成位元流,再分組,每7bit為一組並且末尾加0,組成新的編碼
6.以上步驟得到的8byte二組,分別作為DES key為“KGS!@#$%”進行加密。
7.將二組DES加密後的編碼拼接,得到最終LM HASH值。


NT hash生成原理
IBM設計的LM Hash演算法存在幾個弱點,微軟在保持向後相容性的同時提出了自己的挑戰響應機制,NTLMHash便應運而生。假設明文口令是”123456",首先轉換成Unicode字串,與LMHash演算法不同,這次不需要新增0補足14位元組

“123456"->310032003300340035003600


從ASClI串轉換成Unicode串時,使用little-endian序,微軟在設計整個SMB協議時就沒考慮過big-endian序,ntoh0、hton0函式不宜用在SMB報文解碼中。0×80之前的標準ASCII碼轉換成Unicode碼,就是簡單地從0x變成0×00。此類標準ASCIl串按little-endian序轉換成Unicode串,就是簡單地在原有每個位元組之後新增0×00。對所獲取的Unicode串進行標準MD4單向雜湊,無論資料來源有多少位元組,MD4固定產生128-bit的雜湊值,16位元組310032003300340035003600-進行標準MD4單向雜湊-
>32ED87BDB5FDC5E9 CBA88547376818D4,就得到了最後的NTLM Hash
 NTLM Hash:32ED87BDB5FDC5E9CBA88547376818D4

pwdump.exe --dump-hash-local

下載軟體之後,使用以上命令可以獲得當前使用者名稱的SAM。

使用LC5.exe破解

之後可以將SAM儲存到文字檔案,使用LC5.EXE破解。

匯入字典列表,LC5軟體目錄下有dic檔案。

即可破解出密碼

使用彩虹表破解

關於彩虹表

彩虹表使用方法

匯出SAM到文字檔案,使用opcrack 掛彩虹表破解。

輸入單行hash

點選crack,開始破解

破解出密碼

相關文章