当网管其实是一件很苦逼的事情≧ ﹏ ≦
我
日前经济不景气,挖矿的人估计也就白嫖人家机器铁定不亏钱了。
现象
CPU占用异常升高,50%的CPU被完全吃满(整整齐齐吃满固定比例的CPU是明显有问题的,多半是为了不过于瞩目)。但是htop
与top
显示并没有任何不正常的高占用进程。
实际上,电脑已经被用来挖矿了(具体是比特币还是门罗币啥的就不知道了,下次眼疾手快的话我会试试给它来个逆向工程)。
此时,所有的系统命令已经全部被劫持,所有与病毒有关的进程信息都会被劫持后的命令隐藏。因此整个系统所有依赖动态链接库的命令结果已经全部不可信。
这时就要用到busybox这个静态链接的一套命令了。
处理方式
-
首先busybox通过top可查看病毒进程,kill掉,cpu占用立即恢复正常
-
排查以下文件并删除
-
/preload
和/etc/ld.so.preload
:这俩是用来劫持系统命令的,我个人感觉除了隐藏病毒信息之外应该还干了更坏的事情(比如窃取密码,密钥)。如果使用bash,zsh无法删除(也被劫持了)的话可用sh删1 2
sudo sh -c 'echo "" > /etc/ld.so.preload' sudo rm -f /preload
-
/usr/bin/sendmail
:这个目录里本来是没这个文件的,如果怕删掉系统文件可以看看修改时间,应该是最近。自己找一台正常机器对比,就会发现正常应该没这文件。 该文件也可逆向分析,不过由于始作俑者似乎字符串都没整加密,直接就能看出其功能是从某个网站下载病毒脚本。 -
/etc/cron.d/mail
和/etc/cron.weekly/mail
:这两个是用来定时执行上面的sendmail
的,整个文件夹一起删了就OK。如果不删的话,根据原理也能看出这玩意儿 会死灰复燃。
-
-
重启,更改所有管理员的密钥,密码
有人会问了,那病毒本身挖矿的脚本不用管了吗?其实机器第一次被入侵的时候我还差点看到了,不过后来病毒似乎学会启动进程之后就自毁了,因此是看不到的。病毒在启动之后会删除所有跟挖矿直接相关脚本的痕迹。
该病毒还会创建大量名为syslog
的进程,怕你给他删了,其实这名字就是个幌子,每个进程都是在跟远程机器通信。
一些措施……
该病毒通过9832端口传播,如果还没有执行上面的第三步的话,可以看看你所在的网络与你通信的被感染机器
1
sudo netstat -anlp | grep 9832
防火墙开规则拦一下被感染的机器。以及,直接禁掉9832端口的输入输出也是极好的。
后记
其实第2,3步是后来才发现的,因为发现禁掉9832端口、分发脚本的IP和删除文件后,机器仍然主动向外发出链接(虽然病毒脚本是肯定拿不到了),怀疑病毒有残留的定时启动或者开机启动项,检查后才最终确定。
按最近修改时间排序找病毒文件着实有用。毕竟病毒肯定要改或创建一些文件,什么都放内存里岂不是重启就凉了哈哈哈
1
ls -atrl /
This work is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.