🐧 CentOS “-bash 挖矿木马” 事件全景复盘与企业级防御实战
✍️ 作者:Narutolxy | 📅 日期:2025-06-12 | 🏷️ 标签:Linux 安全、应急响应、运维加固、实战复盘
📘 内容简介
本文是一场真实生产环境中 Linux 服务器遭遇挖矿木马的应急处理全景复盘。从 CPU 告警入手,抽丝剥茧揭示 -bash (deleted)
恶意进程的行为逻辑与自我复活机制,并总结了从查杀、封堵到加固的一整套企业级应急实践流程,旨在帮助读者沉淀应急响应与安全体系建设的关键能力。
🌐 1. 事件概览
时间线 | 关键事件 | 影响范围 |
---|---|---|
T0 | 监控报警:CPU > 90 % | 业务响应变慢 |
T0 + 5 min | top 发现 -bash (deleted) 进程 |
2.3G RSS / 100% CPU |
T0 + 10 min | Crontab 下载 cc.systemctl.cc/update.sh |
恶意脚本落地 /var/tmp/.update |
T0 + 20 min | chattr +i /var/spool/cron 持久化 |
禁止手动编辑 cron |
T0 + 30 min | 出站连接 51.79.74.212:6667 / 80 / 443 |
数据泄露 + 挖矿 |
💡 总结链路:用户 crontab ➜ 落地隐藏目录 ➜ chattr 加锁 ➜ 看门狗守护 ➜ 网络联控。
🔎 2. 威胁定位三板斧 (实战提炼)
快速命令 | 打印信息 | 价值 |
---|---|---|
top -H |
-bash (deleted) 占满 CPU |
锁定异常进程 PID |
crontab -l |
含有恶意 curl 下载脚本 | 木马入口:C2 控制脚本 |
lsattr /var/spool/cron |
----i--------------- 无法编辑 |
被加 chattr +i 的持久化载体 |
🩺 3. 木马机理深拆
- Downloader:定时任务下载远程木马脚本
- Dropper:落地文件
/var/tmp/-bash
、赋可执行权限 - Eraser:执行后立即
rm
自身,形成(deleted)
怪象 - Watch-dog:循环自查进程是否消失,自动拉起
- Persistence:利用 cron + chattr / 隐藏 systemd 维持存活
🛡️ 4. 企业级“一键查杀”流程
# A) 冻结 & 断联
iptables -I OUTPUT -d 51.79.74.212 -j DROP
pkill -STOP -f '\-bash.*(deleted)'
# B) 解锁 cron & TMP
chattr -i /var/spool/cron
find /var/tmp /tmp \( -type f -o -type d \) -exec chattr -i {} +
# C) 清理持久化
grep -v 'systemctl.cc' /var/spool/cron/sysoper > /tmp/cleaned_cron
mv /tmp/cleaned_cron /var/spool/cron/sysoper
rm -rf /var/tmp/.update /var/tmp/.systemd /var/tmp/-bash
# D) 终结进程
pgrep -f '\-bash.*(deleted)' | xargs -r kill -9
# E) 防复活
passwd sysoper
> /home/sysoper/.ssh/authorized_keys
chattr +i /var/spool/cron /home/sysoper/.ssh/authorized_keys
🔐 5. 加固清单(可复制到 SOP)
类别 | 核心措施 | Shell 示例 |
---|---|---|
⛔ 执行 | /tmp /var/tmp 设置 noexec |
mount -o remount,noexec /tmp |
🌍 出站 | 默认 DROP,按需放行 | iptables -P OUTPUT DROP + IP 白名单 |
👮 审计 | auditd 监控执行 |
auditctl -w /tmp -p x -k TMP_EXEC |
🛡️ 登录 | 禁用密码 SSH,启用 MFA | 修改 sshd_config 设置 |
🔄 巡检 | 定时查杀进程、监控恶意行为 | pgrep -f '(deleted)' 配合日志记录或告警 |
💡 6. 实战启示与总结
维度 | 启示内容 |
---|---|
安全监控 | CPU > 90%、deleted 进程、出站 6667 是高可信组合指标 |
自动化响应 | 用脚本封装 chattr/sed/iptables,执行时间 < 3 min |
权限设计 | 禁止业务账号写脚本,统一走 CI/CD 发布流程 |
安全即代码 | IOC、规则、封禁配置写入 GitOps 管理,实现可审计、可回滚、安全可视化 |
📌 结语:从“应急”迈向“能力”
✅ 一次应急处理 ≠ 真正安全。企业应以此为契机:
- ✳️ 建立应急响应 SOP
- ✳️ 固化 IOC + 巡检工具
- ✳️ 推动 DevSecOps 常态化演练
- ✳️ 把经验写进 Wiki、输出为安全蓝皮书
未来再遇同类事件,只需一键 run-playbook
,即可从容应对。
愿每一位工程师都能将踩过的坑,变成别人无法挖的深沟。🛡️
完|转载请注明出处 · 作者:Narutolxy