# 旺刺组织(APT-C-47)使⽤ClickOnce技术的攻击活动披露 **mp.weixin.qq.com/s/h_MUJfa3QGM9SqT_kzcdHQ** Original 高级威胁研究院 [360威胁情报中心](javascript:void(0);) _6 days ago_ 收录于话题 #旺刺 1个 ClickOnce是近年来微软发布的一种软件部署技术,它可以创建基于Windows的自更新应用 程序,让这些应用程序可以在用户交互最少的情况下安装和运行。2019年的美国Blackhat 大会上,美国国土安全部所属CISA局的攻防专家曾公布了利用最新的ClickOnce扩展文件 (.appref-ms)进行恶意攻击的技术原理。该攻击方式区别于常规的恶意软件植入,由于 微软设计的安装交互方式,使其非常容易被用于诱导安装恶意软件。 近期,360安全大脑检测到多起ClickOnce恶意程序的攻击活动,通过360高级威胁研究院 的深入研判分析,发现这是一起来自朝鲜半岛地区未被披露APT组织的攻击行动,攻击目 标涉及与半岛地区有关联的实体机构和个人,根据360安全大脑的数据分析显示,该组织的 攻击活动最早可以追溯到2018年。目前还没有任何安全厂商公开披露该组织的攻击活动, 也没有安全厂商公开披露利用该技术的真实APT攻击事件。由于此次攻击活动属于360全球 首次捕获披露,我们根据该组织擅长攻击技术的谐音,将其命名为“旺刺”组织,并为其分 配了新编号APT-C-47。 攻击流程分析 该组织通过向受害者投递包含伪装的安全插件升级钓鱼邮件实施攻击,当受害者点击伪装 的升级钓鱼链接后会通过ClickOnce安装方式植入后门程序。完整的攻击流程如下图所示: 钓鱼邮件分析 ----- 该组织伪装成某邮箱的安全团队向受害者发送邮件,诱导受害者升级邮箱安全插件。受害 者进入伪装的插件网页点击安装链接,会下载安装ClickOnce程序的部署文件(*.apprefms) appref-ms文件设置包含了恶意的ClickOnce程序地址 恶意的ClickOnce程序安装完毕后,会欺骗用户安全模块更新完成。 ----- 攻击者分别针对三类邮箱系统定制了伪装的安全模块部署网页。钓鱼域名和appref-ms文件 对应,如下表所示: 邮箱 appref-ms 域名 XX1 - mail security module update_v1.89.9103535.apprefms *****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 上传⽂件信息 "stage=4&filename=" + MD5Hash(filepath) + "&updata=" + array2 攻击过程中出现的所有模块都以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 团队介绍 TEAM INTRODUCTION **360高级威胁研究院** 360高级威胁研究院是360政企安全集团的核心能力支持部门,由360资深安全专家组成, 专注于高级威胁的发现、防御、处置和研究,曾在全球范围内率先捕获双杀、双星、噩梦 公式等多起业界知名的0day在野攻击,独家披露多个国家级APT组织的高级行动,赢得业 内外的广泛认可,为360保障国家网络安全提供有力支撑。 Scan to Follow -----