攻击者利用Bitbucket存储大量恶意软件,已感染全球超50万台电脑
导语:攻击者在Bitbucket上存储了大量间谍软件、挖矿软件和勒索软件,能够从各个方面攻击受害者,而不必局限于单一的攻击目标或场景。
介绍
近期,Cybereason安全团队在一起攻击行动中发现了攻击者存储于Bitbucket平台上的武器库,库中包含了大量间谍软件、挖矿软件和勒索软件。攻击者将恶意负载保管在Bitbucket中的不同帐户中,进而感染受害者。由于部署的恶意软件类型较多,攻击者能够从各个方面攻击受害者,而不必局限于单一的攻击目标或场景。
攻击者所使用的恶意软件如下:
· Predator:间谍软件,能从浏览器中窃取凭证、摄像头拍摄、截屏、窃取加密货币等。
· Azorult:间谍软件,可以窃取密码、电子邮件凭证、cookie、浏览器历史记录、用户id和加密货币,并且具有后门功能。
· Evasive Monero Miner:多阶段的XMRig矿机,使用先进的逃避技术来进行门罗币挖掘。
· STOP:勒索软件,基于开源的勒索软件平台,同时它还具有下载功能,可以下载其他恶意软件感染系统。
· Vidar:间谍软件,能窃取web浏览器cookie和历史记录、数字钱包、双因素身份验证数据,也具有截屏功能。
· Amadey bot:一款简单的木马程序,主要用于侦察收集目标机器上的信息。
· IntelRapid:加密货币窃取软件,能够盗窃不同类型的加密货币钱包。
图1.攻击者攻击的流程
此次行动中,攻击者通过多种恶意软件组合的方式来保障自己更持久的收入来源。本次发现也突显了网络犯罪分子的攻击趋势——滥用合法的在线存储平台(如Github,Dropbox,Google Drive和Bitbucket)来散播恶意软件。
要点
· 滥用资源共享平台:滥用Bitbucket基础设施来存储和分发大量不同恶意软件。
· 攻击全面:通过多管齐下的恶意软件库,使攻击者既能够窃取敏感的浏览器数据、cookie、电子邮件客户端数据、系统信息和双因素身份验证软件数据,也能够挖掘和窃取加密货币,还可以用摄像头拍照、截屏,甚至部署勒索软件。
· 模块化和不断更新:攻击者利用Bitbucket能够轻松更新恶意负载。为了逃避检测,他们准备了许多备用账号,并连续不断地更新其存储库。
· 影响范围大:到目前为止,这场行动已经感染了全世界50多万台机器。
· 影响程度深:大量不同类型的恶意软件的组合可能会泄漏很多信息,使组织机构无法正常工作。这种威胁能够危害系统安全,侵犯用户隐私,损害机器性能,并通过窃取和传播敏感信息对个人和企业造成巨大损害。
Payload分析
初始感染媒介:破解版商业软件
攻击者将Azorult和Predator The Thief隐藏在诸如Adobe Photoshop、Microsoft Office之类的破解版商业软件中。用户安装完成后,Azorult (download.exe)会立即开始窃取信息,并删除其二进制文件来掩盖痕迹。Azorult执行后,Predator (dowloadx.exe)创建到Bitbucket的连接,开始下载其他有效负载。
图2:恶意zip文件执行流程
拆包Predator,可以看到Azorult和Evasive Monero Miner的payload是从hxxps://bitbucket[.]org/patrickhornvist/repo/处下载的。
图3.downloadx.exe内存中的混淆字符串显示了其他恶意软件的下载链接
Bitbucket上还有多个其他有效负载:
· 1.exe和3.exe,不同哈希值的Azorult。
· 2.exe和8800.exe,不同哈希值的Predator the Thief。
· 4.exe和5.exe,不同哈希值的Evasive Monero Miner。
· 111.exe,STOP勒索软件。
图4:https://bitbucket[.]org/patrickhornvist/repo/downloads处的下载内容
通过研究活动相关的其他样本,我们找到了攻击者在Bitbucket上准备的其他一些恶意软件库,这些存储库很可能是用同一组恶意软件样本创建的。从下载量来看,预计到目前为止全球有超过50万台机器受到了感染,每小时就有数百台机器中招。
值得注意的是,攻击者几乎是在连续不断地更新Bitbucket上的payload,有时每隔几个小时就更新一次。通过将新的二进制替换旧的二进制文件,可以有效避免传统的防病毒软件的检测。
AZORULT
Azorult是一款间谍软件,能快速窃取敏感数据,并在之后删除所有关联文件隐藏自身痕迹。
Predator下载的是Azorult另一逃避检测版本。Predator会先下载一个次级下载器,次级下载器连接到hxxps://2no[.]co/2QqYb5并下载名为bolo.com的证书格式的编码文件。
图5.编码的Azorult有效载荷,名为bolo.com的文件
次级下载器使用certutil.exe(本地Windows二进制文件)解码有效负载,解码后的有效负载还有一层混淆。
图6.解码的Azorult有效负载-grol
为了执行解码后的负载,恶意软件将启动Autoit编译器,攻击者将其重命名为了lsm.com。 AutoIt是一种免费软件脚本语言,用于自动执行Windows GUI和常规脚本。它与Windows的所有版本兼容,没有任何先决条件,对攻击者来说十分有用。
图7.Azorult执行的攻击流程
执行后,Azorult将扫描文件系统并搜索敏感数据,如浏览器数据、cookie、电子邮件客户端和加密货币钱包。它将该数据复制到%TEMP%目录,打包并将其发送给攻击者。一旦所有信息滤出完成,Azorult将删除复制到%TEMP%的所有数据,并删除其二进制文件以掩盖其踪迹。
STOP勒索软件和VIDAR间谍软件
STOP勒索软件于2018年首次发现,在2019年初才开始大肆攻击。经过一年的时间,它的加密手段和逃避检测的技术都得到了加强,一度被攻击者用它来将Azorult交付到受害者的系统上。
Predator从Bitbucket(111.exe)下载STOP并执行。STOP通过访问api.2ip.ua收集有关目标计算机的信息,并检查其是否在VM上运行。
STOP在%AppData%中创建一个文件夹,在那里复制它的二进制文件,并使用icacls更改对文件的访问控制,使其他人无法访问。
STOP创建一个RUN注册表项和一个计划任务,每五分钟执行一次。在运行时,它连接到C2服务器,向C2发送MAC地址的MD5散列,并下载用于文件加密的密钥。
STOP还将其他payload下载到计算机上,包括:
· hxxp://ring2[.]ug/files/cost/updatewin2.exe
· hxxp://ring2[.]ug/files/cost/updatewin1.exe
· hxxp://ring2[.]ug/files/cost/updatewin.exe
· hxxp://ring2[.]ug/files/cost/3.exe
· hxxp://ring2[.]ug/files/cost/4.exe
· hxxp://ring2[.]ug/files/cost/5.exe
updatewin.exe和updatewin2.exe帮助逃避检测,其他payload是独立的恶意软件,包括Visel、Vidar等一些臭名昭著的恶意软件。
图8.STOP和Vidar的流程示意
Vidar是一款著名的间谍软件 ,它从浏览器、电子邮件和双因素认证软件数据中收集系统信息及密码。它将窃取的数据存储在%ProgramData%的一个随机命名的文件夹中,并将信息发送到C2服务器besfdooorkoora[.]com。在数据被发送给攻击者后,恶意软件停止进程并从机器上删除其payload(5.exe)。
Evasive Monero Miner
自比特币崛起以来,矿机在地下社区变得越来越受欢迎,成为最畅销恶意软件之一。
Evasive Monero Miner是一种dropper ,可根据其原始源代码植入开源的XMRig矿机。Evasive Monero Miner的旧版本于2018年底首次提交给VirusTotal,但直到2019年12月,在一次大规模的感染行动中才被发现。
此Dropper由打包工具Themida封装,Themida是一款功能强大的封装器,具有防调试功能。它使用Autoit编译脚本解包并下载XMRig矿机。Dropper中还使用了几种逃避检测技术,包括代码注入、文件重命名、编码文件、不可执行的扩展名以及通过Tor连接的能力。
深入MONERO DROPPER
首次执行Evasive Monero Miner时,它将在%TEMP%文件夹中植入几个文件:
· CL_Debug_Log.txt
· CR_Debug_Log.txt
· Asacpiex.dll(与CR_Debug_Log.txt相同)
CL_Debug_Log.txt是7zip可执行文件的二进制文件,攻击者将其重命名以隐藏活动,此文件提取并解码名为CR_Debug_Log.txt的7zip存档文件。CR_Debug_Log.txt负责将矿机的payload——32.exe和64.exe(代表32位和64位版本)提取到%TEMP%中。
提取payload后,dropper将删除编码过的存档文件CR_Debug_Log.txt,并检查计算机是32位还是64位,根据检查结果复制相关的二进制文件,将其重命名为helper.exe,然后保存在\AppData\Roaming\Microsoft\Windows中。
图9.XMRig Miner Dropper执行的攻击流程
Dropper还将在%TEMP%中创建一个名为SystemCheck.xml的XML文件,以及计划任务SystemCheck,该任务每分钟运行一次XML文件。
XML文件配置为使用参数-SystemCheck运行helper.exe:
图10.Sys5emCheck.xml执行helper.exe
helper.exe是已编译的Autoit脚本,该脚本为恶意软件配置设置了一些变量,包括:
· 命令行参数
· TCP协议
· 矿池,端口为manip2[.]hk:7777。
· 一个进程列表,看是否处于测试环境中。
· 两个URL路径:public2/udp.txt和public2/32/32.txt(32位版本)或fpublic2/64/64.txt(64位版本)。
· 基于变量名称的密码DxSqsNKKOxqPrM4Y3xeK,用于解密存档文件。
图11.helper.exe反编译代码:变量设置
helper.exe包含在执行过程中构建的两个嵌入式二进制文件,其中第一个是7zip二进制文件。
图12.helper.exe反编译的代码:7Zip二进制文件嵌入代码
第二个是编码的7zip存档文件,用于名为Tor.tmp的Tor客户端。它使用helper.exe中的嵌入式密码对Tor.tmp进行解码,然后将其提取到\AppData\Roaming\Microsoft\Windows\Tor\。
图13.helper.exe反编译代码:Tor客户端嵌入代码
图14.用于提取Tor.tmp存档文件的命令行
Dropper 将检查目标计算机上的各种防病毒引擎,以及Windows Defender的SmartScreen功能是否存在,SmartScreen用于防止网络钓鱼和各种恶意软件网站。
图15.helper.exe反编译的代码:安全产品列表
helper.exe包含Base64编码的四个域名:
图16.helper.exe反编译代码:嵌入的Base64编码域名
解码域名:
· bgpaio75egqvqigekt5bqfppzgth72r22f7vhm6xolzqd6ohroxs7pqd[.]onion
· jr2jjfxgklthlxh63cz3ajdvh7cj6boz3c3fbhriklk7yip4ce4vzsyd[.]onion
· uovyniuak3w4d3yzs4z4hfgx2qa6l2u6cx4wqsje4pmnmygc6vfddwqd[.]onion
· Rcjndzwubq5zbay5xoqk4dnc23gr4ifseqqsmbw5soogye6yysc7nkyd[.]onion
Dropper通过Tor客户端连接到一个解码域名,将内容下载到名为SysBackup.tmp的文件中,并将恶意软件版本下载到文件upd.version至目标计算机。这两个文件都在\AppData\Roaming\Microsoft\Windows\中创建。
图17.helper.exe反编译代码:创建下载XMRig矿机SysBackup.tmp的GET请求
下载文件后,dropper将终止tor.exe。
Sysbackup.tmp为XMRig Miner可执行文件提供了一个字节数组。
图18.XMRig文件属性
helper.exe生成attrib.exe并将XMRig矿机代码注入内存。
图19.Process Hacker截取的attrib.exe内存中的XMRig矿机代码
Dropper通过命令行执行attrib.exe,该命令行指定了矿机的矿池和钱包。
图20.helper.exe反编译代码:构建attrib.exe的命令行
结语
这种“物尽其用”的攻击方式能够为攻击者带来持续的收益。不同种类的恶意软件将获取尽可能多的敏感数据,同时挖矿和勒索软件也能压榨受害者的剩余价值。
当前,攻击者滥用合法在线存储平台进行牟利的行为已经不是什么新鲜事了。将恶意payload存储在受信任的平台上,可以获取安全产品的信任。此外,将交付基础结构(在线存储平台)与C2服务器基础结构分开,也能为攻击者减少其C2服务器暴露的风险。因此,确保这些可信资源的安全性对就显得尤为重要。
发表评论