近期,火绒威胁情报中心监测到一款通过改名为USB Disk来欺骗用户执行的蠕虫病毒正在传播,火绒安全工程师第一时间提取样本进行分析。分析过程中发现该程序在后台自动感染每个插入的可移动磁盘,并将原文件移动到一个隐藏文件夹中。随后,程序创建一个名为“USB Disk.exe”的文件,诱导用户点击以执行病毒程序。同时,程序还会启动后门进程,试图控制用户主机成为自己的肉鸡。目前,火绒安全产品可对上述病毒进行拦截查杀,请广大用户及时更新病毒库以提高防御能力。
![Image-0.png](https://cdn-www.huorong.cn/d/file/2024-07-03/2fbf90f380ab8721af535358ca937f49.png)
火绒6.0查杀图
样本执行流程图如下所示:
![Image-1.png](https://cdn-www.huorong.cn/d/file/2024-07-03/4ea0f77d43a4b5437c5093dba7ad8473.png)
流程图
在此,火绒工程师提醒大家对来历不明的文件应保持警惕,同时安装可靠的安全软件保护设备免受恶意软件和病毒的侵害。目前,火绒6.0已正式上线,综合用户的实际场景、使用感受和建议等多个方面,在形式、功能和操作等方面均进行了改进与创新,升级反病毒引擎等核心技术,精细化病毒查杀设置,增加更多威胁检测点,为“杀、防、管、控”增强壁垒。欢迎大家前往火绒官方网站下载体验。
一、样本分析
分析得出该病毒通过多个模块协同工作,通过白加黑的手段,具备较强的隐蔽性。其包含U盘传播、虚拟机检测、自启动设置、文件管理和CMD后门等多种恶意行为。
其中白文件是wwntray.exe(第二启动器)、Transfer.exe(蠕虫启动器)、Permissions.exe(后门启动器),它们主要是通过调用dll导出函数的方式执行恶意代码。
样本USB Disk.exe在刚被制作出来时并不能完整运行,因为需要满足多种条件才可执行,所以需要通过transfer.exe启动蠕虫并感染第一个可移动磁盘,从而“帮助”它满足条件才可以真正开始传播。
传播的方式是将USB Disk.exe放入到可移动磁盘中的根目录下,同目录下其他六个文件放入到可移动磁盘的隐藏目录中。之后在其他主机上使用该可移动硬盘并运行USB Disk.exe时,总启动器USB Disk.exe就会执行同目录下病毒文件夹中的wwntray.exe实现从可移动磁盘逆感染主机的操作,此时被感染的主机就会在后台执行蠕虫模块和后门模块,使每一个插入该主机的可移动磁盘都会被感染,重复第一次transfer.exe完成的操作。
初始化
病毒在运行蠕虫模块和后门模块前会进行一系列检查、持久化设置、删除部分文件等操作。
样本会在感染U盘时,将程序改名为USB Disk.exe,以诱导用户点击并执行。所以当USB Disk.exe程序在用户的U盘中出现时,意味着该U盘可能已被该病毒感染。
USB Disk.exe
该程序首先通过GetModuleFileName检查当前目录是否为盘符的根目录,如果不是,则结束运行。
随后,通过CreateProcess启动explorer.exe,参数为藏有U盘原文件的目录,此操作的主要目的是打开并展示受害者U盘中的原始文件,从而试图让受害者误以为自己仅仅是打开了USB Disk文件夹而不是病毒。
![Image-2.png](https://cdn-www.huorong.cn/d/file/2024-07-03/293fcb7f6e5ab27819d0c80c8868c13d.png)
打开原始文件目录
![Image-3.png](https://cdn-www.huorong.cn/d/file/2024-07-03/7e0994f05ecb23f57526789287ec6e91.png)
U 盘中原始文件目录
接着通过传入字符串参数"(C:)"来寻找磁盘根目录窗口并发送关闭窗口指令,目的是为了让受害者感受到打开的就是一个普通的文件夹。
![Image-4.png](https://cdn-www.huorong.cn/d/file/2024-07-03/78bd84ef4d366f36c5c3b8a9f1a155b2.png)
关闭磁盘根目录窗口
并通过OpenEvent参数ConfigurantionDebug4防止程序多开wwnotray.exe,随后执行wwnotray.exe,参数为-debug。
![Image-5.png](https://cdn-www.huorong.cn/d/file/2024-07-03/d15910096a1d2a35a623e8ef162bc1a7.png)
执行 wwnotray.exe
wwnotray.exe
wwnotray.exe加载wweb32.dll并执行该dll导出表中的ShowModalWordWebWEx函数,该函数包括持久化操作、执行蠕虫和后门模块等功能。
![Image-6.png](https://cdn-www.huorong.cn/d/file/2024-07-03/f641672fac3600152d6c45c0c82d7d51.png)
执行 ShowModalWordWebWEx 函数
程序首先通过CreateEvent检测事件是否已经存在来防止多开。
![Image-7.png](https://cdn-www.huorong.cn/d/file/2024-07-03/34f31959a9a12ce353d17295ace2e79d.png)
防止多开
动态获取函数地址:
![Image-8.png](https://cdn-www.huorong.cn/d/file/2024-07-03/28e1e7b7ec1551b24a8f1ff74c7be984.png)
动态获取函数地址
动态获取函数地址方法如下,主要原理是通过比对函数名Hash值来获取函数地址。
![Image-9.png](https://cdn-www.huorong.cn/d/file/2024-07-03/9831751441e45918bee240ecd5e18315.png)
获取 Windows API 函数地址函数
其执行时会判断参数是否为-debug,以及路径中是否包含$WinUpdate,否则直接结束进程。
![Image-10.png](https://cdn-www.huorong.cn/d/file/2024-07-03/d82900294e51fbb778aa352e9bd6e87c.png)
判断逻辑
随后样本开始删除文件C:usersPublicGBPRSMBALWaveEditor.exe和C:usersPublicGBPRSMBALWaveeditNero.exe,根据相关样本推测,这可能是老版本病毒文件名,进行清除。
![Image-11.png](https://cdn-www.huorong.cn/d/file/2024-07-03/1a38359c8a642e2a439b581afd419243.png)
删除文件
![Image-12.png](https://cdn-www.huorong.cn/d/file/2024-07-03/3702733cbef464902868d60ad678e2be.png)
删除路径列表
还会删除目录,推测可能也是清除老版本的操作。
![Image-13.png](https://cdn-www.huorong.cn/d/file/2024-07-03/9c1a19c8ec03e3ed6fe6949aab207726.png)
删除目录
![Image-14.png](https://cdn-www.huorong.cn/d/file/2024-07-03/aae0123252ef9f91a84ece9181c729f9.png)
删除目录列表
删除目录的操作是通过cmd命令加上参数/c rd/s/q来完成的。
![Image-15.png](https://cdn-www.huorong.cn/d/file/2024-07-03/02cb595ca824acda761a684d174700c4.png)
CMD 实现删除
通过reg.exe add设置注册表实现蠕虫模块和后门模块的自启动。
其中设置蠕虫模块为自启动的参数为add HKCUSoftwareMicrosoftWindowsCurrentVersionRun /v "Microsoft Usb" /d "C:UsersPublicGBPAGVMCZTransfer.exe -Install" /f
![Image-16.png](https://cdn-www.huorong.cn/d/file/2024-07-03/c943785364533a4a18b59b90fab13c63.png)
设置自启动
创建存放病毒文件的文件夹"C:UsersPublicGBPUXQLQU",并设置为隐藏文件和系统文件。
![Image-17.png](https://cdn-www.huorong.cn/d/file/2024-07-03/62e91c2cf6213fd3066d49178077feee.png)
创建病毒文件夹
并把病毒文件复制到该文件夹中,附加参数执行,用于执行蠕虫和后门模块。
![Image-18.png](https://cdn-www.huorong.cn/d/file/2024-07-03/24a0c9f5c215ae16c8abbea4aa939fa7.png)
复制后执行蠕虫和后门模块
蠕虫模块
该模块的主要功能是将病毒文件复制到可移动磁盘中,并将可移动磁盘中的文件移动到隐藏文件夹中。最终,它会遍历D盘到L盘中的所有可移动磁盘。
下图是感染后U盘文件结构,可以看出除USB Disk以外均被隐藏。
![Image-19.png](https://cdn-www.huorong.cn/d/file/2024-07-03/214a11879837355b583afc42adb576bf.png)
U 盘根目录
Transfer.exe加载drivespan.dll并执行函数run执行蠕虫函数。
![Image-20.png](https://cdn-www.huorong.cn/d/file/2024-07-03/c75d397492107955ae2eecaec73e2956.png)
执行蠕虫函数
创建事件drivespan4_以防程序多开。
![Image-21.png](https://cdn-www.huorong.cn/d/file/2024-07-03/bbd414875ba062c48d79488a9222c43e.png)
创建事件
该模块也会动态获取函数地址并填充结构体。
![Image-22.png](https://cdn-www.huorong.cn/d/file/2024-07-03/9afac7ad52ec1e4b34115fc5fe8fc53b.png)
动态获取函数地址
判断参数是否为Install、判断是否已经有事件防止双开、判断当前盘符是不是可移动磁盘,满足以上所有条件才会开始传播,最后会遍历D盘到L盘中所有可移动磁盘。
![Image-23.png](https://cdn-www.huorong.cn/d/file/2024-07-03/c71d891e31d72354987e139b07febddc.png)
遍历传播逻辑
获取USB Disk名,如果有剩余空间就会填入剩余空间(GB为单位)。
![Image-24.png](https://cdn-www.huorong.cn/d/file/2024-07-03/87956b9e699f5b345a0d10d32ccded0a.png)
获取 USB Disk 名字
之后判断是否需要更新,接着创建一个没有名称的文件夹,并将其设置为隐藏和系统文件。需要注意的是,由于该程序会删除U盘根目录下的exe文件,因此这些文件将永久丢失。
![Image-25.png](https://cdn-www.huorong.cn/d/file/2024-07-03/15ac02ded95f48468edffdaadb1a335b.png)
创建文件夹并设置
样本会把全部病毒文件复制到可移动盘中,然后将DAQDeviceControl.exe复制到U盘并重命名为USB Disk.exe,同时修改该文件的version字段为4,并进行标记。接着,将所有可移动盘中的内容移动到一个隐藏文件夹中,使受害者只能通过运行这个USB Disk.exe文件来访问内容。
![Image-26.png](https://cdn-www.huorong.cn/d/file/2024-07-03/e6eac3c163fa408870023f1cf4ea9d49.png)
感染可移动盘符
后门模块
其主要功能包括搜集主机信息,文件管理和CMD远程执行以及循环发送心跳包以保持连接。该后门功能虽然较少,但是控制端可以通过CMD远程执行任意命令来完全控制被植入后门的主机。
Permission.exe加载RBGUIFramework.dll 并执行函数MainExport执行后门函数。
![Image-27.png](https://cdn-www.huorong.cn/d/file/2024-07-03/50c4ad4c2d3ecd110fc78541494cd1f3.png)
执行后门函数
后门模块通过接收的远程服务器的控制码,执行相应的恶意操作。
![Image-28.png](https://cdn-www.huorong.cn/d/file/2024-07-03/9585cd947f0733c805b7b63ab10ba765.png)
接收远程服务器指令
第一个远程命令——搜集主机数据:包括获取计算机名、用户名和系统架构等,可能用于标记受害者。
![Image-29.png](https://cdn-www.huorong.cn/d/file/2024-07-03/170bf99293846263f4df02c56267269d.png)
搜集主机数据
第二个命令——创建绑定管道的cmd进程以便远程执行命令。
![Image-30.png](https://cdn-www.huorong.cn/d/file/2024-07-03/4faf4cc42a1d4b2db84f56d97f790ace.png)
创建管道
同时通过创建线程循环读取管道数据并发送到服务器,用于回显。
![Image-31.png](https://cdn-www.huorong.cn/d/file/2024-07-03/e7fd53e10e4e0312b6c395281c1f1363.png)
读取管道内容并发送
第三个命令——接收并通过CMD管道执行远程服务器的指令。
![Image-32.png](https://cdn-www.huorong.cn/d/file/2024-07-03/afaa6ab39c172613a6f039139ec80350.png)
接收并执行CMD指令
第四个命令——创建文件并把句柄保存到结构体中。
![Image-33.png](https://cdn-www.huorong.cn/d/file/2024-07-03/0eb01c63758061d4fa2ef74f53619c89.png)
创建文件
第五个命令——写文件,通过上面创建的句柄写入数据。
![Image-34.png](https://cdn-www.huorong.cn/d/file/2024-07-03/e423b87e2a86df627ed9a7781fb51485.png)
写入文件
第六个命令——删除文件:
![Image-35.png](https://cdn-www.huorong.cn/d/file/2024-07-03/78cbe675e30564f473589d60c84682e7.png)
删除文件
此外,后门模块会在开始接收指令前会创建线程,循环发送心跳包,用于检测客户端是否存活,以保持长连接。
![Image-36.png](https://cdn-www.huorong.cn/d/file/2024-07-03/ce537609bcac5b39e105f7429f3df61b.png)
发送心跳包
虚拟机检测
USB Disk.exe还包含一个虚拟机检测函数,目前尚未发现调用该函数的地方。该函数通过获取资源编号103、105和106,主要是解密出检测虚拟机的vmdetect.exe和执行该exe的代码。
首先获取编号为103的资源,即vmdetect.exe,用于检测虚拟机环境。
![Image-37.png](https://cdn-www.huorong.cn/d/file/2024-07-03/51bc88fc15ca35d36ace23975247d004.png)
创建vmdetect.exe
然后获取105号资源,这是mspdbst.dll,加上偏移0x206000返回。
![Image-38.png](https://cdn-www.huorong.cn/d/file/2024-07-03/554f014a7255e7b047548bab440c2ff0.png)
获取mspdbst.dll
之后获取106号资源,这是被加密的真正调用vmdetect.exe的函数,会写入到mspdbst.dll偏移0x206000位置并执行,最终获取返回值,以此来判断是不是虚拟机。
![Image-39.png](https://cdn-www.huorong.cn/d/file/2024-07-03/55fa49b3ac0c6f4cce2be02b10aa2bdd.png)
获取106号资源
资源都是被加密的,会通过秘钥异或解密,具体解密如下。
![Image-40.png](https://cdn-www.huorong.cn/d/file/2024-07-03/c8acc2a68a0735e00a4ca47965a12cfb.png)
解密函数
执行vmdetect.exe。
![Image-41.png](https://cdn-www.huorong.cn/d/file/2024-07-03/e9319b91c5366b2ee97d0cf74d2d5243.png)
执行vmdetect.exe
最后会通过调用这段代码来执行vmdetect.exe之后获取返回值来判断是不是虚拟机。
![Image-42.png](https://cdn-www.huorong.cn/d/file/2024-07-03/a218bf9894b911772b4f9f634a5cf73d.png)
执行vmdetect.exe代码
vmdetect.exe其中一个检测VirtualBox的原理如下,主要是通过动态链接库、设备、注册表来判断是不是VirtualBox。
![Image-43.png](https://cdn-www.huorong.cn/d/file/2024-07-03/52a5cb5eeb6f37dfb23ecd81014cf40d.png)
检测虚拟机
二、附录
C&C:
![Image-44.png](https://cdn-www.huorong.cn/d/file/2024-07-03/e53ff4d7276edbcdbea782d4998472c4.png)
HASH:
![Image-45.png](https://cdn-www.huorong.cn/d/file/2024-07-03/758da1fd31e71e54904f7df091285ceb.png)