QQ love member No. 3 seed player

know it then do it && APT086&QQ愛安全实验室成员

NMAP Notes 2

11 Jun 2019 » Notes

[TOC]

禁止ping的情况下:

Pn 选项告诉Nmap不使用默认的探测检查,而是对目标进行一个完整的端口扫描。当我们扫描一个有防火墙保护而封锁 ping 探针主机的时候是非常有用的。

语法: nmap –Pn Target
  • Open(开放的): 应用程序正在这个端口上监听连接。

  • Closed(关闭的): 端口对探测做出了响应,但是现在没有应用程序在监听这个端口。

  • Filtered(过滤的): 端口没有对探测做出响应。同时告诉我们探针可能被一些过滤器(防火墙)终止了。

  • Unfiltered(未被过滤的):端口对探测做出了响应,但是Nmap无法确定它们是关闭还是开放。

  • Open/Filtered: 端口被过滤或者是开放的,Nmap无法做出判断。

  • Closed/Filtered: 端口被过滤或者是关闭的,Nmap无法做出判断。

猪猪侠常用参数
nmap -sT -P0 -sV -O --script=banner -p T:port

-P0: Treat all hosts as online -- skip host discovery
			将所有主机视为联机--跳过主机发现
			
-Pn: Treat all hosts as online -- skip host discovery

> 两处解释一样,可以证明-P0和-Pn参数的效果一样

nmap 192.168.0.1/24 检测存活主机

nmap --open  检测开发端口

nmap -sP Ping命令扫描

nmap -sL  仅仅是显示,扫描的IP数目,不会进行任何扫描

nmap -v/vv 列出详细的扫描过程

nmap -p3389 20-100 指定扫描端口

nmap -sS tcp握手包SYN半开放扫描,需要root/administrator权限

nmap -sT tcp连接扫描,用于扫描tcp,UDP端口

nmap -sU UDP扫描,只扫描目标的UDP端口

nmap -sV 目标主机和端口上运行程序的版本探测扫描,默认调用SYN扫描

nmap -O 目标主机操作系统的探测

nmap -O --osscan-guess 猜测匹配操作系统

nmap -Pn 目标主机禁ping时的扫描

nmap -sS -T<0-5> 时间模块扫描,0,1用于IDS躲避
Polite模式降低了扫描 速度以使用更少的带宽和目标主机资源,4模式假设用户具有合适及可靠的网络从而加速扫描.

nmap -iL ip.txt 扫描ip列表

nmap -A 操作系统识别,版本探测,脚本扫描和traceroute综合扫描,等同于nmap -vv -p1-100,3306,3389 -O -traceroute 10.130.1.43

nmap高级用法-脚本使用

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

nmap –script 具体的脚本 IP

nmap --script vuln <target> 扫描主机常见的漏洞

nmap --script ftp-anon <target> 检测是否开启FTP匿名登录

nmap --script mysql-brute <target> 对MySQL暴力破解,-p可指定端口

nmap -p 1433 --script ms-sql-brute --script-args userdb=customuser.txt,passdb=custompass.txt <host> 对mssql暴力破解

nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=ORCL <host> 对Oracle进行破解

nmap -p 5432 --script pgsql-brute <host> 对pgsql暴力破解

nmap -p 22 --script ssh-brute --script-args userdb=users.lst,passdb=pass.lst --script-args ssh-brute.timeout=4s <target> 对ssh进行破解

nmap --script dns-brute [http://www.shadowkeeper.net](https://link.zhihu.com/?target=http%3A//www.shadowkeeper.net) 利用DNS对子域名进行暴力枚举

nmap高级脚本扫描

(注:以下脚本插件可能已经过期,只做参考,利用最新版本的插件可以查看script文件夹以及nmap官网的脚本库)

nmap官方脚本文档

nmap --script 具体的脚本
nmap --script 脚本名字,脚本名字    多脚本扫描
nmap --script 脚本 --script-args 脚本的配置文件


nmap -sC  根据端口识别的服务,调用默认脚本

nmap --script vuln <target> 扫描主机常见的漏洞

nmap --script ftp-anon <target> 检测是否开启FTP匿名登录

nmap --script mysql-brute <target> 对MySQL暴力破解,-p可指定端口

nmap --script dns-brute www.shadowkeeper.net 利用DNS对子域名进行暴力枚举


nmap -p u:53 指定扫描UDP端口

--version-intensity "level"  设置版本扫描强度,强度水平说明了应该使用哪些探测报文。数值越高服务越有可能被正确识别。默认是7
-sV --version-light                 
打开轻量级模式,为--version-intensity 2的别名

--version-all                 
 尝试所有探测,为--version-intensity 9的别名

--version-trace                 
显示出详细的版本侦测过程信息

nmap -F 快速扫描模式,扫描端口少

nmap --script-updatedb 更新脚本的数据库
nmap --script-help "dns-brute" 显示脚本插件的帮助信息

nmap --spoof-mac Mac地址欺骗

nmap whois  whois查询

nmap hostmap-ip2hosts  IP反查

nmap smb-check-vulns.nse  主机漏洞扫描

nmap http-headers/http-sitemap-generator HTTP信息搜集

nmap ssh-hostkey  SSH服务密钥信息探测

nmap --script http-iis-webdav-vuln.nse -p80,8080 192.168.3.0/24 webdav写文件扫描


nmap --script http-svn-info 192.168.3.0/24  探测目标svn

nmap -sV --script http-vuln-cve --script-args uri='anotheruri'  192.168.3.0/24
iis6.0远程代码执行


smb漏洞检测脚本集
smb-vuln-ms08-067.nse

smb-vuln-ms10-054.nse

smb-vuln-ms10-061.nse

smb-vuln-ms17-010.nse  永恒之蓝

nmap -p445 --script smb-vuln-ms17-010.nse 192.168.3.0/24

vnc-brute.nse  爆破目标的vnc

nmap --script vnc-brute -p 5900 192.168.3.0/24

参考花与海哥哥

Related Posts