导图社区 Nmap备忘录
诸神之眼-Nmap,主机存活、端口检测、服务版本信息检测、漏洞检测,Nmap可以做一切你想做的事。本思维导图总结了Nmap的各命令参数用法及常见用法。
编辑于2021-01-15 19:00:10Nmap备忘录
基本语法
#nmap [ScanType] [Options] [targets]
主机发现
-sn
只做Ping测试,不扫描端口
-Pn
不做主机发现测试,直接扫描端口
-PB
使用TCP80、445、ICMP探测主机是否存活
-PS <portlist>
通过指定端口的SYN包,探测主机是否存活
-PE
使用ICMP Echo请求
-PP
使用ICMP Timestamp请求
-PM
使用ICMP Netmask请求
目标端口
未指定端口范围时,默认扫描1000个最常用的端口
-F
扫描100个最常用端口
PORT SERVICE 7/tcp echo 9/tcp discard 13/tcp daytime 21/tcp ftp 22/tcp ssh 23/tcp telnet 25/tcp smtp 26/tcp rsftp 37/tcp time 53/tcp domain 79/tcp finger 80/tcp http 81/tcp hosts2-ns 88/tcp kerberos-sec 106/tcp pop3pw 110/tcp pop3 111/tcp rpcbind 113/tcp ident 119/tcp nntp 135/tcp msrpc 139/tcp netbios-ssn 143/tcp imap 144/tcp news 179/tcp bgp 199/tcp smux 389/tcp ldap 427/tcp svrloc 443/tcp https 444/tcp snpp 445/tcp microsoft-ds 465/tcp smtps 513/tcp login 514/tcp shell 515/tcp printer 543/tcp klogin 544/tcp kshell 548/tcp afp 554/tcp rtsp 587/tcp submission 631/tcp ipp 646/tcp ldp 873/tcp rsync 990/tcp ftps 993/tcp imaps 995/tcp pop3s 1025/tcp NFS-or-IIS 1026/tcp LSA-or-nterm 1027/tcp IIS 1028/tcp unknown 1029/tcp ms-lsa 1110/tcp nfsd-status 1433/tcp ms-sql-s 1720/tcp h323q931 1723/tcp pptp 1755/tcp wms 1900/tcp upnp 2000/tcp cisco-sccp 2001/tcp dc 2049/tcp nfs 2121/tcp ccproxy-ftp 2717/tcp pn-requester 3000/tcp ppp 3128/tcp squid-http 3306/tcp mysql 3389/tcp ms-wbt-server 3986/tcp mapper-ws_ethd 4899/tcp radmin 5000/tcp upnp 5009/tcp airport-admin 5051/tcp ida-agent 5060/tcp sip 5101/tcp admdog 5190/tcp aol 5357/tcp wsdapi 5432/tcp postgresql 5631/tcp pcanywheredata 5666/tcp nrpe 5800/tcp vnc-http 5900/tcp vnc 6000/tcp X11 6001/tcp X11:1 6646/tcp unknown 7070/tcp realserver 8000/tcp http-alt 8008/tcp http 8009/tcp ajp13 8080/tcp http-proxy 8081/tcp blackice-icecap 8443/tcp https-alt 8888/tcp sun-answerbook 9100/tcp jetdirect 9999/tcp abyss 10000/tcp snet-sensor-mgmt 32768/tcp filenet-tms 49152/tcp unknown 49153/tcp unknown 49154/tcp unknown 49155/tcp unknown 49156/tcp unknown 49157/tcp unknown
-p 21-1000
指定扫描端口范围,扫描21之1000的端口
-p 21,22,80
指定扫描端口列表,扫描21、22、80端口
-pU:53,U:110,T20-445
分别指定UDP和TCP端口
-r
端口按顺序扫描,不随机
--top-ports <n>
扫描最常用的n个端口
-p-65535
端口范围起始端口留空,则从端口1开始扫描,相当于-p1-65535
-p0-
端口范围结束位置留空,则从端口扫描到65535结束,相当于-p0-65535
-p-
端口范围起始位置结束位置均留空,则扫描1-65535端口
目标地址格式
IPv4地址
192.168.1.1
IPv6地址
AABB:CCDD::FF%eth0
主机名
www.baidu.com
IP地址段
192.168.1.0-255
192.168.0-255.0-255
子网块
192.168.1.0/24
192.168.0.0/16
地址清单文件
-iL <文件名>
-iL /root/iplist.txt
服务/版本检测
-sV
检测开放端口的服务及版本信息
--version-intensity <n>
版本检测深度,0-9,10个级别
-O
操作系统检测
端口扫描技术
-sS
SYN扫描
-sT
TCP connect扫描
-sU
UDP扫描
--scanflags
自定义TCP扫描的flag
RGACKPSHRSTSYNFIN
扫描速率
-T<0-5>
指定扫描速率,0-5,共六个级别,默认为3
0,1
级别非常慢,用于躲避IDS侦测
2
速度较慢,用于减少带宽占用
4
网络稳定、带宽足够时,指定速率为4,加快扫描速率,但可能对服务器造成影响
5
非常快,可能丢包未发现开放端口
输出格式
-oN <filename.nmap>
输出标准的Nmap格式
-oG <filename.gnmap>
输出Greppable格式,方便使用grep命令查询
-oX <filename.xml>
输出XML格式,结合其它工具使用时,XML格式用得较多
-oA <filename>
同时输出三种格式的文档,生成三个不同后缀名的文件
脚本扫描
Nmap可使用多种脚本,用于服务检测、漏洞检测、弱口令扫描等
Kali下,脚本存放路径为/usr/share/nmap/scripts,Nmap7.7自带541个脚本
--script=smb-vuln-ms17-010
使用脚本检测MS17-010漏洞
多个脚本或脚本类别用逗号分隔
--script=vuln
使用脚本类别检测是否存在漏洞
脚本类别分类
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
--script-args=<n1=v2,n2=v2>
为脚本提供参数
--script-args-file=<filename>
使用文件为脚本提供参数
--script-updatedb
更新脚本库
--script-help=<Lua scripts>
参考脚本帮助文件
杂项
-n
不做IP域名解析,内网测试时可节省大量解析时间
-6
只使用IPv6
-A
允许系统检测、服务版本信息检测, 脚本扫描和Traceroute
-V
-v
小写v,扫描过程中输出内容详细程度,-vv,-vvv显示更详细的内容
扫描过程中按v,增加输出信息详细级别,按V,减小输出信息详细级别
-d
小写d,扫描过程中输出内容详细程度,-dd,-ddd显示更详细的内容
扫描过程中按d,增加debug信息详细级别,按D,减小debug信息详细级别
--reason
显示Nmap认为端口开放、关闭或被过滤的理由
--open
只显示开放的端口
大写V,查看nmap版本
漏洞检测
系统自带
nmap -sV --script vuln 10.10.10.10
Searchsploit
nmap -sV 10.10.10.10 -oX scan_results.xml
./searchsploit --nmap scan_results.xml
vulscan
nmap -sV --script vulscan 10.10.10.10
Advanced vulnerability scanning with Nmap NSE
https://github.com/scipag/vulscan
安装
cd ~ git clone https://github.com/scipag/vulscan scipag_vulscan ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
更新漏洞库
~/scipag_vulscan/utilities/updater bash updateFiles.sh
使用
nmap -sV --script=vulscan/vulscan.nse 10.10.10.10
nmap --script vulscan --script-args vulscandb = exploitdb.csv -sV <目标IP>
nmap-vulners
NSE script based on Vulners.com API
https://github.com/vulnersCom/nmap-vulners
安装
copy the provided script (vulners.nse) into scripts directory
使用
nmap -sV --script vulners [--script-args mincvss=<arg_val>] 10.10.10.10