前段时间一位朋友在群里反应,公司的部署大数据集群的Linux服务器中了挖矿木马病毒,让我给他解决,分享一下解决方法。

一. 什么是挖矿木马

首先经过多年的演进,越来越多的挖矿木马利用多种方式入侵系统,意图感染更多的机器,提高挖矿的效率和收益,其中主要入侵方式如下:

        1. 漏洞利用:利用系统漏洞快速获取相关服务器权限,植入挖矿木马是目前最为普遍的传播方式之一。常见的漏洞包括Windows系统漏洞、服务器组件插件漏洞、中间件漏洞、web漏洞等。
       部分攻击者选择直接利用永恒之蓝漏洞,降低了利用漏洞攻击的难度,提高了挖矿木马的传播能力。例如传播较广的WannaMine挖矿家族,利用了永恒之蓝漏洞在内网蠕虫式传播,给不少公司和机构带来巨大损失。

        2. 弱口令:弱口令指的是仅包含简单口令、有规律的键盘组合或历次泄漏过的密码,例如“qwe123”、“666666”及“p@ssw0rd”等,攻击者通常会针对redis、ssh、3389、mssql、IPC$等服务进行爆破弱口令攻击。爆破成功后,尝试获取系统权限,植入挖矿木马并设置持久化。

        3. 伪装正常软件:攻击者将挖矿木马伪装为游戏软件、娱乐社交软件、安全软件、游戏外挂等进行传播,欺骗用户下载并执行。由于多数游戏对显卡、CPU等硬件性能要求较高,故挖矿木马通常伪装成游戏辅助外挂,通过社交群、网盘等渠道传播,感染大量机器。

        挖矿木马有很多控制机器挖矿的方式,主要分为三种:

        1. 可执行文件:存储在机器上的典型恶意程序,通常通过设置计划任务或修改注册表项实现持久化,长期进行加密货币的挖矿作业。

        2. 基于浏览器的挖矿木马:使用JavaScript(或类似技术)的挖矿木马是在浏览器中执行。只要浏览器打开被植入挖矿木马的网站,就会执行挖矿执行,持续消耗资源。

        3. 无文件挖矿木马:利用如PowerShell等合法工具在机器的内存中执行挖矿作业,具有不落地、难检测等特点。

        挖矿木马能在各种平台上运行,包括:Windows、Mac、Linux、Android、物联网(IoT)设备。

二. 如何检测挖矿木马

挖矿木马行为特征

        挖矿木马显著的行为特征就是极大的占用CPU及GPU资源主要包括:高 CPU 和 GPU 使用率、响应速度慢、 崩溃或频繁重新启动、系统过热、异常网络活动(例如,连接挖矿相关的网站或 IP 地址)。其次是在网络流量中,挖矿木马通信过程采用专门的通信协议,因此存在一定的网络通信特征。

检测方法

        方法1 网络侧检测

        在网络侧检测可分为通信内容检测和矿池地址域名请求(DNS请求历史记录)检测。

        挖矿木马感染主机和矿池的通信过程使用的通信协议是最常用的stratum协议,该协议内容为JSON数据格式。stratum协议的JSON数据格式存在多个固定的特征字段,在检测通信内容时,可根据这些特征设置告警规则,并应用于suricata、snort和其他通信检测软件或设备。

方法2 主机侧检测

   挖矿木马的主机侧检测主要依据的就是对应进程CPU使用率长时间居高不下,部分挖矿木马采用多方式隐藏进程,且具备多种持久化驻留方式。

  针对不具备隐藏进程功能的挖矿木马检测场景:

 Linux:使用命令top -c查看

  针对具备隐藏进程功能的挖矿木马检测场景(即系统CPU使用率高,但未发现存在CPU使用率高的进程):

• Linux系统挖矿木马进程隐藏方式存在多种方式:

        1. 篡改预加载的配置(/etc/ld.so.preload),写入恶意so文件路径,加载恶意的so文件,使得ls、top、ps等命令在查询可疑进程时执行结果被挖矿木马的动态链接库屏蔽,无法获得挖矿木马进程相关的信息。

        通过以下命令恢复相关命令的正常执行:

        > /etc/ld.so.preload && rm -rf 恶意so文件路径

  2. 通过其他手段修改Linux系统常用命令。

        a. 针对这种隐藏方式,可以查看系统版本(uname -a),将其他相同版本的Linux系统的top命令文件重名了,导入该受害系统中,使用新的文件名命令进行排查。
        b. 安装busybox程序,使用内置的Linux常用命令(top、ps、ls等)对系统进行排查。

 除以上排查方法外,还可采用自动化脚本排查,脚本排查思路主要源于挖矿木马为了竞争CPU资源而在相关脚本中设置查找并删除其他挖矿木马的代码。收集整理其中的查找挖矿木马的代码,形成一定功能的挖矿木马进程排查脚本。此种方式的脚本排查误报率高,需要结合人工分析判定。

三. 如何处置挖矿木马

针对集成化的挖矿木马感染场景处置

        在当前活跃挖矿木马家族大多数都是集成化的挖矿木马,集成多种功能,组建相应挖矿木马僵尸网络。集成化的挖矿木马主要有传播、挖矿、控制、持久化驻留、更新等功能,攻击者依据这些功能收获巨大的利益。

        在传播上使用端口扫描工具、漏洞利用工具、暴力破解,对内网或外网的其他目标进行渗透并传播挖矿木马。

排查方法:网络抓包分析 特别注意:~/.ssh/authorized_keys,该文件若存在非法的SSH公钥,可将该文件删除。初步处置方法利用Windows和Linux系统的防火墙功能配置规则,阻断传播行为。Windows:新建出站规则,设置阻断对外指定端口的网络连接。Linux:通过iptables命令进行设置iptables -A OUTPUT -p tcp –dport 目标端口 -j DROP记录相关行为对的进程和文件路径

   针对挖矿程序进程,初步处置以屏蔽对矿池的连接为主,记录挖矿进程信息和对应文件路径。

        具体方法(该方法同样使用于挖矿木马控制功能中投放的远控木马以及更新功能中更新脚本或程序):

查看计划任务more /etc/cron.*/*查看当前用户计划任务crontab -l查看所有用户计划任务ls -al /var/spool/cron/自启动目录ls -alr /etc/init.dls -alr /etc/rc*排查服务:chkconfig –listsystemctl list-unit-files关闭服务:chkconfig 服务名 offsystemctl disable 服务名敏感路径/tmp//root/通过iptables命令进行设置:(可疑地址包括矿池地址、C2地址、挖矿木马更新地址)iptables -A INPUT -s 可疑地址 -j DROPiptables -A INPUT -s 可疑地址 -j DROP

挖矿木马相关文件处置方法


        1. 统计收集前期排查发现的挖矿木马相关文件和进程信息;

        2. 分析挖矿木马相关文件执行和依赖关系;

        3. 按顺序删除挖矿木马的挖矿程序、传播工具、释放的远控木马等文件。

        处置过程通常的顺序为:(具体操作主要以删除文件、结束进程为主)

        a. 删除计划任务
        b. 删除自启动项
        c. 停止服务
        d. 结束进程 (Linux:kill -9 进程pid)
        e. 删除文件

        5. Linux系统在删除文件时,如遇到“Operation not permitted”告警:  可使用如下命令,修改文件属性,并删除文件。

  可使用如下命令,修改文件属性,并删除文件。

   以上处置方法,根据实际情况可编写成相关脚本进行自动化处置。

五.  防护建议


        发现机器可能感染了挖矿木马,可以通过以下步骤清除:

        1. 从内网DNS服务器、DNS防火墙、流量审计设备等设备获取恶意域名信息,根据域名查询威胁情报确定木马类型;

        2. 查看系统CPU、内存、网络占用情况,获取异常进程相关信息;

        3. 根据进程名或部分字符串获取进程号或进程相关的命令行命令;

        4. 根据进程号查看由进程运行的线程;

        5. 结束挖矿进程及其守护进程;

        6. 通过挖矿进程的相关信息,定位到文件的具体位置,删除恶意文件;

        7. 查看启动项,如果发现非法开机自启服务项,停止并删除对应数据;

        8. 查看定时任务,多数挖矿木马会在受感染机器中写入定时任务完成程序的驻留。如果只结束挖矿木马进程并删除挖矿木马文件,定时任务会再次从服务器下载挖矿进程或直接执行挖矿脚本,导致挖矿进程清除失败;

        9. 溯源挖矿木马入侵途径,查找系统漏洞,打上对应补丁,完成漏洞修复,防止再次入侵。

        针对挖矿木马的防护要做到以下几点:

        1. 规范上网行为,不安装来历不明的软件、工具;

        2. 不打开来历不明的文档,以及带有图片、文件夹、文档、音视频等图标的文件;

        3. 进行严格的隔离,有关系统、服务尽量不要开放到互联网,在内网中的系统也要通过防火墙、VLAN或网闸等进行隔离。对于系统要采取最小化服务的原则,只提供必要的服务无关的服务必须要关闭,同时采用本机防火墙进行访问要进行访问控制;

        4. 及时安装系统补丁,修复系统应用漏洞、中间件漏洞、组件、插件等相关漏洞;

        5. 加强密码策略,增加密码复杂度并进行定期修改,开启相关登录失败处理功能。

Linux中招挖矿木马如何处置,附带解决方案相关推荐

  1. 云服务器ECS挖矿木马病毒处理和解决方案

    云服务器ECS挖矿木马病毒处理和解决方案 参考文章: (1)云服务器ECS挖矿木马病毒处理和解决方案 (2)https://www.cnblogs.com/owenma/p/10430599.html ...

  2. linux中使用matplotlib缺失中文字体的解决方案

    linux中使用matplotlib缺失中文字体的解决方案 在linux中调用matplotlib画图时,如果label中有中文,需要通过以下语句指定字体: import matplotlib.pyp ...

  3. 记一次linux挖矿木马的处置

    场景 受公司委托对客户服务器挖矿木马进行应急处置,客户说服务器很卡让我们排查处置一下,okok,直接远程开搞开搞,所有可疑文件先下载留存,再删除. 排查分析 使用top命令查看CPU使用率时发现,进程 ...

  4. linux中隐藏得木马程序,Linux远控分析

    0x1 前言 在国内,Linux操作系统以一般运用于服务器及相关后台,个人用户相对较少,因此Linux平台的木马病毒数量也远远不及Windows平台,其变种数量以及变化速度也比不上Windows平台. ...

  5. linux 中了挖矿病毒

    文章目录 中毒特征磁盘cpu 跑满 100% 如何处理 反复发作 中毒特征磁盘cpu 跑满 100% 如何处理 电脑中了挖矿病毒 ps -aux | grep kinsing root 19447 0 ...

  6. 在Linux中安装mysql后遇到错误20008解决方案

    今天在开始学习mysql,在linux中安装好后,发现输入mysql -uroot -p时候,咦,要我输入密码,但是我安装时候没有提示我要设置密码呀!于是乎我不管输入什么密码,都是显示的 ERROR ...

  7. 阿里云服务器中招挖矿病毒XMrig miner解决方法

    今天阿里云的项目经理给我打电话问我的服务器是否没有使用计划,确实自从上次中毒后就没再使用.今天登录阿里云服务器 WindowsServer2012 远程桌面,发现XMrig miner.exe cpu ...

  8. linux 编辑文件删除不了怎么办,Linux中文件/文件夹无法删除的解决方案

    最近我们的 普通删除 如果文件是当前用户的,那么使用 rm 命令就可以删除 rm -rf file.sh 如果无法删除,则尝试使用 root 用户删除,如果无法删除那么请看下面的说明. 需要了解的命令 ...

  9. 2019年上半年挖矿木马报告:日均新增6万个木马样本

    一.概述 比特币在经历了2018年大幅下跌之后,在2019年上半年又重新恢复上涨,在6月底达到13000美元/BTC,接近历史最高水平17000美元/BTC. 随着比特币的飙升,推动整个数字加密货币价 ...

  10. linux 卸载usb驱动,2种有效的方案解决如何在Linux中格式化USB驱动器

    有没有可行的解决方案在Linux中格式化USB驱动器?由于操作系统的限制,许多Linux用户发现很难格式化USB驱动器.尽管Linux具有许多优势,但有时进行工作可能会有些乏味.本文有2种不同的方式格 ...

最新文章

  1. 怎么将string list 转成有特殊字符分开字符串
  2. ava method org.apache.struts2.components.Form.getValidators(String) threw an exception when invoke
  3. Java Thread Status(转)
  4. opencv实现xld_halcon学习网
  5. Ruby+watir自动化测试中实现识别验证码图片
  6. 今日头条架构演进之路
  7. 【2017CCPC哈尔滨赛区 HDU 6242】Geometry Problem【随机化】
  8. 系统集成项目管理工程师和PMP®的对比
  9. 不良资产剥离或许将成为历史名词
  10. win7计算机系统还原,如何使用Win7系统自带还原修复电脑
  11. css3实现图片旋转木马效果
  12. 64位Windows10+Code::Blocks+CUDA安装教程
  13. arcpy.mapping-认识arcpy.mapping
  14. 塑造成功性格的15种方法
  15. Jenkins Git Changelog Plugin
  16. [开源工具]2022/2023免费临时邮箱(Temp Free Mail)
  17. ios用 shell 自动打包静态库(里面包含真机和模拟器)
  18. 第五代选择器Icarus
  19. 2.前端笔记-CSS-字体属性
  20. LinkSpark日报|人工智能资料库

热门文章

  1. 恶意代码分析实战——高级反汇编
  2. java.sql.SQLException: Cannot create com.liqi.entry.User: com.li.entry.User Query: SELECT * from u
  3. 【SQL SERVER 2005+版本行转列示例】(2012年1-8月水源槑党25强榜单新鲜出炉)
  4. 计算天数(函数)(C语言实现)
  5. Android Compose 实现渐变背景色
  6. 浏览器点击链接总是跳转到百度首页界面
  7. 快乐暑假(八)——欧拉回路和哈密顿回路
  8. 「笔耕不辍」zookeeper集群之间如何通讯
  9. 隐马尔可夫模型(HMM)攻略
  10. 语言的流变_拔剑-浆糊的传说_新浪博客