Linux挖矿程序kworkerds分析
0×00 背景概述
近日,同伴的一台Linux服务器中了kworkerds挖矿程序,随即对挖矿程序进行了处理与分析。
0×01服务器现状
进入服务器之后通过top命令,没有发现有占用CPU资源过高的进程,随后使用busybox top命令查看发现一个kworkerds的程序占用CPU资源达到了99%,计划任务中被写入恶意下载命令;
系统top命令界面;
使用busybox top命令界面;
写入的计划任务;
0×02脚本分析:
1) mr.sh脚本:
清理文件或其他挖矿程序;
值得一提的是,脚本首部已经把防火墙关闭了,为什么又要在防火墙中加入规则,禁止了一个IP地址,并通过string匹配域名来过滤了pastebin,这个很像是在防近期爆发的 khugepageds、watchdogs…
往下是一顿清理—–
再经过一番清理之后,开始把下载脚本的命令写入计划任务中;
写入的文件列表如下;
随后又开始了一番清理,把除自己之外的进程且占用CPU资源大于30%的给杀掉,并且查看netstat中是否与自己的服务器建立连接成功;
在脚本的最后开始下载一个名为2mr.sh的云端脚本,并且检查计划任务中是否有自己写入的下载命令,如果没有继续写入;
2) 2mr.sh脚本:
2mr脚本是关于挖矿程序的下载与调整,在脚本的首部判断下载的/var/tmp/sustse文件是否存在,如果存在则通过MD5值对比/var/tmp/sustse是否相符,如果不相符则删除并且杀掉自己的相关进程,否则创建/var/tmp;
随后通过downloadIfNeed()、download()、download2()三个函数进行判断/下载挖矿相关文件,这里下载了一个名为1.so的文件,并且把1.so替换掉/usr/local/lib/libkk.so,把路径写入/etc/ld.so.preload,最后把/var/tmp/sustse复制一份并命名为kworkerds;
最后通过judge()、judge2()函数根据网络连接情况进行判断被攻陷的主机是否与矿池建立连接成功,如果没有则清理占用资源大于30%的其他程序,随后下载相关挖矿程序进行挖矿操作;
0×03处理建议:
1) 清除相关的恶意计划任务;
2) 删除/var/tmp目录下的相关恶意文件;
3) 删除被替换的动态链接库;
相关信息:
矿池信息:
URL:
MD5:
be9469ea238d53993f70ed09b8347f3e kworkerds
b4f6d69c8777fea8b169898bea9fb040 sustse
2fdb64bf08f09ce0cdc650b443590d7b 1.so libkk.so
83d502512326554037516626dd8ef972 /root/kworkerdss/xmrig
PS:1.so~~~
*本文作者:runmoke
Linux挖矿程序kworkerds分析的更多相关文章
- Linux安装程序Anaconda分析(续)
本来想写篇关于Anaconda的文章,但看到这里写的这么详细,转,原文在这里:Linux安装程序Anaconda分析(续) (1) disptach.py: 下面我们看一下Dispatcher类的主要 ...
- Linux安装程序Anaconda分析
1.概述 Anaconda是RedHat.CentOS.Fedora等Linux的安装管理程序.它能够提供文本.图形等安装管理方式,并支持Kickstart等脚本提供自己主动安装的功能.此外, ...
- kworkerds 挖矿木马简单分析及清理
公司之前的开发和测试环境是在腾讯云上,部分服务器中过一次挖矿木马 kworkerds,本文为我当时分析和清理木马的记录,希望能对大家有所帮助. 现象 top 命令查看,显示 CPU 占用 100%,进 ...
- 在Linux下,如何分析一个程序达到性能瓶颈的原因
0.在Linux下,如何分析一个程序达到性能瓶颈的原因,请分别从CPU.内存.IO.网络的角度判断是谁导致的瓶颈?注意现在的机器CPU是多核 1.用sar -n DEV 1 10 2.用iotop命令 ...
- 01-Coredump核心转存&&Linux程序地址分析【转】
转自:http://www.itwendao.com/article/detail/404132.html 目录(?)[-] 一Core Dump核心转存 二Linux程序地址分析 一Core Dum ...
- 以C语言为例完成简单的网络聊天程序以及关于socket在Linux下系统调用的分析
套接字是网络编程中的一种通信机制,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程. 端 ...
- SSH 暴力破解趋势——植入的恶意文件属 DDoS 类型的恶意文件最多,接近70%,包括 Ganiw、 Dofloo、Mirai、 Xarcen、 PNScan、 LuaBot、 Ddostf等家族。此外挂机、比特币等挖矿程序占5.21%
SSH 暴力破解趋势:从云平台向物联网设备迁移 | 云鼎实验室出品 from: http://www.freebuf.com/articles/paper/177473.html 导语:近日,腾讯云发 ...
- Android/Linux下CGroup框架分析及其使用
1 cgroup介绍 CGroup是control group的简称,它为Linux kernel提供一种任务聚集和划分的机制,可以限制.记录.隔离进程组(process groups)所使用的资源( ...
- Linux Kernel Oops异常分析
1.PowerPC小系统内核异常分析 1.1 异常打印 Unable to handle kernel paging request for data at address 0x36fef31eFa ...
随机推荐
- 用Maven整合SSM框架
前述 Maven 是专门用于构建和管理Java相关项目的工具,利用 Maven 的主要目的是统一维护 jar 包.关于 Maven 的安装在这篇里面就不说了. SSM(Spring+SpringMVC ...
- .net core中serilog的基本使用
Serilog的基本使用 (一) 引言 (二) 导入包 (三) 配置 直接配置 配置文件配置 (四) 使用 (五) 结语 一 引言 作为一枚小白,来复习一下serilog的使用,如果有错误的 ...
- c#之添加window服务(定时任务)
本文讲述使用window服务创建定时任务 1.如图,新建项目,windows桌面->windows服务 2.如图,右键,添加安装程序 3.在下图安装程序 serviceInstaller1 上右 ...
- C#: 解决Fody is only supported on MSBuild 16 and above
背景信息: 使用Costura.Fody插件将自己写的程序打包成一个可以独立运行的EXE文件我们在开发程序的时候会引用很多DLL文件,在程序完成编写后,如果不把这些引用的DLL打包,在拷贝给到别人使用 ...
- 一款对Postman支持较好的接口文档生成工具
最近要编写接口文档给测试和前端看,通过网上查阅资料,也认识了很多款接口文档生成工具,比如易文档.ApiPost.ShowDoc.YApi.EoLinker.DOClever.apizza等,通过对这几 ...
- maven 学习---Maven项目文档
本教程将教你如何一步到位创建应用程序的文档.因此,让我们开始,到 C:/MVN 创建java应用程序consumerBanking. OpenconsumerBanking文件夹,然后执行以下命令m ...
- Gson+GsonFormat+Postman简单粗暴解析json
现在有时候之前的项目需要返回来修改bug看到以下这段代码 if (test != null) { JSONTokener jsonParser = new JSONTokener(test); JSO ...
- Spring Cloud Bus介绍--Spring Cloud学习第七天(非原创)
一.什么是Spring Cloud Bus二.Spring Cloud Bus之RabbitMQ介绍三.Spring Cloud Bus整合RabbitMQ四.Spring Cloud Bus整合Ka ...
- 从html富文本中提取纯文本
其实从html富文本中提取纯文本很简单,富文本基本上是使用html标签给文本加上丰富多彩的样式. 所以只需要将富文本字符串中的“<.....>”标签剔除,即可得到纯文本.我们可以使用正则表 ...
- jmeter连接并使用mysql数据
一.下载数据库驱动,放至D:\apache-jmeter-2.13\lib\ext目录下 二.打开jmeter,右键添加->配置文件->JDBC Connection Configurat ...