一例plugx样本的分析(AcroRd32cWP)

这是一例plugx的样本,使用了一个合法签名的程序 ,使用侧加载的方式加载一个恶意的dll,解密一个dat文件来,在内存中执行一个反射型dll来完成恶意功能。

这个病毒会使用摆渡的方式的来窃取内网的文档数据,具有严重的失泄密隐患。

样本信息

文件: AdobeHelp.exe
大小: 253496 字节
修改时间: 2023年10月27日, 13:03:30
MD5: F26179D65B42720B2A4984D717C309DE
SHA1: 3319A0AF253D487FF8F137DD0F7F0CB3DC94F729
CRC32: AA5CF0EB文件: adobeupdate.dat
大小: 161803 字节
修改时间: 2023年10月27日, 13:03:30
MD5: 38BAABDDFFB1D732A05FFA2C70331E21
SHA1: 39E5B6B33B564E302E8F4A43E96B252BF1B8CCD6
CRC32: A200B3C6文件: hex.dll
大小: 77208 字节
修改时间: 2023年10月27日, 13:03:30
MD5: C33D3D6970DBB19062AE09505A6EB376
SHA1: DB4A2F4BA2AADA8BF12E5D840A0D5921012DBD07
CRC32: E548B9F5文件: AcroRd32.exe
大小: 190144 字节
文件版本: 3.9.0.327
修改时间: 2023年10月27日, 13:03:29
MD5: C70D8DCE46B4551133ECC58AED84BF0E
SHA1: 00626346632FDFB2A1D5831793E92A3601EC4D9F
CRC32: 79CE50B1

整个病毒执行过程分为两个阶段。

第一阶段

样本有三个,其中AcroRd32.exe为Adobe官方程序,有合法的签名,该程序运行过程中会加载恶意动态库hex.dllCEFProcessForkHandlerEx函数,这个函数会读取同目录下的adobeupdate.dat文件,对其进行解密,在内存中释放和加载一个dll,这个dll是一个反射型dll,来执行主要的恶意行为。

AcroRd32.exe:
Verified:    Signed
Signing date:    8:22 2016/10/13
Publisher:    Adobe Systems Incorporated
Company:    Adobe Systems Incorporated
Description:    Adobe CEF Helper
Product:    Adobe CEF Helper

通过动态调试在hex.dllVirtualProtect设置断点,将解密后的dll dump出来。

dump出来的dll信息。

Verified:    Unsigned
Link date:    16:10 2020/1/16
MachineType:    32-bit
MD5:    F67CA2E8EA7E44890D9D7F045FC7D855
SHA1:    E7D1DFB0ECFABE691761F90C789A39CDD691403A

下面详细分析这个dll。

第二阶段

第二阶段主要是进入 dump出的dll 执行

首先,初始化化一段全局变量,解密了一段长度为1828的数据,其中包含了1个互斥量和4个c2的地址。生成一个随机值设置HKLM/HKCU\Software\CLASSES\ms-pu\CLSID,创建并隐藏目录%appdata%\Intel\

读取程序的命令行参数。

情况一:从U盘启动的场景

若没有参数的话,这是从U盘启动的情形,执行感染系统的操作。

首先,在当前系统中创建目录%userprofile%\AcroRd32cWP\或%alluserprofile%\AcroRd32cWP\,将自身拷贝到这个目录下,命名为AcroRd32.exe

将当前目录的下的3个文件hex.dll,adobeupdate.dat,AdobeHelp.exe拷贝到这个目录下。

在注册表中添加开机启动项(如下 )。

HKLM\Software\Microsoft\Windows\CurrentVersion\RunAcroRd32cWP
HKCU\Software\Microsoft\Windows\CurrentVersion\RunAcroRd32cWP
指向 %userprofile%\AcroRd32cWP\AcroRd32.exe 177 或%alluserprofile%\AcroRd32cWP\AcroRd32.exe 177

然后执行%userprofile% 或 %alluserprofile%\AcroRd32cWP\AcroRd32.exe 177 ,然后退出。

情况二 从主机启动或开机自启动的情形

若有两个参数的话,创建名为nayWCTWyopTwgSLTxfbf的互斥量,若同名的互斥量存在,则退出 。

若参数为-net的话,设置2个注册表项(如下 )。然后感染系统并设置开机启动项退出。

HKLM\System\CurrentControlSet\Control\Network\version=1
HKCU\System\CurrentControlSet\Control\Network\Version=1

若参数不为-net的话。感染U盘,窃取用户的文档,与C2建立通信。

清理与AdobeHelper.exe、AdobeUpdates.exe、AdobeUpdate.exe、AAM Updates.exe、AAM Update.exe有关的进程、文件和注册表中的开机启动项。

检测当前是否连接移动存储介质,有的话,执行感染U盘和摆渡文件的操作。

感染U盘的过程

感染U盘的过程如下。

首先,设置注册表,用于隐藏文件的后缀名。

Software\Micsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden=0
Software\Micsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSupperHidden=1
Software\Micsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt=1

进而,清理与AdobeHelper.exe、AdobeUpdates.exe、AdobeUpdate.exe、AAM Updates.exe、AAM Update.exe有关的进程、文件和注册表中的开机启动项。

在U盘的根目录,创建一个隐藏的文件夹X:\ \,在这个目录下创建文件X:\ \desktop.ini,写入IconResource=%systemroot%\system32\SHELL32.DLL,7,该文件的作用是将文件夹的图标修改为了驱动器的icon。

创建一个隐藏文件夹X:\RECYCLERS.BIN\,在该目录下创建desktop.ini,写入CLSID={645FF040-5081-101B-9F08-00AA002F954E},将文件夹X:\RECYCLERS.BIN\变成回收站。

将同目录下的的hex.dll AdobeHelp.exe AdobeUpdate.dat拷贝到X:\RECYCLERS.BIN\中,将自身拷贝为X:\RECYCLERS.BIN\AdobeUpdate.exe

将U盘下的文件移动到 X:\ \下(跳过 .和… 以及隐藏的目录,卷名.exe Removable Disk(U盘总共的大小).exe),删除根目录下的lnk文件。

X:\RECYCLERS.BIN\AdobeHelp.exe拷贝为X:\Removable Disk(U盘总共的大小).exeX:\卷名.exe

AdobeHelp.exe的作用是打开X:\ \目录,运行病毒主体X:\RECYCLERS.BIN\AdobeUpdate.exe,执行感染系统的操作。

文件摆渡的过程

创建一个窗口,classnamestatic,来监控可移动存储介质的插入,当有U盘插入的时候,向U盘拷贝文件,或才从U盘中取出窃取的文件。

首先会访问https://www.microsoft.com,测试当前系统是否连接互联网。

非联网状态

若不能访问https://www.microsoft.com,首先读取注册表项HKLM/HKCU\System\CurrentControlSet\Network\Version的值 ,

若Version为1的话,执行命令systeminfo,ipconfig /all,netstat -ano,arp -a,tasklist /v,将获取到的系统信息保存到U盘中X:\RECYCLERS.BIN\[ms_pu_CLSID]\c3lzLmluZm8

遍历系统所有驱动器(跳过U盘),窃取文档文件。

找到后缀名为.doc .docx .ppt .pptx .xls .xlsx .pdf 且大小小于300MB的文件,将目标文件加密拷贝到U盘X:\RECYCLERS.BIN\[ms_pu_CLSID]\目录下,文件名使用base64编码,对文件内容进行加密,并同步两个文件的时间。

当U盘中的可使用的空间大小(预留1/10的存储空间后)小于10MB,停止拷贝。

生成一个tmp.bat文件,执行
%comspec% /q /c systeminfo > path+c3lzLmluZm8
%comspec% /q /c ipconfig /all >> path+c3lzLmluZm8
%comspec% /q /c netstat -ano >> path+c3lzLmluZm8
%comspec% /q /c arp -a >> path+c3lzLmluZm8
%comspec% /q /c tasklist /v  >> path+c3lzLmluZm8
del %0

若当前机器是联接互联网的状态,将从内网搜集到的文件从U盘拷贝到当前机器上%appdata%\Intel目录下。

将U盘下X:\RECYCLERS.BIN\ X:\RECYCLE.BIN\ X:\RECYCLER.BIN\路径中(跳过RECYCLERS.BIN文件)的文件,拷贝到当前系统%appdata%\Intel目录下,若不是.info文件,则清空原文件,并同步两个文件的时间。

后门部分

这个样本会和C2进行通信,这部分比较复杂,还没有分析清楚,可参考最后一节的资料。有4个C2地址。

42.99.117.95:443
42.99.117.95:8080
news.169mt.com:8000
news.169mt.com:8090

IOC

hash
文件: AdobeHelp.exe
MD5: F26179D65B42720B2A4984D717C309DE
SHA1: 3319A0AF253D487FF8F137DD0F7F0CB3DC94F729
CRC32: AA5CF0EB文件: adobeupdate.dat
MD5: 38BAABDDFFB1D732A05FFA2C70331E21
SHA1: 39E5B6B33B564E302E8F4A43E96B252BF1B8CCD6
CRC32: A200B3C6文件: hex.dll
MD5: C33D3D6970DBB19062AE09505A6EB376
SHA1: DB4A2F4BA2AADA8BF12E5D840A0D5921012DBD07
CRC32: E548B9F5文件: AcroRd32.exe
MD5: C70D8DCE46B4551133ECC58AED84BF0E
SHA1: 00626346632FDFB2A1D5831793E92A3601EC4D9F
CRC32: 79CE50B1文件
主机上
C:\ProgramData\AcroRd32cWP\AcroRd32.exe、hex.dll、adobeupdate.dat、AdobeHelp.exe、tmp.bat
C:\users\administrator\acrord32cwp\AcroRd32.exe、hex.dll、adobeupdate.dat、AdobeHelp.exe、tmp.bat
%appdata%\Intel 隐藏的目录,这个目录用来保存从U盘摆渡出来的文件U盘中
X:\RECYCLERS.BIN\AdobeUpdate.exe、hex.dll、adobeupdate.dat、AdobeHelp.exe
X:\Removable Disk(U盘总共的大小).exe
X:\卷名.exe 实为AdobeHelp.exe,用于启动AdobeUpdate.exe,打开目录X:\<0xA0>\
X:\<0xA0>\ 用来保存U盘中根目录下原来的文件
X:\RECYCLERS.BIN\[ms_pu_CLSID]\ 用来保存从主机上窃取的文件,文件名使用base64编码,文件内容被加密
X:\RECYCLERS.BIN\[ms_pu_CLSID]\c3lzLmluZm8 这是窃取的系统信息ms_pu_CLSID 这是一个16字节长度的随机字符串,根据系统时间生成,类似于B78FFCDB0E13FAAD、
B80F0B871093FEB1、B9DA1AB8125E02B5、BA156EAF149906B9,生成之后会保存在注册表HKLM/HKCU\Software\CLASSES\ms-pu\CLSID中。注意 主机上的AcroRd32.exe和U盘中AdobeUpdate.exe是一个文件注册表
HKLM\Software\Microsoft\Windows\CurrentVersion\Run\
HKCU\Software\Microsoft\Windows\CurrentVersion\Run\
AcroRd32cWP=%userprofile%\AcroRd32cWP\AcroRd32.exe [数字]
或者AcroRd32cWP=%alluserprofile%\AcroRd32cWP\AcroRd32.exe [数字]HKCU\Software\Micsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden=0
HKCU\Software\Micsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSupperHidden=1
HKCU\Software\Micsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt=1
HKLM\System\CurrentControlSet\Control\Network\version=1
HKCU\System\CurrentControlSet\Control\Network\Version=1
HKLM/HKCU\Software\CLASSES\ms-pu\CLSID互斥量
nayWCTWyopTwgSLTxfbfC2
https://www.microsoft.com
42.99.117.95:443
42.99.117.95:8080
news.169mt.com:8000
news.169mt.com:8090

总结

这个plugx样本是一个典型摆渡型窃密木马,使用分离免杀和白加黑侧加载的方式来躲避检测。解密后的payload是一个反射型的dll,有点像CS的beacon。样本中的api地址都是使用LoadLibrary和GetProcAddress来获取,给静态分析带来很大的工作量。通过U盘进行传播,远控模块比较复杂,目前C2地址已经失效了,但是对于隔离网用户来说,还是有一定的失泄密隐患。

参考资料

  • malware-ioc/quarterly_reports/2020_Q2 at master · eset/malware-ioc · GitHub

  • TA416 使用 PlugX 恶意软件新的 Golang 变种进行攻击 (seebug.org)

  • TA416 Goes to Ground and Returns with a Golang PlugX Malware Loader | Proofpoint US

  • THREAT ANALYSIS REPORT: DLL Side-Loading Widely (Ab)Used (cybereason.com)

  • The Spies Who Loved You: Infected USB Drives to Steal Secrets | Mandiant

  • VirusTotal - IP address - 42.99.117.95

  • PlugXRemovalGuideVersion1 0 PDF | PDF (scribd.com)

  • maltrail/trails/static/malware/plugx.txt at master · stamparm/maltrail · GitHub

  • GitHub - stamparm/maltrail: Malicious traffic detection system

  • [原创]STORAGE_DEVICE_DESCRIPTOR 方式获取硬盘序列号-编程技术-看雪-安全社区|安全招聘|kanxue.com

  • 利用window的CLSID可以干的一些事情-CSDN博客

  • 116444736000000000的由来 - 知乎 (zhihu.com)

  • ImDisk 命令行用法-CSDN博客

  • New wave of PlugX targets Hong Kong - Avira Blog

  • 暴涨3倍!通过受感染 USB 窃密的事件愈发变多 - FreeBuf网络安全行业门户

  • CIRCL » TR-24 Analysis - Destory RAT family

  • A border-hopping PlugX USB worm takes its act on the road – Sophos News

  • THREAT ANALYSIS REPORT: PlugX RAT Loader Evolution (cybereason.com)

  • Examining APT27 and the HyperBro RAT - NetWitness Community - 693490

  • THREAT ANALYSIS REPORT: DLL Side-Loading Widely (Ab)Used (cybereason.com)

  • Detecting Media Insertion or Removal - Win32 apps | Microsoft Learn

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/142500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【FastCAE源码阅读9】鼠标框选网格、节点的实现

一、VTK的框选支持类vtkInteractorStyleRubberBandPick FastCAE的鼠标事件交互类是PropPickerInteractionStyle&#xff0c;它扩展自vtkInteractorStyleRubberBandPick。vtkInteractorStyleRubberBandPick类可以实现鼠标框选物体&#xff0c;默认情况下按下键盘r键开启框选模式…

【JVM】类加载器 Bootstrap、Extension、Application、User Define 以及 双亲委派

以下环境为 jdk1.8 两大类 分类成员语言继承关系引导类加载器bootstrap 引导类加载器C/C无自定义类加载器extension 拓展类加载器、application 系统/应用类加载器、user define 用户自定义类加载器Java继承于 java.lang.ClassLoader 四小类 Bootstrap 引导类加载器 负责加…

Jenkins的介绍与相关配置

Jenkins的介绍与配置 一.CI/CD介绍 &#xff11;.CI/CD概念 ①CI 中文意思是持续集成 (Continuous Integration, CI) 是一种软件开发流程&#xff0c;核心思想是在代码库中的每个提交都通过自动化的构建和测试流程进行验证。这种方法可以帮助团队更加频繁地交付软件&#x…

【教3妹学编辑-mysql】mybatis查询条件遇到的坑及解决方案

2哥 :3妹&#xff0c;今天怎么下班这么晚啊。 3妹&#xff1a;嗨&#xff0c;别提了&#xff0c;今天线上出bug了&#xff0c; 排查了好久。 2哥&#xff1a;啊&#xff0c;什么问题呀&#xff1f; 3妹&#xff1a;我们内部的一个管理系统报错了&#xff0c; 最近排查下来是myb…

AR工业眼镜:智能化生产新时代的引领者!!

科技飞速发展&#xff0c;人工智能与增强现实&#xff08;AR&#xff09;技术结合正在改变生活工作方式。AR工业眼镜在生产领域应用广泛&#xff0c;具有实时信息展示、智能导航定位、远程协作培训、智能安全监测等功能&#xff0c;提高生产效率、降低操作风险&#xff0c;为企…

dolphinscheduler

架构说明 MasterServer MasterServer采用分布式无中心设计理念&#xff0c;MasterServer主要负责 DAG 任务切分、任务提交监控&#xff0c;并同时监听其它MasterServer和WorkerServer的健康状态。 MasterServer服务启动时向Zookeeper注册临时节点&#xff0c;通过监听Zookeep…

压测工具主要功能是什么?该怎样选择?

压测工具是一类用于模拟并评估系统在不同负载条件下的性能的软件应用程序。通过模拟大量用户同时访问系统&#xff0c;压测工具能够帮助开发者识别系统的瓶颈、性能瓶颈以及潜在的故障点。这种实时、模拟的方式允许开发者在正式投入使用之前发现并解决问题&#xff0c;提高系统…

使用JDBC连接数据库出现The server time zone value ‘�й���׼ʱ��‘ is unrecognized 的解决方案

看到网上的大佬们说是引入的依赖版本太高所以导致了时区有问题 但是我把依赖的版本改低了还是报错 用另一种办法直接在配置文件中修改url然后成功解决 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/datasource?useUnicodetrue&characterEncodingutf8&useSSL…

vue day1(主要是指令)

1、引包 或者&#xff1a;cdn网址 2、创建实例&#xff0c;初始化渲染 3、插值表达式 {{}} 表达式&#xff1a;可以被求值的代码 4、响应式数据&#xff1a;数据发生变化&#xff0c;视图自动更新&#xff08;底层是dom操作&#xff09; data中数据会被添加到实例上&#x…

CSDN规则详解——如何申请成为博客专家

文章目录 前言博客专家如何成为博客专家&#xff1f;博客专家列表后记 前言 博客专家是csdn推出的&#xff0c;很多童鞋可能还不知道如何申请成为博客专家或者成为博客专家之后有什么用。成为博客专家可以让您在专业领域分享您的知识和经验&#xff0c;与更多的读者建立联系&a…

如何进行iOS技术博客的备案?

​ 如何进行iOS技术博客的备案&#xff1f; 标题&#xff1a;iOS技术博客备案流程及要求解析 摘要&#xff1a; 在本篇问答中&#xff0c;我们将为iOS技术博主介绍如何进行备案。如果你的iOS应用只包含简单的页面&#xff0c;并通过蓝牙进行数据采集和传输&#xff0c;那么你…

Rust编程中的共享状态并发执行

1.共享状态并发 虽然消息传递是一个很好的处理并发的方式&#xff0c;但并不是唯一一个。另一种方式是让多个线程拥有相同的共享数据。在学习Go语言编程过程中大家应该听到过一句口号:"不要通过共享内存来通讯"。 在某种程度上&#xff0c;任何编程语言中的信道都类…

消息队列简介

什么是消息队列?&#xff08;Message queue&#xff0c;简称MQ&#xff09; 从字面理解就是一个保存消息的一个容器。那么我们为何需要这样一个容器呢&#xff1f; 其实就是为了解耦各个系统&#xff0c;我们来举个例子&#xff1a; 有这么一个简单的场景&#xff0c;系统A负…

Power Automate-与Microsoft Forms连接

创建自动化云端流&#xff0c;流的触发器选择第一个提交新回复时 点击蓝色的Change connection&#xff0c;登录创建Microsoft Forms表单的账号 选择提前创建的表单&#xff1b;如果想连接其他账号创建的Microsoft Forms表单&#xff0c;可以再次点击蓝色的Change connection&a…

DVWA - 3

文章目录 XSS&#xff08;Dom&#xff09;lowmediumhighimpossible XSS&#xff08;Dom&#xff09; XSS 主要基于JavaScript语言进行恶意攻击&#xff0c;常用于窃取 cookie&#xff0c;越权操作&#xff0c;传播病毒等。DOM全称为Document Object Model&#xff0c;即文档对…

【k8s集群搭建(一):基于虚拟机的linux的k8s集群搭建_超详细_解决并记录全过程步骤以及自己的踩坑记录】

虚拟机准备3台Linux系统 k8s集群安装 每一台机器需要安装以下内容&#xff1a; docker:容器运行环境 kubelet:控制机器中所有资源 bubelctl:命令行 kubeladm:初始化集群的工具 Docker安装 安装一些必要的包&#xff0c;yum-util 提供yum-config-manager功能&#xff0c;另两…

软件工程分析报告07测试计划书——基于Paddle的肝脏CT影像分割

目录 测试计划书 1. 引言 2. 测试目标 3. 测试方法 3.1 黑盒测试 (1)等价类划分&#xff1a; (2)边界值分析&#xff1a; (3)因果图&#xff1a; ​编辑&#xff08;4&#xff09;错误推测法 3.2 白盒测试 测试用例&#xff01;&#xff01; 4. 测试环境 5. 测试计划 6…

@Async注解的坑

问题描述 一个方法调用另一个方法(该方法使用Async注解)在同一个类文件中&#xff0c;该注解会失效&#xff01; 问题复现 TestAsyncController 类 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Async; im…

MySQL时间类型注意事项

MySQL常见的时间类型有YEAR、DATE、TIME、DATETIME、TIMESTAMP&#xff0c;绝大多数业务都是精确到秒的&#xff0c;所以通常用后两种。并且MySQL5.6以后后两种支持精度到毫秒&#xff08;最多小数点后6位&#xff09; DATETIME占8字节&#xff0c;不论要不要毫秒 TIMESTAMP占4…

密钥安全存储方案探讨与实践

随着信息技术的迅猛发展和应用范围的不断扩大&#xff0c;我们日常生活中的许多方面已经与信息技术密不可分。而在信息安全领域中&#xff0c;密钥的安全存储显得尤为重要。本文将探讨密钥安全存储的必要性、相关技术和实践方案&#xff0c;并提出一些解决方案。 一、密钥安全存…