CScript 可以用来做无文件攻击

cscript

适用范围:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012

启动脚本以在命令行环境中运行。

 重要

执行该任务无需具有管理凭据。 因此,作为安全方面的最佳做法,请考虑以不具有管理凭据的用户身份执行该任务。

语法

cscript <scriptname.extension> [/b] [/d] [/e:<engine>] [{/h:cscript | /h:wscript}] [/i] [/job:<identifier>] [{/logo | /nologo}] [/s] [/t:<seconds>] [x] [/u] [/?] [<scriptarguments>]

参数

参数说明
scriptname.extension 指定具有可选文件扩展名的脚本文件的路径和文件名。
/b 指定批处理模式,该模式不显示警报、脚本错误或输入提示。
/d 启动调试器。
/e:<engine> 指定用于运行脚本的引擎。
/h:cscript 注册cscript.exe作为运行脚本的默认脚本主机。
/h:wscript 注册wscript.exe作为运行脚本的默认脚本主机。 默认值。
/i 指定交互模式,该模式显示警报、脚本错误和输入提示。 默认值,与 相反 /b 。
/job:<identifier> 在 .wsf 脚本 文件中 运行由标识符标识的作业。
/logo 指定脚本Windows脚本主机横幅在脚本运行之前显示在控制台中。 默认值,与 相反 /nologo 。
/nologo 指定在Windows之前不显示"脚本主机"横幅。
/s 保存当前用户的当前命令提示符选项。
/t:<seconds> 指定脚本可以运行的最大时间( (秒) 。 可以指定最多 32,767 秒。 默认值为无时间限制。
/U 为从控制台重定向的输入和输出指定 Unicode。
/x 在调试器中启动脚本。
/? 显示可用的命令参数,并提供使用它们的帮助。 与键入无参数 cscript.exe 脚本的脚本相同。
scriptarguments 指定传递给脚本的参数。 每个脚本参数前面必须有一个斜杠 / () 。

注解

  • 每个参数都是可选的;但是,如果不指定脚本,则不能指定脚本参数。 如果未指定脚本或任何脚本参数,则cscript.exe显示cscript.exe语法和有效主机选项。

  • /t参数通过设置计时器来防止脚本过度运行。 当运行时超过指定值时,cscript 将中断脚本引擎并结束进程。

  • Windows脚本文件通常具有以下文件扩展名之一:.wsf、.vbs、.js。 Windows脚本主机可以使用 .wsf 脚本文件。 每个 .wsf 文件都可以使用多个脚本引擎并执行多个作业。

  • 如果双击扩展名没有关联的脚本文件,则会显示" 打开方式 "对话框。 选择"wscript"或"cscript",然后选择" 始终使用此程序"打开此文件类型。 这会将wscript.exe或 cscript 注册为此文件类型的文件的默认脚本主机。

 

使用 CScript.exe 运行脚本

CScript.exe 是 Windows 脚本宿主的一个版本,可以用来从命令行运行脚本。 CScript.exe 提供了用于设置脚本属性的,命令行开关。要使用 CScript.exe,可使用下列语法在命令行上键入命令:

cscript [宿主选项...] [脚本名称] [脚本选项与参数]

其中的术语定义如下:

  • 宿主选项 打开或关闭不同的 Windows 脚本宿主功能。宿主选项的前面有两条斜线 (//)。
  • 脚本名称 脚本文件的名称,包括扩展名和必要的路径信息,例如 d:\admin\vbscripts\chart.vbs。
  • 脚本选项与参数 被传递到脚本中。脚本参数的前面有一条斜线(/)。

每个参数都是可选项;但是在指定脚本选项时必须指定脚本名称。如果不指定参数,CScript 将显示 CScript 语法和有效的宿主参数。CScript.exe 支持的脚本选项见下表。

参数描述
//I 交互式模式:允许显示用户提示和脚本错误(缺省设置,相对的设置为 //B)。
//B 批处理模式:不在命令行上显示用户提示和脚本错误。
//T:nn 启用超时设置:设置脚本能够运行的最长秒数。缺省值是没有限制。(关于此参数,请参阅本表后面的文本。)
//logo 缺省设置。显示标题(与 //nologo 相反)。
//nologo 在运行时不显示执行标题。
//H:CScript 或//H:WScript 将 CScript.exe 或 WScript.exe 注册为运行脚本时使用的缺省应用程序。如果两者都未指定,缺省设置未 WScript.exe。
//S 为该用户保存当前的命令行选项。
//? 显示命令的使用方法。
//E:engine 使用指定的脚本引擎执行脚本。
//D 打开调试器。
//X 在调试器中启动程序。
//Job:<JobID> 运行 .wsf 文件中指定的 JobID。

 

//T 参数设置了一个定时器,从而防止了脚本的过度执行。如果执行时间超过了指定值,CScript 将使用 IActiveScript::InterruptThread 方法中断脚本引擎并结束进程。

一个 CScript 示例

在安装最终版本的 Windows 脚本宿主时将安装若干示例脚本。这些脚本也可以通过网络下载,请访问以下地址:http://msdn.microsoft.com/scripting

假设你已经将 Chart.vbs 示例脚本复制到计算机上的下列文件夹:

c:\sample scripts\chart.vbs

在运行脚本时可以使用或不用图标,如下所示:

开始菜单的程序中选择 MS-DOS(R)操作系统命令行。

在命令行上输入下列命令(可以根据文件夹的位置做相应的调整):

cscript //logo c:\"sample scripts"\chart.vbs
cscript //nologo c:\"sample scripts"\chart.vbs
posted @ 2022-03-18 10:02  bonelee  阅读(713)  评论(0编辑  收藏  举报