实验简述
Nmap具有强大的脚本引擎NSE(Nmap Scripting Engine),它允许用户编写(和共享)简单的脚本(使用lua编程语言)自动化各种网络任务。
本次实验目的在于掌握Nmap脚本的基本使用方法。
实验环境
kali,IP地址:192.168.11.11
Linux,IP地址:192.168.11.21
实验内容
1、初识NSE
Nmap提供的脚本相关命令行参数如下:
- -sC: 等价于–script=default,使用默认类别的脚本进行扫描 可更换其他类别
- –script=: 使用某个或某类脚本进行扫描,支持通配符描述
- –script-args=<n1=v1,[n2=v2,…]>: 为脚本提供默认参数
- –script-args-file=filename: 使用文件来为脚本提供参数
- –script-trace: 显示脚本执行过程中发送与接收的数据
- –script-updatedb: 更新脚本数据库
- –script-help=: 显示脚本的帮助信息,其中部分可以逗号分隔的文件或脚本类别
该步骤简单介绍脚本的相关使用。
在使用Nmap时,通过--script=脚本名
语句来调用脚本,而且Nmap自带众多脚本,路径如下:
这些脚本大致分为以下几种:
- auth 处理身份验证
- broadcast 网络广播
- brute 暴力猜解
- default 默认
- discovery 服务发现
- dos 拒绝服务
- exploit 漏洞利用
- external 外部扩展
- fuzzer 模糊测试
- intrusive 扫描可能造成不良后果
- malware 检测后门
- safe 扫描危害较小
- version 版本识别
- vuln 漏洞检测
在调用脚本时,可以使用种类名来调用该分类下的全部脚本,如--scritp vuln
,但是比较费时间,在此就不演示,本次以 http-methods 脚本为例,來演示脚本的大致使用。
使用--script-help
脚本名来查看脚本的说明和用法,比如查看 http-methods.nse 脚本信息:
使用http-methods.nse脚本来对目标主机进行探测,用于得到目标支持的http请求方式
nmap --script-help=http-methods 192.168.11.21
可以看到探测出来目标主机支持的http请求有 GET、POST、HEAD、OPTIONS 四种。
因为所有的脚本都是以服务名来命名,比如 http 相关的脚本就是 http 开头,ssl 相关脚本是以 ssl开头:
因此在调用脚本时,可以使用通配符 *
来调用相关服务下的所有脚本,以mysql服务为例&