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


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

部分使用截图:

(1) nmap --script=auth 192.168.137.*

负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令

(2)nmap --script=brute 192.168.137.*

提供暴力破解的方式  可对数据库,smb,snmp等进行简单密码的暴力猜解

(3)nmap --script=default 192.168.137.* 或者 nmap -sC 192.168.137.*

默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击

(4)nmap --script=vuln 192.168.137.*

检查是否存在常见漏洞

(5)nmap -n -p445 --script=broadcast 192.168.137.4

在局域网内探查更多服务开启状况

(6)nmap --script external 202.103.243.110

利用第三方的数据库或资源,例如进行whois解析

0x02 nmap按应用服务扫描


(1)vnc扫描:

检查vnc bypass

1

nmap  --script=realvnc-auth-bypass 192.168.137.4  

检查vnc认证方式

1

nmap  --script=vnc-auth  192.168.137.4  

获取vnc信息

1

nmap  --script=vnc-info  192.168.137.4  

(2)smb扫描:

smb破解

1

nmap  --script=smb-brute.nse 192.168.137.4  

smb字典破解

1

nmap --script=smb-brute.nse --script-args=userdb=/var/passwd,passdb=/var/passwd192.168.137.4  

smb已知几个严重漏

1

nmap  --script=smb-check-vulns.nse --script-args=unsafe=1 192.168.137.4    

查看共享目录

1

nmap -p 445  --script smb-ls--script-args ‘share=e$,path=\,smbuser=test,smbpass=test’ 192.168.137.4    

查询主机一些敏感信息(注:需要下载nmap_service)

1

nmap -p 445 -n –script=smb-psexec --script-args= smbuser=test,smbpass=test192.168.137.4   

查看会话

1

nmap -n -p445 --script=smb-enum-sessions.nse --script-args=smbuser=test,smbpass=test192.168.137.4    

系统信息

1

nmap -n -p445 --script=smb-os-discovery.nse --script-args=smbuser=test,smbpass=test192.168.137.4  

(3)Mssql扫描:

猜解mssql用户名和密码

1

nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd192.168.137.4    

xp_cmdshell 执行命令

1

nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="net user" 192.168.137.4      

dumphash值

1

nmap -p 1433 --script ms-sql-dump-hashes.nse --script-args mssql.username=sa,mssql.password=sa  192.168.137.4      

(4)Mysql扫描:

扫描root空口令

1

nmap -p3306 --script=mysql-empty-password.nse 192.168.137.4   

列出所有mysql用户

1

nmap -p3306 --script=mysql-users.nse --script-args=mysqluser=root 192.168.137.4   

支持同一应用的所有脚本扫描

1

nmap --script=mysql-* 192.168.137.4  

(5)Oracle扫描:

oracle sid扫描

1

nmap --script=oracle-sid-brute -p 1521-1560 192.168.137.5  

oracle弱口令破解

1

nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=ORCL,userdb=/var/passwd,passdb=/var/passwd192.168.137.5      

(6)其他一些比较好用的脚本

  1. nmap --script=broadcast-netbios-master-browser 192.168.137.4   发现网关  
  2. nmap -p 873 --script rsync-brute --script-args 'rsync-brute.module=www' 192.168.137.4  破解rsync  
  3. nmap --script informix-brute -p 9088 192.168.137.4    informix数据库破解  
  4. nmap -p 5432 --script pgsql-brute 192.168.137.4       pgsql破解  
  5. nmap -sU --script snmp-brute 192.168.137.4            snmp破解  
  6. nmap -sV --script=telnet-brute 192.168.137.4          telnet破解  
  7. nmap --script=http-vuln-cve2010-0738 --script-args 'http-vuln-cve2010-0738.paths={/path1/,/path2/}' <target>  jboss autopwn  
  8. nmap --script=http-methods.nse 192.168.137.4 检查http方法  
  9. nmap --script http-slowloris --max-parallelism 400 192.168.137.4  dos攻击,对于处理能力较小的站点还挺好用的 'half-HTTP' connections   
  10. nmap --script=samba-vuln-cve-2012-1182  -p 139 192.168.137.4

(7)不靠谱的脚本:

vnc-brute    次数多了会禁止连接

pcanywhere-brute   同上

0x03  学会脚本分析


nmap中脚本并不难看懂,所以在使用时如果不知道原理可以直接看利用脚本即可,也可以修改其中的某些参数方便自己使用。

举例:

关于oracle的弱口令破解:

调用过程:oracle-brute.nse >> oracle-default-accounts.lst

首先是调用破解脚本:

根据脚本中字典的位置去查看默认字典,当然也可以将破解的字符自行添加其中,或者是修改脚本或参数改变破解字典:

 

nmap中--script功能的使用

nmap脚本(nse)使用总结的更多相关文章

  1. nmap脚本nse的使用

    nmap脚本(nse)使用总结 0x01 nmap按脚本分类扫描 nmap脚本主要分为以下几类,在扫描时可根据需要设置--script=类别这种方式进行比较笼统的扫描: auth: 负责处理鉴权证书( ...

  2. 编写自己的Nmap(NSE)脚本

    编写自己的Nmap脚本 一.介绍 在上一篇文章Nmap脚本引擎原理中我们介绍了基本的NSE知识,这篇文章介绍如何基于Nmap框架编写简单的NSE脚本文件,下一篇文章,Nmap脚本文件分析(AMQP协议 ...

  3. nmap脚本扫描使用总结

    nmap的脚本默认目录为:/usr/share/nmap/scripts/ Nmap提供的命令行参数如下 -sC: 等价于--script=default,使用默认类别的脚本进行扫描 可更换其他类别 ...

  4. Nmap脚本引擎原理

    Nmap脚本引擎原理 一.NSE介绍 虽然Nmap内嵌的服务于版本探测已足够强大,但是在某些情况下我们需要多伦次的交互才能够探测到服务器的信息,这时候就需要自己编写NSE插件实现这个功能.NSE插件能 ...

  5. Nmap脚本文件分析(AMQP协议为例)

    Nmap脚本文件分析(AMQP协议为例) 一.介绍 上两篇文章 Nmap脚本引擎原理   编写自己的Nmap(NSE)脚本,分析了Nmap脚本引擎的执行过程,以及脚本文件的编写,这篇文章将以解析AMQ ...

  6. nmap脚本使用总结

    0x00 前言: nmap的基本介绍和基本使用方法,在乌云知识库中已经有人提交过,讲的比较详细,在此文中就不再讲述. 具体链接:http://drops.wooyun.org/tips/2002 本文 ...

  7. Web安全学习笔记之Nmap脚本编写

    0x00 Nmap脚本简介 夜无眠,看了一下Nmap官方的英文API文档(全是English),瞬间心态崩塌,不想吐槽它们的nmap官网前端太丑了=.=,但是都是大牛啊,挺敬佩开源开发者的. Nmap ...

  8. NSE入门--nmap 脚本基础

  9. Web安全学习笔记之Nmap脚本使用指南

    nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统.它是网络管理员必用的软件之一,以及用以评估网络系统安全. —— 来自百 ...

随机推荐

  1. DataTable.Select筛选过滤数据返回DataRow[]转为DataTable添加到DataSet

    问题还原,如图所示,我们要筛选所有SHDP 为北京翠微KR的数据. 1. 筛选DataTable微软为我们提供了一个方法DataTable.Select(),其用法如下: 1)  Select()—— ...

  2. Mybatis操作数据时出现:java.sql.SQLSyntaxErrorException: Unknown column 'XXX' in 'field list'

    这个错误比较重要,而且很常见,故单独进行说明: Mybatis出现:Unknown column 'xxx' in 'field list' 先来看一下程序的内部: dao.addUser(" ...

  3. linux中为什么删除文件比创建文件要快,读取文件和删除文件的过程是什么?

    一.为什么删除文件比创建文件要快? 因为删除文件只是将bitmap位图表中将文件所占据的inode 和dacablock的使用状态从1变成0,相当于释放了这些快的使用权. 二.读取文件和删除文件的过程 ...

  4. vue 导出JSON数据为Excel

    1. 安装三个依赖 npm install file-saver --save npm install xlsx --save npm install script-loader --save-dev ...

  5. Android Studio出现:Cause: unable to find valid certification path to requested target

    我的AS版本是3.4.1..出现这个问题是因为公司内网很奇葩,连上后必须访问一次网页.所以是AS连不上网络,访问不了https://bintray.com/bintray/jcenter导致的.

  6. IIS写权限漏洞和XFF刷票原理

    IIS写权限漏洞 PUT写入漏洞 此漏洞主要是因为服务器开启了webdav的组件导致的 1.扫描漏洞,yes,可以PUT: 2.用老兵的工具上传一句话文件test.txt,然后move改名为shell ...

  7. 【Spring 基础】通过注解注入Bean

    原课程:通过注解注入Bean 注入bean知识点思维导图 Spring 4.x推荐使用基于构造器的方式进行bean注入7.4.1 Dependency Injection spring为什么推荐使用构 ...

  8. C关于字符串操作的库函数实现总结

    常用C关于字符串操作的库函数实现: //获取字符串长度 int Strlen(const char* s) { assert(s != NULL); ; while (*s++ != '\0') { ...

  9. git 添加第二个远程仓库地址,一次修改到处上传~

    上传本机git 公钥到对应的代码托管平台 github/码云等 本地仓库执行 git remote set-url --add origin https://gitee.com/qichengTech ...

  10. 自然语言处理工具hanlp定制用户词条

    作者:baiziyu 关于hanlp的文章已经分享过很多,似乎好像大部分以理论性的居多.最近有在整理一些hanlp应用项目中的文章,待整理完成后会陆续分享出来.本篇分享的依然是由baiziyu 分享的 ...