火绒安全情报中心近日发现,一款伪装成代理工具Clash的恶意程序正在网络中传播。该程序通过仿冒Clash官网的下载页面,诱导用户下载安装。一旦安装,它便会与远程服务器进行C2通信,并植入具备持久性的后门,用于窃取用户的敏感信息。经技术分析确认,该恶意软件是利用易语言编写的木马程序,其背后的开发者还提供定制化编程服务,协助他人从事非法网络活动,涉及黑灰产领域。火绒安全中心提醒广大用户:请务必通过官方或可信渠道获取软件,避免因下载来源不明的程序而造成账号泄露、数据丢失等安全风险。目前,火绒安全产品已具备对该病毒的识别与查杀能力,建议用户尽快更新病毒库,以提升防护效果。
Clash是一款开源的跨平台代理客户端,主要用于网络代理、流量转发及网络规则管理。攻击者会伪装成Clash官网来进行钓鱼攻击,其Clash介绍、使用方法、注意事项、规则编写等页面通过精心伪造,已致使部分用户中招,造成信息泄露。以下是伪造的网站:https://clash****c.com/
样本分析
流程图如下:
病毒分析
病毒初始样本通过增加体积(膨胀至100MB+以绕过云查杀上传)并伪装签名(无法通过验证)来欺骗用户。为确保恶意程序能在不同环境下顺利执行,病毒还携带了运行库,以防止程序因缺少必要的运行支持而无法正常运行。
首先,样本调用IsDebuggerPresent来检测是否处于调试环境,若未在调试器中,则将标志位设为0,并继续进入主函数的执行流程。
随后,样本跳转至虚拟化代码段执行。该段采用代码虚拟化技术(VMProtect指令混淆),通过PKZIP算法对资源节中的恶意载荷——易语言编译的Etools.dll1(易之卫定制版)进行解密。
其PKZIP解压算法如下。
接着,样本利用LoadLibraryA动态加载已解密的Etools.dll1,并调用其导出函数WhiteTool,执行流程如下。
Etools.dll1由易语言编写而成,经特定的黑月编译器优化处理后借助VMP技术进行加壳。该病毒会增大自身文件体积,以此绕过云查杀系统的检测并实现上传,同时,它还会通过伪造虚假证书签名来掩盖恶意行径。
深入分析该DLL后,发现其主要借助自定义派遣函数来执行恶意代码。其具体功能由参数一决定。以下是其参数一对应的各项功能。
- peekmessage
- 分配内存
- 写文件
- 创建进程
其DLL的核心逻辑如下。
在释放病毒阶段,依据进程名称来决定执行的功能。由于此时处在释放病毒阶段,作者将功能函数留空(之后在病毒执行阶段添加实际功能)。随后,病毒会释放并执行恶意程序uok进程,同时运行Clash的WinRAR自解压安装程序,以此完成钓鱼过程。
根据进程名执行相应的功能,并释放不同的病毒文件。
之后,病毒运行Clash for Windows.exe,执行WinRAR自解压的正常Clash安装程序,以此完成钓鱼过程。
由于病毒采用了VMProtect虚拟化混淆处理,因此采用Unicorn进行指令模拟来对其进行分析。
uok.exe释放后,与Clash一样,会将Etools.dll2释放到临时目录并加载其导出函数。此时,Etools.dll2的功能发生了变化,它会释放多个文件到公共文档目录。
路径包括:
- C:\Users\Public\Documents\QQ\
- C:\Users\Public\Documents\123\
- 文件:audidog.exe、TASKMAN.exe、spolsvt.exe、Mpec.mbt
之后,病毒利用AppCompatFlags的兼容性标志,强制目标程序以管理员身份(~ RUNASADMIN)或用户权限(RunAsInvoker)运行,改变UAC行为,绕过权限提升提示。
随后,病毒会释放audidog.exe、TASKMAN.exe、spolsvt.exe、Mpec.mbt等文件,并通过调用ShellExecuteExW函数来执行TASKMAN.exe。
TASKMAN.exe与Clash.exe加载方式相同,均采用释放Etools.dll3的方式,并加载其导出函数whitetool函数。通过对进程名匹配来执行相应函数,之后借助线程注入(指令模拟)的方式执行spolsvt.exe,同时启动audidog.exe(进程守护程序)。
注入到spolsvt.exe进程中的恶意代码主要实现以下功能。
- 构造路径并释放病毒文件。
- 调用fn_dispatch()函数对路径、资源或注册表进行设置,或执行模拟行为。
- 从PNG文件中提取payload,并调用fn_thread_inject()函数,将某些执行体(如EXE文件)注入到其它线程中,以实现后门功能。
病毒会再次释放相关文件,并通过注入svcoth.exe来实现剪贴板监听功能,其病毒文件如下。
后门分析&剪贴板
病毒通过二次注入到spolsvt.exe实现后门功能,开辟可读、可写、可执行的内存,以执行恶意代码。
将病毒dump出来后发现其为PE结构的DLL,深入分析发现其后门功能包括以下内容。
0x00关机注销重启:通过ExitWindowsEx函数实现关机、重启、注销的调用。
0x01卸载后门:删除服务项、删除病毒文件。
0x02修改后门地址:病毒将Host字段写入注册表,并通过修改注册表进行修改。
0x03修改备注:修改注册表以响应病毒服务端的备注。
0x04清理日志:通过有针对性地删除系统中“Application”(应用程序)、“Security”(安全)及“System”(系统)这三类关键事件日志,以清理自身的攻击轨迹。
0x05下载执行与0x06下载执行2:通过网络读取URL,下载文件内容并执行其进程。
0x07打开url默认打开与0x08打开url无窗口:通过注册表获取IE路径,并利用IE打开指定网址。
0x09创建进程:通过CreateProcessA或ShellExecuteExA打开指定进程。
0x0A发送弹窗:通过创建线程的方式执行服务端发来的弹窗命令。
0x0B进程列表:通过系统API获取系统进程列表,并匹配相关进程名称。
0x0D开启网络代理与0x0E关闭网络代理:网络代理以插件形式执行,通过内存加载DLL的方式,调用其导出函数OpenProxy开启代理,调用CloseProxy关闭代理。
0x0F插件执行:通过分配可读、可写、可执行的内存,并以内存加载DLL的方式修复PE,随后调用导出函数PluginMe来实现插件的加载。
0x75修改启动项:通过修改注册表SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run实现对系统的持久化操作。
获取剪贴板记录:通过调用系统相关的剪贴板API实现对剪贴板的读取。
有关溯源
相关的溯源信息来自木马程序中DLL文件所携带的资源数据,其中包含疑似作者的QQ号码。通过这些线索,安全团队已成功锁定其真实身份。完整溯源过程及详细信息,详见知乎文章:《“易语言定制”助力黑产,溯源开发者多平台账号》。




评论 (0)