Operation Dragon Dance:悬在博彩行业上的达摩克里斯之剑
2022-12-27 11:0:42 Author: 奇安信威胁情报中心(查看原文) 阅读量:31 收藏

概述

2022年5月份,奇安信威胁情报中心发表了《Operation Dragon Breath(APT-Q-27):针对博彩行业的降维打击》[1]一文,披露了APT-Q-27针对博彩行业的攻击活动并在文末引出了Miuuti Group一个针对博彩行业的攻击组,人员组成复杂,具有很强的流动性,可能与已知组织存在重叠,从2015年至今使用了多个通讯软件0day漏洞。本文通过对最近几年捕获到的两个相同类型的0day漏洞进行介绍,并且我们会讨论基于Electron框架开发跨平台的桌面应用的安全性问题。

本文我们将给出两个0day漏洞细节和一个完整攻击事件分析,相关客户可找我们获取详细信息,所涉及产品漏洞现在均已修补。IOC均已无法访问,暂不提供。

漏洞一

该软件在注册企业公司账号后会提供远程会话权限,并附有本地咨询代码,方便企业将该html挂载到公司官网,以便于客户随时发起询问。

点击“客服在线”即可和远端安装好客服软件的客服聊天。网页端聊天界面如下:

远端客服软件则可以收到网页版的消息。

漏洞出现在访客的姓名栏中,由于其未对“<>”进行过滤,这导致了跨站漏洞的产生。修改保存好用户名为aa<img src="javascript:alert('XSS')">后,再次发送消息将触发跨站漏洞:

默认情况下访客是无法修改自己的姓名,但远端客服软件中有个功能可以设置允许访客自定义自己的姓名。

如果目标开启了访客信息收集(勾选用户名),那么可以通过输入精心构造的用户名进行远程XSS攻击:

       但利用条件比较苛刻,大部分企业是不开此功能的,我们通过抓包访客信息收集功能开关前后的数据包发现了几个多出来的请求参数,与设置访客姓名有关。

&moreparams=&fromChaterInfoBox=1&name=asdf&prechatinfoexist=1&timestamp=1617789602996

       经过验证如果在对应的这个GET请求中加入添加用户名的参数,则可以主动远程修改访客用户名(无论是否开启访客信息收集功能),从而达到执行js的效果,又因为此类软件在开发时讲究快速和跨平台故常使用Electron一个基于 Chrominum 和 Node.js 的跨平台桌面应用框架来进行开发,一旦出现上述xss的问题则会导致Native层的js代码执行漏洞。所以在我们的终端数据中观察到了使用网页端XSS漏洞直接在远端客服软件执行任意代码的情况,攻击者通过这种方式在博彩公司内部立足,并进行进一步的横向渗透。

漏洞二+攻击事件分析

       另一款聊天软件也是基于Electron框架来实现前后端交互,该漏洞是通过聊天的方式触发的,攻击者通过给受害者发送精心构造的payload,受害者收到攻击者发送的聊天内容后,该软件会在前台加载攻击者构造的js代码,该js代码会调用和native交互的API从而在本地执行任意命令:

每半小时请求一次C2服务器,实际上是一个轻量化的js远控,我们拿到了攻击者的后台,发现了巨量的博彩受害者。

之后会进入第二阶段的攻击,基于天擎EDR的关键线索和后续的现场排查,我们发现攻击者会下发白文件i_view32.exe,该软件主要功能是图片编辑器带有签名,通过后接命令行的方式可以实现屏幕截图,随后Miuuti Group通过curl将截图上传到C2服务器上。

       然后通过curl将受害者桌面的txt、xlsx、xls、docx、doc、json等敏感文件上传到云盘上,上述数据完成后攻击者开始进行非常复杂的持久化操作,通过curl从github上拉取打包好的聊天软件与原有的进行嵌套,老版本的软件套在了新版本软件的外层

效果图如下:

外层老版本的主要功能是用来asar劫持,修改了resources目录下的app.asar文件,将恶意的js插入到修改后的app.asar,从而导致当受害者每次运行时都会加载恶意js,修改后的js与原版js部分对比如下:

       替换的恶意js执行逻辑与0day触发时的执行逻辑类似,

会去执行远程服务器上的js,该流程通过asar劫持实现了本地RCE的触发,执行完成后会执行CMD命令,打开嵌套在内部的新版本的聊天软件,新版本的asar没有被替换可以正常使用。

从远程服务器执行的js如下:

从远程服务器下载89.0.4389.114版本的chrome浏览器,并且以无沙箱的方式启动chrome访问带有CVE-2021-21220漏洞触发页面,实现漏洞层面的“白加黑”,触发的exp如下

解密后

从而实现下载回来的老版本chrome浏览器任意代码执行,经过分析shellcode为Cobalt Strike远控。一段时间之后我们发现攻击者在服务器上替换了另一段js代码。

       下载了一个名为system_check.rar的压缩包文件,调用unrar.exe对其进行解压到c:\programdata\chrome_plugin\目录下并启动syscheck.exe

经过分析发现该软件为国产商业远控workwin带有驱动保护和数字签名,一旦安装成功,普通人无法卸载。

我们对攻击者服务器上300G的数据进行分析发现至少有1000多个正规和非法的博彩公司被入侵,其中包含了赌客的身份信息、博彩公司服务器账号密码、转账平台的账号密码等。

考虑到攻击者不只有一个云盘和C2来接受屏幕截图和文档数据,所以受害者的数量要比我们预估的多得多。

一脉相承?

早在2020年我们就披露过《黑产团伙金指狗技术升级,使用Nday漏洞发动组合拳攻击》[2],我们后来发现该团伙使用的解密算法与金眼狗(APT-Q-27)telegram水坑所使用的代码一致,故我们内部已经将这两个组织合并。文章中提到金指狗团伙通过Total VideoPlayer栈溢出漏洞和Photodex ProShow Producer软件栈溢出漏洞来实现漏洞层面的“白加黑”,这与本次Chrome的利用思路相吻合。在我们上半年发表的《Operation Dragon Breath(APT-Q-27):针对博彩行业的降维打击》[1]中提到了该团伙使用的delphi木马中出现了一条自定义的指令

这意味着漏洞层面的“白加黑”已经成为了Miuuti Group免杀的一种思路,并会在很长的一段时间延续下去。

从杀软的角度来讲,通过0day漏洞来实现asar劫持触发本地RCE最后通过Nday漏洞的“白加黑”来加载木马确实是一个很妙的想法,攻击者在最大限度得隐藏0day触发的痕迹,假如本次活动安全研究人员发现时间晚,则事件最多只能溯源到asar劫持,但是攻击者如何完成asar替换就会变成未解之谜,大部分分析人员都会将其轻易的推测为从第三方下载站下载了修改版的软件从而结束事件分析。总而言之,与高水平的APT团伙斗争对线索的快速发现和基于经验而做出的溯源决策提出了非常高的要求。

总结

目前,基于奇安信威胁情报中心的威胁情报数据的全线产品,包括奇安信威胁情报平台(TIP)、天擎、天眼高级威胁检测系统、奇安信NGSOC、奇安信态势感知等,都已经支持对此类攻击的精确检测。

参考链接

【1】  https://mp.weixin.qq.com/s/_oulmr53ZeMFFsVR1esa9A

【2】  https://mp.weixin.qq.com/s/4UaOzNk03VZLXwzrPWSsHw

点击阅读原文ALPHA 5.0

即刻助力威胁研判


文章来源: http://mp.weixin.qq.com/s?__biz=MzI2MDc2MDA4OA==&mid=2247504924&idx=1&sn=f25a6fd2f93a703a299e75bc2e6af2e1&chksm=ea66236bdd11aa7d237e45eb52c0e4f50215f8ff47ba91cad527bc3aa4b9f93a7dbb8c781e4a#rd
如有侵权请联系:admin#unsafe.sh