$npx -y skills add killvxk/cybersecurity-skills-zh --skill analyzing-persistence-mechanisms-in-linux检测和分析 Linux 持久化机制,包括 crontab 条目、systemd 服务单元、LD_PRELOAD 劫持、bashrc 修改和 authorized_keys 后门,使用 auditd 和文件完整性监控
| 1 | # 分析 Linux 持久化机制 |
| 2 | |
| 3 | ## 概述 |
| 4 | |
| 5 | 攻击者通过 crontab 任务、systemd 服务/计时器单元、LD_PRELOAD 库注入、Shell 配置文件修改(.bashrc、.profile)、SSH authorized_keys 后门以及 init 脚本操控等方式在 Linux 系统上建立持久化(Persistence)。本技能扫描所有已知持久化向量,检查文件时间戳和完整性,并将发现结果与 auditd 日志关联,以构建持久化安装的时间线。 |
| 6 | |
| 7 | ## 前置条件 |
| 8 | |
| 9 | - 目标 Linux 系统(或取证镜像)的 root 或 sudo 访问权限 |
| 10 | - auditd 已配置针对持久化路径的文件监控规则 |
| 11 | - Python 3.8+ 及标准库(os、subprocess、json) |
| 12 | - 可选:OSSEC/Wazuh 代理用于文件完整性监控告警 |
| 13 | |
| 14 | ## 步骤 |
| 15 | |
| 16 | 1. **扫描 Crontab 条目** — 枚举所有用户 crontab、/etc/cron.d/、/etc/cron.daily/ 和 anacron 任务中的可疑命令 |
| 17 | 2. **审计 Systemd 单元** — 检查 /etc/systemd/system/ 和 ~/.config/systemd/user/ 中非包管理器托管的服务和计时器单元 |
| 18 | 3. **检测 LD_PRELOAD 劫持** — 检查 /etc/ld.so.preload 和 LD_PRELOAD 环境变量中注入的共享库 |
| 19 | 4. **检查 Shell 配置文件** — 扫描 .bashrc、.bash_profile、.profile、/etc/profile.d/ 中注入的命令或反向 Shell |
| 20 | 5. **检查 SSH Authorized Keys** — 审计所有 authorized_keys 文件中的未授权公钥及命令限制 |
| 21 | 6. **关联 Auditd 日志** — 搜索 auditd 日志中持久化路径的文件修改事件,构建安装时间线 |
| 22 | 7. **生成持久化报告** — 生成包含所有发现的持久化机制及风险评分的报告 |
| 23 | |
| 24 | ## 预期输出 |
| 25 | |
| 26 | - 包含所有持久化机制及风险评分的 JSON 报告 |
| 27 | - 基于 auditd 关联的持久化安装时间线 |
| 28 | - MITRE ATT&CK 技术映射(T1053、T1543、T1574、T1546) |
| 29 | - 每个检测到的持久化机制的修复命令 |