内容简介:BlueMushroom又名“蓝宝菇”,具备地缘政治背景,自2011年开始活跃,长期针对我国政府、教育、海洋、贸易、军工、科研和金融等重点单位和部门开展持续的网络间谍活动。本报告内容主要包含BlueMushroom组织分析,其最新活动分析,以及首次公开的该组织近年的攻击活动。部分发现如下:根据微步在线威胁情报云,BlueMushroom持续活跃,最近于2018年11月初前后发起过多次攻击,受害者包含APEC等大型会议相关目标。
概要
BlueMushroom又名“蓝宝菇”,具备地缘政治背景,自2011年开始活跃,长期针对我国政府、教育、海洋、贸易、军工、科研和金融等重点单位和部门开展持续的网络间谍活动。
本报告内容主要包含BlueMushroom组织分析,其最新活动分析,以及首次公开的该组织近年的攻击活动。部分发现如下:
根据微步在线威胁情报云,BlueMushroom持续活跃,最近于2018年11月初前后发起过多次攻击,受害者包含APEC等大型会议相关目标。
BlueMushroom经常使用各种会议、智库和期刊的采访和约稿等作为诱饵,以伪装成文件夹和Word文档的可执行文件,以及包含PowerShell脚本的LNK文件作为木马投递载体。其目的是窃取目标机器上的jpg、txt、eml、doc*、xls*、ppt*、pdf、wps、wpp和et格式文件,和进一步的渗透。
2015年至今,BlueMushroom主要使用自己开发的后门进行攻击,该后门的一大特征是会删除WPS相关组件程序,以及通过修改LNK文件实现持久化。
BlueMushroom比较关注亚太政治,北京和上海等地是其重点关注地区。综合分析其攻击目标,木马 工具 等信息,判断BlueMushroom可能具备亚太地缘政治背景。
微步在线通过对相关样本、IP和域名的溯源分析,共提取11条相关IOC,可用于威胁情报检测。微步在线的威胁情报平台(TIP)、威胁情报订阅、API等均已支持此次攻击事件和团伙的检测。
详情
微步在线长期跟踪全球150多个黑客组织,其中包含多个长期针对我国进行攻击的APT组织。近期,微步在线监测到具备地缘政治背景的APT组织BlueMushroom针对我国的多起攻击活动。在具体的攻击(多为鱼叉式网络钓鱼)中,BlueMushroom一般会制作与目标高度相关的诱饵,利用伪装成文件夹和Word文档的可执行文件,以及包含PowerShell脚本的LNK文件作为木马投递载体。
最新活动
2018年10月底至11月初,微步在线监测到BlueMushroom针对我国发起了多次定向攻击,其中受害者包含APEC等大型会议相关目标。以针对APEC相关目标的攻击为例,攻击者使用伪装为文件夹的可执行文件作为木马投递载体,运行后会释放内容为Chile APEC 2019日程相关的图片作为诱饵,以及多个DLL和配置文件。
综合分析木马编译时间,诱饵文件创建修改时间,以及首次发现时间等信息,判断此次攻击发生在10月底,潜在被攻击目标为出席APEC会议的政府领导和工商企业人士。更进一步分析发现,近几年,BlueMushroom基本每年都会在10月底以APEC为诱饵发起一波攻击,这可能是由于每年APEC领导人非正式会议将于11月中旬举行。下图为2016年10月底 APEC相关攻击活动中使用的诱饵。
近年活动
BlueMushroom善于利用社工手法进行钓鱼攻击,制作的诱饵也与被攻击目标高度相关。在历年的活动中,BlueMushroom多次利用各种智库和政治类期刊的“约稿”和“采访”,以及各种会议作为诱饵进行定向攻击。比如,BlueMushroom曾假借《当代亚太》编辑部编辑任娜的名义进行钓鱼,针对研究亚太安全与军控的专家进行定向攻击;以及以《国家智库》的名义,针对某教授进行定向攻击等等。
下表为2015年以来微步在线独家发现的BlueMushroom组织的部分攻击活动。
时间节点 | 攻击活动 |
---|---|
2015年初 | 以“两会会议案”为诱饵,发起钓鱼攻击。 |
2016年6月 | 以“京卡-互助服务卡”为诱饵,疑似针对北京理工大学教职工发起定向攻击。 |
2016年10月 | 以APEC议程为诱饵,针对APEC与会者发起定向攻击。 |
2017年7月 | 以“一带一路”对策建议为诱饵,定向攻击国内顶级智库相关目标。 |
2017年8月 | 以“《太平洋学报》征稿启事”,“运筹优化软件GAMS及CGE模型核心技术与应用培训”等为诱饵,针对研究海洋、社会科学和国际关系的专家学者,以及金融和经济等企事业单位技术骨干、科研院所研究人员以及高校教职工等目标发起定向攻击;以北京大学国际战略研究院院长王缉思批注的人大国发院针对“一带一路”的对策建议为诱饵,定向攻击国内顶级智库相关目标。 |
2017年9月 | 以上海“2017智慧政务与信息技术研讨会”为诱饵发起定向攻击,此次攻击中使用了64位的木马。 |
2018年4月 | 针对某大型会议相关目标发起定向攻击。 |
2018年10-11月 | 以APEC为诱饵,针对APEC与会者发起定向攻击;以《国际商报》采访作为诱饵,针对某大型会议与会者发起钓鱼攻击。 |
示例一:
在2016年的一次攻击中,攻击者以“京卡-互助服务卡”为诱饵,疑似针对北京理工大学教职工发起定向攻击。分析诱饵文档的元数据,发现文档为“刘明奇”创建,此人系中国教育工会北京理工大学委员会常务副主席,在2016年确实有从事相关工作(推动本校工会系统服务平台建设)。推测此文档应是攻击者窃取而来。京卡·互助服务卡原名“职工互助服务卡”,是北京推出的一种维护职工权益的智能卡,持卡人可享受免费保险、优惠逛公园、看电影等12项服务。
包含诱饵的木马文件图标:
诱饵文档内容:
示例二:
2017年8月前后,攻击者以“《太平洋学报》征稿启事”为诱饵(内容是从《太平洋学报》网站复制),针对研究海洋、社会科学和国际关系的专家学者发起定向攻击。《太平洋学报》关注太平洋区域政治、经济、海洋、文化以及国际关系。
相关木马伪装成文件夹,双击后会释放并打开,其中包含两个诱饵文件。
诱饵文件内容:
示例三:
2017年8月中上旬,以中国管理科学研究院人才战略研究所举办的“运筹优化软件GAMS及CGE模型核心技术与应用”培训为诱饵,针对金融和经济等企事业单位技术骨干、科研院所研究人员以及高校教职工等目标发起定向攻击。
相关木马亦伪装成文件夹,双击后会释放并打开,其中包含两个诱饵文件。
诱饵文件内容:
样本分析
根据公开情报,在早期(2011-2014)的活动中,BlueMushroom主要使用公开的Poison Ivy的木马进行攻击,从2014年末至今,较多使用自己开发的Bfnet后门。Bfnet属DLL后门,主要通过伪装成Word文档、文件夹以及其他方式进行投递,其显著特点是运行后会删除WPS相关程序和修改LNK文件实现持久化。
最新样本分析
下面以Chile_Apec2019.exe为例进行分析。
该样本基本信息如下:
文件类型 | PE32 executable (GUI) Intel 80386, for MS Windows |
---|---|
文件大小 | 6150922 |
文件名 | Chile_Apec2019.exe |
SHA256 | 0f8ec57dada552766dcdf43cb2a827133bbbfba242c925d744f2698a3ebc8ff9 |
SHA1 | 55d1cf05904c16f5d813dd9f708bd1ab6f353324 |
MD5 | 41344a2854d4cc46d8ec36dd9c8caa2d |
该样本的整体执行流程如下:
样本执行后会释放出3个DLL文件、1个配置文件和6张诱饵图片。
文件名 | 作用 |
---|---|
dx9_9.bak | 伪后门DLL,会将对导出函数的调用转移到dx9_9_.bak上 |
dx9_9_.bak | 实际的后门DLL |
dx13_32.dat | 配置文件 |
op.bak | 用于启动资源管理器展示诱饵图片 |
dx9_9_.bak是该样本的主要后门模块,提供了多个导出函数,如下表所示。
导出函数名 | 功能 |
---|---|
DxEntry | 创建互斥量,解密配置文件,并触发后门程序 |
DxInstall | 生成批处理文件nv32_update.bat并执行 |
DxUninstall | |
DxCanUnload | 生成批处理文件nv32_update.bat |
DxSetClassObject | 感染符合条件的快捷方式文件,以实现驻留 |
DxUnsetClassObject | 无实际用处 |
DxCopyClassObject | 将参数1指定的文件复制到参数2指定的路径 |
DxMoveClassObject | 将参数1指定的文件移动到参数2指定的路径 |
DxMoveClassObjectEx | 将参数1指定的文件复制到参数3指定的路径 |
DxDelClassObject | 将参数1指定的文件拷贝到%TEMP%下 |
DxServiceBegin | 调用cmd.exe /c执行参数指定的命令 |
DxServiceBeginEx |
(1)字符串解密算法。
样本中字符串的解密算法是一个简单的替换过程。对ANSI字符串和Unicode字符串使用了不同的函数进行处理,但算法的思路相同,做法为:
a. 对于大写字母,如码点值大于等于0x4A,则将码点值-9,否则将码点值+17; b. 对于小写字母,如码点值大于等于0x6A,则将码点值-9,否则将码点值+17; c. 对于数字,如码点值大于等于0×39,则将码点值-9,否则将码点值+1; d. 将空格(0×20)和大于号(0x3E)对调; e. 以竖线(0x7C)作为字符串结束符。
(2)一些与样本功能无关的API调用。
样本在一些函数中加入了无关的API调用,如在DxEntry导出函数中加入了GetCurrentProcess()、GetConsoleWindow()和GetCapture()调用。
(3)生成批处理文件。
a. 样本会收集下列目录中的快捷方式文件名。
%USERPROFILE%\Desktop |
---|
%USERPROFILE%\桌面 |
%APPDATA%\Microsoft\Internet Explorer\Quick Launch |
%APPDATA%\Microsoft\Windows\Start Menu |
%ALLUSERSPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu |
%USERPROFILE%\「開始」功能表 |
%ALLUSERSPROFILE%\「開始」功能表 |
%USERPROFILE%\「开始」菜单 |
%ALLUSERSPROFILE%\「开始」菜单 |
b. 并过滤出带有下列关键词的字符串。
Startup |
---|
啟動 |
启动 |
Internet Explorer |
Chrome |
Firefox |
Opera |
Safari |
Browser |
浏览器 |
瀏覽器 |
360 |
我的手机 |
Windows Explorer |
腾讯QQ |
微信 |
c. 最后样本会向批处理文件中写入调用DxSetClassObject感染快捷方式的命令,在生成批处理文件之后,样本通过CreateProcessW调用cmd.exe来启动批处理文件。
(4)感染快捷方式文件。
样本首先会通过CoCreateInstance创建一个IShellLinkW对象,然后拼接多个命令字符串,最后通过IShellLinkW对象提供的接口将这些内容写入快捷方式。
(5)解密配置文件。
解密前的配置文件格式如下所示。
字段 | 大小 |
---|---|
CONFIG-KEY的长度k1 | 4字节 |
CONFIG-KEY | k1字节 |
C2数据的长度k2 | 4字节 |
C2数据 | k2 – 1字节 |
定时器触发时间(秒) | 4字节 |
是否驻留 | 4字节 |
样本中硬编码了另一个8字节的KEY (0×37 0×43 0×18 0×95 0×47 0×69 0×13 0×68),该KEY与CONFIG-KEY做循环异或后得到的结果才用于解密过程。
解密后的配置文件数据部分如下图和下表所示,C2数据之间使用换行符\n(0x0A)进行分割。
C2列表 | 142.93.65.5282.196.6.100104.248.189.199 |
---|---|
定时器触发间隔 | 0×00000020 = 32秒 |
是否驻留 | 0×00000001 = True |
(6)后门功能。
样本通过一个定时器(SetWaitableTimer)来定期触发,时间间隔由配置文件指定(0×20 = 32秒)。随后定时器会尝试逐个回连C2列表中的服务器,并将”HELLO “和密钥字节流拼接,作为握手包发送。如成功建立连接,则C2服务器会回复”!HELLO”以及多个后续命令,相关命令及执行的操作如下:
命令 | 操作 |
---|---|
!GETINFO | 无 |
!PERSIST | 执行DxUninstall导出函数 |
!PERSIST_UN | 执行DxInstall导出函数 |
!SETIP | 修改C2服务器的地址,并写入配置文件 |
!SETID | 设定回连的ID信息 |
!INTERVAL | 修改定时器的触发时间(最大7200秒,最小30秒),并写入配置文件 |
!DOWNLOAD | 下载文件(到当前目录) |
!PUT | 上传文件 |
!GET | 下载文件 |
!PLUGIN_RUNDLL | 调用DxEntry导出函数 |
!PLUGIN_RUN | 加载DLL文件并调用DLL文件中的DxEntry导出函数 |
!PLUGIN_WRITE | 调用DLL文件中的DxPutClassObject导出函数 |
!PLUGIN_STOP | 调用DLL文件中的DxUnregisterServer导出函数 |
!EXIT | 停止定时器 |
!RESTART | 调用DxEntry导出函数 参数为DxRegisterServer |
!RESTART_NEW | |
!UNINSTALL | 卸除自身模块 |
!CAB | 使用makecab程序对文件进行打包 |
!ZIP | 无 |
!ZIPLIST | 收集在特定时间之后的doc/docx/ppt/pptx/xls/xlsx/txt类型的文件,并存放在%DIRNAME%.zip.lst中 |
历年样本对比
从代码结构来看,BlueMushroom自己开发的Bfnet大致可以分为两大版本。较旧的版本编译时间在2014年左右,没有使用任何的字符串加密算法,各种特征也较为明显。2015年之后的Bfnet样本开始使用“循环移位 + 替换”的字符串加密算法,并且开始注重修改代码中的静态特征,修改了原本的User-Agent字符串和互斥量名称等等,之后的样本(2017~2018)整体上来说变化不大,只做了一些微小的改动,配置解密算法更是始终未变。
2018年上半年捕获到的BlueMushroom样本有使用PowerShell脚本取代Bfnet后门核心功能的趋势,但在最近捕获的样本中又恢复了原本的做法,即在DLL文件中实现后门功能。
详细对比如下:
溯源分析
为方便进行跟踪,微步在线将该组织称为BlueMushroom。根据BlueMushroom在攻击中使用的木马工具,网络资产和攻击手法等信息,确定该组织也即“蓝宝菇”组织。
微步在线对BlueMushroom的TTP和历年攻击活动进行了系统的分析,有如下发现:
发现该组织在发起攻击之前一般会经过一段时间的精心准备,有时准备时间长达两个月。
该组织攻击手法和私有木马这几年变化均不大,但也在寻求着改变。自活跃以来,该组织主要使用伪装Word文档和文件夹等的PE文件作为载体投递后门木马。在2018年的几次攻击中,该组织开始尝试将部分诸如窃取文档等核心功能转移到使用PowerShell脚本实现,其策略也更倾向于LotL策略,这也是当前APT攻击的一大趋势。
该组织私有木马包含繁体字符,某PowerShell脚本会判断系统语言是否为日语、繁体、简体和英语,最新的某攻击样本中隐藏的用于嘲讽安全研究者的图片也包含繁体字符。此外,一些钓鱼邮件和诱饵文件的内容也说明攻击者的汉语水平较高,再结合该组织攻击目标也多与亚太地缘政治有关等信息,推测该组织可能具备亚太地缘政治背景。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 毒云藤(APT-C-01)军政情报刺探者揭露
- 240万名演员职业生涯数据,揭露演艺圈“潜规则”
- 毒云藤组织(APT-C-01) - 军政情报刺探者揭露
- 2019年三大Service Mesh发展动向解析
- 编程语言流行新动向,Groovy重新崛起
- 研究揭露AMD处理器存在漏洞,可致两种新型侧信道攻击
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。