LM
Windows Vista / Server 2008已經默認關閉,在老版本可以遇到,但根據windwos的向下兼容性,可以通過組策略啟用它(https://support.microsoft.com/en-us/help/299656/how-to-prevent-windows-from-storing-a-lan-manager-hash-of-your-passwor)。
加密過程:
299BD128C1101FD6
1.將所有小寫字母轉換為大寫字母 2.將密碼填充為包含NULL字符的14個字符 3.將密碼拆分為兩個7個字符的塊 4.從每個7個字符的塊中創建兩個DES密鑰 5. 使用DES加密字符串“ KGS!@ #$%”這兩個塊。 6.連接兩個DES加密的字符串。
hash破解:
john --format=lm hash.txt hashcat -m 3000 -a 3 hash.txt
NThash
NTLM是現在Windows系統上存儲密碼的方式,可以通過轉儲SAM數據庫或使用Mimikatz來獲得。
加密過程:
B4B9B02E6F09A9BD760F388B67351E2B
MD4(UTF-16-LE(your-password))
hash破解:
john --format=nt hash.txt hashcat -m 1000 -a 3 hash.txt
NTMLV1
NTLM協議在服務器和客戶端之間的質詢/響應中使用NTHash,協議的v1同時使用NT和LM哈希,具體取決於配置和可用內容。
加密過程:
u4-netntlm::kNS:338d08f8e26de93300000000000000000000000000000000:9526fb8c23a90751cdd619b6cea564742e1e4bf33006ba41:cb8086049ec4736c
C = 8-byte server challenge, random K1 | K2 | K3 = LM/NT-hash | 5-bytes-0 response = DES(K1,C) | DES(K2,C) | DES(K3,C)
hash破解:
john --format=netntlm hash.txt hashcat -m 5500 -a 3 hash.txt
NTMLV2
這是NTLM協議的新版本和改進版本,這使其很難破解。該概念與NTLMv1相同,只是發送到服務器的算法和響應不同,從Windows 2000開始,在Windows中為默認值。
加密過程:
admin::N46iSNekpT:08ca45b7d7ea58ee:88dcbe4446168966a153a0064958dac6:5c7830315c7830310000000000000b45c67103d07d7b95acd12ffa11230e0000000052920b85f78d013c31cdb3b92f5d765c783030
SC = 8-byte server challenge, random CC = 8-byte client challenge, random CC* = (X, time, CC2, domain name) v2-Hash = HMAC-MD5(NT-Hash, user name, domain name) LMv2 = HMAC-MD5(v2-Hash, SC, CC) NTv2 = HMAC-MD5(v2-Hash, SC, CC*) response = LMv2 | CC | NTv2 | CC*
hash破解:
john --format=netntlmv2 hash.txt hashcat -m 5600 -a 3 hash.txt
