對入侵者來說,獲取Windows的口令是整個攻擊過程至關重要的一環,擁有系統原來用戶的口令,將使得內網滲透和守控更加容易。Windows系統中的Hash密碼值主要有LM-HASH以及NTLM-HASH值兩部分構成,一旦入侵者獲取了系統的Hash值,通過LC5以及彩虹表等破解工具可以很快的獲取系統的密碼。為此安天365團隊(www.antian365.com)特別針對系統口令攻擊與防范展開專題進行研究,本文主要作為其中的一個子課題,探討如何使用Gethashes工具來獲取系統的Hash值,并對Hash值的生成原理等知識進行了介紹,最后還介紹了一些有關Hash破解方面的技巧。
一、Hash基本知識
1.Hash定義
Hash,一般翻譯為“散列”,也有直接音譯為“哈希”的,就是把任意長度的輸入(又叫做預映射,pre-image),通過散列算法,變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是散列值的空間通常遠小于輸入的空間,不同的輸入可能會散列成相同的輸出,而不可能從散列值來唯一的確定輸入值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數。
2.Hash的應用
HASH主要用于信息安全領域中加密算法,它把一些不同長度的信息轉化成雜亂的128位的編碼里,叫做HASH值。也可以說,Hash就是找到一種數據內容和數據存放地址之間的映射關系。
3.hash算法在密碼上的應用
MD5 和 SHA1 可以說是目前應用最廣泛的Hash算法,而它們都是以 MD4 為基礎設計的。那么他們都是什么意思呢?這里簡單說一下:
(1)MD4
MD4(RFC 1320)是 MIT 的 Ronald L. Rivest 在 1990 年設計的,MD是 Message Digest 的縮寫。它適用在32位字長的處理器上用高速軟件實現,它是基于 32 位操作數的位操作來實現的。
(2) MD5
MD5(RFC 1321)是 Rivest于1991年對MD4的改進版本。它仍以512位分組來輸入,其輸出是4個32位字的級聯,與 MD4 相同。MD5比MD4來得復雜,并且速度較之要慢一點,但更安全,在抗分析和抗差分方面表現更好
(3)SHA1 及其他
SHA1是由NIST NSA設計為同DSA一起使用的,它對長度小于264的輸入,產生長度為160bit的散列值,因此抗窮舉(brute-force)性更好。SHA-1 設計時基于和MD4相同原理,并且模仿了該算法。
Hash算法在信息安全方面的應用主要體現在以下的3個方面:
(1) 文件校驗
我們比較熟悉的校驗算法有奇偶校驗和CRC校驗,這2種校驗并沒有抗數據篡改的能力,它們一定程度上能檢測并糾正數據傳輸中的信道誤碼,但卻不能防止對數據的惡意破壞。 MD5 Hash算法的“數字指紋”特性,使它成為目前應用最廣泛的一種文件完整性校驗和(Checksum)算法,不少Unix系統有提供計算md5 checksum的命令。
(2)數字簽名
Hash 算法也是現代密碼體系中的一個重要組成部分。由于非對稱算法的運算速度較慢,所以在數字簽名協議中,單向散列函數扮演了一個重要的角色。對Hash值,又稱“數字摘要”進行數字簽名,在統計上可以認為與對文件本身進行數字簽名是等效的。而且這樣的協議還有其他的優點。
(3)鑒權協議
鑒權協議又被稱作挑戰--認證模式:在傳輸信道是可被偵聽,但不可被篡改的情況下,這是一種簡單而安全的方法。
共4頁: 1 [2] [3] [4] 下一頁 | ||||||
|