当前位置: 代码迷 >> 综合 >> nmap NSE脚本研究之一:脚本扫描参数及基本用法
  详细解决方案

nmap NSE脚本研究之一:脚本扫描参数及基本用法

热度:56   发布时间:2024-02-02 10:31:46.0

前记:这篇博客首次写的时间比较久远,内容参考自nmap官网,可能还有其他作者的内容。如有重叠,望海涵。只是做技术分享而已。

-sC

等于 --script=default。-sC option enables the NSE and runs any script in the default category.

--script=<Lua scripts>

Lua一种嵌入式语言。使用a comma逗号 separated分隔 list of directories, script-files or script-categories。其实不止这三种引用方式,后面会专门进行介绍。

--script-args=<n1=v1,[n2=v2,...]>

provide提供 arguments to scripts

--script-args-file=filename

provide NSE(Nmap Scripting Engine) script args in a file

--script-trace

Show all data sent and received

--script-help=<Lua scripts>

Show help about scripts. <Lua scripts> is a comma-separated list of script-files orscript-categories.

 

--script-updatedb

Update the script database.

 

NSE Introduction

It was introduced during       Google’s Summer of Code in 2007。开发NSE脚本的初衷是增强“服务探测和OS探测”。今天,有14个类别涉及广泛的任务,从network discovery到detection

and exploitation of security vulnerabilities。比如:暴力破解弱口令。

 

NSE Script分类(category

Script category

Description

认证

auth

与用户身份认证相关的NSE脚本

广播

broadcast

一个非常有趣的脚本类型,需要使用广播的方式去收集网络信息

爆破

brute

进行暴力破解的脚本类型,用于暴力破解用户密码

默认

default

sC参数指定时,默认执行的脚本类型

发现

discovery

与主机和服务发现相关的脚本

拒绝服务

dos

与拒绝服务攻击相关的脚本

利用

exploit

用于利用安全漏洞的脚本

扩展

external

这类脚本依赖于第三方的服务

模糊

fuzzer

专注于模糊测试的NSE脚本

入侵

intrusive

该类别,可能会导致一些东西崩溃或产生大量的网络噪音。系统管理员可能认为具有侵入性的脚本

恶意软件

malware

与恶意软件检测相关的脚本类别。

安全

safe

在所有情况下都被认为是安全的脚本

版本

version

用于高级版本检测

漏洞

vuln

与检测和利用安全漏洞相关的脚本

 

脚本选择引用

#通过脚本名称、脚本列表引用

nmap --script http-title,http-methods <target>

nmap --script discovery,intrusive <target>

#通过脚本路径、包含脚本的目录,后者会将目录中的所有脚本执行一遍。

nmap --script /path/to/script.nse,/another/path/script2.nse <target>

nmap --script /path/to/folder/ <target>

注释:--script       option接受“相对路径”、“绝对路径”的脚本和文件夹。相对路径:除了当前目录外,还会在以下目录下查找:

--datadir

$NMAPDIR

~/.nmap

%HOMEPATH%\AppData\Roaming\nmap

包含nmap的目录

包含nmap的目录后跟此相对路径:../share/nmap

NMAPDATADIR

 

#高级脚本选择,使用表达式。表达式用于描述一组脚本。

##匹配任何脚本,exploit类型除外

#nmap -sV --script "not exploit" <target>

##匹配任何脚本,intrusive、dos、exploit类型除外

#nmap --script "not(intrusive or dos or exploit)" -sV <target>

##匹配broadcast和discovery类型脚本

#nmap --script "broadcast and discovery" <<target>

##使用通配符匹配snmp-开头的所有脚本

#nmap --script "snmp-*" <target>

##匹配http-开头的所有脚本,除了“http-slowloris、http-brute、http-enum、http-form-fuzzer”4个脚本之外

#nmap --script "http-* and not(http-slowloris or http-brute or http-enum or http-form-fuzzer)" <target>

##匹配http-开头的所有脚本,除了里面exploit类型以外

#nmap --script "http-* and not(exploit)" <target>