服务器中了挖矿病毒怎么处理
1. top cpu飙高,中了挖矿程序----解决方法
1.发现cpu异常,查看对应的进程信息
2.查看进程发现是挖矿进程在执行
3.确定是挖矿病毒,查看进程的执行文件链接到哪里,发现是jenkins的工作目录,最后结果发现是jenkins的漏洞导致自动创建CI计划,进行启动挖矿脚本
4.查看虚机密码是否被破解登录
5.查找挖矿文件
6.检查定时任务脚本
jenkins CVE-2018-1999002 漏洞修复: https://paper.seebug.org/648/
jenkings漏洞利用: https://xz.aliyun.com/t/4756
CI安全隐患: https://www.jianshu.com/p/8939aaec5f25
jenkins漏洞描述地址: https://www.cyberark.com/threat-research-blog/tripping-the-jenkins-main-security-circuit-breaker-an-inside-look-at-two-jenkins-security-vulnerabilities/
2. 服务器被攻击并植入kdevtmpfsi挖矿/病毒/木马
MongoDB库中的数据莫名其妙没有了,发觉如下信息:
1、 top -d 5命令 ,查看系统负载情况、是否有未知进程,发现一个名为kdevtmpfsi的进程,经科普它是一个挖矿程序,会占用服务器高额的CPU、内存资源。如图,CPU占用率高达788.7%,而且是yarn用户下:
2、 ps -ef |grep kdevtmpfsi 命令查看 该挖矿程序路径:/tmp/kdevtmpfsi
3、 ps -ef |grep yarn 命令查看更多关于yarn相关进程信息(此时我的服务器并没有开启yarn服务,如果有yarn的相关进程则可判断是攻击者开启的进程),发现另外还有个kinsing进程,经科普kinsing进程是kdevtmpfsi的守护进程:
4、 netstat -lntupaa 命令查看是否有异常的ip,果然发现194.87.102.77这个陌生的ip,判断是kdevtmpfsi的发出者:
5、经查询该ip的所在国家是俄罗斯:
6、 find / -iname kdevtmpfsi 命令再次确定命令所在位置以便删除:
7、 cd /tmp 进入相关目录:
8、 rm -rf kdevtmpfsi 删除kdevtmpfsi程序:
9、** kill -9 40422**杀掉kdevtmpfsi进程:
10、发现并没杀掉所有kdevtmpfsi进程,再次查找yarn的相关进程(因为之前已确认病毒是在yarn下),果真还有kdevtmpfsi进程存在:
11、用命令 批量杀掉 相关进程:
12、删除kinsing文件:
13、现在,已经把挖矿程序及相关进程删除掉了,但是还有两处没做处理:
14、 crontab -l 命令先看看crontab的定时任务列表吧:
15、编写删除挖矿程序脚本 kill_kdevtmpfsi.sh :
16、新增 定时任务 并删除攻击者的挖矿定时任务:
17、 crontab -l命令 查看现在只有杀进程的定时任务了:
18、禁止黑客的IP地址。
最初安装MongoDB时,并未设置密码认证,存在漏洞,导致黑客通过漏洞攻击服务器,并在程序里植入木马/病毒。单纯的kill -9 id杀掉病毒进程是杀不彻底的,治标不治本,应该定时删除病毒进程,禁止攻击者IP,重新安装系统或相关软件。
经过几天的观察,服务器运行正常,再没有被黑客攻击成功。
3. 解决挖矿病毒的经历
线上一台服务器,CPU高达90%以上,经过top 分析出进程kdevtmpfsi
kill -9 杀死进程无果,很快就会自动恢复
排查步骤:
结果:
病毒被植入到了线上运行的某一docker容器内。
如何先确定是哪一容器再去删除搜索结果中的病毒文件?
我这台机器跑的容器不多,可以用复制文件的方法,先 docker cp 一个文件到容器中。再去find 这个文件
如果结果还是在刚才搜索病毒的那个文件目录下(/var/lib/docker/devicemapper/mnt/xxxxx )就可以确定容器了。结果是php的容器出现了问题。
知道是具体是什么容器出现了问题,最快的办法就是先重启一个新的容器。
我这边是nginx +php 两种服务容器,所以先启动了一个新php容器,修改nginx中配置文件代理后端php服务器端口为新容器的IP地址。(nginx容器已经映射目录到宿主机)
修改PHP后端IP地址
cd 宿主机映射nginx的配置文件位置目录
测试线上环境正常后,删除原来的php容器。(这是自然也==直接删除了病毒文件)
执行 TOP命令,CPU占用正常。
平时防火墙和sellinux都关闭的话,服务器不要暴漏太多无用端口,出现问题应该最新通过进程名去查找文件的原始位置去分析问题,遇到挖矿病毒也应该多注意/etc/init.d下和cron计划任务有无异常。
后期也可以写个cron或者脚本
4. 服务器上如何清除NrsMiner挖矿病毒
挖矿病毒完整清除过程如下,请在断网情况下进行:
1.停止并禁用Hyper-VAccess Protection Agent Service服务;
2.删除C:Windowssystem32NrsDataCache.tlb;
3.删除C:.dll,若删除失败,可重命名该文件为其他名称;
4.重启计算机;
5.删除C:Windowssystem32SysprepThemes和C:WindowsSysprepThemes目录;
6.删除C:Windowssystem32SecUpdateHost.exe。
7.到微软官方网站下载对应操作系统补丁,下载链接如下:https://docs.microsoft.com/zh-cn/security-updates/Securitybulletins/2017/ms17-010
8.安装国内主流杀毒软件,及时更新至最新病毒特征库。
5. 服务器被检测出挖矿
有位朋友说,他服务器使用的好好的,服务商突然封了他服务器,说是被检测出挖矿,这位朋友一脸懵“我开游戏的,挖什么矿”。突然地关停服务器导致这位朋友损失惨重,那么为什么会被检测出挖矿,以及怎么处理呢?感兴趣的话就继续往下看吧~
遇到以上问题,需要先找服务器商对其说明实际情况,配合他们排查,基本上就是中了挖矿病毒。
最简单的方法就是重装系统,但是系统盘数据都会清空,这种办法适用于服务器里没什么需要备份的文件。如果选择重装系统,需要把自己的文件扫毒一遍确认安全后再导入服务器。
但是服务器里如果有很多重要的文件还有比较难配置的环境,那就需要排查删除挖矿程序,全盘扫毒,删除可疑文件,一个个修复病毒对系统的修改。
防范建议:
1.尽量不要使用默认密码和端口,改一个比较复杂的密码
2.可以使用宝塔面板登陆服务器
3.系统自带的防火墙、安全防护都不要关闭
6. 我的电脑似乎中了挖矿病毒,求解怎么办
建议您安装瑞星杀毒软件V16+版本升级到最新病毒库后,重启计算机按F8键选择安全模式,进行病毒扫描查杀;
如果病毒很顽固或者破坏了系统文件 推荐重新安装系统即可。
7. 服务器被rshim挖矿病毒攻击后 HugePages_Total 透明大页怎么都清不掉 一直占用内存 球球
问题定位及解决步骤:
1、free -m 查看内存使用状态 ,发现free基本没了。--> 怀疑是服务有内存泄漏,开始排查
2、使用top命令观察,开启的服务占用内存量并不大,且最终文档在一个值,且服务为java应用,内存并没达到父jvm设置上限。按top监控占用内存排序,加起来也不会超过物理内存总量。查看硬盘使用量,占用20%。基本排除虚拟内存占用过大的原因。--->排除服务内存泄漏因素,怀疑mysql和nginx,开始排查
3、因为top命令看 mysql占用内存也再可控范围,是否存在connection占用过多内存,发现并不会,设置最大连接数为1000,最多也不会超过几M。 nginx占用一直非常小。但每次最先被kill的基本都是nginx进程。所以排查,但发现无非就是openfiles数量啥的调整。发现也一切正常。且之前niginx可以正常使用的。
4、最为费解的就是 通过free -m 查看的时候 基本全是used,cache部分很少,free基本没有。但top上又找不到有哪些进程占用了内存。无解
5、注意到有两个进程虽占用内存不多,但基本耗光了100%的cpu。开始想着占cpu就占了,没占内存,现在是内存不不够导致进程被kill的,就没注意这点。
6、实在搞不定,重启服务器,重启了所有服务,服务暂时可用,回家。在路上的时候发现又崩了。忐忑的睡觉。
7、早上起来继续看,这次留意注意了下那两个占用高cpu的进程,kdevtmpfsi 和 networkservice。本着看看是啥进程的心态,网络了下。真相一目了然,两个挖矿病毒。
突然后知后觉的意识到错误原因:
1、cpu占用率高,正常服务使用cpu频率较高的服务最容易最内存超标。(因为在需要使用cpu时没cpu资源,内存大量占用,服务瞬间崩溃),然后看top发现刚刚已经占用内存的进程已经被kill了,所以没发现内存有高占用的情况。
2、后面的应用继续使用cpu时也会发生类似情况,倒是服务一个一个逐渐被kill。
问题点基本定位好了,解决问题就相对简单很多:
通过网络,google,常见的病毒清除步骤基本都能解决。这两个挖矿病毒很常见,大致记录下要点。可能所有病毒都会有这些基础操作。
① 首先,查看当前系统中的定时任务:crontab -l
我服务器上有四个定时下载任务 通过wget 和 curl 下载病毒文件,把异常的删掉。要不然删了病毒文件还是会下载下来
crontab -r,全部删除命令(或根据需求删除定时任务)
② 查找病毒文件 可以全部模糊搜索 清除, 但病毒文件基本都用了chattr +i命令 使用chattr -i filename 后再使用rm -f filename 。可删除
③ kill 病毒进程,但注意kill了可能马上就重启了。因为有守护进程,需要把病毒进程的守护进程也kill掉
④ 检查是否root用户被攻击,可能系统配置信息被更改。
⑤ 最好能理解病毒脚本,通过看代码看它做了些什么。针对脚本取修复系统。
8. 云服务器中挖矿病毒的清除过程(二)
发现一台服务器,CPU使用率一直50%左右,top查看一进程名称为
-bash,按c查看详情,名称显示为python
十分可疑
杀掉进程,清空crontab内容,并删除此目录文件,发现过一阵进程又被启动起来了
查看/etc/cron.hourly,发现有一个sync文件,还是会定时执行,内容为
此文件还被加了保护权限,需要用chattr去除后删除
cron.daily cron.weekly cron.monthly里面也有
同样方法删除/bin/sysdrr
至此病毒被彻底清除
删除/opt/.new目录时,发现此目录下还有一个/opt/.md目录,内容如下
病毒运行原理是
其他常用的诊断命令
关联文章:
云服务器中挖矿病毒的清除过程
服务器中毒导致的wget等系统命令失效后的恢复
参考文章:
【PC样本分析】记录最近与挖矿病毒的斗智斗勇
【PC样本分析】记录最近与挖矿病毒的斗智斗勇(二)
9. 芯动矿机病毒解决办法
详细解决办法如下:
瑞星安全专家建议,对于一般用户,针对挖矿病毒攻击,采取如下防御措施,及时更新系统补丁,防止攻击者通过漏洞入侵系统。使用复杂密码,安装杀毒软件,保持监控开启,及时更新病毒库,及时备份数据库。不打开可疑的邮件附件,不点击邮件中的可疑链接。
对于规模较大、设备类型众多、维护工作繁重的企业,推荐使用终端杀毒软件,进行统一查杀,统一打补丁。企业还可以在网络入口处部署防毒墙,在网关处对病毒进行初次拦截,将绝大多数病毒彻底剿灭在企业网络之外。同时,对于企业中存在的虚拟化设备可以部署虚拟化专用版安全软件,有效保障企业内部虚拟系统不受病毒侵扰。
10. 电脑中了挖矿病毒
方法/步骤
首先,如果是菜鸟写出的病毒,大家可以太任务管理器中,找到该文件路径,直接终结进程树,或直接找到路径删除即可。
2/6
第二,如果对方技术够本,我们很难终结进程,那么,我们可以下载一个电脑管家,现在的电脑管家也增大了挖矿病毒的扫描率,如果查找到直接清理即可。
3/6
第三,如果电脑管家也无法搞定那么,我们可以avast查杀,这个程序在杀毒方面,简直是第一,对于挖矿病毒来说,更是犹如利剑。
4/6
第四,如果使用avast之后,我们还怀疑电脑有挖矿病毒的话,我们先打开进程手动把文档路径放到隔离区。
5/6
第五,在放到隔离区之后,我们使用avast的放松以供分析,然后发给avast的工作员工,备注怀疑是挖矿病毒,对方给我们人工分析,如果是,对方也会帮我们删除。
6/6
第六,如果在专业坚定之后,我们还有所怀疑的话,如果不是大牛,那么,大舅就需要重装电脑了,毕竟,一装百物清。
网络经验:https://jingyan..com/article/ca41422f1d83601eae99edf3.html
望采纳谢谢(≧∇≦)