ATT&CK-CN V1.01 Last Update: 2019-11 [返回索引页]

译者: 林妙倩、戴亦仑 原创翻译作品,如果需要转载请取得翻译作者同意。

数据来源:ATT&CK Matrices

原文: https://attack.mitre.org/techniques/T1196

术语表: /attack/glossary

控制面板项

Windows 控制面板项是允许用户查看和调整计算机设置的实用程序。 控制面板项是已注册的可执行文件 (.exe) 或控制面板文件 (.cpl),后者实际上被重命名为动态链接库 (.dll) 文件,导出 CPlApplet 函数。 控制面板项可以直接从命令行执行,也可以通过应用程序编程接口 (API) 调用以编程方式执行,或者只需双击文件即可。

为了便于使用,控制面板项在完成注册并加载到控制面板后,通常包括用户可用的图形菜单。

攻击者可以使用控制面板项作为执行有效载荷来执行任意命令。 恶意控制面板项可以通过以鱼叉式钓鱼附件 (Spearphishing Attachment ) 的方式 传递或作为多级恶意软件的一部分执行。 控制面板项,特别是 CPL 文件,也可以绕过应用程序和/或文件扩展名白名单。

缓解

这种类型的攻击技术不能简单通过预防性控制缓解,因为它基于对操作系统设计特性的滥用。 例如,减少特定的 Windows API 调用和/或特定文件扩展名的执行可能会产生意想不到的副作用,例如阻止合法软件(即驱动程序和配置工具)。 应该集中精力防止攻击者工具在活动链中更早地运行以及识别后续恶意行为。 将控制面板项的存储和执行限制为受保护的目录,如 C:\Windows,而不是用户目录。 为已知的安全控制面板项建立索引,并使用能够审计和/或阻止未知的可执行文件的白名单 工具(如 AppLocker) 拦截潜在的恶意软件。 考虑完全启用用户帐户控制 (UAC),以阻止非法管理员进行系统范围的更改。

检测

监控和分析与 CPL 文件关联项的相关活动,例如 Windows 控制面板进程二进制文件 (Control .exe) 以及 shell32.dll 中的 Control_RunDLL 和 ControlRunDLLAsUser API 函数。 当从命令行执行或单击时,在 Rundll32 调用 CPL 的 API 函数之前(例如:rundll32.exe shell32.dll,Control_RunDLL file.cpl),control.exe 会执行 CPL 文件(例如:control.exe file.cpl)。 CPL 文件可以通过 CPL API 函数直接执行,只需后面使用 Rundll32 命令,该命令可以绕过针对 control.exe 的检测和/或执行过滤器。

清单控制面板项,用于查找系统中未注册和潜在的恶意文件: - 可执行格式的注册控制面板项将具有全局唯一标识符(GUID)。注册的注册表条目在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpaceHKEY_CLASSES_ROOT\CLSID{GUID}中。 这些条目可能包含有关控制面板项的信息,如其显示名称、本地文件的路径以及在控制面板中打开时执行的命令。 - 存储在 System32 目录中的 以 CPL 格式注册的控制面板项将自动显示在控制面板中。 其他控制面板项目将在 CplsHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Control PanelExtended Properties注册表项中具有注册条目。 - 一些条目可能包括诸如 GUID,本地文件的路径以及用于以编程方式(WinExec("c:\windows\system32\control.exe {Canonical_Name}", SW_NORMAL);)或从命令行(control.exe /name {Canonical_Name})启动文件的规范名称等信息。 一些控制面板项可以通过在 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Controls Folder{name}\Shellex\PropertySheetHandlers中注册的 Shell 扩展来扩展,其中{name}是系统项的预定义名称。 分析新的控制面板项以及磁盘以查找恶意内容。 可执行文件和 CPL 格式都是兼容的可移植可执行文件 (PE) 映像,可以使用传统的工具和方法进行检查,pending 反逆向工程技术。