2022-04-02
近期部分服务器感染“挖矿”病毒的清理指南
根据上级部门工作要求,学校近日加强了对校内主机感染“挖矿”病毒的监测排查。根据最新的监测信息,经现场勘察和样本分析后,确认有部分校园网Linux服务器感染“挖矿”病毒。与之前通告的挖矿病毒(https://its.pku.edu.cn/announce/tz20190830153200.jsp,https://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.如果定时任务文件中部分是异常任务
- 手动删除异常任务内容
- 文件追加只读权限
#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日