GPU集群中招十字符病毒 libudev.so

Original Virus Sample

https://www.dropbox.com/sh/ibqcc4cdvis7588/AAA02-mOA_F0zRDwbxFi3HZna?dl=0

include : gcc.sh, libudev.so, two random string files


  • 起因:

身边有10台GPU服务器,用来跑化学信息学上的一些项目。偶然间登录到管理节点(master),发现有个XMR-STAK进行占用了400%的CPU用量,一查发现是“所罗门币挖矿程序”。联想到这个管理节点的root弱密码,果然中招了。

pkill掉这个XMR-STK进程很简单,但仔细一看top出的结果,发现有很多名称是随机字符的进程在运行,大部分运行几秒就消失,换成新的进程名在跑。

在/etc/rc.d/init.d处出现多个可疑文件并且无法删除
删除后,会新增启动项
在/etc/cron.hourly里也出现可疑启动项,无法彻底删除

  • 分析:

/etc/rc.d/init.d下有异常的启动脚本,直接删除会再次复现。

/etc/rc.d/rc3.d/等目录还有指向init.d的软连接。

cat /etc/crontab会发现一项定时任务“*/3 * * * * root /etc/cron.hourly/gcc.sh” 来定时启动/etc/cron.hourly下的gcc.sh

cat /etc/cron.hourly/gcc.sh,发现这个gcc脚本的功能是启动网卡,拷贝病毒库文件。

  • 解决办法:

  1. 关闭定时任务
systemctl stop crond

2. 把 /lib/libudev.so 的访问权限去掉,把 /lib/ 目录设为不可修改。删除libudev.so

chmod 0000 /lib/libudev.so && rm -rf /lib/libudev.so && chattr +i /lib/

3. 删除gcc.sh

rm -rf /etc/crontab/gcc.sh

4. 清掉相关定时任务,并把 /etc/crontab 访问权限全部去掉,设为不可修改。

sed '/gcc.sh/d' /etc/crontab && chmod 0000 /etc/crontab && chattr +i /etc/crontab

5. 重启服务器,检查可疑进程和可疑脚本。适时恢复目录的可修改属性。

chattr -i /lib /etc/crontab

 

升级安全措施

  1. /etc/hosts.allow ssh只允许特定IP段登录
  2. /etc/hosts.deny ssh关闭所有IP连接
  3. 在/etc/ssh/sshd_config文件中:
    • 禁止root直接登录
    • ssh 3600秒无动作关闭连接
    • 最大登录尝试4次
    • 禁止空密码登录

发表评论