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这个 ...
随机推荐
- ReflectiveLoader分析(远程线程注入 PE修正)
从github上下载了ReflectiverLoader认真学习了一下 在代码中得到一些心得和自己的想法,都按步骤写到了代码中,现在分享给大家,如有错,望大家指正 其中需要注入的dll和解析, 内存R ...
- excel中添加拼接行
Sub 万途标签()Dim iFor i = 1 To Sheets.Count If Sheets(i).Name = "数据表" Then If MsgBo ...
- JavaScript+HTML5 实现打地鼠小游戏
一.游戏简介 打地鼠这个游戏相信大家都不陌生,也是童年时候一款经典的游戏.本次游戏的编写是以html文件形式完成的,并且使用HBulider软件进行编写,使用谷歌浏览器展示效果,游戏将会采用JavaS ...
- Python Web框架篇:Django文件上传
上传方式: - Form表单上传文件 - Ajax上传文件 - 基于form表单和iframe自己实现ajax请求 1,创建项目 2,settings配置(注册app01,static路径等等这些)及 ...
- luogu P1563 玩具谜题
https://www.luogu.org/problemnew/show/1563 题目: 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天, 这些玩具小人把小南的眼镜藏了起来. 小南发现玩 ...
- 使用jquery ajaxForm提交表单
一.首先引用Jquery <script src="~/Scripts/jquery-1.9.1.min.js"></script> <script ...
- tomcat相关实验
tomcat相关实验 1.实现LNT 同主机实现 1.安装并启动tomcat 1)OpenJDK的安装 yum install java-1.8.0-openjdk-devel.x86_64 确定JD ...
- Magicodes.Admin.Core开源框架总体介绍
框架说明 Magicodes.Admin.Core框架在ABP以及ASP.NET ZERO的基础上进行了封装和完善,目前基于.NET Core 2.0+(Framework版本),由于部分组件在.NE ...
- 借助 frp 随时随地访问自己的树莓派
前言 看了知乎上的一个「树莓派」是什么以及普通人怎么玩? 的高票回答,双十一时间,果断买了一个树莓派 3. 周一(11.13) 到的货.我目前只想实现一个简单的功能 -- 想从任意位置访问我的树莓派. ...
- JAVA_读取XML文件
在项目中,很多种情况都需要将一些配置写在xml文件或者properties文件里,便于日后修改配置,好维护等等. 1.新建xml文件 <?xml version="1.0" ...