<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    內網滲透—WINDOWS認證機制之NTLM

    VSole2021-11-30 07:02:48

    域滲透就是基于windows域環境的滲透,而域滲透涉及到的技術,如哈希傳遞(PTH)票據傳遞(PTT)委派攻擊等,都是基于域環境下的認證機制來實現的,這也是為什么要了解Windows認證機制的原因之一Windows的認證包括三個部分,用戶直接操作計算機登陸賬戶(本地認證),遠程連接到工作組中的某個設備(網絡認證),登陸到域環境中的某個設備(域認證)

    本地認證 NTLM

    本地認證十分簡單:用戶輸入密碼,系統收到密碼后將用戶輸入的密碼計算成NTLM Hash,然后與sam數據庫(%SystemRoot%\system32\config\sam)中該用戶的哈希比對,匹配則登陸成功,不匹配則登陸失敗

    NTLM哈希是一種單向哈希算法,Windows將用戶的密碼計算成NTLM哈希之后才存儲在電腦中

    大致的運算流程為:

    用戶密碼->HEX編碼->Unicode編碼->MD4
    

    本地認證中用來處理用戶輸入密碼的進程即lsass.exe,密碼會在這個進程中明文保存,供該進程將密碼計算成NTLM Hash與sam進行比對

    在滲透測試中,通常可從Windows系統中的SAM文件和域控的NTDS.dit文件中獲得所有用戶的hash,通過Mimikatz讀取lsass.exe進程能獲得已登錄用戶的NTLM hash

    網絡認證 Net NTLM

    網絡認證即在工作組環境下遠程登陸另一臺電腦所采用的認證機制

    Net NTLM的認證過程分為三步,也叫挑戰響應機制:

    1. 協商
    2. 質詢
    3. 驗證

    協商:雙方確定使用的協議版本,在NTLM認證中,NTLM響應分為NTLM v1,NTLMv2,NTLM session v2三種協議,不同協議使用不同格式的Challenge和加密算法

    所以也就存在不同協議的Net-NTLM hash,即Net-NTLM v1 hash,Net-NTLM v2 hash

    質詢:挑戰(Chalenge)/響應(Response)認證機制的核心

    1.客戶端向服務器端發送用戶信息(用戶名)請求

    2.服務器接受到請求后,判斷本地用戶列表是否存在客戶端發送的用戶名,如果沒有返回認證失敗,如果有,生成一個16位的隨機數,被稱之為“Challenge”, 然后使用登錄用戶名對應的NTLM Hash加密Challenge(16位隨機字符), 生成Challenge1保存在內存中。同時,生成Challenge1后,將Challenge(16位隨機字符)發送給客戶端。

    3.客戶端接受到Challenge后,使用自己提供的賬戶的密碼轉換成對應的NTLM Hash,然后使用這個NTLM Hash加密Challenge生成Response,然后將Response發送至服務器端。

    驗證:在質詢完成后,驗證結果,是認證的最后一步。


    服務端收到客戶端發送的Response后,與之前保存在內存中的Challenge比較,如果相等認證通過

    其中,經過NTLM Hash加密Challenge的結果在網絡協議中稱之為Net NTLM Hash(不能直接用來進行哈希傳遞攻擊,但可以通過暴力破解來獲取明文密碼)

    實際測試

    • 遠程機器:192.168.217.129
    • 用戶名:administrator
    • 密碼:hongrisec@2020
    • 本地:192.168.217.1
    > net use \\192.168.217.129 /u:administrator hongrisec@2020
    The command completed successfully.
    

    抓包發現前4個包是協商協議版本,從smb轉為smbv2

        

    本地發送質詢包,遠程機器響應攜帶Ntlm Server Challenge為

    8f69a97378430a53
    


    查看本地發送的第二個質詢包,加密后的challenge為

    0822a40326fd8eab
    

    Response數據為

    fafc5895fbeff4fb303acf5c74b1424d01010000000000006727da877d95d6010822a40326fd8eab000000000200060047004f00440001000800530054005500310004000e0067006f0064002e006f00720067000300180073007400750031002e0067006f0064002e006f007200670005000e0067006f0064002e006f0072006700070008006727da877d95d60106000400020000000800300030000000000000000100000000200000bebc059df5e1e64f315030ef88a55e04436ab8b916550a10918f2f854dc9144b0a001000000000000000000000000000000000000900280063006900660073002f003100390032002e003100360038002e003200310037002e003100320039000000000000000000
    

    下面,使用Hashcat對該Net-NTLM hash進行破解

    NTLMv2的格式為:

    username::domain:challenge:HMAC-MD5:blob
    注:
    challenge為NTLM Server Challenge,domian由數據包內容獲得(IP或者機器名)
    HMAC-MD5對應數據包中的NTProofStr
    

    構造的數據如下:

    administrator::god.org:8f69a97378430a53:fafc5895fbeff4fb303acf5c74b1424d:01010000000000006727da877d95d6010822a40326fd8eab000000000200060047004f00440001000800530054005500310004000e0067006f0064002e006f00720067000300180073007400750031002e0067006f0064002e006f007200670005000e0067006f0064002e006f0072006700070008006727da877d95d60106000400020000000800300030000000000000000100000000200000bebc059df5e1e64f315030ef88a55e04436ab8b916550a10918f2f854dc9144b0a001000000000000000000000000000000000000900280063006900660073002f003100390032002e003100360038002e003200310037002e003100320039000000000000000000
    

    新建字典添加hongrisec@2020

    Hashcat參數如下:

    hashcat -m 5600 administrator::god.org:8f69a97378430a53:fafc5895fbeff4fb303acf5c74b1424d:01010000000000006727da877d95d6010822a40326fd8eab000000000200060047004f00440001000800530054005500310004000e0067006f0064002e006f00720067000300180073007400750031002e0067006f0064002e006f007200670005000e0067006f0064002e006f0072006700070008006727da877d95d60106000400020000000800300030000000000000000100000000200000bebc059df5e1e64f315030ef88a55e04436ab8b916550a10918f2f854dc9144b0a001000000000000000000000000000000000000900280063006900660073002f003100390032002e003100360038002e003200310037002e003100320039000000000000000000 password.list -o result.txt --force
    

    說明:

    -m:hash-type,5600對應NetNTLMv2,詳細參數可查表:https://hashcat.net/wiki/doku.php?

    -o:輸出文件 字典文件為password.list

    –force代表強制執行,測試系統不支持Intel OpenCL

    成功破解出登錄的明文密碼,輸出如下圖

    成功破解出密碼hongrisec@2020

    工作組環境和域環境下Net NTLM認證過程因為有DC(域控制器)的參與流程略有差異,不過不影響進行哈希傳遞攻擊

    hashresponse
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    淺談net-ntlm的利用
    2022-12-16 10:38:09
    淺談net-ntlm的利用。
    內網滲透hash竊取技巧
    2021-11-28 06:53:23
    在內網滲透的過程中,最重要的就是信息搜集,但是在極端情況下我們找不到能夠橫或者跨域的機器,那么這時候我們就可以嘗試做一個水坑,來嘗試獲取hash。當然這只是理想情況,在愈發強調對抗的當下,利用水坑釣魚也變得不是那么簡單。
    前言在內網滲透的過程中,最重要的就是信息搜集,但是在極端情況下我們找不到能夠橫或者跨域的機器,那么這時候我們
    NTLM是一種網絡認證協議,與NTLM Hash的關系就是:NTLM網絡認證協議是以NTLM Hash作為根本憑證進行認證的協議。其中也提到了NTLM協議是一種不安全的認證模式。同時將之前生成的隨機數Challenge等信息發送給客戶端。客戶端接受到Challenge后,使用將要登錄到賬戶對應的NTLM Hash加密Challenge生成Response,然后將Response等信息發送至服務器端。
    Pass The Hash 即哈希傳遞攻擊,簡稱 PTH
    WINDOWS認證機制 閱讀本文前需要補充的知識:域的基本概念,域環境與工作組環境的區別 何謂域滲透,域滲透就是基于windows域環境的滲透,而域滲透設計到的技術,如哈希傳遞(PTH)票據傳遞(PTT)委派攻擊等,都是基于域環境下的認證機制來實現的,這也是為什么要了解Windows認證機制的原因之一 Windows的認證包括三個部分,用戶直接操作計算機登陸賬戶(本地認證),遠程連接到工作組
    域滲透就是基于windows域環境的滲透,而域滲透涉及到的技術,如哈希傳遞(PTH)票據傳遞(PTT)委派攻擊等,都是基于域環境下的認證機制來實現的,這也是為什么要了解Windows認證機制的原因之一Windows的認證包括三個部分,用戶直接操作計算機登陸賬戶(本地認證),遠程連接到工作組中的某個設備(網絡認證),登陸到域環境中的某個設備(域認證)
    WINDOWS認證機制之NTLM
    2021-11-18 08:22:53
    Windows的認證包括三個部分,用戶直接操作計算機登陸賬戶,遠程連接到工作組中的某個設備,登陸到域環境中的某個設備(域認證)本地認證 NTLM
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类