1、概述
依托国家情报机构发动的网络战日益频繁。在各国的网络战博弈中,俄美等国家凭借其长期的情报机构建设积累以及强大的武器库资源储备在公众眼中暂处第一梯队。国内情报分析人员接触到的有关这类高度复杂的 APT 组织相关情报信息大多数来源于国外安全机构。拥有俄罗斯联邦对外情报局(SVR)背景的APT29 组织即是如此,近半年时间内,随着 SolarWinds 供应链攻击的曝光以及后续多家安全机构的调查分析,疑似幕后黑手的 APT29 开始回归大众视野中。
- 梳理当前公开情报信息,APT29 组织结构分析及各分支机构经典攻击事件分析;
- 探究 The Dukes、WellMess、Nobelium(Solarwinds)归因点及可信度;
- APT29 关键 TTPS 剖析;
- 微步视角下的 APT29 组织画像。
据维基百科记载,俄罗斯联邦对外情报局(俄语:Служба Внешней Разведки,英语:Foreign Intelligence Service of the Russian Federation,简称 SVR)是俄罗斯的情报机关之一,专门负责俄罗斯境外的情报活动。对外情报局的前身是苏联国家安全委员会第一总局,即克格勃第一总局,是1954年3月13日–1991年11月6日期间苏联的情报机构,在当时被认为是全球效率最高的情报收集机构。
图【1】克格勃第一总局&SVR标志性徽章
1991年苏联解体后,俄罗斯境内的原克格勃机关改制为俄罗斯联邦安全局(FSB),其第一总局改制为俄罗斯对外情报局(SVR)。白俄罗斯则完整保留境内克格勃机关的建制及原有名称。其总部位于俄罗斯莫斯科亚先捏沃,有一万三千名员工,特工会化身为外交人员或记者进行情报活动。
APT29 至少自2008年开始活跃,其最初映入公众眼帘是在2009年 Dukes 早期工具集曝光,木马的新颖之处在于使用 Twitter 社交平台存放恶意网络资产、以此为跳板进行后续网络交互行为。“Duke” 的命名源于卡巴斯基安全研究人员,由臭名昭著的 Duqu 蠕虫(与 Stuxnet 震网蠕虫存在关联)联想而来,此后一直延用至今。值得注意的是 Duke 系列木马组件与 Duqu 蠕虫无任何实质性关联,切勿混为一谈。自此至2019年10余年时间内,公开披露的 APT29 活动中均可看到 Dukes 工具集的使用,只是后续的 Dukes 工具集已经扩充成包含 PolyglotDuke、RegDuke、MiniDuke、FatDuke、SeaDuke 等在内的复杂武器库工具集。在此期间,最让人印象深度的是2016年美国总统大选期间 APT29 针对美国民主党全国委员会(Democratic National Committee,简称DNC)的间谍活动(据NCCIC、FBI披露,该活动由APT28、APT29协同参与,于2015年夏季开始对目标系统渗入)。
微步情报局整合了自2015年至今关于 APT29 的公开披露报告,披露来源为权威的国家情报部门机构和安全研究机构,披露内容包括武器库特马组件、特定攻击事件、阶段性总结报告、取证溯源调查报告等内容。研究人员对其进行时间先后排序,整理如下表所示。
Table 1 APT29公开披露报告:
在历史披露报告中,各安全机构对某一时间节点的攻击组件、攻击活动、幕后攻击团伙(有些攻击事件在披露时未能关联至已知组织,产生了一系列全新的命名)存在多种不同的命名,其中部分命名是由特马组件指纹演变而来。为了便于整合这些信息,我们可以依据特定的木马工具集(主要指初始投递到PC端的前阶段载荷)对其进行分类,总共可以分成三块:The Dukes 系列、WellMess 系列、Nobelium 系列。其中各个系列除了前期攻击载荷中使用的特马工具存在较大差异之外,在攻击目标、参与攻击事件、攻击活跃时间区段等均会存在一些重合。各系列分支简要说明如下:
Table 2 APT29分支结构:
The Dukes系列 | 2008—2019.10,使用时间跨度最长,包括多个复杂的命名含“Duke”的工具集,包括2016年对美国民主党DNC攻击中使用。 |
WellMess系列 | 2018.06—至今,针对Windows、Linux双平台,由JPCERT披露,攻击了包括美国、英国在内的多个国家的医疗、政府、科研、高校、高科技企业等机构。
WellMess、WellMail、SoreFang恶意软件。 COVID-19 疫苗研制机构间谍活动。 |
Nobelium系列 | 2018.11—至今,MSTIC命名,包含Solarwinds供应链攻击中的构建过程劫持木马、嵌入后门以及后续多阶攻击组件。该系列工具集最早于2018年11月火眼披露的对美国智库、公共部门等的定向攻击中出现。 |
图【3】 APT29三大系列分支活跃时间示意
接下来,我们针对 The Dukes 系列、WellMess 系列以及 Nobelium 系列分开总结梳理 APT29 特有的攻击活动特点。
4、攻击战术剖析
基于上述对 APT29 的组织结构分类,我们分开探讨 The Dukes、WellMess、Nobelium 三大分支特有的攻击偏好、攻击战术、代表性攻击事件。
4.1 The Dukes系列
The Dukes 系列是最早公开披露的 APT29 组织,同期别名包括 HamMertos、Cozy Bear、CozyDuke 等,活动时间从2008年到2018年,攻击目标包括全部欧洲国家、多数中东地区国家、部分亚非国家、以美国为主的北美国家,具体行业目标包括政府实体、政府智库、车臣极端主义机构等。2015年9月,F-Secure 团队对 Dukes 的攻击活动、攻击组件进行总结披露;随后 ESET 团队在2019年10月对 Dukes 的后续攻击活动及武器库进行扩充披露。
图【5】 2015.08鱼叉邮件“选举结果可能会被修改”
除了发现这类常见的鱼叉网络攻击之外,Dukes 也存在一些“异常”的攻击行为。2014年10月,Levithan 安全团队披露 Dukes 通过控制部分 Tor 网络出口节点进行中间人攻击,劫持用户流量后投递 Dukes 特马,此种发散式的攻击迅速组建了一个超过千余台 PC 主机的僵尸网络(肉机主要分布在蒙古和印度)。对于这种一反常态的发散式攻击行为,攻击动机存在较大争议,其中一种观点是 Dukes 攻击目标为与俄罗斯相关的毒贩等犯罪团伙。除此之外,2015年1月至2016年年底,Dukes 发动了多起针对美国政府机关、智库、非政府单位的鱼叉邮件钓鱼攻击,具体攻击目标达到数千数量级别。在该系列鱼叉邮件攻击活动的早期,Dukes 向超过一千个目标邮箱发送了同一封钓鱼邮件,邮件内容并未像之前那样伪装时政热点这类诱骗性更高的话题内容,反而采用了勒索团伙常用的“电子传真”这类具备垃圾邮件特点的话题,这种对千余个目标采用完全相同的钓鱼邮件而且内容粗糙的行为特点在 APT 攻击案件中较为罕见。当然,从攻击者角度来看,这种大批量的攻击只是用于前期甄别有价值目标,服务于前期社攻阶段。
附件解压后是一个名为“37486-the-shocking-truth-about-election-rigging-in-america.rtf” 的 LNK 文件,命令行语句启动 powershell 进程执行 base64 编码的 ps1 脚本,ps1 脚本进行当前 PC 机器环境检测之后按照既定文件偏移提取 LNK 文件中数据,然后进行异或解密,写入落地文件。落地文件包括:
%TEMP%37486-the-shocking-truth-about-election-rigging-in-america.rtf(诱饵文件)、
%APPDATA%Skypehqwhbr.lck(PowerDuke特马加载器)、%APPDATA%Skypehqwhbr.lck: schemas(PNG格式的文件流数据,携带加密 PowerDuke 载荷,以图片格式打开将正常显示装酒的高脚杯)。内存态的 PowerDuke 特马与攻击者交互实现常见的窃密、监控、后门等行为。
图【7】 PowerDuke鱼叉邮件攻击流程示意图
LNK 文件在真实用户环境中打开后将展示释放的诱饵文档。
上述鱼叉邮件攻击活动中投入使用的 PowerDuke 组件是 The Dukes 在美国总统大选期间使用频率较高的一款特马,自2008年至2019年期间,Dukes 组件经过一系列扩充改进已形成一套功能齐全的工具集,实现功能包括简单的下载器、加载器、窃密木马、高级远控木马、提权组件(曾披露投入使用0day漏洞)、加密组件、横移组件等。在实际攻击活动中,投递载荷会根据实际情况选择多阶 Dukes 特马渗入。参考 ESET 披露的 “Ghost行动” 中的 Dukes 工具集使用流程如下:
基于 F-Secure 在2015年总结的 Dukes 各攻击组件活跃时间区间轴线图,我们整合后续系列的 Dukes 组件,绘制完整的 Dukes 组件使用时间区间图如下所示。
图【10】 The Dukes工具集各组件投入使用时间区间
4.2 WellMess系列
WellMess 系列攻击组件最早于2018年7月由 JPCERT在“针对 Linux 和 Windows 的恶意软件 WellMess ”一文中披露,该木马采用 golang 和 .Net 环境进行开发设计,实现基础的窃密监听恶意功能,并存在针对 Windows、Linux 平台的攻击样本。当时只是作为恶意软件进行披露,并未关联归因,所以并未引起公众关注,直到两年后的2020年7月,正值全球新冠疫情紧张时期,英国国家网络安全中心(National Cyber Security Centre(United Kingdom),简称NCSC)联合 NSA(美国国家安全局)、CISA(美国网络安全和基础设施安全局)、CSE(加拿大通信安全机构)披露了 APT29 使用 WellMess 组件(还包括新命名的 WellMail 同源组件)攻击全球 COVID-19 疫苗研制机构(主要国家为英国、美国、加拿大),随后英国普华永道公司披露了 WellMess 组件归因至 APT29 的部分细节。
WellMess 组件使用的 C&C 通信协议包括 HTTP、HTTPS、DNS,其中 HTTP 协议通信最为常见。WellMess 木马上线之后会立即与 C&C 端交互协商用于后续通信数据加密的 AES key,更新的 AES key 采用 RSA 算法加密传输。木马与 C&C 端的交互数据加密协议可分为两部分:HTTP Header 部分的 Cookie 字段、Body data 部分。其中头部的 Cookie 数据用于传输 C&C 下发指令,Body 部分为具体功能指令对应的上传数据。其 HTTP 通信数据加密协议结构如下:
截取 WellMess 木马 HTTP 通信加密流量如下:
4.3 Nobelium(SolarWinds)系列
据 CrowdStrike 团队和 Volexity 团队披露信息,Nobelium 疑似采用 Microsoft Exchange 0day(根据 Sunspot 木马编译时间为2020年2月推测)漏洞渗入 Solarwinds 供应商产品构建系统,植入 Sunspot 木马。该木马劫持 Orion 软件编译过程、植入恶意代码,导致恶意的 Sunburst 后门被编译到 Orion 产品发布版本中。此后该携带后门的 Orion 软件将通过供应链渠道合法下发到用户环境,Nobelium 借助 Sunburst 后门模块筛选有价值目标实施后续攻击行为。该供应链攻击流程图如下:
Solarwinds Orion 产品构建过程中替换的恶意源代码 SolarWinds.Orion.Core.BusinessLayerBackgroundInventoryInventoryManager.cs 在 Sunburst 后门组件中的反编译表现如下:
Sunburst 后门检测真实用户环境之后,动态解密 ZIP+Base64 存储的配置信息后,使用 DGA 域名算法组合多级域名前段部分生成 C&C 回连域名,然后进入 RAT 分发函数进行 C&C 交互。
图【17】 Sunburst ZIP+Base64 编码 C&C 配置信息
Solarwinds 供应链攻击事件披露之后,MSTIC、FireEye 以及其他安全机构陆续披露了多个 Nobelium 攻击组件,包括 Teardrop、Raindrop 自定义的Cobalt Strike 加载器,Goldmax 后门,GoldFinder HTTP 跟踪器工具,Sibot 下载器以及早期的 EnvyScout、BoomBox 等 dropper 组件。对该系列组件的调查发现 Nobelium 发起的一系列鱼叉邮件攻击事件,攻击目标为美国智库、非营利组织、公共部门、石油和天然气、化学和酒店行业的教育机构和私营部门公司。
图【19】 引自MSTIC、Fire Eye,Nobelium鱼叉邮件
五、关联归因
攻击事件关联归因是APT组织追踪溯源过程中非常重要的环节,同时也是高级威胁事件调查的最终目的。当前复杂多变的网络战环境以及各安全机构情报信息差异问题均给归因工作提出挑战。所谓的归因只是站在独立立场尽可能客观地去描述攻击者背景。出于多数APT攻击事件中特有的国际政治局势下的攻击倾向,对被攻击目标国家的政治敌对(或外交不友好)国家尝试关联验证往往是比较有用的初步关联归因思路。此外,基于恶意代码指纹、网络资产特征、攻击TTPS等维度向已知背景组织挂靠是比较常见有效的归因办法。
在对APT29组织的研究过程中,其归因结论主要由美国、英国、加拿大、瑞士等国家情报机构以及其本土安全公司提供,然后其他媒体机构对归因结论进行传播扩散。在公开披露的调查报告中,因为信息涉密问题,多数归因证据进行了阉割脱敏处理。我们在研究梳理APT29关联归因证据过程中,过滤掉以媒体机构为主的主观性较强并且缺乏切实证据的新闻信息,侧重于总结第三方安全机构调查报告中披露的具有指向性的客观线索。
接下来,我们按照本文前部分划分的APT29组织结构分开梳理其关联归因证据。
5.1 The Dukes归因
The Dukes系列是APT29最早的组织代号,早期的Dukes特马工具是在2013年由卡巴斯基安全团队作为未知类型攻击组件进行命名披露的。对于The Dukes系列的归因,我们重点探讨如何将The Dukes归因至俄罗斯政府背景黑客组织,而对于如何将APT29关联到俄罗斯联邦对外情报局(SVR)不在本文讨论范围内。
5.1.1 受害者分析
2013年2月,卡巴斯基在“The MiniDuke Mystery: PDF 0-day Government Spy Assembler 0x29A Micro Backdoor”一文中对MiniDuke木马组件以及其参与的攻击事件进行详细披露。该系列攻击活动中,被攻击目标主要为欧洲西部、中部国家。鱼叉网络攻击活动中投入使用的诱饵素材如下。
图【20】引自Kaspersky,2013年Dukes攻击诱饵
在对Dukes 2013年攻击活动的深入调查中,卡巴斯基团队通过分析大量C&C服务器日志,发现该系列攻击活动受害者包括分散在23个国家的59个独立机构,这些国家为:比利时、巴西、保加利亚、捷克共和国、格鲁吉亚、德国、匈牙利、爱尔兰、以色列、日本、拉脱维亚、黎巴嫩、立陶宛、黑山、葡萄牙、罗马尼亚、俄罗斯联邦、斯洛文尼亚、西班牙、土耳其、乌克兰、英国和美国。
2015年9月,F-Secure安全公司在“THE DUKES 7 YEARS OF RUSSIAN CYBERESPIONAGE”(译为:The Dukes 7年的俄罗斯网络间谍活动)报告中继续披露了格鲁吉亚、乌干达、波兰、哈萨克斯坦、吉尔吉斯斯坦、阿塞拜疆、乌兹别克斯坦等国家。
图【21】 2008-2009年,Dukes针对波兰、捷克、国美智库攻击活动中诱饵文件
此后的2016年夏季,美国总统大选期间,The Dukes对美国民主党相关机构发起大规模间谍活动。
至此,我们梳理自2008年-2016年期间The Dukes的攻击目标包括几乎全体欧洲国家、部分美洲国家、少数亚非国家,其中主要目标国家为以美国为主的北约成员国和以乌克兰、格鲁吉亚、哈萨克斯坦、阿塞拜疆为代表的欧洲中部国家。结合当时世界各国的情报间谍能力、美俄之间的政治局势以及俄罗斯西南方向敏感的地缘政治关系,The Dukes极有可能具有俄罗斯政府背景。
5.1.2 特马编译时间时区分析
F-Secure披露报告中指出,根据The Dukes特马的编译时间戳,恶意软件的作者似乎主要在周一至周五UTC+0时间早上6点到下午4点之间工作。这相当于UTC+3时区(也称为莫斯科标准时间)上午9点到晚上7点之间的工作时间,包括莫斯科和圣彼得堡在内的俄罗斯西部大部分地区。此种基于特马编译时间进行的时区分析为The Dukes归因至俄罗斯提供了佐证。
图【22】引自F-Secure,UTC+3时区中的莫斯科
5.1.3 vcaz情报机构调查
在2016年以干预美国总统大选为目的一系列间谍活动之后,美国国会组织各情报机构及第三方安全公司对该事件进行调查。后续披露的归因至俄罗斯政府的多个报告中,包含了美俄政治局势分析、国家机密泄密事件分析、网络供应商调查分析等。美方提供一系列的调查报告及事件相关人员证词,通过国际司法程序指控俄罗斯组织的这一系列间谍活动。在美方的披露信息中,关于The Dukes的确切归因证据并未展示。我们仅从美国参议院情报特别委员会披露的一份名为“Report of the select committee on intelligence United States senate on Russian active measures campaigns and interference in the 2016 U.S. Election volume 1: Russian efforts against election infrastructure with additional views”的调查报告中找到了一条疑似指向俄罗斯的归因证据。报告中提到:2016年8月18日FLASH(美国联邦安全家园联盟)间谍事件相关的IP地址提供了一些指向俄罗斯政府的迹象,尤其是GRU(俄罗斯总参谋部情报部,简称“格鲁乌”)。
图【23】引自美国参议院情报特别委员会调查报告Report_Volume1.pdf,13/67页
上述关联点是当前可公开收集的可初步将The Dukes关联到俄罗斯的论据,虽然美国各情报部门并未披露过多调查细节,但结合国际政治局势及美方提供的众多国际司法指控证据来看,将The Dukes归因至俄罗斯应该是较为合理的。
5.2 WellMess归因
WellMess系列木马在2018年由JPCERT作为一款独立的新型木马披露。2020年,在对英美在内的全球COVID-19疫苗研制机构的网络间谍活动中出现了WellMess的身影,英国、美国、加拿大三国的国家情报机构(NCSC、NSA、CISA、CSE)联合发文将该系列攻击事件归因至具有俄罗斯联邦对外情报局背景的APT29,具体归因点并未披露。外界至今对于将WellMess归因至APT29仍然存在少许争议。
2020年8月,英国普华永道安全咨询公司在“WellMess malware: analysis of its Command and Control (C2) server”一文中给出了部分归因证据,即WellMess与已知APT29 SeaDuke组件在关联,二者均存在使用攻击失陷的第三方网站作为C&C服务器,以及二者在网络通信中使用的数据加密协议较为相似。我们重点注意通信数据加密协议,二者在HTTP协议通信过程中,均会使用header部分的Cookie字段来传输C&C指令,并且在C&C指令的加密逻辑上较为相似。
Table 3 加密协议比较
木马组件 | HTTP Header Cookie字段加密协议 |
SeaDuke | C&C指令与临时的前缀hash进行RC4加密,然后Base64编码,填充字符混淆 |
WellMess | C&C指令与硬编码密钥进行RC6加密,然后Base64编码,填充字符混淆 |
分析对比二者HTTP通信中传输的自定义加密数据表现如下,二者非常相似。
图【24】 SeaDuke与WellMess通信流量
综上,考虑到SeaDuke和WellMess特有的应用层数据加密协议以及使用HTTP header部分Cookie字段传输加密数据的共同偏好,可将该关联点作为将WellMess归因至SeaDuke所属的APT29的强关联论据。
5.3 Nobelium归因
划分Nobelium分支的一个标志性事件是2020年12月曝光的Solarwinds供应链攻击活动,该攻击活动的主要受害者为美国和欧洲国家的政府实体、科研、能源等机构。攻击活动发现之后,美方情报机构联合FireEye、Volexity等第三方安全公司对攻击活动进行深入调查分析。在已披露的调查报告中,其实并没有提供将Solarwinds事件归因至APT29的确切证据,各安全公司多采用私有命名对幕后攻击者进行归类,随后美方政府基于受害者立场下的国际政治局势因素将该事件归因至APT29。准确来讲,是将Solarwinds供应链攻击事件定性为俄罗斯政府背景支持的间谍活动。
微步情报局在深入总结已有情报信息之后,梳理了两条可用于归因的佐证线索:卡巴斯基披露的Sunburst木马(Solarwinds供应链攻击活动中植入的特马)与Kazaur木马(归属于俄罗斯背景的Turla组织的特马)的代码相似性,瑞士安全公司Prodaft在SilverFish组织的调查报告中攻击者背景分析。下面我们分别来论述:
5.3.1 Sunburst与Kazaur的代码相似性
Kazuar木马是PaloAltoNetworks 安全公司在2017 年首次报道的 .NET 后门,并将该特马归因至Turla APT组织。两款木马在C&C上线时均采用特定休眠算法实现数周时间的上线延时。二者计算休眠时间算法高度相似,均遵循下述逻辑。
Sunburst木马计算C&C上线延时的休眠时间算法实现如下,延时12到14天。
图【25】 Sunburst休眠时间算法
Kazuar木马计算C&C上线延时的休眠时间算法实现如下,延时14到28天。
图【26】 Kazuar休眠时间算法
其次,Sunburst和Kazuar特马运行过程中都采用动态方式获取核心函数,通过计算遍历获取的Windows API名称摘要与硬编码值比较来判定,二者均采用自定义修改的FNV-1a哈希算法。FNV哈希算法全名为Fowler-Noll-Vo算法,是以三位发明人Glenn Fowler、Landon Curt Noll、Phong Vo的名字来命名的,最早在1991年提出。FNV-1a摘要算法的标准实现逻辑如下,算法中包含两个初始向量:初始哈希种子offset_basis,迭代相乘的种子FNV_prime。简单描述其逻辑为:从待计算字符串中取出指定步长数据,将取出数据先与初始哈希向量做异或运算,然后将结果与初始乘法种子做乘法运算,将计算结果赋值为初始哈希向量,然后取待计算字符串后续单位数据迭代上述过程,最终得到计算结果。
Sunburst和Kazuar在使用FNV-1a算法时均进行了相同的修改:增加一个新的硬编码key,将标准FNV-1a计算后的哈希最后与该key进行异或运算。
二者在代码层实现如下:
图【27】 Sunburst改变后的FNV-1a算法
图【28】 Kazuar改变后的FNV-1a算法
在计算当前PC机器UID标识序列时,Sunburst和Kazuar均采用相同算法(MD5+XOR),即通过既定字符串计算MD5摘要,然后将该散列值与出初始四字节逐字节异或得到最终UID序列。
Sunburst中UID生成算法如下:
图【29】 Sunburst GUID生成算法
Kazuar中GUID生成算法如下:
图【30】Kazuar GUID生成算法
客观来看待上述几种加密算法的相似性,其实并不能作为强有力的关联证据,尤其是FNV-1a算法的改编和UID生成算法,因为上述算法相对较为简单,而且对于标准算法的微调存在较大的偶然性。对此,卡巴斯基在披露文章中表述了一个客观的论证前提:基于已有的海量恶意样本库,满足上述算法指纹的样本主要出现在Sunburst和Kazuar特马中,特别是使用NextDouble函数的自定义休眠时间算法。
5.3.2 SilverFish调查报告
SilverFish是瑞士安全公司Prodaft对包括Solarwinds供应链攻击事件在内的一系列攻击活动的背后组织的私有命名。在“SilverFish GroupThreat Actor Report”一文中,Prodaft公司PTI威胁情报团队基于成功反制木马主控端后台对Solarwinds供应链攻击活动中的受害者、攻击组织背景、主控端后台资产、攻击者操作日志等进行深入分析披露。该报告也是迄今为止将Solarwinds事件归因至俄罗斯政府的最直接论据来源。本节我们侧重于梳理总结报告中提及的Solarwinds事件归因点。
总结归因点之前,先回顾一下Prodaft成功渗入Solarwinds事件木马主控端后台的流程,这一步也是调查过程中最为关键的一步,虽然过程存在非常大的运气成分。Prodaft团队调查之初,重点分析当时还处于存活状态的攻击者资产“databasegalore.com”,该域名解析至5.252.177.21,在该主机上的2304端口存在PowerMTA邮件服务,同时通过URL路径暴力访问发现存在名为“example.php”的资源文件,基于2304端口的PowerMTA服务和IP:2304/ example.php特征进行网络空间搜索并排除掉无关站点,发现新的攻击者资产81.4.122.203,继续进行同C段的子网调查,分析人员发现81.4.122.101站点存在疑似木马控制端登录页面信息,爆破登录该主机后,经分析验证为Solarwinds事件控制端后台。其流程图绘制如下:
图【31】Prodaft渗入Solarwinds事件木马主控端后台的流程
接下来我们将逐一梳理该调查报告中将Solarwinds事件归因至俄罗斯黑客组织的细节:
5.3.2.1 C&C后台源代码中携带的开发者ID
在C&C后台的PHP源代码中静态包含14个人的昵称和ID,多数ID曾在俄语地下论团中活跃。该线索可以初步证明攻击者拥有浏览俄语黑客团队的习惯。
图【32】摘自Prodaft报告,含黑客ID的PHP代码
5.3.2.2 C&C后台关于中马机器的俄语信息备注
C&C后台面板中上线机器一栏均存在名为“Comment”的信息单元格,此位置用于后台操作人员填写关于受控机器信息,当前已存在的备注信息多采用俄语俚语或白话,如“dno”、“pidori”、“poeben”、“poebotina”、“psihi”、“hernya”、“xyeta”、“gavno”。该线索说明C&C后台操作人员具有俄语背景。
图【33】摘自Prodaft报告,Comment中的俄语俚语描述信息
5.3.2.3 流量重定向代码过滤CIS独联体国家受害者
基于当前C&C后台拓线的其他失陷类型C&C站点上存在用于流量重定向的PHP代码,该代码会过滤掉包含阿塞拜疆、亚美尼亚、白俄罗斯、哈萨克斯坦、吉尔吉斯斯坦、摩尔多瓦、俄罗斯、塔吉克斯坦、土库曼斯坦、乌兹别克斯坦、乌克兰、格鲁吉亚在内的CIS独联体国家的受害者机器回连流量,其中还设置了俄语、乌克兰语等在内的语种过滤条件,对于美国和加拿大不予过滤。代码中使用注释语句为俄语。考虑到Solarwinds供应链攻击事件受害者遍布全球,攻击者在受害者回连流量重定向代码中主动过滤掉非目标的俄语系国家,该行为可作为将Solarwinds供应链攻击事件归因至俄罗斯背景黑客组织的强归因论据。
图【34】摘自Prodaft报告,重定向流量过滤代码
5.3.2.4 C&C后台操作行为活跃时间区段
基于C&C后台操作日志信息,其操作人员的活跃时间集中在周一至周五08:00到20:00(UTC)之间,按照一般的工作时间可大致推测攻击者所处地理位置为0时区至东4区之间,这一点与前文中The Dukes归因部分提到的时区推测基本吻合,可作为将Solarwinds归因至俄罗斯政府黑客的佐证。
图【35】 摘自 Prodaft报告,C&C后台操作行为活跃时间区段
APT29 自2008年开始活跃,至今已活跃13年时间,与同属俄罗斯政府背景的 Turla 组织处于同一历史舞台,其凭借长时间的攻击战术演进以及网络武器库积累在国际情报窃取领域中处于较高地位。鉴于其 TTPS 指纹的复杂性,本章节仅探讨部分较为独特且“有趣的”指纹特征。
6.1 落地环境检测
在绝大多数的 APT 攻击活动中,落地攻击载荷会对当前 PC 环境进行探测,以决定是否进行或调整后续攻击行为,比如杀软检测、虚拟机检测、安全分析工具检测等等。在早期的 The Dukes 系列工具集中,存在一种应用简单的数理统计思维的检测方式,在环境检测代码中,设置一个初始为0的 score 变量,然后逐一检测是否存在杀软产品、是否处于虚拟环境、是否存在安全工具、是否包含异常 PC 用户名称、是否存在异常文件名称,如任一匹配,则 score 加上对应权值,待检测代码执行之后将 score 指与给定阈值进行比较,以此判断当前环境是否为目标环境。其代码实现如下图所示:
图【36】 The Dukes工具集 PC 环境检测
6.2 木马上线延时
通过特定算法计算休眠时间实现木马上线延时是核心 APT 特马隐藏自身行为的一种有效方法。APT29 自研的 Sunburst 木马在初始化之后进行12-14天的休眠。
图【37】 Sunburst 休眠时间计算
6.3 网络 C&C 托管
在 The Dukes 系列工具集中,MiniDuke、CozyDuke、OnionDuke、HammerDuke、PolyglotDuke 等组件均会使用 Twitter 社交平台托管攻击 C&C 地址,以 PolyglotDuke 下载器组件为例,下载器落地后先解密特定Twitter URL,然后请求该 URL 获取特定分隔符之间的流数据,对其进行解密处理得到真实的 C&C 地址。攻击者提前准备的 Twitter 动态信息如下:
图【38】 引自 ESET 报告,使用 Twitter 托管加密 C&C 配置信息
6.4 图像隐写术
使用图像隐写术进行攻击指令或攻击载荷下发是一种有效对抗流量检测设备的方法。常见的图像隐写术是通过在各个像素(每个像素二进制数据共24bit,红绿蓝三元素依次各占据8bit)的各字节低位填充隐藏数据,解密代码通过提取各隐藏数据进行拼接解密处理得到真实载荷,而对像素中三色素进行小数值范围内改动并不会明显改变图片质量。APT29 组件中 RegDuke 即是通过这种方式实现攻击载荷传递。参考 ESET 绘制的像素嵌入结构如下:
图【39】 引自ESET,RegDuke图像隐写结构
图【40】引自ESET,PNG图像载体及隐藏数据提取
6.5 应用协议加密算法
图【41】 WellMess C&C 通信流量加密协议
7、黑客画像
名称 | APT29、 Dark Halo、StellarParticle、HAMMERTOSS、NOBELIUM、UNC2452、YTTRIUM、The Dukes、Cozy Bear、CozyDuke、Office Monkeys。 |
时间线 | 2015年由 FireEye 披露,最早活动时间可追溯至2008年。 |
背景 | 具有俄罗斯政府支持背景,疑似归属于俄罗斯联邦对外情报局(SVR)。 |
攻击目标 | 攻击目标覆盖欧洲、北美、亚洲、非洲等全球较多地区和国家,主要攻击目标为包含美国、英国等在内的北约成员国以及欧洲地域邻近国家,具体攻击行业目标为政府实体、科研机构、智囊团、军工单位、高技术企业、教育机构、医疗机构、通信基础设施供应商等。 |
攻击目的 | 网络监听、高价值情报窃取。 |
攻击方式 | Web 渗透入侵、鱼叉攻击、供应链攻击、网络中间人攻击。 |
鱼叉载荷类型 | 漏洞文档、宏文档、伪装安装包、LNK 文件、ISO 镜像。 |
曾使用漏洞 | CVE-2010-0232、CVE-2013-0640、CVE-2013-0641、CVE-2018-13379、 CVE-2019-1653、 CVE-2019-2725、CVE-2019-9670、CVE-2019-11510、CVE-2019-19781、CVE-2019-7609、CVE-2020-4006、CVE-2020-5902、CVE-2020-14882、CVE-2020-0688、CVE-2021-28310、CVE-2021-21972、CVE-2021-26855、CVE-2021-26857、CVE-2021-26858、CVE-2021-27065 |
武器库木马 | 包括开源工具、自研特马等,见下表梳理。 |
三句话描述 | 1、攻击目标广泛,覆盖全球多数国家,用于高价值情报收集。
2、供应商软件构建过程投毒的经典供应链攻击案例,具备策划重大攻击活动的能力。 3、俄罗斯背景王牌网军队伍。 |
基于前文组织结构划分部分内容,对 APT29 三大分支特有的攻击偏好及活跃时间总结如下:
Table 5 APT29三大分支概述
名称 | 活跃时间 | 描述 |
The Dukes | 2008年至2019年10月 | 攻击目标倾向:以俄罗斯西、南方向地缘邻国和美国为主,辐射全部欧洲国家、北约成员国、多数中东地区国家、部分亚非国家。以政府实体、国家智库等行业目标为主。
代表性攻击事件:2016年美国总统大选期间对美国民主党相关机构的攻击。 攻击战术倾向:鱼叉邮件攻击,windows平台攻击为主。 |
WellMess | 2018年6月至今 | 攻击目标倾向:以英国、美国、加拿大为主,覆盖政府、医疗、科研机构、高校、高科技企业等行业目标。
代表性攻击事件:2020年7月针对 COVID-19 疫苗研制机构的间谍活动。 攻击战术倾向:网络渗透攻击,Windows、Linux双平台攻击。 |
Nobelium | 2018年11月至今 | 攻击目标倾向:以美国、加拿大、英国为主的欧美地区国家,侧重于高政权、高市值机构,覆盖政府、军工、航空航天、能源、高科技企业等行业,用于窃取高价值情报信息。
代表性攻击事件:Solarwinds 供应链攻击。 攻击战术倾向:鱼叉邮件攻击,供应链攻击,0day 漏洞利用。 |
Table 6 APT29 武器库资产梳理
组件名称 | 功能描述 |
PinchDuke | 由多个加载器和一个窃密木马组成,邮箱/浏览器凭证窃取。 |
GeminiDuke | 由一个窃密模块、一个加载器和多个持久化组件组成。计算机配置信息收集。 |
CosmicDuke | 窃密木马,多由其他组件释放。 |
MiniDuke | 由多个下载器和后门模块组成。部分版本采用汇编语言开发,通过 Twitter 平台获取 C&C 地址。 |
CozyDuke | 多功能平台化工具集,支持后门、下载器、域密码窃取、截屏、信息收集等功能。 |
OnionDuke | 该工具集通过 Tor 出口节点传播,由多个功能模块组成。 |
PolyglotDuke | 下载器,使用了来自不同语言的字符集来编码C&C地址。C&C地址通过公开网页加密托管。 |
LiteDuke | 高阶后门,使用 SQLite 存储配置信息、图像隐写术。 |
SeaDuke | 简单后门,文件上传下载、shell,由 python 开发设计。 |
HammerDuke | 简单后门,类似 SeaDuke,采用 .Net 开发,通过 Twitter 平台获取 C&C 地址。 |
CloudDuke | 多功能木马组件,一些版本使用 Microsoft OneDrive 作为 C&C。 |
FatDuke | 定制化后门,功能复杂。 |
RegDuke | 持久化后门组件, .Net 开发, WMI 持久化,使用注册表作为进程通信渠道。 |
WellMess | 自研木马,采用 go、.Net,针对 Windows、Linux 双平台。 |
WellMail | 自研木马,采用 go、.Net,针对 Windows、Linux 双平台。 |
SoreFang | 自研后门,信息收集、shell。 |
Sliver | 开源远控木马。 |
SunSpot | Solarwidns 供应链攻击中用于劫持 Orion 构建过程投毒的定制木马。 |
Sunburst | Solarwidns 供应链攻击中植入的定制后门。 |
BoomBox | 恶意下载程序。下载器负责下载和执行感染的下一阶段组件。这些组件是从 Dropbox 下载的(使用硬编码的 Dropbox Bearer/Access 令牌)。 |
VaporRage | shellcode 加载器,被视为第三阶段的有效载荷。VaporRage 可以完全在内存中下载、解码和执行任意载荷。 |
EnvyScout | 一种恶意 dropper,能够对恶意 ISO 文件进行反混淆并将其写入磁盘。 |
NativeZone | 加载器。 |
GoldMax | Go 编写,远控木马。 |
Sibot | 一种用VBScript实现的双用途恶意软件。它旨在实现在受感染机器上的持久性,然后从远程 C2 服务器下载并执行有效负载。VBScript 文件被赋予一个模拟合法 Windows 任务的名称,它要么存储在受感染系统的注册表中,要么以混淆格式存储在磁盘上。然后通过计划任务运行 VBScript。 |
GoldFinder | Go 编写的工具,最有可能用作自定义 HTTP 跟踪器工具,用于记录数据包到达硬编码 C2 服务器所需的路由或跳数。 |
TearDrop | 定制加载器,常用于加载 CobaltStrike 木马。 |
Rain | 定制加载器,常用于加载 CobaltStrike 木马。 |
China Chopper | 开源 webshell 木马。 |
Cobalt Strike | 高级商业远控木马。 |
AdFind | 开源工具,域信息收集。 |
Gost | 开源工具,端口转发。 |
Mimikatz | 开源内网密码爬取工具。 |
PsExec | PsExec 是免费的 Microsoft 工具,可用于在另一台计算机上执行程序。它由IT管理员和攻击者使用。 |
参考 MITRE ATT&CK 对 APT29 的 ATT&CK 画像如下:
图【42】引自https://attack.mitre.org/groups/G0016/
8、总结
9、附录
9.1 机构名词缩写解释
Table 7 机构名字解释
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
版权归原作者所有,如若转载,请注明出处:https://www.ciocso.com/article/9518.html