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

译者: 林妙倩(清华大学网络研究院网络空间安全实习生)、戴亦仑(赛宁网安) 原创翻译作品,如果需要转载请取得翻译作者同意。

数据来源:ATT&CK Matrices

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

术语表: /attack/glossary

计划任务

诸如 at 和 schtasks 之类的实用程序以及 Windows 任务计划程序可以安排在指定日期和时间执行的程序或脚本。 还可以在远程系统上计划任务,前提是有正确身份验证以使用 RPC,并且已开启文件和打印机共享。 通常远程系统上 Administrators 组的成员才能在远程系统上计划任务。

攻击者可以使用任务计划来在系统启动时,或在计划的基础上执行程序以实现持久化,作为横向移动的一部分执行远程任务,获得 SYSTEM 权限,或者在指定帐户的上下文下运行进程。

缓解

限制用户帐户的权限并修复提权向量,只有授权管理员才能在远程系统上创建计划任务。 像 PowerSploit 框架之类的工具包具有 PowerUp 模块,可以使用该模块研究计划任务中可用于提升特权的权限缺陷。

配置计划任务以强制其在经过身份验证的帐户上下文中运行,而不是允许其作为 SYSTEM 运行。 相关的注册表项位于 HKLM。 可通过 GPO 进行配置: 计算机配置>[策略]> Windows 设置>安全设置>本地策略>安全选项: 域控制器: 设置 [允许服务器操作员计划任务] 为禁用。

配置“Increase Scheduling Priority”选项,仅允许管理员组安排优先级进程的权限。 这可以通过 GPO 配置: 计算机配置>[策略]> Windows 设置>安全设置>本地策略>用户权限分配: 增加计划优先级。

使用白名单 工具(如 AppLocker、 或软件限制策略 ) 识别并拦截可用于计划任务的不必要的系统实用程序或潜在的恶意软件。

检测

监控常见实用程序通过命令行调用创建的计划任务。 在安装新软件期间或通过系统管理功能可以创建合法的计划任务。 监控 Windows 10 中 svchost.exe 和 Windows 旧版本中 Windows 任务计划程序 taskeng.exe 的进程执行。 如果计划任务不是用于持久化,那么攻击者很可能在操作结束时删除任务。 监视%systemroot%\System32\Tasks 下的 Windows 任务计划程序,查看是否有与已知软件,补丁周期等无关的计划任务相关的更改条目。不应孤立地看待数据和事件,而应将其视为可能导致其他活动的行为链的一部分,例如用于命令与控制的网络连接、通过披露了解环境细节以及横向移动。 通过在事件日志服务中启用“Microsoft-Windows-TaskScheduler/Operational”,为计划任务的创建和更改配置事件日志。 然后在计划任务活动中会记录几个事件,包括:

  • 事件 ID 106 -计划任务注册

  • 事件 ID 140 -计划任务更新

  • 事件 ID 141 -计划任务删除

诸如 Sysinternals Autoruns 等工具也可用于检测可能尝试持久化的系统更改,包括列出当前计划任务。 查找与已知软件、补丁周期等无关的任务更改。当以前与历史数据进行比较时,通过计划任务执行的可疑程序可能会显示为未见过的异常进程。 监视可以创建任务的进程和命令行参数的操作。 具有内置功能的远程访问工具可以直接与 Windows API 交互,以在典型的系统实用程序外执行这些功能。 还可以通过 Windows 系统管理工具(如 Windows 管理规范和 PowerShell) 创建任务,因此可能需要配置额外的日志以收集适当的数据。