记录一次服务器反病毒过程

Posted 52sunny

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录一次服务器反病毒过程相关的知识,希望对你有一定的参考价值。

2月中旬收到阿里云短信,提示服务器遭到恶意端口扫描,因为是台闲置服务器并未太关注,2月底因为需要测试搭建一个web网站重新启用了这个服务器,但无论怎么操作,apache或者nginx都能正常启动,但无法访问。同时,受到阿里云邮件,警告服务器已被入侵,存在恶意行为。至此才想起来可能遭到入侵,导致服务器功能无法正常使用。
排查过程:
确认被入侵,存在异常。
1、登录之后ifconfig查看,发现eth1发送数高达150.9TB。
2、查看远程登录日志,发现有多个外国IP进行果多次尝试登录
到此基本确认被黑了,然后上阿里云管理平台,发现了6个木马行为,2个高危漏洞,直接对疑似木马文件进行了隔离。

查找问题
隔离之后以为杀掉异常进程就可以了,结果隔天再次查看发信eth1发送数据量上涨0.5TB。采用ps -aux查看,发现几个特殊进程:
1、linuxyam,命名类似于yam病毒

2、999,纯以数字命名,杀死后再生,基本判定为病毒
3、2500,纯以数字命名,杀死后再生,基本判定为病毒
4、pythno,这个最具欺骗性,刚开始以为是python,后来想起来这台机器python根本没起过。

采用find / -name 病毒名,发现pythno位于/usr/bin下,其他文件集中在/tmp目录下,
rm -rf /usr/bin/pythno
rm -rf /tmp/*
(测试服务器下tmp目录基本没重要文件,直接删除了),删除之后杀死进程,发现进程仍然处于再生状态,同时tmp目录下类似病毒的文件再次产生,根据经验判断可能存在定时器任务重复执行。vim /etc/crontab,发现其中并未存在任何异常定时器行为。
同时发现除linuxyam这个进程具有固定PID之外,其他病毒进程不停产生的同时,PID也在变化。至此推测这些病毒进程可能在自我复制生产。
通过直接用进程名查找文件位置失败后决定通过PID查找启动程序。
ls /proc/进程id,没有什么有意义发现。
再次进到/tmp目录下,发现有个奇怪的文件,conf.n,打开之后是乱码,下载下来看也是乱码,推测是个病毒配套文件,
find / -name conf.n,
发现/usr/bin/bsd-port目录下也有这个文件,这个文件夹蛮具有欺骗性,类似于bsd-write,刚开始我以为是系统文件夹,后来跟另一台服务器对比,发现正常服务器没有这个文件夹,至此判定此文件夹为病毒文件夹,删除掉。rm -rf /usr/bin/bsd-port/。
至此,共删除了pythno文件和/usr/bin/bsd-port目录,后面开始清除已经生成的病毒进程。因为已经生成很多个同名病毒进程,故采用下面方式杀死
ps -ef |grep 病毒进程名|awk ‘print $2’|xargs kill -9
多次重复之后,ps -aus未再发现新病毒,至此,暂时认为服务器可用。

加固
修改了ssh端口,禁止了root登录,屏蔽掉了在登录日志中发现的ip地址。

后续有时间再研究下导致入侵的几个漏洞,包括webshell提权,redis未认证漏洞等。

以上是关于记录一次服务器反病毒过程的主要内容,如果未能解决你的问题,请参考以下文章

熊猫烧香病毒分析

记录一次勒索病毒漏洞扫描发现过程

小5聊记录一次Win7系统开启3389外网的情况下,被勒索病毒加密所有文件

ARP欺骗是怎么回事?

记录徒手解决cranberry病毒的过程

如何关掉Trend Micro这款反病毒软件?