旺刺组织(APT-C-47)使用 ClickOnce 技术的攻击活动披露

Andrew2020-12-17 11:42:10

ClickOnce是近年来微软发布的一种软件部署技术,它可以创建基于Windows的自更新应用程序,让这些应用程序可以在用户交互最少的情况下安装和运行。2019年的美国Blackhat大会上,美国国土安全部所属CISA局的攻防专家曾公布了利用最新的ClickOnce扩展文件(.appref-ms)进行恶意攻击的技术原理。该攻击方式区别于常规的恶意软件植入,由于微软设计的安装交互方式,使其非常容易被用于诱导安装恶意软件。

近期,360安全大脑检测到多起ClickOnce恶意程序的攻击活动,通过360高级威胁研究院的深入研判分析,发现这是一起来自朝鲜半岛地区未被披露APT组织的攻击行动,攻击目标涉及与半岛地区有关联的实体机构和个人,根据360安全大脑的数据分析显示,该组织的攻击活动最早可以追溯到2018年。目前还没有任何安全厂商公开披露该组织的攻击活动,也没有安全厂商公开披露利用该技术的真实APT攻击事件。由于此次攻击活动属于360全球首次捕获披露,我们根据该组织擅长攻击技术的谐音,将其命名为“旺刺”组织,并为其分配了新编号APT-C-47。

攻击流程分析

该组织通过向受害者投递包含伪装的安全插件升级钓鱼邮件实施攻击,当受害者点击伪装的升级钓鱼链接后会通过ClickOnce安装方式植入后门程序。完整的攻击流程如下图所示:

图片

钓鱼邮件分析

该组织伪装成某邮箱的安全团队向受害者发送邮件,诱导受害者升级邮箱安全插件。受害者进入伪装的插件网页点击安装链接,会下载安装ClickOnce程序的部署文件(*.appref-ms)

图片

appref-ms文件设置包含了恶意的ClickOnce程序地址

图片

恶意的ClickOnce程序安装完毕后,会欺骗用户安全模块更新完成。

图片

攻击者分别针对三类邮箱系统定制了伪装的安全模块部署网页。钓鱼域名和appref-ms文件对应,如下表所示:

邮箱 appref-ms 域名
XX1 * mail security module update_v1.89.9103535.appref-ms *****ce.com
XX2 plugin* download plugin manager40.appref-ms **n.com
outlook protocol update ver 2.23.10940.appref-ms *****k.com

我们捕获发现最终下载的诱饵附件文件,是加密的word文档,名字和内容并不具有吸引力,所以攻击者钓鱼攻击的重点还是放在了伪装安全模块的诱导安装部分。

恶意ClickOnce程序分析

执行流程

程序根据配置文件的指示安装木马程序,回传受害者的系统信息,文件信息。完整执行流程如下图所示:

图片

恶意荷载执行释放流程:

1.加载执行banner_M.jpg

2.加载配置文件res.jpg

3.加载执行banner_0.jpg

4.释放安装木马程序

5.回传受害者信息

Clickonce.exe分析

该程序表面上伪装成了一个基于命令行的数学计算器,用于计算点积,叉积和求根。

图片

实际在内部嵌入了恶意荷载加载器的代码。在其伪装的计算器dotProduct类的Calc方法中读取恶意荷载banner_M.jpg文件,并解密成shellcode执行。

通过一系列反射加载,最终执行外部文件中ClassLibraryM_M.Class_GO类的DoSomething方法。

图片

banner_M.jpg分析

该程序加载并解密res.jpg文件,从文件内容中获取配置信息。各字段代表的含义依次是:

1.没有检测到杀软时的工作模式

lS代表只将木马程序释放到启动目录;

lE代表将木马释放到临时目录并立即执行

2.指示木马程序释放后的名称,同时指示释放木马程序的jpg文件。

3.如果此字段为“K”,则表示程序在启动ie进程显示安装结果前要结束掉其它的ie的进程。

4.启动ie进程显示安装结果的url。

5.C&C服务器地址

6.白利用时存放白文件以及载荷的路径

7.杀软列表,如果受害者机器安装有列表中的任意一款杀软,则退出程序。

8.aes解密的key,用于解密部分banner_*.jpg文件。

9.agent name

10.收集文件时使用的配置字段

解密加载banner_0.jpg文件,会调用该模块的ClassLibraryM_0.Class_GO类的DoCheck方法。在DoCheck方法中完成对机器上的杀毒软件的检查。banner_0模块遍历LOCALMACHINE\SOFTWARE的下层键值,并通过与预定义的一批杀软列表的哈希值进行对比,最终返回一个机器上安装杀软的列表。banner_0模块内一共标识了16款杀毒软件,每款杀软对应一个0-16的编号。根据之前获取到的已安装杀软的信息,依次加载执行对应编号的banner_[0-16].jpg。

图片

这些模块实现方式各有不同,核心功能都是安装木马程序,将木马程序移动到启动目录。部分模块功能如下表所示:

banner_1.jpg 复制dll劫持需要的文件,构造wmtemp.log文件
banner_1_1.jpg 绕过UAC启动白进程,被加载的黑文件根据wmtemp.log安装木马程序。
banner_2.jpg 释放rv.dll,执行命令“rundll32.exe %TEMP%\rv.dll, SetClassKey [path2]”,安装木马程序。
banner_3.jpg 使用reg命令导入drg2856.tmp,tmp文件中指定了木马文件的路径。

如果没有检查到任何杀软,则根据配置文件第一个字段的内容进入不同的工作模式。“E”,将木马程序释放到临时目录并执行。“S”,将木马程序释放启动目录。

图片

随后会上传受害者系统信息,根据配置文件第十个字段上传文件信息。

图片

程序启动ie进程,打开配置文件中的指定url,是向受害者展示自定义的安装完成信息。如我们捕获发现的打开的网页其中之一是欺骗受害者协议更新成功,随后跳转到邮箱网址。

图片

C&C通信和加解密分析

在banner_M模块的整个运行周期,时刻保持与c&c服务器的通信,通报程序执行情况。不同数据时使用的参数如下表所示:

| 通报程序执行情况 | “stage=M&value=” + value + “&e=\n\n” |
| 上传系统信息 | “stage=2&filename=” + GetMacAddress() + “&updata=” + text |
| 上传目录下文件名信息 | “stage=3&filename=” + MD5Hash(folderpath) + “&updata=” + array |

攻击过程中出现的所有模块都以jpg文件的形式存在,经过下图的代码剥离出真正的载荷。

图片

其文件的结构如下图所示:

图片

除去真实的图片信息,剩余的载荷都经过一层异或加密,使用的key为9D88B3FA。

图片

另外banner_n.jpg(n为任意数字)文件还需经过一次aes解密,解密密钥为“148780657362178FD5ADD0CFB99EFF8BC68C72EE0B438E64EDF643EB2592D7BB”。由于采用CBC模式,其初始的iv由待解密的数据的前16字节指定。

http通讯中信息的回传都采用aes加密,加密使用的key和iv又经过配置文件的公钥进行RSA加密,以此保障信息的隐蔽传送。

GO语言后门模块分析

该程序后续执行使用的是go语言编写成的后门模块

系统信息收集

程序会获取系统mac地址、主机名、系统版本信息,并创建以下目录

lC:\Users\xxx\AppData\Roaming\Microsoft\MSDN\1.3

lC:\Users\xxx\AppData\Roaming\Microsoft\MSDN\1.4

图片

并通过注册表检查系统安全产品的安装情况,如果不存在安全产品,将程序移动到%USERPROFILE%\Startup目录进行安装自启动。

图片

DLL劫持执行

如果存在安全产品,程序将使用dll劫持方式执行恶意荷载。首先写入%TEMP%\wmtemp.log文件,文件的内容作为劫持dll的操作指令。

图片

解密内存数据,释放到%TEMP%\wmtemp\msftedit.dll,该dll用于白文件dll劫持

图片

将原来的白文件拷贝到%temp%\wmtemp目录。

msftedit.dll分析

攻击者利用白程序启动时会加载msftedit.dll,通过放置在%TEMP%\wmtemp\目录下的msftedit.dll实现dll劫持。程序会解析%TEMP%\wmtemp.log文件内容,实现相应的操作。

图片

程序会遍历C:\Users\xxx\AppData\Roaming\Microsoft\MSDN\1.4目录下的文件,对dll文件加载执行,对jpg文件只是加载到内存。

图片

通过访问http://apple.com判断网络情况,直到网络连通后才会进入后续流程。

图片

向C&C远程服务器回传受害者信息。

图片

根据服务器下发的指令执行不同的功能

指令字符串 功能
time 设置接受指令的时间间隔
ldll 加载dll,并调用GetVersionString函数
lmem 加载文件到内存
rtel 根据下发的端口,与c2重建新的tcp连接
uweb 上传指定目录下的所有文件
sayo 清理退出

C&C远程服务器在下达rtel指令后,程序会根据随指令下发的端口与远程服务器建立新的tcp连接。

图片

随后,服务器会发送一个数字用于完成身份验证

图片

验证通过后,服务器会下发新的指令,指令功能是后门程序的常用功能

指令字符串 功能
!get 上传本地文件
!quit 退出
!del 删除文件
!put 下载远程文件
!exec 创建进程
!cd 切换工作目录
无上述前缀 执行字符串对应的系统命令

总结

根据360安全大脑的遥测数据显示,旺刺组织(APT-C-47)来源于朝鲜半岛地区,最早从2018年就开始活动,该组织在此次的攻击活动中几乎没有使用c\c++语言编译的后门程序,在攻击的前半段使用多个c#模块,在攻击后半段中使用go语言模块,同时是目前唯一被披露使用ClickOnce技术进行攻击活动的组织,使其拥有了区别于其他APT组织的独特攻击特点,相关的机构和个人需要提高警惕。目前,360安全大脑、360情报云、360沙箱云等360政企全线安全产品可以检测和防御该组织的攻击。

附录 IOC

IP

91.235.116.232

45.64.186.78

45.64.186.159

122.155.3.201

Domain

club.mail.**.com.cn.plugin-verification.com

**.attachment-download.services.enc2global.com

attachment-download.**-service.com

test.enc2global.com

authentication-services.zzux.com

email-smtp-protocol-update-notification.safetymodule-check.com

MD5

8ad47895f3af1f06d894e5383c4c4680

c0ee329f276b01d8aeb908bead365aea

f0dd637b1f0a9005c4b30245e0e7e1ad

5011d65eeebe3eedf4b3f64dabc88e8c

366da9737c0db351ca889e2bc8dc1981

f6cf5f915fc6506c3ddad7c7f10854c4

445216627ff9280f3294d8bd3d85b560

fcc4682029a27ba7a6ff9d795bdfd415

c6dd8052335e00c111526b7095cab52c

c6dd8052335e00c111526b7095cab52c

d692b8ea9485aa0205ed83cd3140b05e

9B58A9C1C396DAAFF4D8868DC49455E3

68F07080F3B0B4729BD220E10416A51C

9C0CE7D503159C0B0C06110E875C25D6

79066365563368F379CA1A45168F9ACA

306B61A40E9051629343EEF3C69BC479

EEF1F260153D0D6573D782808754BC28

6F49F302169F391A0B614AF0FCADCB98

A8810EB38C46A8C4EEE9ABC1C5A5AFBE

11128a3c4c7e7aa47349a788d41cee4d

587b6fe405816d2d3b555fcbbe17a69a

cb4e79b6f191d0c8cb38ff91b049796f

64763f03e581510ca42fb420b71d2458

cac963f48aa812e900672b0ad1d1db4d

80cac47d7b6fa68c36b59c818ed2e35a

f4522f6486a90af0c960d86a9a5734ca

原创:高级威胁研究院 360威胁情报中心
原文链接:https://mp.weixin.qq.com/s/h_MUJfa3QGM9SqT...

文件目录木马程序
本作品采用《CC 协议》,转载必须注明作者和本文链接
国家级APT(Advanced Persistent Threat,高级持续性威胁)组织是有国家背景支持的顶尖黑客团伙,专注于针对特定目标进行长期的持续性网络攻击。 奇安信旗下的高级威胁研究团队红雨滴(RedDrip Team)每年会发布全球APT年报【1】、中报,对当年各大APT团伙的活动进行分析总结。 虎符智库特约奇安信集团旗下红雨滴团队,开设“起底国家级APT组织”栏目,逐个起底全球各地
注意在整个过程中,客户不要事先征集到现场或现场的人员操作情况。启动或部署监测设备,针对病毒感染进行全面监测,避免死灰复燃。在此过程中并没有展开分析,随后制作收集所有相关的样本日志等,并寻找感染源头,并制定整改。先找出急用的木马文件,不要于打包一份。
应急响应的基本流程
2022-01-01 08:34:07
注意在整个过程中不要被客户或现场的运维人员误导。操作前需先征得客户许可。
目录扫描可以让我们发现这个网站存在多少个目录,多少个页面,探索出网站的整体结构。通过目录扫描我们还能扫描敏感文件,后台文件,数据库文件,和信息泄漏文件等等 目录扫描有两种方式: •使用目录字典进行暴力才接存在该目录或文件返回200或者403;•使用爬虫爬行主页上的所有链接,对每个链接进行再次爬行,收集这个域名下的所有链接,然后总结出需要的信息。
ACL保护文件目录
2021-09-24 08:29:06
ACl (Access Control List),主要目的是提供传统的 owner、group、others 的 read、write、execute 权限之外的特殊权限需求设置。
大意就是这不一定是完整的代码,请大家fck 微软。windows_research_kernel目录: 这个目录下有两个压缩包,一个是Windows Kernel Source Code like,一个是wrktools。接下来是 microsoft-gaming-zone和 misc_microsoft_gamedev_source_code两个跟游戏开发有关的源码包。包括在’’是截至2020-08-21的最新版本。然后是Windows 2000 Native API ,里面有C语言的示例及原始API代码。,XP的源码,收集的人卖了个关子,加了密,要自己破解。Pdf目录: 搜集的一些文档,比如2017年win10泄露32T源码事件等。Xbox目录 三个文件如下,可以看到最下面的是一个2020年5月刚泄露的版本。
ACl (Access Control List),主要目的是提供传统的 owner、group、others 的 read、write、execute 权限之外的特殊权限需求设置。ACL 可以针对单一使用者、单一文件或目录来进行 r、w、x 的权限规范,对于需要特殊权限的使用状况非常有帮助
Linux常用命令总结
2021-11-20 05:45:17
系统信息 关机网卡命令 文件目录 find命令 ps命令 防火墙命令 用户命令 其他命令 最近再使用Linux感觉Linux系统使用起来也挺顺手的不过就是命令掌握的并不是很牢固,今天整理一下Linux一些常用命令。
Andrew
暂无描述