Phorpiex家族蠕虫病毒DeviceConfigManager.exe分析

前言

这个病毒采用了ShellCode、进程替换、虚拟机检测等手段对抗分析,主要行为有感染可移动磁盘和网络驱动器、替换剪切板中的加密货币地址和远程投放可执行文件等,尝试连接的远程主机有约271个,属于Phorpiex家族。

搜索相关线索,该样本经常更新,最早可追溯到2014年(火绒情报),而本次获得的样本约在2020年以后传播。

样本来源:求助,U盘病毒杀不掉

感染流程分析

根据帖子中内容得知,这些文件是从U盘中提取的,根目录下有两个文件,一个是快捷方式,另一个是vbs脚本文件。通常来说,vbs文件是隐藏的,下面来观察一下快捷方式:

image-20240723225914128

指向了根目录下的vbs文件,vbs文件内容如下:

image-20240723231329262

可以看到,该vbs文件首先关闭了根目录文件夹,随后打开了根目录下名为_的文件夹(它通常是隐藏的),最后在主机上运行了位于_文件夹中的DeviceConfigManager.exe

至此感染了接入U盘的主机。

模拟感染

这里使用Sandboxie来模拟主机和U盘的感染。

首先,插入U盘,并于沙盒中运行DeviceConfigManager.vbs,模拟插入U盘后打开快捷方式。

进程树

进程树如下:

image-20240723233343630

可以观察到,DeviceConfigManager.exe启动了系统目录下的一个名为windrv.exe的文件,并结束了自身,此后一直都是windrv.exe在起作用。

文件列表

文件列表如下:

image-20240723233352426

系统目录下“M-505060628465802658027468240850274052804608240850”中的windrv.exe与DeviceConfigManager.exe的校验值相同,可判断复制自身:

image-20240724000210080

U盘感染后目录(未显示隐藏文件):

image-20240724001019784

两个0KB文件可能是沙盒问题,在真机环境中不会出现。用户在感染后会双击根目录中唯一的快捷方式,随后会打开存储原文件的目录,同时也会运行恶意文件,使接入U盘的计算机感染。

病毒分析

第一步:ShellCode加载

该病毒采用的技术手段主要是ShellCode加载和进程替换,还有一些反静态分析和反沙箱手段,例如垃圾代码和延迟等:

image-20240729140555565

image-20240729140624429

随后是解密文件中加密的ShellCode,并将其加载到内存中,之后跳转到解密代码处:

image-20240729140810595

第二步:进程替换

这段ShellCode主要执行了替换自身进程的操作:

image-20240729144434291

通过PEB找到kernel32.dll,并通过它的导出表定位到所需函数地址:

image-20240729144653585

进程替换,包括PE头的复制,各区段的复制:

image-20240729150444397

导入函数加载:

image-20240729150514363

完成以上步骤后,跳到主模块中的一个函数,而此时的主模块已经是被替换的了。

image-20240729151014355

第三步:恶意软件主体

反虚拟机和防止多开:

image-20240729160429736

is_vm函数通过查询驱动器名称检测虚拟机:

image-20240729160405026

持久化

主体中的持久化操作,主要是将自身复制到M-505060628465802658027468240850274052804608240850文件夹中名为windrv.exe(具有系统和隐藏属性),该文件夹多数被创建在系统文件夹下,随后是添加了开机自启,修改了防火墙和WindowsDefender等。

尝试在%windir%、%userprofile%、%temp%任一目录创建文件夹M-505060628465802658027468240850274052804608240850,并将自身复制到其中。按顺序逐个尝试,若有一个复制成功则停止下面的尝试:

image-20240729160452848

设置只读、隐藏、系统属性:

image-20240729160726950

开机自启:

image-20240729160740190

修改防火墙策略:

image-20240729160925336

关闭WindowsDefender:

image-20240729160950914

以上操作完成后,恶意软件创建了三个线程:

image-20240729161242584

它们分别用于感染新插入的可移动驱动器和网络驱动器,劫持剪切板中的虚拟货币地址,和连接远程服务器的远控。

感染驱动器

判断驱动器类型,可移动设备或网络驱动器才可感染,并且盘符不为a或b或c

image-20240729161826123

部分变量:

image-20240729162044462

DeviceConfigManager.vbs的写入,并设置只读、系统、隐藏的属性:

image-20240729161934034

autorun.inf文件,试图利用Windows的自动播放来自动运行DeviceConfigManager.exe:

image-20240729162137178

根目录下创建快捷方式:

image-20240729163549698

这个a3是网络驱动器的标志,如果是网络驱动器,a3会设置为1。

创建存放驱动器中原文件的文件夹,并设置隐藏、系统、只读的属性:

image-20240729163611634

判断驱动器中恶意程序的大小,如果和自己的不一致就将驱动器中的移除:

image-20240729163649831

获取自身大小(InfectDrives函数中):

image-20240729163726043

复制恶意程序到驱动器中:

image-20240729163800869

完成以上操作后,开始遍历根目录文件

删除根目录下特定后缀名的文件:

image-20240729163940151

删除的后缀名有:.lnk .vbs .bat .js .scr .com .jse .cmd .pif .jar .dll,同时排除了自身释放的一些文件的名称。

复制剩余文件和文件夹到下划线目录中,移除下划线目录和根目录都存在的文件或文件夹:

image-20240729164220659

劫持剪切板

HijackClipboard函数实现了剪切板的检测,包括检测到特定特征的字符串就会将其内容替换为程序中的加密货币地址,相关判断如下:

image-20240729165035677

替换如下:

image-20240729165103852

最后实现对内容的替换:

image-20240729165110328

货币地址:

image-20240729165330044

连接远程服务器

该恶意程序内含约271个连接地址,端口皆为5050,循环连接直至连接成功:

image-20240729170113912

部分连接地址:

image-20240729170249008

该远控实现内容较为基础,多数为信息获取,最为重要的是,存在一个远程下载可执行文件并执行的函数。

远程自毁:

image-20240729170516769

信息获取:

image-20240729170619064

image-20240729170717011

image-20240729170725553

远程投放可执行文件

选定临时目录,文件名随机:

image-20240729170901571

从接收到的连接获取文件,下载并执行:

image-20240729170930741

以上是该恶意文件的主要行为。

后记:该样本时间的确定

image-20240729173338963

该样本的编译时间戳显然是不可信的,但根据其中存在的域名可大致推断,该样本于2020年以后传播。

image-20240729173253187

拓展:如何dump出进程替换后的程序?

以该程序为例,动态分析进程替换操作完全完成后,需要如下设置Scylla:

image-20240729151445348

将其中的从磁盘中获取PE头的选项取消勾选,因为进程替换后的PE头是与原程序不一样的,如果使用这个磁盘中的PE头,区段等信息与内存中的不一致,会导致dump出来的文件异常,不能运行,对静态分析也会造成一定影响。

OEP填写第二步中最后即将跳转到的地址,随后正常dump及修复IAT即可。

image-20240729151725077

恶意文件哈希

SHA256
d03485b7195f0c422c26aab2c84de814f0f913ac45ec4872018e3c7760fb97a3

参考资料

SendKeys 语句 (VBA) | Microsoft Learn

WinNT.h (文件属性常量 - Win32 apps | Microsoft Learn

PEB结构:获取模块kernel32基址技术及原理分析-软件逆向-看雪-安全社区|安全招聘|kanxue.com

黑客利用病毒挖门罗币 已获利60余万-技术文章-火绒安全 (huorong.cn)