8 7 NTLM 身份驗證

2021-10-08 16:31:06 字數 933 閱讀 2208

8.7.2. hash

8.7.3. 攻擊

8.7.4. 參考鏈結

ntlm是nt lan manager的縮寫,ntlm是基於挑戰/應答的身份驗證協議,是 windows nt 早期版本中的標準安全協議。

net-ntlmv1協議的基本流程如下:

net-ntlmv1 response的計算方法為

這種方式相對脆弱,可以基於抓包工具和彩虹表爆破工具進行破解。

自windows vista起,微軟預設使用net-ntlmv2協議,其基本流程如下:

lm hash(lan manager hash) 是windows最早用的加密演算法,由ibm設計。lm hash 使用硬編碼秘鑰的des,且存在缺陷。早期的windows系統如xp、server 2003等使用lm hash,而後的系統預設禁用了lm hash並使用ntlm hash。

lm hash的計算方式為:

作為早期的演算法,lm hash存在著諸多問題:

為了解決lm hash的安全問題,微軟於2023年在windows nt 3.1中引入了ntlm協議。

windows 2000 / xp / 2003 在密碼超過14位前使用lm hash,在密碼超過14位後使用ntlm hash。而之後從vista開始的版本都使用ntlm hash。

ntlm hash的計算方法為:

pass the hash (pth) 是攻擊者捕獲帳號登入憑證後,復用憑證hash進行攻擊的方式。

微軟在2023年12月發布了針對pass the hash攻擊的防禦指導,文章中提到了一些防禦方法,並說明了為什麼不針對pass the hash提供更新補丁。

在禁用ntlm的環境下,可以用mimikatz等工具直接獲取密碼。

攻擊者可以一定程度控制客戶端網路的時候,可以使用中間人攻擊的方式來獲取許可權。對客戶端偽裝為身份驗證伺服器,對服務端偽裝為需要認證的客戶端。

Forms 身份驗證

配置應用程式使用 forms 身份驗證 如果應用程式的根目錄中有 web.config 檔案,請開啟該檔案。複製 在system.web元素中,建立乙個authentication元素,並將它的mode屬性設定為 forms,如下面的示例所示 複製 在authentication元素中,建立乙個fo...

WebService身份驗證

web service身份驗證解決方案一 通過通過soap header身份驗證。1.我們實現乙個用於身份驗證的類,檔名mysoapheader.cs mysoapheader類繼承自system.web.services.protocols.soapheader。且定義了兩個成員變數,userna...

WebServices身份驗證

最近遇到乙個問題,暴露在網路上的web service如何做身份驗證,而不被其他人說是用。mysoapheader.cs類 using system using system.collections.generic using system.linq using system.web namespa...