Linux服务器病毒清理实践
背景:客户服务器被挂载木马病毒用以挖矿(比特币)。
本次清理通过Linux基本命令完成。其原理也比较简单,通过ps命令查看服务器异常进程,然后通过lsof命令定位进程访问的文件,找到异常文件删除之,最后为了确保万无一失,可以通过find命令找出最近时间内服务器上产生的文件进一步排除。
刚开始通过top命令发现某个进程占据大量系统CPU资源,但是该进程确不是我们系统业务进程。通过kill -9 PID 杀掉该进程,观察一会后,进程又恢复了。怀疑是定时任务拉起的,固排查了下定时任务相关的配置文件/etc/crontab文件,果然文件中存在一条新增加的内容,干掉该条配置,并找到它的启动的可执行文件,删除之。继续杀掉进程,可是发现该进程又被拉起了。看来不止定时任务,可能还有其他守护进程存在。
利用ps命令查看最近启动的所有进程:ps -aux --sort=start_time |tail -n 50
通过分析,找到有几个进程存在问题,有启动脚本的,有wget从网络上下载文件的进程。
通过lsof -p pid定位以上异常进程访问的相关文件资源,删除非系统文件后kill对应进程。
观察一段时间后发现又有异常进程起起来了。这时候就开始头疼了,还有什么地方呢。会不会是一些系统文件被感染了?顺着这条思路,找到最近一段时间被修改的文件列表
find $path -ctime -30 print
把/usr /root /tmp /bin等系统目录找了个遍,发现大量异常文件,其中甚至有一些常用的命令如:ps netstat lsof wget 等被篡改过(通过stat命令查看状态)。
并且以上系统命令大小一模一样,算了下md5也一样,果然有问题。把对应命令文件拷贝出来,放到在线病毒库对比一看,果然是病毒。先用正常服务器的对应文件替换被感染的系统命令。然后再按照之前清理步骤再清理一遍。好了,观察了一会,没有进程文件再被拉起了。
接下来,追踪下最近修改文件,看看能不能找到黑客是怎么入侵进来的。我们发现在activemq目录下存在大量异常jsp文件,查看其内容,简直就是一个网页版的命令执行工具啊。看来咱服务器用的activemq存在漏洞,被黑客利用了,植入后门文件,然后利用wget命令下载病毒完成病毒植入,再利用命令执行工具,完成相关进程部署。临时应急方案,我们选择屏蔽activemq的管理页面的访问权限(之前对公网开放了该端口)。本次病毒清理也到此结束了。
反思:对服务器上一些开源组件的使用时,我们应该保持警惕,不能说完全不用,但是要随时关注组件的漏洞情况,及时修复,同时,对于一些非公共资源的访问,避免对公网开放。养成定期对系统做安全检查。
Linux服务器病毒清理实践的更多相关文章
- 记一次Linux Centos7病毒清理
记一次在工作中测试环境下中病毒的处理解决办法,都说linux系统非常安全,但是很多人百年一遇的病毒被我遇上了,公司三台测试环境服务器中招. 最开始系统突然变得很卡,使用top命令查看资源占用情况,发现 ...
- Linux服务器高并发实践经历
作为一个师父离职早的野生程序员,业务方面还可以达到忽悠别人的水平,但上升到性能层面那就是硬伤. 真实天上掉馅饼,公司分配了一个测试性能的任务,真是感觉我的天空星星都亮了. 高并发主要限制因素:CPU. ...
- linux服务器随机10字符病毒/libudev4.so病毒清理的过程
故障表现:某天晚上突然收到某项目一台web服务器CPU报警,SSH连接困难卡顿,登陆后发现CPU使用率飙升到700%,第一感觉是被黑了,来事了. 故障处理: 1.登陆上后发现有好多莫名的命令(who/ ...
- 记一次阿里云linux病毒清理过程
1.起因 因为这台服务器是我们公司内部开发服务器,几乎每个人都有root密码.在两天前突然有同事反馈说偶尔会有ssh连不上,git代码无法提交的问题,刚开始也没有在意,以为是阿里云服务器网络波动的 ...
- jprofiler_监控远程linux服务器的JVM进程(实践)
几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat ...
- 《DevOps故障排除:Linux服务器运维最佳实践》读书笔记
首先,这本书是Linux.CN赠送的,多谢啦~ http://linux.cn/thread-12733-1-1.html http://linux.cn/thread-12754-1-1.html ...
- Windows使用Telnet连接Linux服务器初探(待实践)
在Windows下可以适用Telnet连接Linux服务器,但是前提是在Linux下需要安装Tlenet-Server.还要开启防火的23端口.搞定之后就可以用telnet IP进行连接. 但是,我发 ...
- Linux 服务器性能测试报告-sysbench命令实践
Linux 服务器性能测试报告 我们使用linux 工具sysbench 来测试linux服务器性能,目前在Centos上进行操作 Install sysbench yum -y install sy ...
- linux服务器开发一 基础
注:本文仅限交流使用,请务用于商业用途,否则后果自负! Linux 1.Linux介绍 Linux是类Unix计算机操作系统的统称. Linux操作系统的内核的名字也是“Linux”. Linux这个 ...
随机推荐
- fedora 19 gnome 3.8 关闭笔记本盖子的动作
gnome-tweak-tool里没有了相关选项,但是又想让关闭盖子不挂起,后来看看才知道gnome3.8不再提供这功能,而是交给systemd来处理,所以估计用dconf-edit在gnome的po ...
- SpringMVC 基本概念
DispatcherServlet:前端控制器,解释用户请求,通过HandlerMapping查找对应Handler处理请求,调用ViewResolve回填页面,DispatcherServlet在W ...
- Java集合框架体系详细梳理,含面试知识点。
一.集合类 集合的由来: 面向对象语言对事物都是以对象的形式来体现,为了方便对多个对象的操作,就需要将对象进行存储,集合就是存储对象最常用的一种方式. 集合特点: 1,用于存储对象的容器.(容器本身就 ...
- PhiloGL学习(6)——深情奉献:快乐的一家
前言 话说上一篇文章结尾讲到这一篇要做一个地球自转以及月球公转的三维动画,提笔,不对,是提键盘开始写的时候脑海中突然出现了几年前春晚风靡的那首歌:蒙古族小丫头唱的快乐的一家.闲言莫提,进入正题. ...
- 找到python官方标准库文档
python中有很多标准库.我们没法记住全部标准库,但是可以在:https://docs.python.org/3/py-modindex.html 中查看标准库的索引 在python的官方文档中,如 ...
- 蒙特卡罗算法(Monte Carlo method)
蒙特卡罗方法概述 蒙特卡罗方法又称统计模拟法.随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法.将所求解的问题同一 ...
- sqoop1.4.6从mysql导入hdfs\hive\hbase实例
//验证sqoop是否连接到mysql数据库sqoop list-tables --connect 'jdbc:mysql://n1/guizhou_test?useUnicode=true& ...
- 用Python从零开始创建区块链
本文主要内容翻译自Learn Blockchains by Building One 本文原始链接,转载请注明出处. 作者认为最快的学习区块链的方式是自己创建一个,本文就跟随作者用Python来创建一 ...
- SQL——按照季度,固定时间段,分组统计数据
最近在工作中接到了一个需求,要求统计当月以10天为一个周期,每个周期的数据汇总信息.假设有一张表如下: 表table_test中 ID AMOUNT CREATE_ ...
- dom4j解析xml文档全面介绍
一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...