-
-
[原创]反向代理加持!虚假OpenClaw安装包成新一代高危窃密木马
-
发表于: 8小时前 98
-
近期,火绒威胁情报中心监测发现,虚假的OpenClaw安装包正借助Github进行传播。该安装包本质为下载器,会依照云控下发的配置,下载并依次执行五类恶意程序,其中涵盖多种窃密木马、SOCKS5反向代理及下载器等恶意程序。其中,窃密木马可通过云控配置或样本内置逻辑,对“下载”“文档”目录以及Discord、Telegram、Steam等应用中的数据加以收集,并上传至远控服务器以实施窃取。在执行过程中,样本还会结合鼠标行为、用户名、分辨率等环境特征开展虚拟机或沙箱检测,以达成规避分析和免杀的目的。目前,火绒安全产品可对上述病毒进行拦截查杀。

此前已出现过恶意项目openclaw-installer,当时其所属组织名为install-openclaw,目前该组织已被封禁,无法访问。随后,又出现了一个新的组织openclaw-installer,其下项目名称同样为openclaw-installer。其Releases中提供的内容与此前一致,本质上仍属于下载器。


一、样本分析
流程图如下:

文件构成如下:其中OpenClaw_x64.exe是主程序,同时也是检测器和下载器,会继续下载另外6个病毒文件。其中javavidserv.exe、svc_service.exe、claudclaw.exe都属于窃密木马,只是实现方式和具体窃密逻辑略有不同。WinHealhCare.exe与OneSync.exe的行为和 OpenClaw_x64.exe较接近,也会主动获取云控配置,并从中取出下载链接继续下载其他载荷,本质上也是下载器。onedrive_sync.exe是SOCKS5反向代理,一般用于隐藏攻击者IP。

1.1 OpenClaw_x64.exe(下载器)
该下载器会利用多种检测方式试图防止沙箱和虚拟机中运行该病毒,下方是因检测到Vmware虚拟机中Vmtools软件进程vmtoolsd.exe,从而直接终止进程的日志,其中可以发现有检测鼠标移动、可疑用户名、黑名单进程等,同时可以看到日志中有120分之类的语句,此分数可认为是危险值,若危险值超过一定分数则会退出进程。
[GUI] Starting GUI window... [MOUSE] Waiting for 12 mouse movements (timeout: 30s)... [MOUSE] Movement #1: (457, 310) [MOUSE] Movement #2: (467, 343) [MOUSE] Movement #3: (471, 360) [MOUSE] Movement #4: (473, 372) [MOUSE] Movement #5: (469, 381) [MOUSE] Movement #6: (461, 394) [MOUSE] Movement #7: (456, 399) [MOUSE] Movement #8: (454, 400) [MOUSE] Movement #9: (454, 382) [MOUSE] Movement #10: (454, 344) [MOUSE] Movement #11: (458, 315) [MOUSE] Movement #12: (460, 303) [MOUSE] ✓ Detected 12 movements - continuing [DEBUG] Starting NEW context-aware bot detection system... [DEBUG] RDP Session: false [DEBUG] Threshold: 120 points [Security] Suspicious username detected: Administrator (10pts) [TIER0] Checking for blacklisted processes... [TIER0] Critical: Blacklisted process detected: vmtoolsd.exe [DEBUG] TIER 0 critical indicator detected - immediate block ╔════════════════════════════════════════════════════════════╗ ║ BOT DETECTION DETAILED REPORT ║ ╚════════════════════════════════════════════════════════════╝ Session Type: Local Critical Indicator: YES (auto-block) ┌────────────────────────────────────────────────────────────┐ │ ⚠️ TIER 0 - CRITICAL INDICATORS (instant ban) │ └────────────────────────────────────────────────────────────┘ [+100] TIER0: Blacklisted process 'vmtoolsd.exe' ┌────────────────────────────────────────────────────────────┐ │ ➕ ADDITIONAL CHECKS │ └────────────────────────────────────────────────────────────┘ [ +10] Suspicious username 'Administrator' ┌────────────────────────────────────────────────────────────┐ │ FINAL DECISION │ └────────────────────────────────────────────────────────────┘ Total Score: 110 points Threshold: 120 points (Local mode) ╔══════════════════════════════════════════════════════╗ ║ RESULT: ❌ BOT/SANDBOX DETECTED - BLOCKING ║ ╚══════════════════════════════════════════════════════╝ ════════════════════════════════════════════════════════════
此外还有其他许多检测方式,下面会选择出部分检测方式进行介绍。

1.1.1 检测模块
1.1.1.1 检测鼠标移动
通过循环调用GetCursorPos API获取当前鼠标坐标,其中检测到前后两次鼠标坐标发生变化时,即认为发生一次鼠标移动。如果在30秒内检测到的鼠标移动次数不足12次,则程序判定当前环境可能为自动化或沙箱环境,并主动退出进程。

1.1.1.2 设置危险值
样本读取注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000 项中的 DriverDesc值,并通过与hyper-v、vmware、virtualbox、qemu、parallels进行对比,若存在则会直接设置危险值为120,若不存在则会检查是否为RDP远程桌面,若是RDP远程桌面则给予160,若不是则给予120,其中危险值为最大容忍值,后续会利用检测系统信息时出现敏感信息则会进行加分,一旦加分超过至危险值则会退出进程。

1.1.1.3 检测黑名单用户名
malware virus sandbox sand box wdagutilityaccount bruno maltest currentuser jz dekker Janet Van Dyne Harry Johnson tim John sample
通过GetEnvironmentVariableW API获取USERNAME的值,并与上述黑名单用户名列表进行比对,只要包含则会直接退出进程。

1.1.1.4 检测沙箱模块
cuckoomon.dll SbieDll.dll SxIn.dll cmdvrt32.dll cmdvrt64.dll
利用GetModuleHandleA API获取上述沙箱相关模块名的基址,若存在则会直接退出进程。

1.1.1.5 检测IP与MAC地址
利用ipconfig程序获取IP信息,并检查是否包含10.0.2.15字符串,从而判断是否为VirtualBox虚拟机,危险值为90分。

还会利用`getmac /FO OCS /NH`指令获取以CSV格式输出当前机器的MAC地址等网络适配器信息,随后会检查MAC地址中是否有以下字符串,从而规避虚拟机。
08:00:27 00:15:5D 52:54:00 00:23:45

1.1.1.6 检测分辨率
800 × 600 1024 × 768 1280 × 720 1280 × 1024 1280 × 1200 1400 × 1050
通过GetSystemMetrics检查是否与上述非常规屏幕分辨率一致,若一致,则会退出进程。

1.1.1.7 检测进程
ollydbg.exe x32dbg.exe x64dbg.exe windbg.exe ida.exe ida64.exe processhacker.exe procexp.exe procexp64.exe wireshark.exe fiddler.exe charles.exe sandboxie.exe vmtoolsd.exe vmwaretray.exe vmwareuser.exe vboxservice.exe vboxtray.exe
通过CreateToolhelp32Snapshot与Process32First遍历进程并与上述进程名(调试器、虚拟机工具、沙箱、系统工具)进行对比,若一致则会设置退出进程。

1.1.1.8 检测主机名
Wasp DESK-IVRUUH4Y14 MARS AMAZING-AVOCADO Oeslmdig Bkismujm Cgpslqmr Dhrtnpns Ekuuoqot Flvvprpu Gmwwqsqv Hnxxrtrw Ioyysssx Jpzzttty Kqaauuuz Lrbbvvva Msccwwwb Ntddxxxc Oueeyyyd Pvffzzze
获取环境变量COMPUTERNAME,与上述黑名单主机名进行对比,若一致则会设置退出。

还会检查USERNAME(用户名)为admin且COMPUTERNAME(主机名)为`[A-Z][a-z]{7}`形式时会将危险值增加90分。

1.1.2 下载模块
通过一系列检测后会进入下载阶段,该阶段先通过异或算法将主链接 dd8K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5i4y4@1k6h3u0A6L8W2)9J5k6h3y4G2L8g2)9J5c8Y4u0S2N6#2)9J5c8X3#2U0N6#2N6A6x3g2g2W2i4@1f1@1i4@1t1^5i4K6S2q4i4@1f1#2i4@1p5@1i4K6R3%4i4@1f1%4i4K6V1@1i4@1p5^5i4@1f1&6i4K6V1K6i4@1u0q4i4@1f1$3i4K6S2q4i4@1p5#2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6L8X3W2H3M7r3g2@1i4K6u0W2K9r3!0K6N6q4)9J5c8X3g2X3k6%4g2Z5K9#2)9J5c8Y4u0S2N6#2!0q4z5q4!0m8y4#2!0m8x3#2!0q4y4g2!0m8c8W2)9^5y4W2!0q4y4g2)9^5y4#2!0n7b7g2!0q4y4W2)9&6c8q4!0m8y4g2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4g2)9^5y4g2!0n7y4W2!0q4y4q4!0n7z5q4!0m8c8q4!0q4y4g2!0m8c8W2)9^5y4W2!0q4z5g2)9&6x3W2!0m8y4g2!0q4y4q4!0n7z5q4!0n7b7i4S2F1j5i4y4X3k6U0y4%4j5$3g2V1K9W2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4q4!0n7z5q4)9^5b7W2!0q4y4g2)9&6b7W2!0n7c8g2!0q4y4q4!0n7z5q4!0n7b7g2!0q4y4g2)9^5z5q4!0m8z5g2!0q4y4#2)9&6y4q4!0m8z5q4m8&6N6r3S2G2L8W2!0q4z5q4!0m8c8W2!0m8c8q4!0q4z5q4!0m8z5q4)9^5x3q4!0q4y4g2!0m8c8g2)9&6c8g2!0q4y4#2)9^5c8g2!0n7x3q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4g2!0m8c8W2!0n7z5g2!0q4y4g2!0n7b7g2)9&6y4q4!0q4y4g2!0n7b7#2)9^5x3W2!0q4y4W2)9^5z5q4)9&6y4W2!0q4y4#2!0m8c8g2)9&6y4#2!0q4y4W2!0n7x3#2)9&6y4g2!0q4y4q4!0n7b7W2!0m8x3#2!0q4y4#2!0m8x3q4)9^5x3g2!0q4x3#2)9^5x3q4)9^5x3R3`.`.

随后,通过GET请求获取主链接返回的信息,经查看可知为一系列下载列表,随后将利用换行回车符对其进行分割。

下载的文件本身是带密码的压缩包,解压密码需要程序从线上获取。主链接为 770K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5i4y4@1k6h3u0A6L8W2)9J5k6h3y4G2L8g2)9J5c8Y4u0S2N6#2)9J5c8V1@1$3d9%4c8Z5b7e0g2K9i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1#2i4@1p5@1i4K6R3%4i4@1f1%4i4K6V1@1i4@1p5^5i4@1f1&6i4K6V1K6i4@1u0q4i4@1f1$3i4K6S2q4i4@1p5#2i4@1f1@1i4@1t1^5i4@1u0m8K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6L8X3W2H3M7r3g2@1i4K6u0W2K9r3!0K6N6q4)9J5c8Y4g2A6K9$3!0K6P5q4)9J5c8Y4u0S2N6#2!0q4x3#2)9^5x3q4)9^5x3W2!0q4y4g2)9^5z5q4)9^5y4W2!0q4y4W2)9&6c8g2)9&6x3q4!0q4y4W2)9&6y4#2!0n7y4W2!0q4z5q4)9^5c8g2!0n7y4#2!0q4y4g2)9^5c8W2)9&6y4W2!0q4y4g2)9^5z5q4!0n7x3q4!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4g2!0m8c8W2)9^5y4W2!0q4y4#2!0m8x3q4)9^5x3g2!0q4y4q4!0n7z5q4!0n7b7e0S2f1c8r3D9J5c8V1u0K6d9@1M7#2g2f1^5J5e0V1&6U0x3%4m8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0S2Q4z5p5u0Q4b7e0g2Q4c8e0k6Q4z5e0N6Q4b7e0m8Q4c8e0k6Q4b7U0y4Q4z5e0g2Q4c8e0S2Q4z5p5g2Q4b7U0N6Q4c8e0g2Q4z5p5k6Q4z5e0k6Q4c8e0c8Q4b7V1q4Q4z5e0q4Q4c8e0N6Q4b7f1u0Q4b7f1k6Q4c8e0g2Q4b7f1k6Q4z5o6k6Q4c8e0N6Q4b7e0m8Q4z5o6q4Q4c8e0g2Q4z5o6S2Q4z5e0W2Q4c8e0c8Q4b7V1y4Q4z5f1q4Q4c8e0c8Q4b7V1c8Q4b7V1k6Q4c8e0N6Q4z5e0c8Q4b7e0S2Q4c8e0W2Q4b7V1u0Q4z5e0S2Q4c8e0S2Q4b7f1g2Q4b7e0c8Q4c8e0g2Q4b7f1k6Q4z5o6k6Q4c8e0N6Q4b7e0m8Q4z5o6q4Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0N6Q4z5o6c8Q4b7U0k6Q4c8e0S2Q4z5o6m8Q4z5p5y4Q4c8e0S2Q4b7f1k6Q4b7e0g2Q4c8e0W2Q4b7V1u0Q4z5e0S2Q4c8e0S2Q4b7f1g2Q4b7e0c8Q4c8e0g2Q4b7f1k6Q4z5o6k6Q4c8e0N6Q4b7e0m8Q4z5o6q4Q4c8e0g2Q4z5e0m8Q4z5p5y4Q4c8e0k6Q4b7e0m8Q4b7U0N6Q4c8e0c8Q4b7U0W2Q4z5f1k6Q4c8e0k6Q4z5e0S2Q4b7f1j5^5g2p5c8C8x3V1k6n7M7@1E0s2y4g2g2z5x3V1&6z5j5K6y4H3i4@1f1K6i4K6R3H3i4K6R3J5i4@1f1^5i4@1u0r3i4K6V1&6i4@1f1^5i4@1q4r3i4@1t1@1i4@1f1$3i4K6V1^5i4K6S2q4i4@1f1$3i4@1p5H3i4@1t1%4i4@1f1$3i4K6W2o6i4@1q4o6i4@1f1#2i4K6R3#2i4@1t1%4i4@1f1#2i4@1p5@1i4K6R3%4i4@1f1&6i4K6R3H3i4K6W2m8i4@1f1^5i4@1u0r3i4K6R3%4i4@1f1^5i4@1u0r3i4K6W2o6i4@1f1%4i4@1p5^5i4K6S2n7i4@1f1@1i4@1t1^5i4K6S2n7i4@1f1#2i4K6S2r3i4K6V1I4i4@1f1^5i4@1p5%4i4@1p5K6i4@1f1#2i4K6S2q4i4K6S2n7i4@1f1#2i4@1q4r3i4K6R3$3i4@1f1%4i4@1p5H3i4K6R3I4i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1^5i4K6R3K6i4@1u0p5i4@1f1#2i4K6S2m8i4K6W2n7i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1@1i4@1u0p5i4K6R3$3i4@1f1#2i4@1u0p5i4K6V1K6i4@1f1#2i4K6R3&6i4K6S2p5i4@1f1#2i4@1q4q4i4K6W2q4i4@1f1&6i4K6V1&6i4K6R3#2i4@1f1@1i4@1u0p5i4@1u0r3i4@1f1%4i4K6V1@1i4@1p5^5i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1@1i4@1u0n7i4K6S2p5i4@1f1$3i4K6V1^5i4@1q4r3i4@1f1&6i4@1u0n7i4K6V1^5i4@1f1^5i4@1q4q4i4@1p5@1i4@1f1#2i4K6R3H3i4@1u0o6i4@1f1K6i4K6R3H3i4K6R3J5

解压密码

在确定下载文件的最终保存位置时,该样本会按优先级依次尝试多个目录方案,并判断对应路径是否可访问。整体上共存在三种路径选择策略,若前一种路径不可用,则继续尝试下一种。
首先,样本优先选择C:\Users\Public作为下载根目录。在该路径下,还会额外获取随机数,从Documents、Pictures、Videos、Music四个目录名中随机选择一个进行拼接,从而形成诸如C:\Users\Public\Documents、C:\Users\Public\Pictures之类的目标下载路径。
若C:\Users\Public路径无法访问,则样本会退而使用%TEMP%临时目录作为下载位置。此时会再通过随机数,从Logs、Cache、Temp、Data、Updates中随机选择一个子目录名追加到临时目录后,构造新的保存路径。
若%TEMP%路径同样不可访问,则样本会继续尝试其他可用驱动器目录,例如D:、E:、F:、G:、H:等,并采用与前述相同的方式,从Logs、Cache、Temp、Data、Updates中随机选择一个名称进行拼接,作为最终的下载目录。

该样本会在上述目录下继续创建一层随机命名的子文件夹,文件夹名称由两组字符串按随机组合方式生成。
第一组可选字符串包括:Audio、Graphics、System、Network、Display、Device、Intel、Microsoft、Windows、Security、Update、Service、Driver、Monitor、USB;
第二组可选字符串包括:Driver、Service、Host、Manager、Handler、Adapter、Controller、Process、Module、Component、Helper、Support、Agent、Monitor、Updater。
文件夹名称通常由上述两组字符串随机拼接形成,例如USBManager、GraphicsDriver、DeviceMonitor、GraphicsComponent等。随后,样本还会在该子文件夹内创建一个同样采用该随机命名逻辑生成的 .7z文件。也就是说,最终的目录名和文件名均具有较强的伪装性,外观上类似正常的系统组件、驱动模块或服务文件。
相关路径示例如下:C:\Users\Public\Pictures\USBManager\GraphicsManager.7zC:\Users\Public\Videos\GraphicsDriver\DeviceDriver.7zC:\Users\Public\Music\DeviceMonitor\MonitorController.7zC:\Users\Public\Pictures\GraphicsComponent\ServiceHandler.7z随后利用解压密码解压后并执行其中可执行程序。
1.2 javavidserv.exe(窃密木马)
1.2.1 加载模块
从当前文件中获取资源QLMPHM,并利用ERED进行验证并分段获取被异或加密的窃密木马本体,最终手动加载。


1.2.2 窃密模块
获取指定DLL基址:通过PEB中Ldr模块链表遍历已加载模块,并对模块名进行哈希匹配,从而获取DLL基址。

获取函数地址:下图为该恶意样本解析ntdll.dll、kernel32.dll基址并获取LoadLibraryA等API地址的相关代码。分析可见,样本内的DLL名称与函数名称字符串均经过异或加密存储,且不同目标字符串使用了不同的异或常量。

有意思的是该窃密病毒会检查自身大小是否符合预期,会通过检查.text节的SizeOfRawData 是否落在目标大小(0x98200)± 0x200的范围内。若不符合,则弹出“WARNING: MALWARE!”警告框,提示样本在分发前应经过packer/crypter保护;若用户点击取消,则进程直接退出,从而可以看出该窃密病毒是分发给其他人使用的产品。

反调试与反沙箱:除上述大小自检之外,还将检查是否处于调试状态。若处于调试状态,将直接通过ExitProcess终止该进程。此外,还会检测系统运行时间是否超过10分钟、处理器核心数是否大于等于2个、内存大小是否超过2GB,以及检查睡眠是否加速等。若不符合要求,将等待3至12分钟不等的时长。


随后会检查是否有ierojgoqwje_{username}事件是否存在,若不存在则会创建并返回1并继续执行,若存在则会返回0并退出进程。

获取远程服务器地址:先访问211K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6@1k6h3I4W2k6%4u0S2L8g2)9J5k6h3#2W2i4K6u0r3M7#2)9J5c8X3@1H3M7U0g2Z5L8q4!0q4y4q4!0n7z5q4)9^5c8h3S2@1N6s2m8K6i4K6y4m8i4K6u0r3i4K6u0r3M7%4c8W2j5h3#2U0L8$3#2E0N6h3&6A6N6s2W2Q4x3X3g2U0L8$3#2Q4x3V1k6H3M7X3!0X3K9h3I4W2M7#2)9J5c8U0M7$3y4e0j5I4x3e0V1^5y4K6x3K6y4e0l9$3z5e0M7@1i4@1f1^5i4K6S2q4i4@1t1%4i4@1f1#2i4K6S2r3i4K6V1$3i4@1f1^5i4@1u0r3i4K6W2o6i4@1f1$3i4K6S2q4i4@1p5%4i4@1f1$3i4K6W2o6i4K6S2p5i4@1f1#2i4K6S2m8i4@1p5I4i4@1f1#2i4K6V1&6i4@1p5^5i4@1f1#2i4K6W2o6i4@1t1H3i4@1f1#2i4K6W2p5i4K6R3H3i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1#2i4K6R3#2i4@1t1$3 “k0tt1 ooe.digitalmatters360.com|”中k0tt1为定位用特征,获取“|”字符前的字符串当做远控服务器链接(如ooe.digitalmatters360.com)。


随后会获取系统信息,并命名为information.txt并将数据上传至服务器。

进行Base64解码后可发现(略微去敏),上传的数据由版本信息、样本生成日期、设备标识信息(MachineID、GUID、HWID)、样本路径与工作目录、操作系统与安装时间、杀毒软件信息、主机与用户信息、显示分辨率、键盘语言、本地时间及时区信息,以及硬件配置、进程列表和已安装软件列表等内容组成。
Version: 18.3
Date: 13/03/2026
MachineID: 2e?d1
GUID: {d6?-?ed}
HWID: 77?-?-?ed
Path: C:\Users\Administrator\Desktop\x.exe
Work Dir: In memory
Windows: Windows 10 Pro
Install Date: 13/03/2026
AV: Windows Defender
Computer Name: ?
User Name: Administrator
Display Resolution: 1024x800
Keyboard Languages: English
Local Time: 13/03/2026
TimeZone: 4294967288
[Hardware]
Processor: Intel(R) Core(TM) i5-10400 CPU @ 2.90GHz
Cores: 4
Threads: 4
RAM: 16383 MB
VideoCard: VMware SVGA 3D
[Processes]
System
Registry
smss.exe
csrss.exe
wininit.exe
csrss.exe
[Software]
7-Zip 21.03 (x64)
Python 3.8.0 Executables (64-bit)1.2.2.1 浏览器和钱包
浏览器与钱包均借助服务器下发的配置实施窃取操作。其中,针对浏览器,服务器会下发需窃取的浏览器名称,诸如Chrome、Firefox、Opera等,这些名称将被传入相应函数;钱包是通过下发具体钱包路径进行窃取。然而,由于在分析过程中无法访问服务器,故而无法确定具体窃取了哪些加密货币钱包。

比对浏览器名称
浏览器:下面是以chrome举例,此外还会窃取fierfox与opera浏览器的重要文件。
窃取以下路径中的.ldb和.log文件。Local Extension Settings \Sync Extension Settings\\IndexedDB\chrome-extension_ {.*} _0.indexeddb.leveldb
读取Local State并利用"encrypted_key":"定位后将encrypted_key值利用Base64解码后验证是否为DPAPI开头后利用CryptUnprotectData API进行解密。

还会窃取Cookies、历史记录、密码等数据,下图为服务器接收到的压缩包,可以看到其中包含cookies、history、passwords等敏感数据组成的数据库文件。

加密货币钱包:在程序中会通过Wallets\字符串与下发的具体加密货币钱包路径进行组合并将其文件夹打包上传。

1.2.2.2 Steam 相关
病毒会通过读取Steam.exe进程内存并利用特征码(eyAidHlwIjogIkpXVC)定位并获取 Token。

窃取 Steam 关键文件:根据Software\Valve\Steam注册表获取SteamPath值,从而在 Steam文件夹中获取ssfn*、config.vdf、libraryfolders.vdf、DialogConfig.vdf、loginusers.vdf之类的Steam关键文件。

1.3 svc_service.exe(窃密木马)
创建互斥体:Global\StealthPackerMutex_9A8B7C,防止同时运行。

通过日志可以发现该svc_service.exe病毒会复制到三个目录中,并检查管理员权限,添加防火墙,随后还会检测用户鼠标活跃状态,最后解密加载C#窃密模块。
[*] Stealth Packer Starting... [+] Cloned to: C:\Users\Public\Pictures\GraphicsComponent\ServiceHandler\svc_service.exe [+] Cloned to: C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Templates\svc_host.exe [+] Cloned to: C:\Users\ADMINI~1\AppData\Local\Temp\~update.tmp.exe [*] Running as Admin: true [+] Firewall rules added. [*] Checking for user activity (Mouse)... [+] User activity detected. [DEBUG] Resolving syscall for NtClose [DEBUG] Failed to resolve NtClose [DEBUG] PID: 5856 [DEBUG] Resolving syscall for NtQuerySystemInformation [DEBUG] Found syscall for NtQuerySystemInformation: SSN=54, Addr=7ffbe9ccdc22 [DEBUG] Resolving syscall for NtOpenThread [DEBUG] Found syscall for NtOpenThread: SSN=303, Addr=7ffbe9ccfb32 [DEBUG] NtQuerySystemInformation attempt, buffer capacity: 1048576 [DEBUG] NtQuerySystemInformation status: c0000353, return_len: 251512 [DEBUG] NtQuerySystemInformation failed with status: c0000353 [-] Bypass failed: NtQuerySystemInformation failed: c0000353 [*] Decrypting embedded payload... [+] Payload decrypted: 634880 bytes [*] Loading CLR with clroxide... [+] CLR loaded successfully [*] Executing assembly... [*] Entry point signature: Void Hq7TEM9OU()
复制的三个文件:
还会利用RegSetValueExW API添加自启动项。

添加防火墙:
"netsh" advfirewall firewall add rule name=Telemetry_In_57001 dir=in action=allow protocol=TCP localport=57001
"netsh" advfirewall firewall add rule name=Telemetry_Out_57001 dir=out action=allow protocol=TCP localport=57001
"netsh" advfirewall firewall add rule name=Telemetry_In_57002 dir=in action=allow protocol=TCP localport=57002
"netsh" advfirewall firewall add rule name=Telemetry_Out_57002 dir=out action=allow protocol=TCP localport=57002
"netsh" advfirewall firewall add rule name=Telemetry_In_56001 dir=in action=allow protocol=TCP localport=56001
"netsh" advfirewall firewall add rule name=Telemetry_Out_56001 dir=out action=allow protocol=TCP localport=56001
最后会利用RC4算法进行解密,会解密出C#窃密模块,最后利用Rust库ClrOxide进行加载执行.NET窃密模块。

1.3.1 加载模块
该程序会先利用DES算法解密出窃密模块,随后加载并调用 Ct8B5RBrTjnQxcaEhe.QgYcUwqGbJd0ciKbtd类中CejW9Rtrp方法。

1.3.2 窃密模块
窃密模块中会将反病毒软件、硬盘序列号、用户名、系统版本以及从用户主机中窃取的敏感信息一并上传至远控服务器中。

窃取的内容有各种加密货币钱包应用与插件以及Telegram等数据。

1.4 claudclaw.exe(窃密木马)
该病毒依旧是利用同样的方式从自身程序中读取资源并进行手动加载窃密模块,该窃密模块首先会解密出全局配置,配置如下所示,其中可以看到hosts中是远程服务器的列表, anti_dbg(反调试检测选项)为true。
{
"conf": {
"hosts": [
"4bdK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1k6i4k6Q4x3X3c8@1L8$3!0D9M7#2)9J5k6h3y4X3k6q4)9J5y4Y4q4#2L8%4c8Q4x3@1u0Q4x3V1x3`.
"a99K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6P5i4y4Q4x3X3c8@1L8$3!0D9M7#2)9J5k6h3y4X3k6q4)9J5y4Y4q4#2L8%4c8Q4x3@1t1`.
],
"anti_vm": false,
"anti_dbg": true,
"self_del": false,
"run_delay": 4,
"useragents": [
""
],
"human_check": false
},
"build": {
"ver": "1.7.0 (x64)",
"build_id": "a128eff5-cc4c-4ad6-8bc0-d6e8a1181614"
}
}随后程序会读取全局配置,若其中anti_dbg被设为true,则会启用反调试逻辑。其判断方式主要是检测系统中是否存在调试器相关进程。根据下方的进程列表可以看出,除了常见调试分析工具外,还包含了用于修改与作弊的Cheat Engine软件。
ollydbg.exe ollyice.exe tcpview.exe autoruns.exe autorunsc.exe filemon.exe autoruns.exe autorunsc.exe filemon.exe procmon.exe regmon.exe procexp.exe idaq.exe idaq64.exe ida64.exe radare2.exe ImmunityDebugger.exe Wireshark.exe dumpcap.exe HookExplorer.exe ImportREC.exe PETools.exe LordPE.exe SysInspector.exe proc_analyzer.exe sysAnalyzer.exe sniff_hit.exe windbg.exe ida.exe gdb.exe joeboxcontrol.exe joeboxserver.exe ResourceHacker.exe x32dbg.exe x64dbg.exe Fiddler.exe httpdebugger.exe cheatengine-i386.exe cheatengine-x86_64.exe cheatengine-x86_64-SSE4-AVX2.exe frida-helper-32.exe frida-helper-64.exe
随后会利用POST请求至93bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1k6i4k6Q4x3X3c8@1L8$3!0D9M7#2)9J5k6h3y4X3k6q4)9J5c8X3q4H3K9g2)9J5c8X3y4G2L8X3k6Q4c8e0W2Q4z5e0y4Q4b7V1g2Q4c8e0k6Q4z5p5g2Q4b7e0g2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0c8Q4b7V1u0Q4z5p5g2Q4c8e0S2Q4z5o6m8Q4z5p5y4Q4c8e0S2Q4z5p5g2Q4b7U0N6Q4c8e0g2Q4z5p5k6Q4z5e0k6Q4c8e0c8Q4b7V1q4Q4z5e0q4Q4c8e0k6Q4z5p5g2Q4b7e0N6Q4c8e0W2Q4z5o6g2Q4z5p5c8Q4c8e0N6Q4b7V1c8Q4b7f1g2Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4z5o6g2Q4b7U0k6Q4c8e0c8Q4b7U0S2Q4b7f1c8Q4c8e0g2Q4z5p5y4Q4z5o6g2Q4c8e0g2Q4z5e0m8Q4b7f1u0Q4c8e0N6Q4b7f1q4Q4z5o6y4Q4c8e0g2Q4b7f1k6Q4z5o6k6Q4c8e0W2Q4z5o6m8Q4b7V1u0Q4c8e0S2Q4b7V1g2Q4z5e0q4Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0g2Q4b7e0c8Q4b7e0N6Q4c8e0c8Q4b7V1c8Q4z5e0y4Q4c8e0N6Q4b7V1u0Q4z5e0y4Q4c8e0k6Q4z5f1g2Q4z5o6c8Q4c8e0g2Q4b7e0k6Q4z5o6u0Q4c8e0c8Q4b7U0S2Q4z5p5u0Q4c8e0y4Q4z5o6m8Q4z5o6t1`.

配置经过JSON格式化后有两千多行,通过AI进行总结后可得出窃取的信息分为五大类别:应用配置与通信工具:
FileZilla、AnyDesk、Telegram、Discord、Pidgin / Psi+ / qTox、OpenVPN / NordVPN / ProtonVPN、Steam / Uplay 中的账号、配置、会话、连接记录等数据。
加密货币钱包与高价值资产:Exodus / Atomic / Electrum / Ledger / Binance / Wasabi 以及 Authy Desktop 中的钱包文件、种子、密钥、2FA等数据。
浏览器数据:
Chromium 全家桶、Gecko 全家桶中的Cookie、密码库、Token、历史、扩展存储、会话等数据。
系统侦察:
利用获取 system-info、screenshot 建立受害主机画像。
用户文档敏感信息搜集:
通过 Desktop / Documents / Downloads / D:\ 路径和目录中寻找特殊关键词(登录、钥匙、助记词)匹配找备份、账号表、密码文档、助记词、API Key、钱包备份等数据。
1.5 onedrive_sync.exe(反向代理)
反向代理模块同样是通过读取自身文件中的资源进行手动加载,并执行,其中反向代理模块是通过Go语言而写,先会通过几个接入服务器(helpers)获取到中继服务器(relay server),并将主动连接中继服务器,从而形成持久连接。

此时通过修改中继服务器IP并在本地搭建中继服务,与反向代理病毒建立持久连接后,发送 SOCKS5代理请求,并发现可成功代理访问百度,表明其代理通道可正常转发HTTPS流量。

部分代码为如下图所示:

其中可以发现使用的用户名与密码为LykNyQgv和d3gOsXZv,这是通过发送 “cmd:getCredentials”指令获取到的代理服务用户名与密码,也可通过 “cmd:newCreds;;;username:password”的方式创建新的用户名与密码,此外还有kill和 restart等指令,其中kill会直接终止当然进程。

1.6 WinHealhCare.exe与OneSync.exe(下载器)
WinHealhCare.exe与OneSync.exe两个病毒是非常相似,其中都会进行一系列的与 OpenClaw_x64.exe下载器一样会先检测当前环境,从而选择是否继续。
随后WinHealhCare.exe与OneSync.exe两个病毒都会访问同一个网址获取下载链接,都是 cfcK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5i4y4@1k6h3u0A6L8W2)9J5k6h3y4G2L8g2)9J5c8Y4u0S2N6#2)9J5c8X3y4K6K9e0g2g2M7i4m8q4i4@1f1@1i4@1t1^5i4K6S2q4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5i4y4@1k6h3u0A6L8W2)9J5k6h3y4G2L8g2)9J5c8Y4u0S2N6#2)9J5c8X3k6f1P5r3W2&6K9r3u0x3i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1@1i4@1u0p5i4K6R3$3i4@1f1$3i4K6V1^5i4@1q4r3i4@1f1#2i4K6R3^5i4K6R3$3i4@1f1$3i4K6W2q4i4K6V1H3i4@1f1$3i4K6V1%4i4@1t1$3i4@1f1^5i4K6S2q4i4@1t1%4i4@1f1#2i4K6S2r3i4K6V1$3i4@1f1#2i4K6R3^5i4@1t1H3i4@1f1%4i4K6W2m8i4K6R3@1i4@1f1&6i4K6R3K6i4@1u0p5i4@1f1$3i4K6V1^5i4@1q4r3x3q4!0q4x3#2)9^5x3q4)9^5x3R3`.`.

此时获取到0的时候会进行验证,若为0则不会继续往下执行,若不是0,则会将首行数据作为用户名进行校验,若与当前系统中的用户名相同则会下载文件并执行,其中的解压密码链接也是67dK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5i4y4@1k6h3u0A6L8W2)9J5k6h3y4G2L8g2)9J5c8Y4u0S2N6#2)9J5c8V1@1$3d9%4c8Z5b7e0g2K9i4@1f1@1i4@1t1^5i4K6S2q4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6L8X3W2H3M7r3g2@1i4K6u0W2K9r3!0K6N6q4)9J5c8Y4g2A6K9$3!0K6P5q4)9J5c8Y4u0S2N6#2!0q4x3#2)9^5x3q4)9^5x3R3`.`.

综上,此次借 GitHub 传播的虚假 OpenClaw 安装包恶意程序,具备完善的免杀与环境检测机制,可批量窃取浏览器密码、加密货币钱包、Steam、Telegram、Discord 等高价值数据,并通过反向代理隐匿攻击者行踪,安全风险极高。
火绒安全提醒广大用户需提高警惕,切勿下载非官方开源项目与陌生安装包,下载文件前务必通过安全软件查杀。同时加强重要账号与隐私数据防护,及时更新安全软件病毒库并开启实时防护,避免因点击恶意程序造成账号被盗、隐私泄露与资产损失。
二、附录
C&C:

HASH:

