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

可用NSE脚本列表
现在我们想使用特定的脚本进行扫描,但首先我们应该列出并获取有关这些脚本的信息Nmap有一个列出所有脚本的网页。
相关文章: 什么是VPN和VPN隧道免费VPN列表?

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

在这里我们可以看到mysql info脚本是default、discovery和safe的一部分 分类并有一个关于脚本和使用示例的摘要
这些脚本可以在本地系统目录中找到 /usr/share/nmap/nselib/

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

正如我们看到的,只有我们指定的脚本被激发。
运行特定类别脚本
我们可以通过提供类别名称来指定与脚本相同的类别中的整个脚本。请注意,我的系统是一个测试系统,所以我指定了危险类别。在本例中,我们运行 侵入的 类别脚本。
$ nmap --script "auth" localhost

排除脚本类别
在指定脚本类别时,我们可以指定要排除的类别,如下所示。
$ nmap --script "not intrusive" localhost

指定多个类别
可以指定多个类别,如下所示。
$ nmap --script "default or auth" localhost

提供脚本参数
有些脚本需要参数才能工作。可以提供如下参数。
$ 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

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

获取脚本类别帮助
获取有关脚本类别的帮助与单脚本帮助相同。
$ nmap --script-help=default

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

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