跳转至

T1546-001-win-事件触发执行-更改默认文件关联

来自ATT&CK描述

攻击者可以通过执行由文件类型关联触发的恶意内容来建立持久性。打开文件时,会检查用于打开文件的默认程序(也称为文件关联或处理程序)。文件关联选择存储在 Windows注册表中,可由具有注册表访问权限的用户、管理员或程序或管理员使用内置的assoc实用程序进行编辑。应用程序可以修改给定文件扩展名的文件关联,以在打开具有给定扩展名的文件时调用任意程序。

系统文件关联被列在HKEY_CLASSES_ROOT.[扩展]下,例如HKEY_CLASSES_ROOT.txt。这些条目指向位于HKEY_CLASSES_ROOT[handler]的该扩展的处理程序。然后,各种命令被列在HKEY_CLASSES_ROOT[handler]/shell[action]/command的shell键下的子键。

例如: HKEY_CLASSES_ROOT\txtfile\shell\open\command HKEY_CLASSES_ROOT\txtfile\shell\print\command* HKEY_CLASSES_ROOT\txtfile\shell\printto\command

列出的键的值是处理程序打开文件扩展名时执行的命令。攻击者可以修改这些值以连续执行任意命令。

测试案例

测试1 Change Default File Association

改变默认文件关联从hta的cmd.exe到notepad。

成功执行后,cmd.exe将改变.hta的文件关联为notepad.exe。

攻击命令,用命令提示符运行,需要admin/root权限:

assoc #{extension_to_change}=#{target_extension_handler}

target_extension_handler:txtfile extension_to_change:.hta original_extension_handler:htafile

清理命令:

assoc  #{extension_to_change}=#{original_extension_handler}

检测日志

测试复现

测试1 Change Default File Association

C:\Users\Administrator.ZHULI>assoc .hta=txtfile
.hta=txtfile

C:\Users\Administrator.ZHULI>assoc .hta=htafile
.hta=htafile

测试留痕

检测规则/思路

建议

收集和分析注册表键的变化,这些键将文件扩展名与默认应用程序的执行相关联,并与该进程的未知进程启动活动或异常文件类型相关联。

用户文件关联设置在[HKEY_CURRENT_USER]\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts下,并覆盖[HKEY_CLASSES_ROOT]下配置的关联。对用户偏好的改变将发生在这个条目的子键下。

还可以查看进程调用树,用以发现其他行为。

相关TIP

[[T1546-002-win-事件触发执行-屏幕保护程序]] [[T1546-004-linux-.bash_profile and .bashrc]] [[T1546-007-win-通过netsh key持久化]] [[T1546-012-win-事件触发执行-图片文件执行选项注入]]

参考推荐

MITRE-ATT&CK-T1546-001

https://attack.mitre.org/techniques/T1546/001

Atomic-red-team-T1546-001

https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1546.001/T1546.001.md