脚本引擎:Nmap Scripting Engine

Nmap的NSE引擎允许用户通过Lua编写脚本,扩展其功能,包括网络发现、版本侦察、漏洞侦察等。脚本分为多个类别,如auth、discovery、exploit等。可以通过命令行指定类别或使用默认脚本进行扫描。脚本参数可以通过--script-args传递,例如在FTP脚本中设置maxlist参数。示例脚本包括ftp-anon、ftp-bounce、ftp-brute、ftp-libopie和ftp-proftpd-backdoor。更多脚本适用于HTTP、WAF、WordPress和各种漏洞检测。
摘要由CSDN通过智能技术生成

Nmap最强大,最灵活的功能之一NSE脚本引擎

 

它允许用户自己编写脚本来执行自动化的操作或者扩展Nmap的功能,使用lua语言

 

基本使用

 

NSE默认就提供了丰富的脚本库,可以为我们提供诸多Nmap的扩展使用,它的设计初衷主要考虑了一下几个方面:

网络发现
版本侦察
漏洞侦察
后门侦察
漏洞利用

 

nmap脚本主要分为以下几类,在扫描时可根据需要设置--script=类别这种方式及进行比较笼统的扫描

auth: 负责处理鉴权证书(绕开鉴权)的脚本
broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务
brute: 提供暴力破解方式,针对常见的应用如http/snmp等
default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力
discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等
dos: 用于进行拒绝服务攻击
exploit: 利用已知的漏洞入侵系统
external: 利用第三方的数据库或资源,例如进行whois解析
fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽
malware: 探测目标机是否感染了病毒、开启了后门等信息
safe: 此类与intrusive相反,属于安全性脚本
version: 负责增强服务与版本扫描(Version Detection)功能的脚本
vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067

基本命令行使用

 

default类别为使用默认脚本扫描,我们可以使用命令行--script=default或者使用-sC来应用默认扫描脚本,像下面这样:

nmap -Pn -sC 47.106.80.112

 

因为NSE脚本是平行执行的,所以我们还可以多参数同时进行扫描,使用英文状态下的逗号,进行分割

nmap -Pn --script=default,fuzzer,vuln 47.106.80.112

 

也可以直接是lua脚本的文件名或者表达式之类的值,一样的都用逗号进行分割

 

多参数同时进行扫描时,基于表达式>分类>文件名/文件夹名这样的优先级排序,进行脚本扫描

NSE表达式

NSE的表达式要由双引号包裹,为了避免与shell冲突

 

比如说这样四条命令:

nmap --script "http-*"   #可以与开头为 http- 的脚本匹配,例如 http-auth / http-open-proxy
nmap --script "not brute"    # 可以与不是 brute 分类下的脚本进行匹配
nmap --script "safe or default"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值