Nmap脚本和版本扫描

null

Nmap提供了脚本扫描,这使得Nmap能够非常灵活地获取更多关于目标主机的信息和测试。这个特性称为Nmap脚本引擎(NSE)。NSE允许用户编写测试脚本。Lua是NSE支持的编程语言。NSE也有一些漏洞检测脚本。

我们有分类,使事情整洁。 以下是这些类别

  • 认证 用于与身份验证相关的脚本,如x11访问、ftp anon等。
  • 广播 用于获取未在目标参数中列出的新目标的脚本
  • 残忍的 用于强制执行脚本,如http brute、snmp brute
  • 违约 是用于脚本扫描的一些常用脚本
  • 发现 提供确定目标信息的能力,如html标题、snmp sysdescr
  • dos公司 用于测试某些拒绝服务攻击的脚本
  • 开发 类别脚本将尝试利用某些漏洞
  • 外部的 用于从三方数据库(如whois)获取一些信息
  • 起毛机 类别脚本可以模糊网络数据包的某些部分
  • 侵入的 类别提供那些不安全的脚本,因为存在使目标崩溃的风险
  • 恶意软件 脚本用于扫描目标,如果目标有所有已安装的恶意软件
  • 安全的 类别提供对目标没有破坏性影响的脚本
  • 版本 category提供脚本来确定 -sV公司
  • 武林 脚本将检查特定的已知漏洞,如realvnc auth bypass

现在需要采取一些行动来获得关于NSE的经验

启用脚本扫描

要在nmap脚本中使用不同的类别脚本,应启用NSE以进行脚本扫描 -理学学士。 默认情况下,这将为目标启用默认类别脚本

$ nmap -sC localhost
Enable Script Scan
启用脚本扫描

可用NSE脚本列表

现在我们想使用特定的脚本进行扫描,但首先我们应该列出并获取有关这些脚本的信息Nmap有一个列出所有脚本的网页。

相关文章: 什么是VPN和VPN隧道免费VPN列表?

https://nmap.org/nsedoc/

List Of Available NSE Scripts
可用NSE脚本列表

要获取详细信息,请单击 mysql信息 以脚本为例。

NSE script detailed information
NSE脚本详细信息

在这里我们可以看到mysql info脚本是default、discovery和safe的一部分 分类并有一个关于脚本和使用示例的摘要

这些脚本可以在本地系统目录中找到 /usr/share/nmap/nselib/

List Of Available NSE Scripts
可用NSE脚本列表

运行特定脚本

默认情况下,在nmap扫描时触发类别脚本,但是如果我们想运行特定的脚本,我们可以指定脚本名称或类别名称,如下所示。

$ nmap -sC --script mysql-info localhost
Run Specific Script
运行特定脚本

正如我们看到的,只有我们指定的脚本被激发。

运行特定类别脚本

我们可以通过提供类别名称来指定与脚本相同的类别中的整个脚本。请注意,我的系统是一个测试系统,所以我指定了危险类别。在本例中,我们运行 侵入的 类别脚本。

$ nmap --script "auth" localhost
Run Specific Category Script
运行特定类别脚本

排除脚本类别

在指定脚本类别时,我们可以指定要排除的类别,如下所示。

$ nmap --script "not intrusive" localhost
Exclude Script Category
排除脚本类别

指定多个类别

可以指定多个类别,如下所示。

$ nmap --script "default or auth" localhost
Specify Multiple Categories
指定多个类别

提供脚本参数

有些脚本需要参数才能工作。可以提供如下参数。

$ nmap -p 3306 localhost --script mysql-audit --script-args "mysql-audit.username='root',    mysql-audit.password='123456',mysql-audit.filename='nselib/data/mysql-cis.audit'"

这里我们提供3个参数;

  • mysql-audit.用户名 将为数据库提供用户名
  • mysql-audit.password密码 将为数据库提供密码
  • mysql-audit.filename文件名 是的审核规则文件路径 这个脚本

从文件中提供脚本参数

提供脚本参数可以从终端完成,但我们如何才能从文件中提供脚本参数,因为我们可能希望以批处理的方式运行nmap。首先,我们将创建包含参数及其值的文件。文件名为 nmap参数 像下面这样。

mysql-audit.username='root' , mysql-audit.password='123456' , mysql-audit.filename='nselib/data/mysql-cis.audit'
$ nmap localhost --script-args-file ./nmap-arg
Provide Scripts Arguments From File
从文件中提供脚本参数

获取脚本帮助

我们已经查看了如何从上面的web获取有关脚本的信息。但我们可能无法访问网页总是或它可能不是一个实际的方式为我们。这里我们将从命令行获得有关NSE脚本的帮助。

$ nmap --script-help=mysql-audit
Get Script Help
获取脚本帮助

获取脚本类别帮助

获取有关脚本类别的帮助与单脚本帮助相同。

$ nmap --script-help=default
Get Script Category Help
获取脚本类别帮助

调试脚本

有时我们不能确定事情是否如我们所料。我们可以通过在下面这样运行时调试脚本来获得更详细的脚本输出。

$ nmap -sC --script-trace localhost
Debug Scripts
调试脚本

相关文章: Windows MSDOS批处理文件命令

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享