2022-04-02

近期部分服务器感染“挖矿”病毒的清理指南

  根据上级部门工作要求,学校近日加强了对校内主机感染“挖矿”病毒的监测排查。根据最新的监测信息,经现场勘察和样本分析后,确认有部分校园网Linux服务器感染“挖矿”病毒。与之前通告的挖矿病毒(https://its.pku.edu.cn/announce/tz20190830153200.jsphttps://its.pku.edu.cn/announce/tz20201103220915.jsp )不同, 这次的变种使用了漏洞提权等操作,还增加了一些逃避检测的手段。攻击者能获取主机控制权限,植入病毒,进行挖矿、网络攻击和横向传播等恶意行为,同时服务器上的文件也可能被窃取、删除或恶意加密等,有很大的风险。

以下清理指南供排查自检。

1.清除异常预加载动态库

Linux的/etc/ld.so.preload配置,可以自定义程序运行前优先加载的动态链接库。部分木马病毒通过修改该文件,添加恶意文件,从而实现挖矿进程的隐藏等恶意功能。

检查/etc/ld.so.preload(该文件默认为空),清除异常的动态链接库。可以执行命令进行清除。

#chattr = /etc/ld.so.preload && mv /etc/ld.so.preload /etc/ld.so.preload.bak

2.清除异常任务

2.1.分析

2.1.1.异常定时任务特征

是否存在updatedb、sync(二进制文件)定时任务。

updatedb内容如下

#DO NOT EDIT THIS FILE!

#Contents of this file manged by update

#Master copy is update

#Consult that file for documentation

 

*1/  * * * * root  (up)

@reboot root  (up)

 

2.1.2.查找异常定时任务

  • 通过命令查看定时任务

#ls -al /etc/cron*

#ls -al /var/spool/cron/crontabs/

  • 通过日志查看定时任务,病毒定时任务一分钟执行一次。

#grep "CRON" syslog.*|more

2.2.处置

删除定时任务文件中异常任务,文件追加只读属性。防止病毒进程重新添加任务。

1.如果定时任务文件中都是异常任务

#echo '#' > /etc/cron.hourly/sync && chattr i /etc/cron.hourly/sync

2.如果定时任务文件中部分是异常任务

  1. 手动删除异常任务内容
  2. 文件追加只读权限

#chattr +i /etc/cron.hourly/sync

3.清除异常进程

3.1.分析

3.1.1.异常进程特征

已知perl Shellbot病毒进程名称如下:

● [nvque]

● [nvue]

● [bash]

● [sndns]

使用xhide运行病毒程序进程名称如下:

● crond

● /opt/anaconda3/bin/python/pytorch/

● Kworker

预加载动态库隐藏"python "(python后门有空格)

● "python "

 

3.1.2.查找异常进程

1. 通过异常网络连接定位异常进程

执行“netstat -anplt | more“ 指令查看系统网络连接,是否存在异常网络连接,连接异常端口(21、8443、9999等端口)。

2. 使用lsof定位perl Shellbot病毒进程

command和perl不符合,[bash]为perl Shellbot病毒进程。

#lsof /usr/bin/perl

3. 使用ps aux查看进程

挖矿病毒会使用xhide程序隐藏进程名:

如下图所示,h32为xhide程序,恶意程序是lb32,实际进程名称是却是kworker

 

查找异常进程

#ps aux|egrep 'crond|/opt/anaconda3/bin/python/pytorch/|kworker'

确认是否是异常进程。

#ls -l /proc/[pid号]/exe

4. 查找"python "异常进程

检查/etc/ld.so.preload(该文件默认为空),清除异常的动态链接库。可以执行命令进行清除。

#chattr = /etc/ld.so.preload && mv /etc/ld.so.preload /etc/ld.so.preload.bak

查找"python "异常进程

# ls -l /proc/*/exe 2>/dev/null|grep "python "

3.2.处置

#kill -9 恶意程序PID结束进程

4.清除异常SSH公钥

挖矿木马通常会在~/.ssh/authoruzed_keys文件中写入黑客的SSH公钥,这是常见的保持服务器控制权的手段。后续用户将挖矿木马清除并修改密码后,黑客还是可以免密登陆该主机。

排查~/.ssh/authorized_keys文件,如果发现可疑的SSH公钥,直接删除。

5.修改用户口令

用户口令设置成12位以上,排列随机,包含大写字母、小写字母、数字和特殊符号中三种以上的组合。

1) 不用弱密码,弱密码指仅包含简单数字或字母的组合,如:123、12345678、abc、root、admin等;

2) 避免使用存在社工属性的密码,如:用户名、生日、abc123等,此类密码易被攻击者利用使用者个人信息生成定制字典进行爆破;

3) 避免使用个人在其他社交账户及软件应用中使用的密码,攻击者可能利用从黑产等其他途径购买到的密码库进行撞库攻击;

4) 避免多个服务器使用相同账户密码,也不要将服务器密码设置的存在特征性、规律性,同时避免与个人账号常用的密码相同或相似;

5) 设一个自己能记住的密码,如:古诗词、一句话缩写 数字/字符等,bqLLcloud&moon_201809 (八千里路云和月)

 

北京大学计算中心

2022年04月02日


返回