iba-1/cpanel-forensics

GitHub: iba-1/cpanel-forensics

针对 cPanel/WHM/CloudLinux 服务器的 Bash 应急响应工具包,提供系统性取证收集、MITRE ATT&CK 映射的数据外发检测和勒索软件追踪能力。

Stars: 0 | Forks: 0

# cPanel 取证工具包 用于在 cPanel/WHM/CloudLinux 服务器上进行应急响应的 Bash 脚本。专为真实环境下的取证收集、数据外发检测和勒索软件追踪而构建。 ## 脚本 ### `forensic_collect.sh` 完整的取证证据收集——首先捕获易失性状态,然后将所有内容打包成 tarball 以供离线分析。 ``` sudo bash forensic_collect.sh [output_dir] ``` **收集内容(12个阶段):** | 阶段 | 内容 | 目的 | |-------|------|-----| | 1 | 网络连接、进程、`/proc`、iptables | 易失性——每秒都在变化 | | 2 | 完整的 `/var/log/`、Apache domlogs、Apache 日志 | 全系统日志证据 | | 3 | cPanel 日志、用户配置、传输会话 | WHM/cPanel 访问痕迹 | | 4 | `last`/`lastb`、wtmp/btmp、SSH 认证事件 | 登录历史和暴力破解 | | 5 | 所有用户的 `.bash_history`、`.mysql_history` 等 | 攻击者命令重建 | | 6 | 所有 crontab(用户 + 系统) | 持久化机制 | | 7 | `/etc/passwd`、`/etc/shadow`、SSH 密钥、sudoers | 账户篡改、恶意密钥 | | 8 | Auditd 日志 + aureport 分析 | 系统调用级别的命令证据 | | 9 | 二进制文件哈希 (openssl)、`rpm -Va`、SUID 扫描 | Rootkit/木马检测 | | 10 | 数据外发指标 (已映射 MITRE ATT&CK) | 数据盗窃证据 | | 11 | CloudLinux CageFS、LVE 统计信息 | CageFS 逃逸、加密挖矿 | | 12 | 总结报告 + tar.gz 压缩 | 供分析师直接使用的输出 | **数据外发检测涵盖:** - **T1041** — C2 通道(异常端口、字节量分析) - **T1048** — 替代协议(DNS 隧道、SMTP 大附件) - **T1048.003** — DNS 子域名长度分析、TXT/NULL 查询 - **T1567.002** — 云存储(rclone、aws、gcloud 检测 + 凭证收集) - **T1537** — 云账户传输 - **T1029** — 定时传输(可疑的 cron 条目) - **T1074** — 数据暂存(`/tmp`、`/dev/shm` 中的文件) - Webshell 检测与收集 - `.htaccess` 后门收集 **输出:** 包含所有内容的单个 `.tar.gz` 文件,以及带有快速分类警报的 `REPORT.txt`。 ### `ransomware_detect.sh` 独立的勒索软件检测——检查加密产物、勒索信、备份破坏情况以及文件完整性。 ``` sudo bash ransomware_detect.sh [output_dir] [forensic_collect_dir] ``` 可选的第二个参数允许其复用已被 `forensic_collect.sh` 收集的 shell 历史记录。 **检查内容(8个阶段):** | 阶段 | 内容 | |-------|------| | 1 | 勒索信文件(40+ 种文件名模式 + Sorry/SorryGo `README.md` 检测) | | 2 | 文本文件中的 `.onion` URL、加密钱包地址、qTox ID | | 3 | 加密文件扩展名(50+ 种模式,包括 `.sorry`、`.lockbit`、`.akira`) | | 4 | 大量文件修改(每小时修改的文件数——超过1000个/小时 = 加密) | | 5 | Shell 历史中的加密命令(`openssl enc`、`gpg`、`shred`) | | 6 | 备份破坏(缺失的备份目录、历史记录中的 `rm` 命令) | | 7 | 已知的勒索软件进程名(30+ 个家族) | | 8 | 文件头/魔术字节分析(检测没有有效文件头的加密 `.jpg`/`.png`/`.pdf`) | **包含针对 Sorry/SorryGo (2026) 的专项检测:** - `.sorry` 文件扩展名 - 作为勒索信的 `README.md`(通过 grep 检索 `qtox`、`tox.id`、`taobao`、`decrypt` 关键词) - SorryGo 进程名模式 ### `check_logs.sh` 专为 cPanel 服务器设计的快速特定域名日志查找与监控工具。 ``` bash check_logs.sh example.com ``` - 查找所有匹配域名的日志文件 - 显示每个日志文件的最后 50 行 - 将找到的日志路径保存到 `/tmp/logs_.txt` - 在启动 `tail -f` 进行实时监控前会进行询问 - 跳过 `.gz` 压缩日志 ## 用法 ``` # 1. 上传到 server scp *.sh root@your-server:/root/ # 2. 运行 forensic 收集(优先运行 — 捕获 volatile state) ssh root@your-server 'bash /root/forensic_collect.sh' # 3. 运行 ransomware 扫描(可复用 forensic 数据) ssh root@your-server 'bash /root/ransomware_detect.sh /root/ransom_scan /root/forensic_*' # 4. 拉取结果 scp root@your-server:/root/forensic_*.tar.gz . scp root@your-server:/root/ransomware_scan_*.tar.gz . # 5. 检查特定 domain 日志 ssh root@your-server 'bash /root/check_logs.sh example.com' ``` ## 环境要求 - 目标服务器的 Root 权限 - Bash 4+ - 标准 Linux 工具(`find`、`grep`、`awk`、`ps`、`ss`/`netstat`、`lsof`) - 适用于 CentOS 6/7、CloudLinux 6/7/8、AlmaLinux、RHEL - 使用 `openssl dgst` 代替 `sha256sum`(适用于最小化安装环境) ## 注意事项 - **尽早**运行 `forensic_collect.sh`——第 1 阶段捕获的易失性网络/进程状态每秒都在变化 - 理想情况下,在运行前以只读模式挂载磁盘,但该脚本也适用于运行中的系统 - 由于会转储完整日志,输出的 tarball 可能非常大(数 GB)——请提前规划好磁盘空间和传输时间 - 每一行日志都包含了收集的**原因**、**源路径**和**目标路径**,用于证据保管链文档记录 ## 许可证 MIT
标签:CageFS逃逸, CloudLinux, cPanel, Linux服务器安全, Linux系统管理, Shell脚本, Webshell检测, WHM, 加密货币挖矿检测, 勒索软件检测, 勒索软件狩猎, 后门检测, 域渗透, 安全合规, 库, 应急响应, 应用安全, 持久化分析, 数字取证, 数字取证, 数据渗出检测, 日志收集, 易失性数据收集, 服务器安全工具, 电子数据取证, 网络代理, 网络安全, 网络连接分析, 自动化脚本, 自动化脚本, 进程分析, 隐私保护