周一早上老大让我把项目更新一下,然后配置一下elasticsearch,我登上服务器之后部署的时候没有什么感觉,但是在配置elasticsearch的过程中感觉服务器哪个地方有点不对,下意识的top了一下,不看不知道一看吓一跳,一个进程竟然占了400的CPU

首先想到谁登服务器搞了什么鬼,毕竟不是我一个人在用这个服务器,没敢贸然杀死,上网查了一下发现很多朋友都遇到了这个问题,说是一个挖矿的病毒,然后就上网一通乱找,一通乱看,最后大致了解到了解决办法,总共应该分这几步吧:

1:首先找到它的来源,从哪里进来的,从根本上杜绝这种事情的再发生

2:找到他的守护进程,并把它干掉、干掉、干掉。一定要干干净了

我想先找到这个进程从哪里运行的,就是他的脚本文件到底在哪,我top之后知道了他的PID

接下来就根据PID来找他的位置

Linux在启动一个进程的时候,系统会在/porc下创建一个以PID为名称的文件夹,在这个文件夹下有这个进程的详细信息,我们进去看一下

cwd符号链接的是进程运行目录;

exe符号连接就是执行程序的绝对路径;

cmdline就是程序运行时输入的命令行命令;

environ记录了进程运行时的环境变量;

fd目录下是进程打开或使用的文件的符号连接。

我们看exe后面的绝对路径,进去之后会发现

里面有两个可执行文件,其中一个就是qW3xT.2  不多说,直接干掉,然后杀死这个进程,但是当你杀死之后一分钟左右还是会蹦出来,这是怎么回事,原来还有一个唤醒线程,这个很重要,如果你只杀死了主进程就以为万事大吉了,那你错了,另一个线程依然会把这个进程复活,而且这个进程只有在主进程杀死以后才会出现,一旦主线程激活之后这个线程就找不到了,所以先杀死主线程,然后找到唤醒线程,一次干掉他们

OK 到这里基本上这玩意儿就没了,我默默的看着top出来的结果YY起来,然后我就傻逼了,他又出来了

这尼玛,还干不掉你了,我明明已经把执行文件都删除了它怎么又冒出来了,从哪来的呢?明明删除了不会无缘无故的出来,经过一番查找,终于发现了一个地方/var/spool/cron  在这个路径下面有一个文件和目录

目录里面放的和外面放的是一样的两个root文件,我看了看里面的内容,是个下载链接,这个时候我还是不敢轻易删除,我把这个链接直接在本地打开看了一下

妹的,是个脚本文件,而且根据里面的内容可以发现就是那个文件,不多说了,直接干掉

这次没东西再去下载文件了这次总没事了吧,我静静等了两分钟。。。。它又出来了。。。。。。

有了之前的思路,我想了一下直接开始找root文件,全局搜索,一下出来了一大堆,然后慢慢找,看到/etc/cron.d/root  这个有点眼熟,跟上次干掉的那么像呢,就看了一下里面内容

又是这个链接,虽然有点看不懂,但是管不了这么多了,直接干掉吧

这次总行了吧,坚持了两分钟。。。。又出来了

然后一通乱查,就是不知道问题出在哪了,最后想到了一个问题,守护进程,我每次杀的时候都是直接杀的病毒,然而守护进程我一直没有动它,问题可能就出在这儿了,ps –ef|grep ddg  查看进程果然在,直接干掉,然后再重复之前的操作,找文件删除,杀死病毒挖矿进程,然后监测守护进程会不会活

终于。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

它这次好像彻底死了

总结:

1:找到启动文件在哪,干掉

2:找到远程连接下载脚本的文件干掉,这个过程中如果能大体判断文件名直接全局查找,然后找到可疑文件,看看内容有问题直接干掉

3:先干掉守护进程,再干掉挖矿进程  (切记守护进程一定要干掉)

第一步和第三步两个要反复查看,无论是启动文件在或者进程在都会再次复活

当然我们还要避免类似事情再发生,还是要追究根源,网上说的是Redis的问题,我之前一直将信将疑的没有往上写,但是在杀的过程中,几个文件中确实看到了关于Redis的字眼,从此判断确实可能是Redis的问题,所以我们要对Redis的配置做出修改,使它更加安全,比如:修改Redis的默认端口,修改成繁琐的密码

这一步最好是在你杀毒之前做好,毕竟说这是根源,万一你在杀毒的过程中通过Redis再对你进行什么操作这应该不是不可能的,毕竟你漏洞在哪,不修补总是会出现问题的

最后在补充一点小东西,有些在植入病毒之后不仅使用你的资源,还会登录你的账号,你可以查看一下 /etc/passwd 看看有没有你不认识的账号(不包含系统内置账号,系统内置账号你干掉那可别怪我),有的话直接禁止登录,或者直接删除掉都行

安全问题看来是很严峻啊,之前也是没有遇见过这种问题,写下文章记录我在解决这个问题的全过程以及遇到的一些坑

qW3xT.2挖矿病毒 解决过程及坑的更多相关文章

  1. qW3xT.2挖矿病毒处理方案

    我遇到的是一款qW3xT.2的病毒,网上查了一下,好像是挖矿病毒.在此贴一下我找到的关于病毒的资料.这是我的服务器 这篇文章可谓是出自高手之笔,感觉说的很厉害,但是非专业人士的我有点看不懂,看个大概  ...

  2. 阿里云 qW3xT.4 挖矿病毒问题

    查了一下.是个挖矿病毒,cpu 占用巨高 .杀了又有守护进程启动.网上有些杀死这个病毒的办法,大家可以试试.但是不确定能杀死. 建议直接重装系统. 然后,说说这货怎么传播的. 他通过redis .目前 ...

  3. linux 服务器被植入ddgs、qW3xT.2挖矿病毒处理记录

    被入侵后的现象: 发现有qW3xT.2与ddgs两个异常进程,消耗了较高的cpu,kill掉后 过一会就会重新出现. kill 掉这两个异常进程后,过一段时间看到了如下进程: 首先在/etc/sysc ...

  4. Linux服务器感染kerberods病毒 | 挖矿病毒查杀及分析 | (curl -fsSL lsd.systemten.org||wget -q -O- lsd.systemten.org)|sh)

    概要: 一.症状及表现 二.查杀方法 三.病毒分析 四.安全防护 五.参考文章 一.症状及表现 1.CPU使用率异常,top命令显示CPU统计数数据均为0,利用busybox 查看CPU占用率之后,发 ...

  5. 记一次生产主机中挖矿病毒"kintegrityds"处理过程!

    [记一次生产挖矿病毒处理过程]: 可能性:webaap用户密码泄露.Jenkins/redis弱口令等. 1.监控到生产主机一直load告警 2.进服务器 top查看进程,发现挖矿病毒进程,此进程持续 ...

  6. Window应急响应(六):NesMiner挖矿病毒

    0x00 前言 作为一个运维工程师,而非一个专业的病毒分析工程师,遇到了比较复杂的病毒怎么办?别怕,虽然对二进制不熟,但是依靠系统运维的经验,我们可以用自己的方式来解决它. 0x01 感染现象 1.向 ...

  7. qW3xT.2,解决挖矿病毒。

    网站在运行期间感觉怪怪的,响应速度慢的不是一丁半点,带宽5M,不该是这样的呀 于是登录Xshell top命令 查看cpu情况如下 PID为3435的进程占用CPU过大,难道被病毒入侵了吗? 查看该进 ...

  8. qW3xT.2,解决挖矿病毒

    在阿里云使用redis,开启了6379端口,但是当时并没有对redis的密码进行设置. 在晚上一点左右.阿里云给我发短信,告诉我服务器出现紧急安全事件.建议登录云盾-态势感知控制台查看详情和处理. 于 ...

  9. 记一次 qW3xT.4,解决挖矿病毒。

    最近感觉我的服务器特别卡,打开数据库都半天,刚开始以为网咯不好也没太在意. 利用top命令: 这时候问题出来了,最高cpu占用100%,那我用啥??? 根据进程id 一看究竟,ps -ef|grep ...

随机推荐

  1. numpy.tile()

    numpy.tile()是个什么函数呢,说白了,就是把数组沿各个方向复制 比如 a = np.array([0,1,2]),    np.tile(a,(2,1))就是把a先沿x轴(就这样称呼吧)复制 ...

  2. webpack打包出错,通过babel将es6转es5的出错。

    错误信息如下: 解决方法: 1,先安装babel-preset-es2015到项目中, cnpm install babel-preset-es2015 --save-dev2,在项目根目录中新建一个 ...

  3. Problem 42

    Problem 42 https://projecteuler.net/problem=42 The nth term of the sequence of triangle numbers is g ...

  4. 第十节:pandas之loc()、iloc()与ix()索引

  5. Git:分支的创建、合并、管理和删除

    了解分支 如果想实现多人协作.划出Bug区.Feature区等功能,就需要分支功能.(确实很强大的地方) 每次commit时,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条 ...

  6. 精彩的linux shell 命令

      1. Star Wars (telnet) telnet是基于Telnet协议的远程登录客户端程序,经常用来远程登录服务器.除此还可以用它来观看星球大战: telnet towel.blinken ...

  7. zoj 3693

    #include<stdio.h> #include<string.h>//进位问题如3.985    应该进位3.99 int main() {     int n,k,i; ...

  8. [bzoj2989]数列_KD-Tree_旋转坐标系

    数列 bzoj-2989 题目大意:题目链接. 注释:略. 想法:显然,我们用x和a[x]两个值建立笛卡尔坐标系. 两个点之间的距离为曼哈顿距离. 修改操作就是插入... 查询操作就是查询一个点周围的 ...

  9. JQuery获取select选中值和清除选中状态(转)

    1.获取值 var provinceSearch = $("#loc_province_search").find("option:selected").att ...

  10. Java UDP通信简单实现

    1.Java实现方式 1)server端 /** * UDPserver端 * */ public class UdpServer { // 定义一些常量 private final intMAX_L ...