Linux中nmap脚本的目录,在Linux中,如何使用Nmap脚本引擎(NSE )脚本

Nmap是一个流行的,功能强大,跨平台的命令行网络安全扫描和探测工具,您可以使用它来查找所有活动主机的IP地址,扫描在这些主机上运行的开放端口和服务等等。

Nmap的一个有趣的特性是Nmap脚本引擎(NSE ),为它带来了更多的灵活性和效率,你能够用Lua编程语言编写自己的脚本,并与其他Nmap用户共享这些脚本。

有四种类型的NSE脚本,即:Prerule脚本-是在Nmap的任何扫描操作之前运行的脚本,在Nmap尚未收集到有关目标的任何信息时执行

Host脚本-是在Nmap对目标主机执行正常操作(如主机发现、端口扫描、版本检测和操作系统检测)之后执行的脚本

Service脚本-是针对在目标主机上侦听的特定服务运行的脚本

Postrule脚本-是在Nmap扫描它所有目标主机之后运行的脚本Nmap可以使用scripts/script.db数据库找出可用的默认脚本和类别

要查看所有可用的NSE脚本的位置,请在终端上运行locate工具,如下所示:$ locate *.nse

/usr/share/nmap/scripts/acarsd-info.nse

/usr/share/nmap/scripts/address-info.nse

/usr/share/nmap/scripts/afp-brute.nse

/usr/share/nmap/scripts/afp-ls.nse

/usr/share/nmap/scripts/afp-path-vuln.nse

/usr/share/nmap/scripts/afp-serverinfo.nse

/usr/share/nmap/scripts/afp-showmount.nse

/usr/share/nmap/scripts/ajp-auth.nse

/usr/share/nmap/scripts/ajp-brute.nse

/usr/share/nmap/scripts/ajp-headers.nse

/usr/share/nmap/scripts/ajp-methods.nse

/usr/share/nmap/scripts/ajp-request.nse

/usr/share/nmap/scripts/allseeingeye-info.nse

/usr/share/nmap/scripts/amqp-info.nse

/usr/share/nmap/scripts/asn-query.nse

...

NSE脚本是使用--script标志加载的,它还允许你通过提供脚本所在的类别,脚本文件名或目录名来运行自己的脚本。

启用脚本的语法如下:$ namp -sC target #load default scripts

OR

$ nmap --script filename|category|directory|expression,... target

可以使用--script-help选项查看脚本的说明,另外,可以通过--script-args和--script-args-file选项将参数传递给某些脚本。

要使用大多数默认脚本执行扫描,请使用-sC标志,或者使用--script=default,如下所示。$ nmap -sC scanme.nmap.org

OR

$ nmap --script=default scanme.nmap.org

OR

$ nmap --script default scanme.nmap.org例子输出Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:36 IST

Nmap scan report for scanme.nmap.org (45.33.32.156)

Host is up (0.0027s latency).

Not shown: 999 filtered ports

PORT STATE SERVICE

80/tcp open http

|_http-title: Go ahead and ScanMe!

Nmap done: 1 IP address (1 host up) scanned in 11.74 seconds

可以获得脚本实际做什么的简要描述,例如http-headers。$ nmap --script-help http-headers scanme.nmap.org例子输出Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:37 IST

http-headers

Categories: discovery safe

https://nmap.org/nsedoc/scripts/http-headers.html

Performs a HEAD request for the root folder ("/") of a web server and displays the HTTP headers returned.

加载NSE脚本以执行Nmap扫描

使用脚本名称

一旦知道了脚本的作用,就可以使用它执行扫描,可以使用一个脚本或输入以逗号分隔的脚本名称列表,下面的命令将允许你查看在目标主机的web服务器上配置的HTTP头。$ nmap --script http-headers scanme.nmap.org扫描HTTP头Starting Nmap 7.01 ( https://nmap.org ) at 2017-11-15 10:39 IST

Nmap scan report for scanme.nmap.org (45.33.32.156)

Host is up (0.27s latency).

Not shown: 996 closed ports

PORT STATE SERVICE

22/tcp open ssh

80/tcp open http

| http-headers:

| Date: Wed, 15 Nov 2017 05:10:04 GMT

| Server: Apache/2.4.7 (Ubuntu)

| Accept-Ranges: bytes

| Vary: Accept-Encoding

| Connection: close

| Content-Type: text/html

|

|_ (Request type: HEAD)

179/tcp filtered bgp

31337/tcp open Elite

Nmap done: 1 IP address (1 host up) scanned in 20.96 seconds

使用类别

还可以从一个类别或以逗号分隔的类别列表中加载脚本,在本例中,使用default和broadcast类别中的所有脚本对主机192.168.56.1执行扫描。$ nmap --script default,broadcast 192.168.56.1

使用*通配符

当你想要选择有给定名称模式的脚本时,这非常有用,例如要加载名称以ssh开头的所有脚本,请在终端上运行以下命令:$ nmap --script"ssh-*" 192.168.56.1

使用通配符加载脚本-

使用布尔表达式

还可以使用布尔表达式选择脚本,可以使用and,or和not运算符构建布尔表达式,布尔表达式中的名称可以是category,script.db的文件名,或者all。

以下命令将从默认类别或广播类别加载脚本。$ nmap --script"default or broadcast" 192.168.56.10

相当于:$ nmap --script default,broadcast 192.168.56.10

若要加载所有脚本省略vuln类别中的脚本,请在终端上运行此命令。$ nmap --script"not vuln" 192.168.56.10

下一个命令看起来有点复杂,但是很容易理解,它选择默认类别中的脚本,或者广播类别中的脚本,保留以ssh-开头的名称:$ nmap --script"(default or broadcast) and not ssh-*" 192.168.56.10

还可以组合类别,脚本名,包含自定义脚本的目录或布尔表达式来加载脚本,如下所示:$ nmap --script broadcast,vuln,ssh-auth-methods,/path/to/custom/scripts 192.168.56.10

将参数传递给NSE脚本

以下示例显示了如何使用-script-args选项将参数传递给脚本:$ nmap --script mysql-audit --script-args"mysql-audit.username='root',

mysql-audit.password='password_here', mysql-audit.filename='nselib/data/mysql-cis.audit'"

要传递端口号,请使用-p nmap选项:$ nmap -p 3306 --script mysql-audit --script-args"mysql-audit.username='root',

mysql-audit.password='password_here' , mysql-audit.filename='nselib/data/mysql-cis.audit'"

现在就这样,你可以在nmap手册页或在NSE Usage中找到更多信息。

在本文中,向你介绍了Nmap脚本引擎,并了解如何在不同的类别下查找和使用各种可用的脚本,如果你有问题,请在下面给我留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值