APT Group系列:来自北极熊的威胁——Turla
Turla,又名Snake,Uroburos,Waterbug,WhiteBear。由GData在2014年披露后,卡巴斯基、赛门铁克、ESET持续对该组织进行追踪和分析。根据该组织使用的恶意文件的编译时间,最早可以追溯到2011年。通过对代码及功能对比,可以追溯到2006年检测名称为的恶意文件与该组织有关联。因此可以推测出该组织早在2006年就已经开始进行攻击。
Turla组织使用了rootkit技术对计算机进行监控,完成数据窃取功能。这个方法在Windows早期版本的系统中非常实用,可以有效隐藏在计算机中,拥有较高权限。从Windowsvista开始,微软加强了对第三方驱动加载过程的控制,需要获取证书并由用户同意才可以正常安装。因此Turla组织转而使用更复杂的侵入过程并植入不带rootkit套件的远控软件对信息进行采集,但这增大了被发现的几率。
Turla组织攻击目标包括政府机构、使馆、军事机构、教育机构、研究机构和制药公司。最初在攻击美国情报部门后被披露。近几年,该组织攻击了德国外交部,法国军队相关公司的服务器,窃取了大量的情报信息。
对Turla组织使用的恶意软件进行分析后,总结出以下信息:
1、攻击者在编写恶意软件时输出的debug信息是英文,但不是母语;
3、攻击者使用的默认语言为俄语;
4、中也出现了类似的痕迹。
Turla组织入侵手法Turla组织撕开防御设备的方法是通过运用社会工程学手段的鱼叉攻击以及水坑攻击来完成。
2.1社会工程学攻击

图正常的PDF文件
与此类似的攻击手法伏影实验室在4月发布的疫情攻击相关的文章也有详细分析。
2.2水坑攻击
2010-2016年间,该组织始终利用浏览器进行攻击,包括水坑攻击以及0day漏洞。攻击者对攻击网站植入下图中标识出来的恶意JavaScript脚本,当用户访问被攻陷的网站时,即执行该JavaScript脚本。

经过整理,我们获取了所有的曾经被攻击过的网站及其名称:

上述网站在14-17年间被用作水坑攻击的站点,这些站点被嵌入了JavaScript代码,在用户访问的时候执行,其功能大多为获取浏览器的插件列表,屏幕分辨率等信息。同时,Turla在进行攻击时会主动选择他们感兴趣的用户,下发恶意文件,而最为重要的一种形式是利用假的AdobeFlash安装包安装后门。
Turla比较有特点的攻击方式是利用Adobe进行攻击诱骗,这种结果也与捕获的方向有关,相当一部分政府的网站在建设成型以后,很少会快速迭代更新,使用更加先进的体系结构,而AdobeFlash这个存在大量漏洞的插件已经深度的整合在这些网站中。因此,在捕获相关威胁时,与AdobeFlash相关的攻击从未缺席。
2.3MITM流量劫持与修改
Turla组织在进行攻击时,通过MITM(中间人攻击)来劫持Adobe的网络,使得用户在请求下载最新的软件更新包时,替换用户的下载内容,在用户无感的情况下下载恶意软件,并完成对目标主机的控制。但此种方式需要获取核心路由的权限,甚至需要针对企业/政府的关键节点进行劫持。
但是在用户侧观察到的攻击过程则显得非常简单,例如用户访问以下链接,该链接归属于Adobe公司,是Adobe的子域名,,通过此链接下载Turla的恶意文件,但是该请求的http头中的referer字段被更改成了:
,协议不同。分析认为,这里是为了绕过Adobe检测机制而插入的referer信息,以便于能够正常访问到。
Turla攻击技术梳理ATTCK矩阵

在侵入内部网络后,Turla组织会对目标进行筛选,挑选出感兴趣的,具有高价值信息的目标,并在感染设备上投放恶意软件。从2011年起至今,Turla被发现针对Windows、Linux、MacOS平台均开发了对应的恶意软件,持续窃取机密信息。
4.1第一阶段后门——TheEpic
该后门会对环境进行检测和处理,通过识别一些网络监测工具来判断是否可以执行,包括:、、、、。在与C2进行通信则采用了HTTP协议,通过对divsomething/div格式的内容进行解析,来获取C2下发的指令。
该后门用ID来对受害者进行标记,在第一次进行通信时,会发送带有计算机信息的数据包到C2,并且使用加密算法对发送内容进行加密,但是攻击者将密钥也通过这一方式进行传输,因此可以对流量进行解密分析。
当Turla组织根据回传信息判断出目标值得进行更进一步的攻击时,攻击者才会将第二阶段的后门部署在目标设备上。可以将第一阶段后门理解为Turla组织的攻击试探,这种方式能够有效的避免将Uroburos下载到无关设备上,减少暴露风险。
4.2第二阶段后门——Uroburos
Uroburos是最为出名的一个后门,在Turla第一次被发现时,从被攻陷设备中提取出来的一个rootkit后门。攻击者在使用该后门时,同时也在使用一个加密的虚拟文件系统,以此来确保自己的攻击活动隐秘且高效。
Uroburos通过创建服务来保证自身能持续驻留在系统中,在注册表中可以找到如下键值信息:
HKLM\System\CurrentControlSet\Services\Ultra3
Uroburos的主要功能如下:
l关键函数hook
l解密虚拟文件系统
l注入Ring3层
lCC通信
l数据包抓取
Inlinehook
Uroburos采用Inlinehook的方式对关键函数进行修改,如:
对ZwQueryKey(),ZwEnumerateKey(),ZwCreateKey()和ZwSaveKey()函数hook,目的是为了隐藏在注册表中增加的持续驻留用的键。
对ZwReadFile()函数hook,是为了隐藏自身文件。
对ZwQuerySystemInformation()函数hook,是为了隐藏驱动对象。
对ZwTerminateProcess()函数hook,是为了在停止工作时对环境进行清理,避免蓝屏等问题出现。
对ObOpenObjectByName()函数hook,是为了隐藏虚拟文件系统。

部分hook函数列表
解密文件系统
Uroburos提供了NTFS和FAT32两种虚拟文件系统以适应不同情况的设备,通过该虚拟文件系统,攻击者可以在系统中存放窃取的数据,黑客工具抑或是需要输出的运行日志信息,而通过对内核函数的hook,也避免了被杀软找到该虚拟文件系统,从而提高了隐蔽性,同时,因不会占用系统磁盘,在用户侧的感知几乎为0。
该虚拟文件系统使用CAST-128进行加密,密钥硬编码在驱动文件中,在驱动挂载运行时进行解密,解密后,该文件系统中存放.bat脚本,该脚本通过使用net命令进行内网机器发现,获取局域网中机器的基础信息以供横向移动时使用。
在文件系统中还有一个队列文件,每一个队列文件中都包含一个uid、类型、时间戳和载荷,载荷还包括一个用于解密的key。根据GDATA捕获的其他文件的分析,可能还包括配置文件,文件等信息。
数据包抓取
Uroburos支持对流量进行抓取,对数据包进行修改和拦截。可以处理HTTP,ICMP,SMTP协议流量,可以通过命名管道获取应用层传输的信息。
同时,攻击者预留了接口用于增加新的协议和新的方法来对流量进行处理,攻击者通过对虚拟文件系统中包含的文件进行更新来达到持续攻击的目的。
CC通信
Uroburos提供tcp、enc、np、reliable、frag、udp、m2d、doms、t2m、domc通信方式。在代码中可以看到np,reliable,frag,enc,m2b,m2d是通过NamedPipe进行通信。tcp,udp都是在驱动层构造数据包进行通信。
4.3第二阶段后门——Carbon
攻击者在入侵的初期会判断被攻击目标的价值,在引起攻击者的兴趣后,攻击者会将Carbon后门植入到设备中。Carbon是一个模块化的工具,通过替换不同的插件来实现对应功能。
在初期捕获的Carbon样本中,其插件模块被放置在资源段中,其中最主要的模块是一个叫做carbon_的模块,该模块存在2个导出函数,ModuleStart和ModuleStop。在ModuleStart函数中,会创建多个互斥体用于区分不同的模块单元,并在System\\目录下创建log文件,用于记录执行过程中产生的debug信息。
carbon_作为主功能模块,会创建windows命名管道用于其他模块间的通信,接收其他功能模块获取的信息,并将其写入文件中,等待上传。carbon_通过GetDiskFreeSpaceExA获取磁盘信息,用于监视磁盘使用情况,当磁盘写满后,会将“求助信息”写入到待上传日志文件中,通知攻击者。
carbon_通过LoadLibrary调用其他模块,并调用start函数启动,在日志中记录启动时间,模块名称等信息。
还会搜集当前设备上运行的进程信息,监视进程变化,并将进程信息记录在日志文件中,同样的,仍然是使用管道来进行数据的传输。
carbon在执行任务时会从配置文件中读取具体的任务信息:
task_id|task_filepath|task_config_filepath|task_result_filepath|task_log_filepath|[execution_mode|username|password]
每一个任务都有自己独立的id号,通过额外的参数来指定运行的方式和方法。
carbon_就如同一个控制终端一样,是一个体系化开发的攻击套件,可以任意增加或删除模块,只需要提供对应的导出函数即可调用,并且,carbon_通过监控不同模块产生的日志信息,来判断是否成功执行了命令,这也在一定程度上,隐藏了攻击者的活动。
同时,Turla还提供了64位版本的carbon_文件,以适应x64环境。在64位版本中,Turla并没有删除PDB信息,可以看到其项目名称是cobra。
f:\Workshop\Projects\cobra\carbon_system\x64\Release\carbon_
但是在x86版本中并未发现该PDB信息,攻击者在编译完成后,并没有对x64版本操作,直接打包到了carbon_system的loader文件中。
4.4第二阶段后门——Carbon其他版本
与4.3节中提到的最初版本区别在于通信部分,中通过http请求来与C2进行交互,并在其中随机填充了例如:,,等域名,用以隐藏自身流量,部分下载和获取的信息保存在\\\\.\\IdeDrive1\\\\Results\\文件中。这里提到的\\\\.\\IdeDrive1\\\\目录是虚拟文件系统中的目录。
在此版本中,攻击者删除了对磁盘文件的监控,不再报告被感染设备的存储情况,降低每次传输的信息数据量。而对运行进程的获取则集中在、、、、、。当发现了此类进程后,会记录日志进行回传:
在版本的carbon模块中可以找到一些debug信息,与上一版本不同的是,这次的debug信息是留存在x86架构的恶意文件中,并未被清理:
4.5第二阶段后门——Mosquito
该后门的loader部分会先进行自解密,得到代码。解密后的代码通过计算函数名hash来查找所需要调用的函数地址。这两个函数并没有加密存储,通过IDA等工具可以直接看到其代码,自解密函数为sub_5711E0,计算hash函数为sub_570E10。完成函数的导入之后,从自身文件中读取数据并进行解密,解密函数为sub_56D480,解密后是两个PE文件,写入到磁盘中。
日志内容写入文件%APPDATA%\Roaming\中。
释放的文件包含主后门程序,该后门通过loader加载,在执行时通过对EAT表进行修改来增加函数进行导出,对原始导出表进行修改。
替换后的函数先对加密后的库文件名和函数名进行解密,并通过动态加载的方式,得到函数地址,接着创建名为\\.\pipe\ms32loc的命名管道,随后创建线程,等待其他进程的连入。该后门通过设置注册表项,来写入一些基础配置信息。注册表路径如下:HKCU\Software\Microsoft\[dllname],填入信息如下:
4.6第二阶段后门——Javascript后门
第一种JavaScript用于替换Mosquito后门,利用假的AdobeFlashPlayer安装包进行安装。
获取返回的数据,并用base64解码执行。
第二种JavaScript文件读取%programdata%\1.txt并使用eval函数执行其内容。在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run中添加local_update_check来开机启动。
4.7第二阶段后门——KopiLuwak
此后门通过文档进行传播,利用宏进行攻击,在宏代码中,调试可以发现,该初始代码通过xor算法对数据进行解密,解密后的数据写入文件中,释放文件存储在%APPDATA%\Microsoft\Windows路径下:
执行该文件,传入参数NPEfpRZ4aqnh1YuGwQd0,该参数是RC4密钥,负责解密内置的数据,解码后,仍然是一个JavaScript文件,该文件即为KopiLuwak后门。
移动自身文件,根据系统版本不同,转到不同文件夹中:
c:\Users\USERNAME\AppData\Local\Microsoft\Windows\
c:\Users\USERNAME\AppData\Local\Temp\
c:\DocumentsandSettings\USERNAME\ApplicationData\Microsoft\Windows\
通过设置注册表HKEY_CURRENT_USER\software\microsoft\windows\ccurrentversion\run\来完成持久化驻留,键值为“NPEfpRZ4aqnh1YuGwQd0”。
通过执行以下命令,并将结果写入与同一目录下的~文件中,并使用RC4算法对结果进行加密,密钥为“2f532d6baec3d0ec7b1f98aed4774843”,加密后删除原始文件:
systeminfo
netview
netview/domain
tasklist/v
gpresult/z
netstat-nao
ipconfig/all
arp-a
netshare
netuse
netuser
netuseradministrator
netuser/domain
netuseradministrator/domain
set
dir%systemdrive%Users*.*
dir%userprofile%AppDataRoamingMicrosoftWindowsRecent*.*
dir%userprofile%Desktop*.*
tasklist/fi“”
tasklist/fi“”
dir“%programfiles(x86)%”
dir“%programfiles%”
dir%appdata%
该后门内置了两个地址:,用于通讯,可以通过路径推断第二个网站使用了WordPress,并被攻击者攻陷,用于C2托管。
利用POST方法将前述加密数据发送到这两个网站其中任意一个中,其中发送的User-Agent字段除了使用"Mozilla/5.0(;Win64;x64);填充外,在末尾补充了当前计算机名称生成的一个UID,算法如下,其中zIRF代表字符串“KRMLT0G3PHdYjnEm”,Vxiu代表当前计算机用户名:
C2在接收到数据后,会回复四种指令:
当接收到work指令时,会将搜集到信息全部发回C2,接收到fail指令时,则清理注册表HKEY_CURRENT_USER\software\microsoft\windows\ccurrentversion\run\中的数据。
总结Turla组织是目前APT团伙中使用最为复杂攻击工具的组织之一,其目标涵盖了欧洲各国外交部,军队,欧洲、美洲等国家的情报部门。在前期的攻击活动中,该组织使用自研武器对外进行攻击,特征较为明显。在近几年,该组织转而大规模使用开源平台,如MSF、cobaltstrike等构建的后门,入侵攻击,横向移动工具等,将自身行动掩盖在大量的攻击活动中,以期获得更多的情报信息,延缓被发现和检测的时间。
IOC40aa66d9600d82e6c814b5307c137be5
f4f192004df1a4723cb9a8b4a9eb2fbf
cb1b68d9971c2353c2d6a8119c49b51f
e1ee88eda1d399822587eb58eac9b347
db93128bff2912a75b39ee117796cdc6
a67311ec502593630307a5f3c220dc59
a7853bab983ede28959a30653baec74a
2145945b9b32b4ccbd498db50419b39b
62e9839bf0b81d7774a3606112b318e8
cd4c2e85213c96f79ddda564242efec3b970eded8c59f1f6f4d9a420eb8f1858
bf6f30673cf771d52d589865675a293dc5c3668a956d0c2fc0d9403424d429b2
b51105c56d1bf8f98b7e924aa5caded8322d037745a128781fa0bc23841d1e70
8490daab736aa638b500b27c962a8250bbb8615ae1c68ef77494875ac9d2ada2
fc9961e78890f044c5fc769f74d8440fcecf71e0f72b4d33ce470e920a4a24c3
e7fd14ca45818044690ca67f201cc8cfb916ccc941a105927fc4c932c72b425d
b295032919143f5b6b3c87ad22bcf8b55ecc9244aa9f6f88fc28f36f5aa2925e
b362b235539b762734a1833c7e6c366c1b46474f05dc17b3a631b3bff95a5eec
b79cdf929d4a340bdd5f29b3aeccd3c65e39540d4529b64e50ebeacd9cdee5e9
244896995b6b83f11df944ccda41ed9f1f1d811ebf65d75fe4337fd692011886
05254971fe3e1ca448844f8cfcfb2b0de27e48abd45ea2a3df897074a419a3f4
26a1a42bc74e14887616f9d6048c17b1b4231466716a6426e7162426e1a08030
5d0973324b5b9492ddf252b56a9df13c8953577bdb7450ed165abbe4bf6e72d8
2a61b4d0a7c5d7dc13f4f1dd5e0e3117036a86638dbafaec6ae96da507fb7624
6e7991f93c53a58ba63a602b277e07f7
7481e87023604e7534d02339540ddd9565273dd51c13d7677b9b4c9623f0440b
d2a0eec18d755d456a34865ff2ffc14e3969ea77f7235ef5dfc3928972d7960f
05d07279ed123b3a9170fa2c540d2919
参考链接关于伏影实验室伏影实验室专注于安全威胁研究与监测技术,包括但不限于威胁识别技术,威胁跟踪技术,威胁捕获技术,威胁主体识别技术。研究目标包括:僵尸网络威胁,DDOS对抗,WEB对抗,流行服务系统脆弱利用威胁、身份认证威胁,数字资产威胁,黑色产业威胁及新兴威胁。通过掌控现网威胁来识别风险,缓解威胁伤害,为威胁对抗提供决策支撑。
推荐阅读
-
飞荣达申请一种印刷电路板连接器及其制作方法专利,踢脚较小,不需要在印刷电路板上开孔,节省空间
金融界2024年1月3日消息,据国家知识产权局公告,深圳市飞荣达科技股份有限公司申请一项名为“一种印刷电路板连接器及其制作方法“,公开号CN117335189A,申请日期为2023年11月。专利摘要显示,本发明公开了一种印刷电路板连接器及其制作方法,该连接器用于连接上下堆叠设置的多层印刷电路板;其中...
-
群创液晶屏:高清画质背后的科技奇迹?|深圳宇华微科技
随着数字科技的不断发展,液晶屏作为显示技术的代表之一,群创液晶屏在市场上占据着重要地位。本文将深入探讨群创液晶屏的技术特点、广泛应用以及其在高清画质领域的重要性,为读者提供全面了解这一科技奇迹的机会。接下来就跟着深圳宇华微科技小编一起来看下吧!一、引言:群创液晶屏的背后科技群创液晶屏作为群创集团的重...
-
行业观点 | 微波射频T/R芯片行业分析
一、微波射频频段简介射频和微波均指电磁波辐射到空间的电磁频率范围,其中射频频率范围在300kHz-300GHz之间,微波频率范围在300MHz-300GHz之间。电磁波频率越低,传播损耗越小,覆盖距离越远,绕射能力也越强。但是低频段的频率资源紧张,系统容量有限,因此低频段的无线电波主要应用于广播、电...
-
MeterSphere用户访谈录:微洱科技
用户访谈MeterSphere×微洱科技编者注:本次用户访谈的受访嘉宾为微洱科技测试工程师邱佳桂,花名大牙。微洱科技成立于2016年,是国内致力于让机器理解人类语言的人工智能高科技企业。微洱科技基于人工智能、区块链、大数据等前沿技术,专注于企业智能化(AI)应用解决方案的研发与实现,目前已成功开发出...