一例plugx样本的分析(AcroRd32cWP)

news2024/11/20 7:12:22

这是一例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

互斥量
nayWCTWyopTwgSLTxfbf

C2
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.coloradmin.cn/o/1210265.html

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

相关文章

Git新建分支

修改代码之Git策略思考&#xff1a; 有三种办法&#xff1a; 需要在主分支上新建一个分支&#xff0c;不合并新建版本。其实也是先新建一个分支&#xff0c;然后合并到主分支&#xff0c;再删除分支。直接新建远程仓库。 考虑&#xff0c;3&#xff09;最浪费&#xff0c;其…

QGIS之十七按范围选择要素

效果 步骤 1、准备数据 &#xff08;1&#xff09;、范围面 &#xff08;2&#xff09;、point 2、Qgis中裁剪 工具箱中搜索“裁剪” 注意编码问题 3、裁剪结果

Skybox天空盒子的更换教程_unity基础开发教程

Skybox天空盒子的更换 Skybox的下载与导入更换SkyboxSkybox属性自定义 Skybox的下载与导入 打开资源商店 搜索FREE Skybox 这里是我使用的是这一款资源&#xff0c;点击添加至我的资源 打开包管理器Package Manager Packages选择My Assets 搜索Sky 选择刚刚添加的天空盒子 点…

​TechSmith Camtasia 2024破解版功能介绍及使用教程

在现在的网络互联网时代&#xff0c;越来越多的人走上了自媒体的道路。有些自媒体人会自己在网络上录制精彩视频&#xff0c;也有一些人会将精彩、热门的电影剪辑出来再加上自己给它的配音&#xff0c;做成大家喜欢看的电影剪辑片段。相信不管大家是自己平时有独特的爱好也好、…

滚雪球学Java(63):Java高级集合之TreeSet:什么是它,为什么使用它?

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE相关知识点了&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好…

【物联网】BDS/GNSS 全星座定位导航模块——ATGM332D-5N

随着科技的不断进步&#xff0c;导航系统已经成为我们日常生活中不可或缺的一部分。传统的导航系统往往只提供基本的地图和路线规划&#xff0c;对于一些特殊需求或个性化定位并不够满足。全星座定位导航模块的出现&#xff0c;为我们带来了全新的导航体验。通过结合星座学说和…

上海亚商投顾:沪指震荡反弹 鸿蒙、算力概念股集体爆发

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日窄幅震荡&#xff0c;创业板指冲高回落&#xff0c;市场热点继续轮动。华为鸿蒙概念股继续活跃&#…

Leetcode刷题详解—— 图像渲染

1. 题目链接&#xff1a;733. 图像渲染 2. 题目描述&#xff1a; 有一幅以 m x n 的二维整数数组表示的图画 image &#xff0c;其中 image[i][j] 表示该图画的像素值大小。 你也被给予三个整数 sr , sc 和 newColor 。你应该从像素 image[sr][sc] 开始对图像进行 上色填充 。…

计算机组成原理——指令系统题库1-20

1、以下有关指令系统的说法中错误的是什么。 A、 指令系统是一台机器硬件能执行的指令全体 B、 任何程序运行前都要先转化为机器语言 C、 指令系统是计算机软件、硬件的界面 D、 指令系统和机器语言是无关的。 2、在CPU执行指令的过程中&#xff0c;指令的地址由什么给出。…

计算机缺失vcruntime140.dll如何修复?超简单的5个解决方法

在我们日常使用电脑的过程中&#xff0c;可能会遇到各种各样的问题和错误提示。其中&#xff0c;一个比较常见的错误提示就是“vcruntime140.dll丢失”。这个错误通常发生在我们尝试运行某个程序或应用时&#xff0c;系统无法找到或加载所需的vcruntime140.dll文件。 vcruntime…

又卷又累,救救一个将被随机拖死的程序员!

前两天在小红书上看到有人吐槽&#xff1a;“国内做程序员性价比不高&#xff0c;又卷又累&#xff0c;个人时间都被拖死了。” 现在普遍来讲&#xff0c;“卷”都是打工人的现状。 而至于国内程序员性价比不高的话&#xff0c;确实是肉少僧多。工作强度一加持&#xff0c;累自…

3D Gaussian Splatting文件的压缩【3D高斯泼溅】

在上一篇文章中&#xff0c;我开始研究高斯泼溅&#xff08;3DGS&#xff1a;3D Gaussian Splatting&#xff09;。 它的问题之一是数据集并不小。 渲染图看起来不错。 但“自行车”、“卡车”、“花园”数据集分别是一个 1.42GB、0.59GB、1.35GB 的 PLY 文件。 它们几乎按原样…

c++之xml的创建,增删改查

c之xml的创建&#xff0c;增删改查 1.创建写入2.添加3.删除4.修改&#xff1a; 1.创建写入 #include <stdio.h> #include <typeinfo> #include "F:/EDGE/tinyxml/tinyxml.h" #include <iostream> #include <string> #include <Winsock2.…

Pytorch多GPU并行训练: DistributedDataParallel

1 模型并行化训练 1.1 为什么要并行训练 在训练大型数据集或者很大的模型时一块GPU很难放下&#xff0c;例如最初的AlexNet就是在两块GPU上计算的。并行计算一般采取两个策略&#xff1a;一个是模型并行&#xff0c;一个是数据并行。左图中是将模型的不同部分放在不同GPU上进…

2023年最新前端面试题汇总大全(含答案超详细,HTML,JS,CSS汇总篇)-- 持续更新

专项练习–持续更新 HTML篇CSS篇JS篇Vue篇TypeScript篇React篇微信小程序篇前端面试题汇总大全二&#xff08;含答案超详细&#xff0c;Vue&#xff0c;TypeScript&#xff0c;React&#xff0c;微信小程序&#xff0c;Webpack 汇总篇&#xff09;-- 持续更新 前端面试题汇总大…

微信昵称后面的“小耳朵”是干什么用的?

微信&#xff0c;一款我们日常使用频繁的社交软件&#xff0c;它的功能远不止于聊天、刷朋友圈、支付和刷视频。其实&#xff0c;微信的许多不常用功能可以解决我们的实际问题。 聊天时&#xff0c;我发现朋友微信昵称后面多了一个神秘的小耳朵图标&#xff0c;引发了我的好奇心…

PHP使用文件缓存实现html静态化

<?php // 动态生成的内容 $content "<html><body><h1>time:".date("Y-m-d H:i:s")."</h1></body></html>"; // 静态文件保存路径和文件名 $staticFilePath "file.html"; if(file_exists($s…

工具及方法 - 手机扫条码工具: SCANDIT APP

一般扫个链接使用微信扫一扫即可。扫具体条码&#xff0c;可以在微信里搜索小程序&#xff0c;打开也能扫&#xff0c;得到条码内容。 还有其他方式&#xff0c;比如使用淘宝、百度等APP也可以直接扫码条码&#xff0c;还能得到更多的信息。 使用百度的话&#xff0c;不扫条码…

Android实验:Activity界面基础

目录 前言实验目的实验内容实验要求代码实现mainActivityResultActivityactivity_mainactivity_result 结果展示 前言 我们都知道&#xff0c;activity是Android中最重要的组件之一&#xff0c;关于activity的具体内容在这里就不多赘述&#xff0c;主打的就是一个主次分明&…

使用 PYTORCH 进行图像风格迁移

一、介绍 本教程介绍如何实现 由 Leon A. Gatys、Alexander S. Ecker 和 Matthias Bethge 开发的神经风格算法。神经风格或神经传输允许您拍摄图像并以新的艺术风格再现它。该算法采用三幅图像&#xff0c;即输入图像、内容图像和风格图像&#xff0c;并将输入更改为类似于内容…