肚脑虫(APT-C-35)组织最新攻击框架披露

  • A+
所属分类:安全新闻

  

简介

    肚脑虫组织(APT-C-35),又称Donot,是一个针对巴基斯坦、斯里兰卡等印度周边国家政府机构等领域进行网络间谍活动,以窃取敏感信息为主的攻击组织。在对该组织追踪溯源的过程中,我们发现Donot使用了一系列新型的后门框架,并多次对其程序进行更新。我们根据这些后门框架使用的组件名,将其命名为“Jaca“框架。
01
攻击流程

根据我们的研究发现,近两年Donot在攻击流程上大体保持一致。通过鱼叉邮件的方式向目标用户投递远程模板注入文档或者是恶意宏文档来完成攻击活动的第一步。

肚脑虫(APT-C-35)组织最新攻击框架披露

02
文档文件

投递的rtf文件为远程模板注入文档,在template中携带混淆后的unicode字符串。

肚脑虫(APT-C-35)组织最新攻击框架披露

打开后会从远程服务器加载模板文件。

肚脑虫(APT-C-35)组织最新攻击框架披露

模板文件被加载后,会触发公式编辑器漏洞“CVE 2017-11882”,通过shellcode从服务器下载shellcode到本地。

肚脑虫(APT-C-35)组织最新攻击框架披露

在shellcode内对以下驱动进行检测:

驱动文件名

关联企业

klif.sys

Kaspersky

aswsp.sys

Avast

ehdrv.sys

Eset

mfehidk.sys

McAfee

360AvFlt.sys

奇虎360

随后分别下载Downloader到“%AppData%“,伪装文档“Document.doc”到“%Temp%”路径。并对Dowloader的头部数据进行修复。

肚脑虫(APT-C-35)组织最新攻击框架披露

肚脑虫(APT-C-35)组织最新攻击框架披露

最终通过schtasks.exe完成Downloader的持久化。

肚脑虫(APT-C-35)组织最新攻击框架披露

03
下载器

该程序存在两个导出函数。

肚脑虫(APT-C-35)组织最新攻击框架披露

在导出函数rds中,会拷贝自身到路径“%Temp%”下,并通过COM组件TaskScheduler创建计划任务,通过rundll32.exe调用另一个导出函数。

肚脑虫(APT-C-35)组织最新攻击框架披露

完成该步骤后,删除计划任务“discord”以及自身程序。
在导出函数“rdr”中,会通过COM组件WbemLocator查询当前进程是否存在“vmtoolsd.exe”或“vmacthlp.exe”,以此来判断当前环境是否为虚拟机环境。若为虚拟机环境,则退出程序。随后搜集设备信息与服务器进行交互。
交互过程分为两次,第一次发送搜集到的信息到URL:“https://getsr.xyz/Supex/pingpong/W/o”,请求的数据如下:

肚脑虫(APT-C-35)组织最新攻击框架披露

格式如下:

Name:Cpu型号 >Caption:操作系统版本 >V:|||用户名-计算机名-GUID||||||W|||3|||安装程序名?安装程序名…

第二次交互,会从URL:“https://getsr.xyz/Supex/aqero/W/o”请求“Jaca”框架中的下载器。

肚脑虫(APT-C-35)组织最新攻击框架披露

下载完成后,删除计划任务gdrive,通过bat脚本完成自删除

肚脑虫(APT-C-35)组织最新攻击框架披露

04
组件分析

我们捕获到Donot使用的“Jaca”框架攻击组件一共分为七类,攻击者通过Downloader下发并调用其他组件。

在其他组件中,通过Downloader传入的参数1来控制功能是否执行。


01
加密算法

在“Jaca”框架的各个组件中,采用的加密算法存在以下几种。

1.与服务器交互以及本地数据存储均使用AES+base64加密。
其中key和IV存在两套,根据不同的交互场景使用不同的密钥。


KEY1:56 DE 87 34 DB EC 2D 78 66 23 98 3B CE 77 73 8E
IV:1 0A 0B 0C 0D 0E 0F 09 08 07 06 05 04 03 02 01 AB

KEY2:2D 8E 37 56 5C DB 4E E8 FD A9 55 CD BC 34 4E 5D
IV2: 0A 0B 0C 0D 0E 0F 09 08 07 06 05 04 03 02 01 AB


并且部分样本在base64编码后,会将base64编码后的‘+’转换为’@’

肚脑虫(APT-C-35)组织最新攻击框架披露 

范例:

肚脑虫(APT-C-35)组织最新攻击框架披露

2. 程序中使用的文件路径,动态加载的函数名等字符串,大多通过字符替换的方式进行加密。

肚脑虫(APT-C-35)组织最新攻击框架披露

其中加密的伪代码如下:

肚脑虫(APT-C-35)组织最新攻击框架披露


02
组件下载

该恶意程序会连接服务器,请求攻击组件的数据信息。若连接服务器失败,则会从Google云盘地址获取加密后的服务器的domain数据,如https://drive.google[.]com/uc?export=download&id=1LkX7SEMTj9D2tWMS5v54082a23HgGLQ3
与服务器交互时,先使用以下格式请求攻击组件的数据。

数据格式:

用户名-计算机名-GUID|||J1|||J1

如:

肚脑虫(APT-C-35)组织最新攻击框架披露

       其中我们捕获到了一部分交互数据,如下:

肚脑虫(APT-C-35)组织最新攻击框架披露

       各个组件以 ’|’ 分隔,其中格式如下:

组件名>文件大小>是否下载组件>导出函数>执行参数

对指定的组件进行下载时,其交互的数据格式如下:

用户名-计算机名-GUID|||组件名

例如:

肚脑虫(APT-C-35)组织最新攻击框架披露

若检测到当前文件名不为“JacaPM“,则会从服务器下载新的Downloader 到当前文件路径后,使用COM组件TaskScheduler创建计划任务实现组件的持久化。

最终使用bat完成自删除,bat的路径为 “当前程序路径atadrecom.bat”


03
文件搜集

搜索文件信息,以及特定后缀名的文件数据。

pdf

doc

xls

ppt

docx

xlsx

pptx

docm

rtf

inp

xlsm

csv

odt

pps

vcf


保存至以下三个路径内:

“C:ProgramDataMJuegonamcod”

“C:ProgramDataMJuegoatad”

其中从本地磁盘“C:“中搜集的文件信息中,分为两类存储到不同的文件中,非文档类文件写入”.man“文件中,文档类文件写入“.doc”中。即”CC.doc“,”CC.man”。本次磁盘“D:”则命名为“DD.doc”,”DD.man”。

文件信息搜集完成后,通过AES加密,保存为“.rnm”文件。其中包含的文件信息如下:

肚脑虫(APT-C-35)组织最新攻击框架披露

若“.rnm”文件大于1MB时,则会在加密时对文件进行拆分。存储至文件夹“C:ProgramDataMJuegonamcodknuhcCC.man.rnm”下。

肚脑虫(APT-C-35)组织最新攻击框架披露

通过winhttp的API来完成与服务器的交互。使用API “WinHttpAddRequestHeaders“添加请求标头。

肚脑虫(APT-C-35)组织最新攻击框架披露

其中请求标头包含信息如下:

肚脑虫(APT-C-35)组织最新攻击框架披露

数据传输格式如下:

肚脑虫(APT-C-35)组织最新攻击框架披露

并将文档文件的文件信息加密后保存至以下两个路径。

“C:ProgramDataMJuegoatad JacaInfo.dat”

“C:ProgramDataMJuegoatadJacaModif.dat”

随后读取文件数据加密后存储至路径“C:ProgramDataMJuegorvsatad”下,命名为“.rnm”文件,并发送至服务器。

上传完成后,会将“JacaInfo.dat”中的对应文件路径标记修改为1,并删除加密文件,上传完成前后“JacaInfo.dat”内容对比如下。

肚脑虫(APT-C-35)组织最新攻击框架披露

04
文件上传

上传各个组件中,保存至指定路径的“*.rnm“文件到服务器。
其中路径如下:

路径

对应功能模块名

C:ProgramDataMJuegoatadlk

Klog

C:ProgramDataMJuegoatadsrb

Brsdat

C:ProgramDataMJuegopntscn

Scrsht

C:ProgramDataMJuegoatadbsunvr

usbd

C:ProgramDataMJuegoataddrhsnvr

shrdd

通过winhttp的API来完成与服务器的交互。使用API “WinHttpAddRequestHeaders“添加请求标头。


肚脑虫(APT-C-35)组织最新攻击框架披露

其中请求标头包含的信息如下:

肚脑虫(APT-C-35)组织最新攻击框架披露

数据传输格式如下:

肚脑虫(APT-C-35)组织最新攻击框架披露


05
浏览器文件搜集

       查找以下路径的文件:

“%AppData%MozillaFirefoxProfiles*cert9.db“

“%AppData%MozillaFirefoxProfiles*key4.db“

“%AppData%MozillaFirefoxProfiles*logins.json“


若存在,则拷贝文件至路径"C:ProgramDataMJuegoatadsrb",重命名为”.rnm”文件。


06
键盘鼠标消息记录

该程序在启动后,会创建两个线程,线程一用于检测键盘消息以及剪切板数据并格式化保存至全局变量。线程二通过全局变量来获取格式化的键盘消息和剪切板数据。

肚脑虫(APT-C-35)组织最新攻击框架披露

数据会被保存至路径"C:ProgramDataMJuegoatadlk ",先存储为”.lk”文件,随后通过AES加密后另存为“.rnm”文件。并删除原文件。

数据格式如下:

肚脑虫(APT-C-35)组织最新攻击框架披露


07
获取屏幕截图

    该程序在执行后,每隔120秒会一次获取屏幕截图,保存至文件夹“C:ProgramDataMJuegopntscn”,命名为“.jc”文件。

肚脑虫(APT-C-35)组织最新攻击框架披露

在通过AES对文件加密后,重命名为“.rnm”后缀名。并删除原文件。

肚脑虫(APT-C-35)组织最新攻击框架披露

       当获取4张截图后,则会将加密后的“.rnm”文件发送至服务器。若上传成功,则删除文件。


08
获取可移动磁盘文件

该程序启动后会创建两个互斥锁,以及三个线程。此外在窗口消息回调函数中通过检测“WM_DEVICECHANGE”来获取可移动磁盘设备消息。若存在硬件接入,则创建第四个线程,形成两对交互链。
通过互斥锁控制两个线程间的启动顺序。

肚脑虫(APT-C-35)组织最新攻击框架披露


交互链一:
在线程中,通过ICMP报文,获取当前网段中可以连通的主机信息。

肚脑虫(APT-C-35)组织最新攻击框架披露

随后通过API“NetShareEnum”获取可连通的主机的共享资源并遍历内部的文档文件。
将文档文件拷贝至文件夹:“C:ProgramDataMJuegoataddrhs”,完成拷贝后,解锁互斥锁唤醒另一个线程。

肚脑虫(APT-C-35)组织最新攻击框架披露

在对应的线程中,会遍历文件夹"C:ProgramDataMJuegoataddrhs*",若存在未加密文件,则将文件进行加密。重命名为“.rnm”文件,保存至路径"C:ProgramDataMJuegoataddrhsnvr"。若文件大小大于1MB,则拆分保存至路径"C:ProgramDataMJuegoataddrhsnvrknuhc"

    

交互链二:
在该交互链中,由窗口回调函数接收“WM_DEVICECHANGE”消息。若存在设备插入并可用,则创建线程遍历该设备内的文档文件。

肚脑虫(APT-C-35)组织最新攻击框架披露

在该线程中,拷贝文档文件到路径"C:ProgramDataMJuegoatadbsu",随后通过解锁互斥锁来唤醒另一个线程。

在对应的线程中搜索文件夹"C:ProgramDataMJuegoatadbsu"内的未加密文件。将文件进行加密。重命名为“.rnm”文件保存至路径"C:ProgramDataMJuegoatadbsunvr"。若文件大小大于1MB,则拆分保存至路径"C:ProgramDataMJuegoatadbsunvrknuhc"

05
归属溯源

我们根据对此次攻击活动的手法,恶意代码等方面关联分析发现,此次攻击活动与Donot存在高度相似性。体现为以下几点:

交互数据格式相近:

肚脑虫(APT-C-35)组织最新攻击框架披露

Donot使用数据格式

肚脑虫(APT-C-35)组织最新攻击框架披露

本次攻击活动

本次攻击活动中,使用到的路径“C:ProgramDataMJuego”也与之前多个Donot下载器的下载路径重合。

06
各时期框架对比

各个时期Donot的组件名称对比如下:

2021.6-至今

2020.11-2021.5

2019.12-2020.10

yty框架

功能简述

igfcServicee.dll

JacaPM.dll

NumberAlgo.dll

Boothelp.exe

下载组件并执行

winlogup.dll

JacaUL.dll

COMEvent.dll

abode.exe

功能组件相关文件上传

winlogss.dll

JacaSP.dll

ScnPoint.dll

dspcheck.exe

截图工具

winlogdfl.dll

JacaDFIter.dll

Dormode.dll

vstservice.exe

文件搜集

winlogkl.dll

JacaKL.dll

FrameCordi.dll

mdriver.exe

键盘、鼠标消息记录

winlogbw.dll

JacaBD.dll

SRCPolicy.dll


浏览器敏感信息窃取

winlogus.dll

JacaUSD.dll



移动磁盘文件搜集

       其中2021年使用的两套组件在代码上差别并不大,以其中一个组件为例:

肚脑虫(APT-C-35)组织最新攻击框架披露

winlogus.dll     


肚脑虫(APT-C-35)组织最新攻击框架披露

JacaUSD.dll

更多变化在于Donot在路径和计划任务名称上,采用了更贴合微软官方的命名,如文件路径变更为“C:ProgramDataMicrosoftt”,以及Dll名称前缀从“Jaca“变更到“winlog”,相比之前更具有欺骗性。
而2020年早期使用的组件,与“Jaca“框架不同的点在于,dll中携带了两个导出函数,通过plussub函数为修改flag控制函数plusadd中的功能执行,plusadd函数为主要模块功能。

肚脑虫(APT-C-35)组织最新攻击框架披露

内部字符串解密则使用字符串异或的算法。

肚脑虫(APT-C-35)组织最新攻击框架披露

在API函数上,以Uploader为例,可以看到“Jaca“框架采用动态导入+函数名称加密的方式,在导入函数上暴露信息更少,仅保留了少部分标准函数引用的API函数,使得分析人员的分析难度更高。

肚脑虫(APT-C-35)组织最新攻击框架披露 

COMEvent.dll    

肚脑虫(APT-C-35)组织最新攻击框架披露

 JacaUL.dll

附录 IOC

Domain

credmg.xyz

frontcheck.buzz

nelog.buzz

solutionsroof.xyz

getsr.xyz

free.newcontest.xyz

face.shadowpage.xyz


URL

https://credmg.xyz/topaz/exoip

https://credmg.xyz/topaz/qmole/J1/b

https://frontcheck.buzz/topaz/foti

https://nelog.buzz/topaz/foti

https://solutionsroof.xyz/rtgs/momx

https://getsr.xyz/vocha/ogo

https://getsr.xyz/vocha/utid/okla/dok

https://face.shadowpage.xyz/to/dotic/tok

https://face.shadowpage.xyz/ti/bolto/notr

https://getsr.xyz/Supex/pingpong/W/o

https://getsr.xyz/Supex/aqero/W/o

https://credmg.xyz/supex/bigo


MD5

0529e14c6725748bc8de0b7005f1afc6

0d007267373e9f54e87462632e98372a

17957e81bd1f730d5451e160e07bde06

1c8988c44adcc9a06f37323a284916c2

1e23bd1390ce846db260787e66a6a921

22cd25a69dd3b3a443ef7ce06ceb8309

245bf560f9befa8cd148eb5f831eff7b

298142aa83e5be469d759311703eec4a

2c6d3bfa0063d24ec89015646ef5c617

3195d64c6ba93e63d64f2b20a26c63a6

392cf2d2ce867f231ec444034f1dcbe0

5487df8c50fe8db1141bfa14c82ddf23

5921bdd6941d81f62da2181dfb281f90

5c637292566a57fb43af0fc9b91d7d1d

5fd5d855a9792ba0c2c1764b6f1589e1

6b3f9835ec1da1d8bee7d532acd45a64

740ee48958dc25a7f7fa8bcc15620907

79ef2c88288886965d36f5dc836b1fb8

83bd23c8d15e8c5a046d455b04d452a8

86182b2731343fdb1b6f843741b02dc0

893de661b8a5e3a00664f12323665d84

8fe3b7be548ab6bba549ddbfdabc90ed

a93f2b85675a49d3db35c35814470c78

b373739f2abbf82806f848b80cb1eb5b

c0b2e735354e28404a57df25a7fc81c2

d129b18e9c12dc8ba587b4188d91a8bd

d565fa9129dde76320519bed851688ed

e341bebced64c1006013bfced7c81396

e3c12932128476988518a79c4cfd9b1e

e6767b6d07045b0fad800ea947594735

eb6ad1f5dfe1f8a6e654c1407ca6d48d

f2205c89cc54d103959a178125ad252a

f605433cf9e43ba1a307f9d51545bdad

1f2d77b78bc6e5f90de0335b9f360bce

c6f8427bb993e3a0ce148509832a9f32

346d5a12b46f927d673248ea322de9ba

d292dd3a4fcc453805aed9a36d36e171

f6b4198a9f950028600c3851450e56bf

8b4f521fa83cf05c4912706c20bae603

b34c85fc0f8a1867ba0a011b31ad9b8b

316930f2019b612544cd291976c4636f

bc0bb76e572493424a75b81dbabcdd74

5abec7042e3a51782fa25d5bf4ac547d

8de9ab44bfa47ecd511a2f34063626f8

c089e7d3d522ae311b049d62e568d897

5876b64e0aa1f250c89e7ab39777a536

ac781485ea2b0658b389d63c0c9c0f1e

2dc41709e3f2ab37d9f0f716c2852fc4

1ad01e30f1f6bb4b12edb4999acaee35

cd5994aa784254af89eecd917f0a9ce0

7146bba1c37d272d5ee8c326c997562c

1c5748d2e4a004cf7cc4391078a61ef0

d51d4c9427e095bb9519c63b602cc704

5ca2894e5f16dd1e46e3cab3713bebdc

641d873ee52557a672705753256cc049

685e5c904e726c18d1c2dfc8bbb86343

b5a3e45b582e413283bb85ce8908bb09

3baf72c9060ddda237dd36194b72cd67

7aec8127c0d21dd9b56e009766705f4a

937189471730d569e19c47006b43faf5

62c3a206c877f1a3f9411280c4b616ce

0231bca0d9c71f163180c241f7d851a8

a08320b85b40fb974ea79efeb156ff7a

9333185f5fa26061692578ecfd4e11dd

f3f79ef05d3a21a5a888fcdcf3e67ce2

607b18a62af3c79d34559ffe10fb9ad7


肚脑虫(APT-C-35)组织最新攻击框架披露
团队介绍
肚脑虫(APT-C-35)组织最新攻击框架披露
TEAM INTRODUCTION

360高级威胁研究院

360高级威胁研究院是360政企安全集团的核心能力支持部门,由360资深安全专家组成,专注于高级威胁的发现、防御、处置和研究,曾在全球范围内率先捕获双杀、双星、噩梦公式等多起业界知名的0day在野攻击,独家披露多个国家级APT组织的高级行动,赢得业内外的广泛认可,为360保障国家网络安全提供有力支撑。

本文始发于微信公众号(360威胁情报中心):肚脑虫(APT-C-35)组织最新攻击框架披露

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: