使用PowerShell进行扫描

Windows PowerShell是一种命令行shell和脚本语言,专为系统管理和自动化而设计。从PowerShell 2.0开始,您可以使用Windows Remote Management在一台或多台远程计算机上运行命令。通过使用PowerShell和Windows Remote Management进行扫描,您可以像在本地登录一样扫描到每台机器。PowerShell支持对于SCAP 1.2中的一些策略检查至关重要,并且更有效地为一些其他检查返回数据。

为了使用PowerShell的Windows远程管理,您必须在您要扫描的所有机器上启用它。如果您有大量的Windows资产要扫描,那么通过Windows域的组策略启用它可能会更有效。

尽管可以通过HTTP与PowerShell一起使用Windows远程管理,但使用HTTPS服务要安全得多。为了利用HTTPS协议,需要正确配置WinRM服务。这可以通过阅读以下文章来实现:

https://support.microsoft.com/en-us/help/2019527/how-to-configure-winrm-for-https

对于使用PowerShell的Windows Remote Management进行扫描,扫描模板必须提供5985 (HTTP)或5986 (HTTPS)端口。DISA、CIS、USGCB策略扫描模板默认包含该端口;对于其他人,您需要手动添加它。

将端口添加到扫描模板中。

  1. 政府页面并选择管理模板.选择您正在使用的扫描模板。在服务发现选项卡中,添加5985年或5986年额外的港口TCP扫描部分。

您还需要指定适当的服务和凭据。

如果您想在配置新站点时添加凭据,请单击创建网站按钮首页页面。

如果要为现有站点添加凭据,请单击该站点的编辑图标网站表上的首页页面。

  1. 选择身份验证
  2. 点击添加凭证
  3. 添加凭证表单,如有必要,输入一组新凭证的名称和描述。
  4. 点击账户添加凭证
  5. 选择Microsoft Windows / Samba (SMB / CIFS)服务。
  6. 输入服务的域、用户名和密码。
  7. 完成凭证配置后,单击创建如果它是一个新的集合保存如果是先前创建的集合。

有关其他可选步骤,请参阅以下主题:

如果启用了正确的端口,并且指定了正确的Microsoft Windows/Samba (SMB/CIFS)凭据,应用程序将自动使用PowerShell。

如果启用了PowerShell,但不想使用它进行扫描,则可能需要定义一个不包含端口5985的自定义端口列表。

关闭对该端口的访问。

  1. 政府页面并选择管理模板
  2. 选择您正在使用的扫描模板。
  3. 服务发现选项卡,在TCP扫描,因为端口扫描中,选择自定义(只使用“附加端口”)
  4. 额外的港口,指定不包括端口5985的端口列表。