Nmap全脚本使用指南!NSE脚本全详细教程!Kali Linux教程!(三)

脚本类别

default(默认)

这些脚本是默认设置,在使用 -sC 或 -A 选项而不是使用 --script 列出脚本时运行。此类别也可以像任何其他类别一样使用 --script=default 明确指定。在决定是否应默认运行脚本时,需要考虑许多因素:

Speed(速度)

        默认扫描必须快速完成,这不包括暴力身份验证破解器、网络蜘蛛和任何其他可能需要几分钟或几小时才能扫描单个服务的脚本。

Usefulness(实用性)

        默认扫描需要生成有价值且可操作的信息。如果脚本作者都无法解释为什么普通网络或安全专业人员会发现输出有价值,则不应默认运行该脚本。

Verbosity(详细程度)

        dNmap 输出用于各种目的,需要可读且简洁。经常生成满页输出的脚本不应添加到默认类别。当没有重要信息要报告时,NSE 脚本(尤其是默认脚本)不应返回任何内容。只要检查一个模糊的漏洞时只在发现该漏洞时才产生输出,默认情况下检查该漏洞可能没问题。

Reliability(可靠性)

        许多脚本使用启发式和模糊签名匹配来得出有关目标主机或服务的结论。示例包括嗅探器检测和 sql 注入。如果脚本经常出错,则它不属于默认类别,因为它可能会混淆或误导普通用户。直接指定脚本或类别的用户通常更高级,并且可能知道脚本的工作原理或至少知道在哪里可以找到其文档。

Intrusiveness(侵入性)

        某些脚本非常具有侵入性,因为它们在远程系统上使用大量资源,可能会导致系统或服务崩溃,或者可能被远程管理员视为攻击。脚本的侵入性越强,它就越不适合默认类别。默认脚本也几乎总是在安全类别中,尽管我们偶尔会默认允许侵入性脚本,因为它们的侵入性只是轻微的,并且在其他因素中得分很高。

Privacy(隐私)

        某些脚本,尤其是后面描述的外部类别中的脚本,本质上会向第三方泄露信息。例如,whois 脚本必须向区域 whois 注册中心泄露目标 IP 地址。我们还考虑过(但决定不这样做)添加脚本,这些脚本会根据 Internet 弱密钥数据库检查目标 SSH 和 SSL 密钥指纹。脚本对隐私的侵犯程度越高,就越不适合纳入默认类别。

我们没有针对每个标准的确切阈值,其中许多标准都是主观的。在决定是否将脚本提升到默认类别时,会综合考虑所有这些因素。一些默认脚本是 identd-owners(确定使用 identd 运行远程服务的用户名)、http-auth(获取需要身份验证的网站的身份验证方案和领域)和 ftp-anon(测试 FTP 服务器是否允许匿名访问)。

160. address-info

显示有关 IPv6 地址的额外信息,例如嵌入式 MAC 或 IPv4 地址(如果可用)。

一些 IP 地址格式会编码额外的信息;例如一些 IPv6 地址编码 IPv4 地址或 MAC 地址。此脚本可以解码这些地址格式:

    与 IPv4 兼容的 IPv6 地址,
    IPv4 映射的 IPv6 地址,
    Teredo IPv6 地址,
    6to4 IPv6 地址,
    使用 EUI-64 接口 ID 的 IPv6 地址,
    IPv4 嵌入的 IPv6 地址,
    IPv4 转换的 IPv6 地址和
    ISATAP 修改的 EUI-64 IPv6 地址。

请参阅 RFC 4291,了解通用 IPv6 寻址架构和一些术语的定义。 

nmap -sV -sC 192.168.174.132

161. afp-serverinfo

显示 AFP 服务器信息。此信息包括服务器的主机名、IPv4 和 IPv6 地址以及硬件类型(例如 Macmini 或者 MacBookPro)。 

afp.password,afp.username

        请参阅 afp 库的文档。

nmap -sV --script "afp-serverinfo" -p548 ip/域名

ajp-auth

已演示过。这里不再演示。

162. ajp-methods

通过发送 OPTIONS 请求来发现 AJP(Apache JServ 协议)服务器支持哪些选项,并列出潜在的风险方法。

在此脚本中,“潜在风险”方法是指除 GET、HEAD、POST 和 OPTIONS 之外的任何方法。如果脚本报告了潜在的风险方法,则它们可能并非全部都是安全风险,但您应该检查以确保。此页面列出了一些常见方法的危险:

http://www.owasp.org/index.php/Testing_for_HTTP_Methods_and_XST_%28OWASP-CM-008%29

ajp-methods.path

        要检查的路径,如果没有指定,则为 <code>/<code>

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap -p 8009 ip/域名 --script "ajp-methods" 

163. amqp-info

从 AMQP(高级消息队列协议)服务器收集信息(所有服务器属性的列表)。

有关服务器属性字段的详细信息,请参阅 http://www.rabbitmq.com/extensions.html。

amqp.version

        请参阅 amqp 库的文档。

sudo nmap --script "amqp-info" -p5672 ip/域名

164. auth-owners

尝试通过查询身份验证来查找开放 TCP 端口的所有者守护进程也必须在目标系统上打开。auth 服务, 也称为 identd,通常在端口 113 上运行。 

 sudo nmap -sV --script "auth-owners" -p113 ip/域名

165. backorifice-info

连接到 BackOrifice 服务并收集以下信息主机和 BackOrifice 服务本身。

提取的主机信息包括基本系统设置、列表正在运行的进程、网络资源和共享。

有关服务的信息包括启用的端口重定向, 监听控制台应用程序和 BackOrifice 插件列表随服务一起安装。

backorifice-info.seed

        加密种子(默认从密码派生,或无密码时为 31337)。

backorifice-info.password

        加密密码(默认无密码)。

sudo nmap --script "backorifice-info" ip/域名 --script-args "backorifice-info.password=password" -p 31337

166. bitcoinrpc-info

通过调用以下方法从比特币服务器获取信息 getinfo在其 JSON-RPC 接口上。 

creds.global

        用于查询的 http 凭据 (user:pass)

slaxml.debug

        请参阅 slaxml 库的文档。

creds.[service]

        请参阅 creds 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap -p 8332 --script "bitcoinrpc-info" --script-args "creds.global=user:pass" ip/域名

167. cassandra-info

尝试从 Cassandra 数据库获取基本信息和服务器状态。

有关 Cassandra 的详细信息,请参阅: http://cassandra.apache.org/ 

creds.[service], creds.global

        请参阅 creds 库的文档。

sudo nmap -p 9160 ip/域名 --script=cassandra-info

168. clock-skew

分析扫描仪与报告时间戳的各种服务之间的时钟偏差。

扫描结束时,它将显示具有相似中位数的系统组服务之间的时钟偏差。这可利用这一点来识别具有 类似的配置,例如共享公共时间服务器的配置。

您必须运行以下脚本中的至少 1 个来收集时钟数据: * 

nmap -sV --script "clock-skew" 192.168.174.132

169. creds-summary

在扫描结束时列出所有发现的凭据(例如来自暴力破解和默认密码检查脚本)。 

creds.[service], creds.global

        请参阅 creds 库的文档。

 sudo nmap -sV --script "creds-summary" 192.168.174.128

dicom-ping

已演示过。这里不再演示。

170. dns-nsid

通过请求其名称服务器 ID (nsid) 并询问其 id.server 和 version.bind 值来从 DNS 名称服务器检索信息。此脚本执行与以下两个 dig 命令相同的查询:- dig CH TXT bind.version @target - dig +nsid CH TXT id.server @target

参考文献:[1]http://www.ietf.org/rfc/rfc5001.txt [2]http://www.ietf.org/rfc/rfc4892.txt

sudo nmap -sSU -p 53 --script "dns-nsid" 192.168.174.132

171. dns-recursion

检查 DNS 服务器是否允许查询第三方名称。 预计递归将在您自己的内部启用名称服务器。

sudo nmap -sU -p 53 --script=dns-recursion 192.168.174.132

172. dns-service-discovery

尝试使用 DNS 服务发现协议发现目标主机的服务。

该脚本首先发送查询 _services._dns-sd._udp.local 以获取服务列表。然后它会向每个服务发送一个后续查询,以尝试获取更多信息。

max-newtargets,newtargets

        请参阅目标库的文档。

dnssd.services

        请参阅 dnssd 库的文档。

sudo nmap -sU --script=dns-service-discovery -p 5353 ip/域名

173. epmd-info

连接到 Erlang 端口映射器守护进程 (epmd) 并检索具有各自端口号的节点列表。 

sudo nmap -p 4369 --script "epmd-info" ip/域名

174. finger

尝试使用 finger 服务检索用户名列表。

sudo nmap -sV --script "finger" -p 79 ip/域名

175. flume-master-info

从 Flume 主 HTTP 页面检索信息。

收集的信息:

        Flume 版本
        Flume 服务器 ID
        配置的流程中存在 Zookeeper/Hbase 主服务器
        Java 信息
        操作系统信息
        其他各种本地配置。

如果使用 -v 运行此脚本,它将输出更多信息。

使用 newtargets将发现的主机添加到脚本参数 Nmap 扫描队列。 

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

max-newtargets、newtargets

        请参阅 target 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap --script "flume-master-info" -p 35871 ip/域名

176. freelancer-info

通过发送状态查询 UDP 探测来检测 Freelancer 游戏服务器 (FLServer.exe) 服务。

当作为版本检测脚本 (-sV) 运行时,脚本将报告服务器名称、当前玩家数量、最大玩家数量以及是否设置了密码。 当明确运行时 (--script freelancer-info),脚本还将报告服务器描述、玩家是否可以伤害其他玩家以及是否允许新玩家。

请参阅 http://sourceforge.net/projects/gameq/(相关文件:games.ini、packets.ini、freelancer.php)

sudo nmap -sU -sV -p 2302 --script=freelancer-info ip/域名
sudo nmap -sU -p 2302 --script=freelancer-info ip/域名

ftp-anon

已演示过。这里不再演示。

177. ftp-bounce

检查 FTP 服务器是否允许使用 FTP 反弹方法进行端口扫描。

ftp-bounce.password

        登录密码。默认为 IEUser@。

ftp-bounce.username

        登录用户名。默认为 anonymous。

ftp-bounce.checkhost

        尝试使用 PORT 命令连接的主机。默认:scanme.nmap.org

nmap -sV --script "ftp-bounce" 192.168.174.132

178. ftp-syst

发送 FTP SYST 和 STAT 命令并返回结果。

规范的 SYST 响应“UNIX 类型:L8”被删除或忽略,因为它毫无意义。典型的 FTP 响应代码(SYST 为 215,STAT 为 211)也被隐藏。

参考:

        https://cr.yp.to/ftp/syst.html

sudo nmap -sV --script "ftp-syst" 192.168.174.129

179. ganglia-info

从正在监听的 Ganglia 监控守护进程或 Ganglia Meta 守护进程中检索系统信息(操作系统版本、可用内存等)。

Ganglia 是一个可扩展的分布式监控系统,适用于集群和网格等高性能计算系统。从网格中每个集群中的每个系统检索的信息包括 HDD 大小、可用内存、操作系统版本、架构(等等)。

有关 Ganglia 的更多信息,请参阅:

        http://ganglia.sourceforge.net/
        http://en.wikipedia.org/wiki/Ganglia_(software)#Ganglia_Monitoring_Daemon_.28gmond.29
        http://en.wikipedia.org/wiki/Ganglia_(software)#Ganglia_Meta_Daemon_.28gmetad.29

ganglia-info.bytes

        设置要检索的字节数。默认值为 1000000。这对于超过 100 个主机的网格来说应该足够了。集群中的每个主机大约返回 5KB-10KB 的数据。

ganglia-info.timeout

        设置超时(以秒为单位)。默认值为 30。

slaxml.debug

        请参阅 slaxml 库的文档。

sudo nmap --script "ganglia-info" --script-args "ganglia-info.timeout=60,ganglia-info.bytes=1000000" -p 8649 ip/域名

180. giop-info

查询 CORBA 命名服务器以获取对象列表。

sudo nmap -sV --script "giop-info" -p 1050 ip/域名

181. gopher-ls

列出 gopher 服务根目录下的文件和目录。

gopher-ls.maxfiles

        如果设置,则限制脚本返回的文件数量。如果设置为 0 或更小,则显示所有文件。默认值为 10。

sudo nmap -p 70 --script "gopher-ls" --script-args "gopher-ls.maxfiles=100" ip/域名

 

182. hadoop-datanode-info

从 Apache Hadoop DataNode 中发现日志目录等信息 HTTP 状态页面。

收集的信息:

    日志目录(相对于 http://host:port/ )

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

 sudo nmap --script "hadoop-datanode-info.nse" -p 50075 ip/域名

183. hadoop-jobtracker-info

从 Apache Hadoop JobTracker HTTP 状态页面检索信息。

收集的信息:

        JobTracker 的状态。
        服务启动的日期/时间
        Hadoop 版本
        Hadoop 编译日期
        工作追踪器 ID
        日志目录(相对于 http://host:port/ )
        关联的 TaskTracker
        可选用户活动历史记录

hadoop-jobtracker-info.userinfo

        检索用户历史信息。默认值:false

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

max-newtargets、newtargets

        请参阅目标库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap --script "hadoop-jobtracker-info" --script-args=hadoop-jobtracker-info.userinfo -p 50030 ip/域名

184. hadoop-namenode-info

从 Apache Hadoop NameNode HTTP 状态页面检索信息。

收集的信息:

        服务启动的日期/时间
        Hadoop 版本
        Hadoop 编译日期
        升级状态
        文件系统目录(相对于 http://host:port/ )
        日志目录(相对于 http://host:port/ )
        关联的数据节点。

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

max-newtargets、newtargets

        请参阅 target 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap --script "hadoop-namenode-info" -p 50070 ip/域名

185. hadoop-secondary-namenode-info

从 Apache Hadoop 辅助 NameNode HTTP 状态页面检索信息。

收集的信息:

        服务启动的日期/时间
        Hadoop 版本
        Hadoop 编译日期
        主 NameNode 服务器的主机名或 IP 地址和端口
        上次检查站被占领的时间
        检查点的建立频率(以秒为单位)
        日志目录(相对于 http://host:port/ )
        当前检查点的文件大小

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

max-newtargets、newtargets

        请参阅 target 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap --script "hadoop-secondary-namenode-info" -p 50090 ip/域名

186. hadoop-tasktracker-info

从 Apache Hadoop TaskTracker HTTP 状态页面检索信息。

收集的信息:

        Hadoop 版本
        Hadoop 编译日期
        日志目录(相对于 http://host:port/ )

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap --script "hadoop-tasktracker-info" -p 50060 ip/域名

187. hbase-master-info

从 Apache HBase(Hadoop 数据库)主 HTTP 状态页面检索信息。

收集的信息:

        Hbase 版本
        Hbase 编译日期
        Hbase 根目录
        Hadoop 版本
        Hadoop 编译日期
        平均负载
        Zookeeper 仲裁服务器
        关联区域服务器

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

max-newtargets、newtargets

        请参阅 target 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap --script "hbase-master-info" -p 60010 ip/域名

188. hbase-region-info

从 Apache HBase(Hadoop 数据库)区域服务器 HTTP 状态页面检索信息。

收集的信息:

        HBase 版本
        HBase 编译日期
        有关区域服务器状态的一系列指标
        Zookeeper 仲裁服务器

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

max-newtargets、newtargets

        请参阅 target 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap --script "hbase-region-info" -p 60030 ip/域名

189. hddtemp-info

从监听的 hddtemp 服务读取硬盘信息(例如品牌、型号,有时还有温度)。 

sudo nmap -p 7634 -sV --script "hddtemp-info" ip/域名

190. hnap-info

利用 HNAP(“家庭网络管理协议”)检索硬件详细信息和配置信息。它是一种基于 HTTP 简单对象访问协议 (SOAP) 的协议,允许远程拓扑发现, 设备(路由器、摄像头、电脑、NAS 等)的配置和管理

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap --script "hnap-info" -p80,8080 ip/域名

http-auth

已演示过。这里不再演示。

191. http-cisco-anyconnect

作为 Cisco AnyConnect 客户端连接到 Cisco SSL VPN 并检索版本和隧道信息。

slaxml.debug

        请参阅 slaxml 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

anyconnect.group、anyconnect.mac、anyconnect.ua、anyconnect.version

        请参阅 anyconnect 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

nmap -p 443 --script "http-cisco-anyconnect" ip/域名

192. http-cookie-flags

检查 HTTP 服务设置的 cookies。报告任何设置的会话 cookies 不带 httponly 标志。报告通过 SSL 设置的任何会话 cookie,不带安全标志。如果 http-enum.nse 也运行,则发现的任何有趣路径除了根之外,还会对其进行检查。 

cookie

        用于检查标志的特定 cookie 名称。默认值:各种常用的会话 cookie 名称和模式。

path

        用于检查会话 cookie 标志的特定 URL 路径。默认值:/ 以及 http-enum 找到的路径。

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap -p 443 --script "http-cookie-flags" ip/域名

193. http-cors

测试 http 服务器的跨源资源共享 (CORS),这是一种域明确选择让其调用某些方法另一个域名。

该脚本通过设置 Access-Control-Request-Method 标头来工作 OPTIONS 请求中某些枚举方法的字段,并检查回应。 

http-cors.path

        请求的路径。默认为 /。

http-cors.origin

        请求使用的来源。默认为 example.com。

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap -p 80 --script "http-cors" ip/域名

194. http-favicon

从网页获取收藏夹图标(“收藏夹图标”),并将其与已知 Web 应用程序图标数据库进行匹配。如果匹配,则打印应用程序的名称;否则打印图标数据的 MD5 哈希值。

如果给出了脚本参数 favicon.uri,则始终使用该相对 URI 来查找收藏夹图标。否则,首先检索 Web 服务器根目录下的页面并解析 <link rel="icon"> 元素。如果失败,则在 /favicon.ico 中查找图标。如果 <link> 收藏夹图标指向不同的主机或端口,则忽略它。

favicon.root

        搜索 favicon 的 Web 服务器路径。

favicon.uri

        将为 favicon 请求的 URI。

slaxml.debug

        请参阅 slaxml 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

nmap --script=http-favicon.nse --script-args "favicon.root=root,favicon.uri=uri" 192.168.174.132

195. http-generator

显示网页“生成器”元标记的内容(默认值:/) 如果有的话。 

http-generator.path

        指定要检查生成器元标记的路径(默认为“/”)。

http-generator.redirects

        指定要遵循的最大重定向次数(默认为 3)。

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap --script "http-generator" --script-args "http-generator.path=/,http-generator.redirects=3" ip/域名

196. http-git

检查网站文档根目录 /.git/<something> 中的 Git 存储库并检索尽可能多的存储库信息,包括语言/框架、远程、最后提交消息和存储库描述。

http-git.root

        搜索 .git 目录的 URL 路径。默认值:/

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap -sV --script "http-git" -p 80 192.168.174.132

197. http-ls

显示“索引”网页的内容。

待办事项: - 增加对更多页面格式的支持 

http-ls.url

        要使用的基本 URL 路径(默认值:/)

http-ls.checksum

        为每个列出的文件计算校验和。需要 OpenSSL。(默认值:false)

slaxml.debug

        请参阅 slaxml 库的文档。

ls.checksum、ls.empty、ls.errors、ls.human、ls.maxdepth、ls.maxfiles

        请参阅 ls 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap -n -p 80 --script "http-ls" test-debit.free.fr

198. http-methods

通过发送 OPTIONS 请求找出 HTTP 服务器支持的选项。列出潜在的风险方法。它会单独测试 OPTIONS 标头中未提及的方法,并查看它们是否已实现。除 501/405 之外的任何输出都表明该方法不在 400 到 600 的范围内。如果响应在该范围内,则将其与随机生成的方法的响应进行比较。

在此脚本中,“潜在风险”方法包括除 GET、HEAD、POST 和 OPTIONS 之外的任何方法。如果脚本报告了潜在的风险方法,则它们可能并非全部都是安全风险,但您应该检查以确保。此页面列出了一些常见方法的危险:

http://www.owasp.org/index.php/Testing_for_HTTP_Methods_and_XST_%28OWASP-CM-008%29

支持的方法列表来自 Allow 和 Public 标头字段的内容。在详细模式下,将打印所有方法的列表,然后打印潜在风险方法的列表。如果没有详细模式,则仅显示潜在风险方法。

http-methods.url-path

        请求路径。默认为 /。

http-methods.test-all

        如果设置为 true,则同时尝试所有不安全的方法。

http-methods.retest

        如果已定义,则分别使用每种方法执行请求并显示响应代码。使用此参数会使此脚本不安全;例如,DELETE / 是可能的。通过选项接收的所有方法都使用通用请求进行测试。显示其余的已保存状态行。

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap --script "http-methods" ip/域名
nmap --script "http-methods" --script-args "http-methods.url-path='/website'" -p80 ip/域名

199. http-ntlm-info

此脚本枚举启用了 NTLM 身份验证的远程 HTTP 服务的信息。

通过发送带有空域和用户凭据(在“授权”标头中传递)的 HTTP NTLM 身份验证请求,远程服务将使用 NTLMSSP 消息(在“WWW-Authenticate”标头内编码)进行响应,并披露包括 NetBIOS、DNS 和操作系统版本(如果可用)在内的信息。

http-ntlm-info.root

        请求的 URI 路径

slaxml.debug

        请参阅 slaxml 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

nmap -p 80 --script "http-ntlm-info" --script-args "http-ntlm-info.root=/root/" 192.168.174.132

200. http-open-proxy

检查 HTTP 代理是否打开。

该脚本尝试通过代理连接到 www.google.com,然后检查有效的 HTTP 响应代码。有效的 HTTP 响应代码是 200、301 和 302。如果目标是开放代理,此脚本会导致目标是从 www.google.com 检索网页。 

proxy.pattern, proxy.url

        请参阅代理库的文档。

nmap --script "http-open-proxy.nse" --script-args "proxy.url=http://192.168.174.129:7890,proxy.pattern=pattern" ip/域名

201. http-robots.txt

检查不允许的条目 /robots.txt在网络服务器上。

详细程度或调试级别越高,显示的不允许的条目就越多。 

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap -sV --script "http-robots.txt" -p 80 ip/域名

202. http-svn-enum

通过检查最近提交的日志来枚举 Subversion 存储库的用户。 

http-svn-enum.url

        这是相对于扫描主机的 URL,例如 /default.html(默认值:/)。

http-svn-enum.count

        要获取的日志数。默认为最后 1000 次提交。

slaxml.debug

        请参阅 slaxml 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

 sudo nmap -sV --script "http-svn-enum" -p 443 ip/域名

203. http-svn-info

从 Subversion 存储库请求信息。

http-svn-info.url

        这是相对于扫描主机的 URL,例如 /default.html(默认值:/)

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap --script "http-svn-info" -p 443 ip/域名

204. http-title

显示 Web 服务器的默认页面的标题。

该脚本将使用 http 库。 

http-title.url

        要获取的 URL。默认值:/

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap -sV --script "http-title" scan.nmap.org

205. http-webdav-scan

用于检测 WebDAV 安装的脚本。使用 OPTIONS 和 PROPFIND 方法。

该脚本发送一个 OPTIONS 请求,其中列出了 dav 类型、服务器类型、日期和允许的方法。然后它发送 PROPFIND 请求并尝试获取公开的通过在响应主体中进行模式匹配,找到目录和内部 IP 地址。

该脚本的灵感来自这里列出的各种脚本:

        http://carnal0wnage.attackresearch.com/2010/05/more-with-metasploit-and-webdav.html
        https://github.com/sussurro/Metasploit-Tools/blob/master/modules/auxiliary/scanner/http/webdav_test.rb
        http://code.google.com/p/davtest/

http-webdav-scan.path

        开始的路径;例如“/web/”将尝试“/web/xxx”。

slaxml.debug

        请参阅 slaxml 库的文档。

http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent

        请参阅 http 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap --script "http-webdav-scan" -p8008 ip/域名

206. ike-version

从 IKE 服务,向主机发送四个数据包。此脚本使用以下两种方式进行测试主模式和积极模式,每个请求发送多个转换。

sudo nmap -sU -sV --script "ike-version" -p 500 ip/域名

207. imap-capabilities

检索 IMAP 电子邮件服务器功能。

IMAP4rev1 功能在 RFC 3501 中定义。CAPABILITY 命令 允许客户端询问服务器它支持哪些命令,并可能任何针对特定站点的政策。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap -sV --script "imap-capabilities" -p 143 ip/域名

208. imap-ntlm-info

此脚本使用 NTLM 枚举来自远程 IMAP 服务的信息已启用身份验证。

发送带有空凭证的 IMAP NTLM 身份验证请求将导致远程服务以 NTLMSSP 消息进行响应,披露 信息包括 NetBIOS、DNS 和 OS 构建版本。 

mssql.domain、mssql.instance-all、mssql.instance-name、mssql.instance-port、mssql.password、mssql.protocol、mssql.scanned-ports-only、mssql.timeout、mssql.username

        请参阅 mssql 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

smtp.domain

        请参阅 smtp 库的文档。

randomseed、smbbasic、smbport、smbsign

        请参阅 smb 库的文档。

tls.servername

        请参阅 tls 库的文档。

sudo nmap -p 143,993 --script "imap-ntlm-info" ip/域名

209. ip-https-discover

检查是否支持 IP over HTTPS(IP-HTTPS)隧道协议 [1]。

IP-HTTPS 通过基于 IPv4 的 HTTPS 会话发送与 Teredo 相关的 IPv6 数据包。这表示允许远程客户端访问的 Microsoft DirectAccess [2] 支持在域基础上管理内部网资源。Windows 客户端需要 Windows 7 Enterprise/Ultime 或 Windows 8.1 Enterprise/Ultimate。服务器需要 Windows Server 2008 (R2) 或 Windows Server 2012 (R2)。旧版本不支持 Windows 和 Windows Server。

[1] http://msdn.microsoft.com/en-us/library/dd358571.aspx [2] http://technet.microsoft.com/en-us/network/dd420463.aspx 

mssql.domain、mssql.instance-all、mssql.instance-name、mssql.instance-port、mssql.password、mssql.protocol、mssql.scanned-ports-only、mssql.timeout、mssql.username

        请参阅 mssql 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

smtp.domain

        请参阅 smtp 库的文档。

randomseed、smbbasic、smbport、smbsign

        请参阅 smb 库的文档。

tls.servername

        请参阅 tls 库的文档。

sudo nmap --script "ip-https-discover" -p443 ip/域名

210. ipv6-node-info

通过 IPv6 节点信息查询获取主机名、IPv4 和 IPv6 地址。

IPv6 节点信息查询在 RFC 4620 中定义。有三种有用的查询类型:

        qtype=2:节点名称
        qtype=3:节点地址
        qtype=4:IPv4 地址

某些操作系统(Mac OS X 和 OpenBSD)在响应 qtype=4(IPv4 地址)时返回主机名。在这种情况下,主机名仍显示在“IPv4 地址”输出行中,但以“(实际主机名)”作为前缀。

nmap -6 --script "ipv6-node-info" 192.168.174.132

211. irc-info

从 IRC 服务器收集信息。

它使用 STATS、LUSERS 和其他查询来获取该信息。

sudo nmap -sV --script "irc-info" -p 6665 ip/域名

212. iscsi-info

收集并显示来自远程 iSCSI 目标的信息。

sudo nmap -sV --script "iscsi-info" -p 3260 ip/域名

213. jdwp-info

尝试利用 Java 的远程调试端口。当远程调试端口保持打开状态,可以注入 Java 字节码并实现远程代码执行。此脚本注入并执行返回远程系统信息的 Java 类文件。

nmap -sT ip/域名 -p 2010 --script=+jdwp-info

214. knx-gateway-info

通过发送 KNX 描述请求来识别 UDP 端口 3671 上的 KNX 网关。

更多信息:* DIN EN 13321-2 * http://www.knx.org/

sudo nmap -sU -sV --script "knx-gateway-info" -p 3671 ip/域名

215. maxdb-info

从 SAP Max DB 数据库检索版本和数据库信息。

sudo nmap -p 7210 --script "maxdb-info" ip/域名

216. mikrotik-routeros-version

注意:该脚本默认是并没安装的。使用前请先安装此脚本。建议挂代理安装。

wget https://svn.nmap.org/nmap/scripts/mikrotik-routeros-version.nse

 

从端口 8291 上运行 Winbox 服务的设备检测 MikroTik RouterOS 版本。

该脚本尝试发送特定的有效负载以引出包含版本信息的响应。

提供的有效负载可用于所有 RouterOs 版本,直到 6.49.17。但不支持版本 7.1+ 

sudo nmap -p 8291 --script "mikrotik-routeros-version" ip/域名

217. mongodb-databases

尝试从 MongoDB 数据库获取表的列表。

mongodb.db

        请参阅 mongodb 库的文档。

creds.[service], creds.global

        请参阅 creds 库的文档。

sudo nmap -p 27017 --script "mongodb-databases" ip/域名

218. mongodb-info

尝试从 MongoDB 数据库获取构建信息和服务器状态。

mongodb-info.db

        要检查的数据库。默认值:admin

mongodb.db

        请参阅 mongodb 库的文档。

creds.[service], creds.global

        请参阅 creds 库的文档。

nmap -p 27017 --script "mongodb-info" ip/域名

219. ms-sql-info

尝试确定 Microsoft SQL Server 实例的配置和版本信息。

是否需要 SQL Server 凭据:否(mssql.username 和 mssql.password 不会带来任何好处)。运行条件:

        主机脚本:始终运行。
        端口脚本:N/A

注意:与以前的版本不同,此脚本不会尝试登录 SQL Server 实例。可以使用 ms-sql-empty-password 脚本检查空白密码。例如:nmap -sn --script ms-sql-empty-password --script-args mssql.instance-all <host>

该脚本使用两种方法获取 SQL Server 实例的版本信息:

        查询 SQL Server Browser 服务,该服务默认在安装了 SQL Server 2000 或更高版本的服务器上的 UDP 端口 1434 上运行。但是,可以禁用此服务而不会影响实例的功能。此外,它提供的版本信息不准确。

        向实例发送探测,使实例响应

包括准确版本号的信息。这是 Nmap 用于服务版本控制的相同方法;但是,此脚本也可以对通过 Windows 命名管道访问的实例执行相同操作,并且可以针对 SQL Server Browser 服务列出的所有实例。

如果脚本可以连接到 SQL Server Browser 服务 (UDP 1434),但无法直接连接到实例以获取更准确的版本信息(因为端口被阻止或使用了 mssql.scanned-ports-only 参数),则脚本将仅依赖 SQL Server Browser/Monitor 提供的版本号,它具有以下限制:

        对于 SQL Server 2000 和 SQL Server 7.0 实例,无论安装了什么服务包或补丁,始终都会提供 RTM 版本号。

        对于 SQL Server 2005 及更高版本,版本号将反映已安装的服务包,但脚本将无法判断是否已安装补丁。

如果可能,脚本将确定主要版本号、服务包级别以及是否已安装补丁。但是,如果无法做出特定决定,脚本将仅报告可以确认的内容。

注意:通过命名管道与实例通信取决于 smb 库。要通过命名管道与实例通信(并可能发现实例),主机必须至少有一个经过扫描并发现打开的 SMB 端口(例如 TCP 445)。此外,除了连接到 SQL Server 实例本身所需的身份验证之外,命名管道连接可能还需要 Windows 身份验证才能连接到 Windows 主机(通过 SMB)。有关更多信息,请参阅 smb 库的文档和参数。

注意:默认情况下,ms-sql-* 脚本可能会尝试连接到 Nmap 扫描的端口列表中未包含的端口并与之通信。可以使用 mssql.scanned-ports-only 脚本参数禁用此功能。

mssql.domain、mssql.instance-all、mssql.instance-name、mssql.instance-port、mssql.password、mssql.protocol、mssql.scanned-ports-only、mssql.timeout、mssql.username

        请参阅 mssql 库的文档。

randomseed、smbbasic、smbport、smbsign

        请参阅 smb 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap -p 445 --script "ms-sql-info" ip/域名
nmap -p 1433 --script "ms-sql-info" --script-args "mssql.instance-port=1433" ip/域名

220. ms-sql-ntlm-info

此脚本使用 NTLM 枚举来自远程 Microsoft SQL 服务的信息 已启用身份验证。

发送具有无效域和空值的 MS-TDS NTLM 身份验证请求凭据将导致远程服务以 NTLMSSP 消息进行响应泄露的信息包括 NetBIOS、DNS 和 OS 构建版本。

mssql.domain、mssql.instance-all、mssql.instance-name、mssql.instance-port、mssql.password、mssql.protocol、mssql.scanned-ports-only、mssql.timeout、mssql.username

        请参阅 mssql 库的文档。

randomseed、smbbasic、smbport、smbsign

        请参阅 smb 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap -p 1433 --script "ms-sql-ntlm-info" ip/域名

221. mysql-info

连接到 MySQL 服务器并打印协议和版本号、线程 ID、状态、功能和密码盐。

如果执行服务检测并且服务器似乎被阻塞我们的主机或者由于连接数过多而被阻止,那么这个脚本 没有运行(参见规则)。

sudo nmap -sV --script "mysql-info" -p 3306 192.168.174.132

222. nat-pmp-info

使用 NAT 端口映射协议 (NAT-PMP) 获取路由器的 WAN IP。NAT-PMP 协议受多种路由器支持,包括:

        Apple AirPort Express
        Apple AirPort Extreme
        Apple Time Capsule
        DD-WRT
        OpenWrt v8.09 或更高版本,带有 MiniUPnP 守护程序
        pfSense v2.0
        Tarifa(固件)(Linksys WRT54G/GL/GS)
        Tomato 固件 v1.24 或更高版本。(Linksys WRT54G/GL/GS 等)
        Peplink Balance

sudo nmap -sU -p 5351 --script=nat-pmp-info ip/域名

223. nbns-interfaces

注意:该脚本默认是并没安装的。使用前请先安装此脚本。建议挂代理安装。

sudo wget -e https://svn.nmap.org/nmap/scripts/nbns-interfaces.nse

 

通过 NetBIOS NS 检索目标网络接口的 IP 地址。 额外的网络接口可能会泄露有关目标的更多信息, 包括通过多宿主系统寻找到隐藏的非路由网络的路径。

sudo nmap -sU -p 137 --script "nbns-interfaces" ip/域名

224. nbstat

尝试检索目标的 NetBIOS 名称和 MAC 地址。

默认情况下,脚本显示计算机的名称和登录的用户;如果详细程度调高,它会显示系统认为拥有。

sudo nmap -sU --script "nbstat.nse" -p137 ip/域名

225. ncp-serverinfo

检索 eDirectory 服务器信息(操作系统版本、服务器名称、 从 Novell NetWare 核心协议 (NCP) 服务获取网络资源(例如,网络挂载等)。

nmap -sV --script "ncp-serverinfo" -p524 ip/域名

226. netbus-info

打开与 NetBus 服务器的连接并提取以下信息主机和 NetBus 服务本身。

提取的主机信息包括正在运行的应用程序和主机的音量设置。

提取的服务信息包括其访问控制列表 (acl)、服务器信息和设置。acl 是 IP 地址列表允许访问服务的地址。服务器信息包含有关服务器安装路径的详细信息,重新启动持久性、服务器正在运行的用户帐户以及连接的 NetBus 客户端数量。设置信息包含配置详细信息,例如服务 TCP 端口号、流量 登录设置,密码,接收登录的电子邮件地址通知,用于发送通知的电子邮件地址, 以及用于通知传递的 smtp 服务器。 

netbus-info.password

        用于身份验证的密码

nmap -p 12345 --script "netbus-info" ip/域名 --script-args "netbus-info.password=password"

227. nntp-ntlm-info

此脚本使用 NTLM 枚举来自远程 NNTP 服务的信息已启用身份验证。

发送带有空凭据的 MS-NNTP NTLM 身份验证请求将导致远程服务以 NTLMSSP 消息进行响应,披露信息包括 NetBIOS、DNS 和 OS 构建版本。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap -p 119,433,563 --script "nntp-ntlm-info" ip/域名

228. ntp-info

从 NTP 服务器获取时间和配置变量。我们发送两个请求:一个时间请求和一个“读取变量”(操作码 2)控制消息。不使用详细格式时,脚本会显示时间和版本、处理器、系统、refid 和层变量的值。使用详细格式时,会显示所有变量。

有关协议文档,请参阅 RFC 1035 和网络时间协议版本 4 参考和实施指南 (http://www.eecis.udel.edu/~mills/database/reports/ntp4/ntp4.pdf)。

sudo nmap -sU -p 123 --script "ntp-info" ip/域名

229. openflow-info

注意:该脚本默认是并没安装的。使用前请先安装此脚本。建议挂代理安装。

sudo wget https://svn.nmap.org/nmap/scripts/openflow-info.nse

 

查询 OpenFlow 控制器以获取信息。OpenFlow 的较新版本协议(1.3 及更高版本)将返回支持的所有协议版本的列表由控制器返回。1.3 之前的版本仅返回其自己的版本号。

nmap -p 6633,6653 --script "openflow-info" ip/域名

230. openlookup-info

解析并显示 OpenLookup(网络键值存储)服务器的横幅信息。

nmap -p 5850 --script "openlookup-info" ip/域名

231. p2p-conficker

根据 Conficker 的对等通信检查主机是否感染了 Conficker.C 或更高版本。

当 Conficker.C 或更高版本感染系统时,它会打开四个端口:两个 TCP 和两个 UDP。端口是随机的,但会根据当前周数和受感染主机的 IP 进行播种。通过确定算法,可以检查这四个端口是否打开,并可以探测它们以获取更多数据。

一旦找到打开的端口,就可以使用 Conficker 的自定义对等协议启动通信。如果收到有效响应,则表明发现了有效的 Conficker 感染。

此检查在多宿主或 NAT 系统上无法正常工作,因为打开的端口将基于非公共 IP。参数 checkall 告诉 Nmap 尝试与每个打开的端口进行通信(非常类似于版本检查),参数 realip 告诉 Nmap 根据给定的 IP 地址而不是实际 IP 来生成端口。

默认情况下,这将针对打开了标准 Windows 端口(445、139、137)的系统运行。参数 checkall 和 checkconficker 都将执行检查,无论哪个端口打开,请参阅参数部分了解更多信息。

注意:使用此脚本前,请确保您的时钟正确(一周内)!

此脚本的大部分研究由 Symantec 安全响应中心完成,部分研究来自公共来源(最值得注意的是端口黑名单由 David Fifield 发现)。非常感谢所有做出贡献的人!

realip

        用来代替 Nmap 已知的 IP 地址。

checkall

        如果设置为 1 或 true,则尝试与每个开放端口进行通信。

checkconficker

        如果设置为 1 或 true,则脚本将始终在活动主机上运行,​​无论是否检测到任何开放端口都无关紧要。

randomseed、smbbasic、smbport、smbsign

        请参阅 smb 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

#针对看似 Windows 的主机运行脚本
sudo nmap --script "p2p-conficker" --script-args=safe=1 -T4 -vv -p445 192.168.174.128
sudo nmap -sU -sS --script "p2p-conficker" --script-args=safe=1 -vv -T4 -p U:137,T:139 192.168.174.128

#针对所有活动主机运行脚本(推荐)
sudo nmap -p139,445 -vv --script "p2p-conficker" --script-args=checkconficker=1,safe=1 -T4 192.168.174.128

#针对所有 65535 端口运行脚本(缓慢)
sudo nmap --script "p2p-conficker" -p- --script-args=checkall=1,safe=1 -vv -T4 192.168.174.128

#基于不同的 IP 地址 (NATed) 进行检查
sudo nmap --script "p2p-conficker" -p445 --script-args=realip=\"192.168.174.129\" -vv -T4 192.168.174.128

232. pop3-capabilities

检索 POP3 电子邮件服务器功能。

POP3 功能在 RFC 2449 中定义。CAPA 命令允许客户端询问服务器它支持哪些命令以及可能的任何特定于站点的策略。 除了支持的命令列表之外,IMPLEMENTATION 字符串还提供了服务器版本可能可用。

nmap -sV --script "pop3-capabilities" -p110 ip/域名

233. pop3-ntlm-info

此脚本使用 NTLM 枚举来自远程 POP3 服务的信息已启用身份验证。

发送带有空凭据的 POP3 NTLM 身份验证请求将导致远程服务以 NTLMSSP 消息进行响应,披露信息包括 NetBIOS、DNS 和 OS 构建版本。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap -p 110,995 --script "pop3-ntlm-info" ip/域名

234. quake1-info

从 Quake 游戏服务器和其他游戏服务器中提取信息使用相同的协议。

Quake 使用 UDP 数据包,由于源欺骗,该数据包可用于放大拒绝服务攻击。对于每个请求,脚本都会报告有效载荷放大倍数。使用的格式是 response_bytes/request_bytes=ratio

http://www.gamers.org/dEngine/quake/QDP/qnp.html

sudo nmap -n -sU -Pn --script "quake1-info" -pU:26000-26004 -- ip/域名

235. quake3-info

从 Quake3 游戏服务器和使用相同协议的其他游戏中提取信息。

sudo nmap -sU -sV -Pn --script "quake3-info.nse" -p 27960 ip/域名

236. quake3-master-getservers

查询游戏服务器的 Quake3 风格的主服务器(Quake 3 以外的许多游戏都使用相同的协议)。 

quake3-master-getservers.outputlimit

        如果设置,则限制脚本返回的主机数量。所有发现的主机仍存储在注册表中以供其他脚本使用。如果设置为 0 或更小,则显示所有文件。默认值为 10。

sudo nmap -sU -p 27950 --script=quake3-master-getservers ip/域名

237. rdp-ntlm-info

该脚本使用 CredSSP 枚举来自远程 RDP 服务的信息 (NLA)身份验证已启用。

发送带有空凭证的不完整 CredSSP (NTLM) 身份验证请求将导致远程服务以 NTLMSSP 消息进行响应,披露信息包括 NetBIOS、DNS 和 OS 构建版本。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap -p 3389 --script "rdp-ntlm-info" ip/域名

238. rmi-dumpregistry

连接到远程 RMI 注册表并尝试转储其所有对象。

首先,它尝试确定绑定在注册表,然后尝试确定有关对象,例如超类的类名和接口。这可能取决于注册表的用途, 有关服务的有价值的信息。例如,如果应用程序使用 JMX(Java Management eXtensions),您应该看到一个名为“jmxconnector”的对象就可以了。

它还提供了关于物体所在位置的信息(标记 输出中包含 @<ip>:port)。

有些应用程序会泄露类路径,而这个脚本会捕获这些路径所谓的“自定义数据”。

sudo nmap --script "rmi-dumpregistry" -p 1098 ip/域名

239. rpcinfo

连接到 portmapper 并获取所有已注册程序的列表。然后打印出一个表格,其中包含(每个程序的)RPC 程序编号, 支持的版本号、端口号和协议以及程序名称。

mount.version、nfs.version、rpc.protocol

        请参阅 rpc 库的文档。

nmap -sV --script "rpcinfo" -p111 192.168.174.132

 

240. rtsp-methods

确定 RTSP(实时流协议)服务器支持哪些方法。

rtsp-methods.path

        查询的路径,默认为“*”,即查询服务器本身,而不是特定的 URL。

nmap -p 554 --script "rtsp-methods" ip/域名

241. servicetags

尝试从 Sun Service Tags 服务代理 (UDP 端口 6481) 提取系统信息 (操作系统、硬件等)。

根据协议规范 http://arc.opensolaris.org/caselog/PSARC/2006/638/stdiscover_protocolv2.pdf http://arc.opensolaris.org/caselog/PSARC/2006/638/stlisten_protocolv2.pdf http://arc.opensolaris.org/caselog/PSARC/2006/638/ServiceTag_API_CLI_v07.pdf

sudo nmap -sU -p 6481 --script=servicetags ip/域名

242. sip-methods

枚举 SIP 服务器允许的方法(INVITE、OPTIONS、SUBSCRIBE 等)

该脚本的工作原理是向服务器发送 OPTION 请求并检查响应中 Allow 标头的值。

sip.timeout

        请参阅 sip 库的文档。

sudo nmap --script=sip-methods -sU -p 5060 ip/域名

243. smb-os-discovery

尝试通过 SMB 协议(端口 445 或 139)确定操作系统、计算机名称、域、工作组和当前时间。这可以通过使用匿名帐户(或使用适当的用户帐户,如果已提供;可能没有什么区别)启动会话来完成;响应会话启动,服务器将发回所有这些信息。

根据情况(例如,工作组名称与域名和林名称互斥)和可用信息,输出中可能包含以下字段:

        操作系统
        计算机名称
        域名
        林名称
        FQDN
        NetBIOS 计算机名称
        NetBIOS 域名
        工作组
        系统时间

某些系统(如 Samba)会将其名称空白(仅发送其域)。其他系统(如嵌入式打印机)将直接忽略该信息。其他系统将空白各个部分(例如,有些系统将发回 0 作为当前时间)。

如果将此脚本与版本检测结合使用,它可以使用此脚本发现的数据来增强标准 nmap 版本检测信息。

检索服务器的名称和操作系统是针对该服务器发起攻击的重要步骤,此脚本使检索变得简单。此外,如果渗透测试人员在多个目标之间进行选择,时间可以帮助识别维护不善的服务器(有关使用时间的更多信息/随机想法,请参阅 http://www.skullsecurity.org/blog/?p=76。

虽然可以使用标准 smb* 脚本参数,但它们可能不会以任何有意义的方式改变结果。但是,smbnoguest 将加快不允许访客访问的目标上的脚本速度。

randomseed、smbbasic、smbport、smbsign

        请参阅 smb 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap --script "smb-os-discovery.nse" -p445 192.168.174.128

244. smb-security-mode

返回有关由 SMB 确定的 SMB 安全级别的信息。

以下是如何解释输出:

        用户级身份验证:每个用户都有一个单独的用户名/密码,用于登录系统。这是当今几乎所有内容的默认设置。
        共享级身份验证:应使用匿名帐户登录,然后在访问共享时提供密码(纯文本)。所有有权访问共享的用户都使用此密码。这是最初的做事方式,但现在并不常见。如果服务器使用共享级安全性,则容易受到嗅探。
        支持质询/响应密码:如果启用,服务器可以接受任何类型的密码(纯文本、LM 和 NTLM,以及 LMv2 和 NTLMv2)。如果未设置,服务器只能接受纯文本密码。如今大多数服务器都配置为使用质询/响应。如果服务器配置为接受纯文本密码,则容易受到嗅探。 LM 和 NTLM 相当安全,尽管存在一些针对它们的暴力攻击。此外,LM 和 NTLM 可能成为中间人攻击或中继攻击的受害者(请参阅 MS08-068 或我对此的描述:http://www.skullsecurity.org/blog/?p=110。
        消息签名:如果需要,客户端和服务器之间的所有消息都必须由共享密钥签名,该密钥来自密码和服务器质询。如果支持但不是必需的,则客户端和服务器之间协商消息签名,并在双方都支持和请求时使用。默认情况下,Windows 客户端不对消息进行签名,因此如果服务器不要求消息签名,则消息可能不会被签名;此外,如果执行中间人攻击,攻击者可以协商不进行消息签名。如果不需要消息签名,则服务器容易受到中间人攻击或 SMB 中继攻击。

此脚本将允许您使用 smb* 脚本参数(设置用户名和密码等),但它可能永远不需要它们。

randomseed、smbbasic、smbport、smbsign

        请参阅 smb 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap --script "smb-security-mode.nse" -p445 192.168.174.128
sudo nmap -sU -sS --script "smb-security-mode.nse" -p U:137,T:139 192.168.174.132

245. smb2-security-mode

确定 SMBv2 服务器中的消息签名配置针对所有支持的方言。

脚本为每个 SMB2/SMB3 方言发送一个 SMB2_COM_NEGOTIATE 请求并解析安全模式字段以确定消息签名 SMB 服务器的配置。

randomseed、smbbasic、smbport、smbsign

        请参阅 smb 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap -p 445 --script "smb2-security-mode" 192.168.174.128
sudo nmap -p 139 --script "smb2-security-mode" 192.168.174.128

246. smb2-time

尝试获取当前系统日期和 SMB2 服务器的启动日期。

randomseed、smbbasic、smbport、smbsign

        请参阅 smb 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

sudo nmap -p445 --script "smb2-time" 192.168.174.128

247. smtp-commands

尝试使用 EHLO 和 HELP 来收集 SMTP 服务器。

smtp.domain

        或 smtp-commands.domain 定义要在 SMTP 命令中使用的域。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap --script "smtp-commands.nse" --script-args "smtp-commands.domain=192.168.174.134" -pT:25,465,587 192.168.174.132

248. smtp-ntlm-info

此脚本使用 NTLM 枚举来自远程 SMTP 服务的信息已启用身份验证。

发送带有空凭据的 SMTP NTLM 身份验证请求将导致远程服务以 NTLMSSP 消息进行响应,披露 信息包括 NetBIOS、DNS 和 OS 构建版本。

smtp.domain

        请参阅 smtp 库的文档。

smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername

        请参阅 smbauth 库的文档。

nmap -p 25,465,587 --script "smtp-ntlm-info" --script-args "smtp-ntlm-info.domain=domain.com" 192.168.174.132

249. snmp-hh3c-logins

尝试通过以下方式枚举华为/HP/H3C 本地定义用户 hh3c-用户.mib OID

对于运行 2012 年 10 月之前发布的软件的设备,只有 SNMP 只读访问 OID 需要字符串。否则,读写字符串必需的。

输出为‘用户名 - 密码 - 级别:{0|1|2|3}’

密码可以是明文、密文或 sha256 级别从 0 到 3,0 为最低安全级别

https://h20566.www2.hp.com/portal/site/hpsc/public/kb/docDisplay/?docId=emr_na-c03515685 http://grutztopia.jingojango.net/2012/10/hph3c-and-huawei-snmp-weak-access-to.html

creds.[service], creds.global

        请参阅 creds 库的文档。

snmp.retries, snmp.timeout, snmp.version

        请参阅 snmp 库的文档。

sudo nmap -sU -p 161 --script "snmp-hh3c-logins" --script-args "creds.snmp=:community" ip/域名

250. snmp-info

从 SNMPv3 GET 请求中提取基本信息。使用相同的探测器这里就像服务版本检测扫描一样。

snmp.retries、snmp.timeout、snmp.version

        请参阅 snmp 库的文档。

creds.[service]、creds.global

        请参阅 creds 库的文档。

sudo nmap -sV --script "snmp-info" -p161 ip/域名

251. snmp-interfaces

尝试通过 SNMP 枚举网络接口。

该脚本也可以在 Nmap 的预扫描阶段运行,并且可以尝试将 SNMP 服务器的接口地址添加到目标 列表。脚本参数 snmp-interfaces.host 是需要知道要探测哪个主机。要为 SNMP 指定端口 161 以外的服务器,使用 snmp-interfaces.port。 什么时候以这种方式运行,脚本的输出会告诉您有多少个新目标添加成功。

snmp-interfaces.host

        指定在“预扫描阶段”运行时要探测的 SNMP 服务器。

snmp-interfaces.port

        与主机脚本参数对应的可选端口号。默认为 161。

max-newtargets、newtargets

        请参阅目标库的文档。

creds.[service]、creds.global

        请参阅 creds 库的文档。

snmp.retries、snmp.timeout、snmp.version

        请参阅 snmp 库的文档。

sudo nmap -sU -p 161 --script=snmp-interfaces ip/域名

由于篇幅有限,请看下一章教程!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值