解析哈希值傳遞攻擊的基本原理
如今網(wǎng)絡(luò)攻擊者的技術(shù)已經(jīng)發(fā)展到了一個非常高的程度,甚至不需要至到你的用戶密碼就可以直接反問你的系統(tǒng),不要驚訝,通過哈希值傳遞攻擊完全可以達到上述所說的效果。而且哈希值傳遞攻擊不需要通過零日漏洞或者釣魚信息,那么讓我們來看一看究竟什么是哈希值傳遞攻擊。
數(shù)據(jù)包級別的哈希
每當(dāng)我們在windows系統(tǒng)中為帳戶創(chuàng)建一個密碼時,系統(tǒng)都會將密碼轉(zhuǎn)化為哈希值。哈希值是加密函數(shù)的結(jié)果,加密函數(shù)會取出數(shù)據(jù)中任意大小的字符串來執(zhí)行數(shù)學(xué)加密函數(shù),并產(chǎn)生一個固定大小的字符串,最終的結(jié)果并不是用戶所輸入的密碼(例如123456),而是哈希字符串“94354877D5B87105D7FEC0F3BF500B33”。
這從幾個方面來看是很有意義的。首先,這意味著你的密碼不是以純文本的格式保存在你的本地硬盤中以致任何人都可能看到你的密碼。其次這意味著當(dāng)你使用密碼驗證到另一個設(shè)備(例如域控制器)時你的密碼并不是以純文本的格式在網(wǎng)絡(luò)上傳遞的。下面我們將探討哈希是如何創(chuàng)造的。
當(dāng)你試圖訪問計算機中受用戶名和密碼身份驗證保護的資源,主機會要求你進行身份驗證。通常情況下,你需要提供一個用戶名和密碼。當(dāng)你輸入你的密碼后,計算機會立即對密碼執(zhí)行哈希函數(shù)并將其提交給主機,主機就會將其與身份驗證數(shù)據(jù)庫進行對比,如果哈希匹配的話,你就可以通過驗證。
現(xiàn)在,考慮一種替代方案。如果當(dāng)我們手動建立與主機(主機上有我們想要訪問的資源)的連接時,我們不是輸入用戶名和密碼,而是輸入管理員用戶名以及我們竊取的管理員哈希。這樣我們就能夠獲取對主機的管理權(quán)限訪問。請記住,主機所需要的只是接收與其匹配的哈希值。這意味著你不需要對密碼執(zhí)行單向哈希函數(shù),你只需要提供哈希值,這也是哈希值傳遞攻擊的基本原理。
【編輯推薦】