Nmap,即Network Mapper,最早是Linux下的网络扫描和嗅探工具包。它是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。它可以确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,也用于评估网络系统安全。
1、功能和作用
主动向扫描的网络发送指定的数据包,用来探测目标网络的信息。
-
找出存活主机
-
开放的端口和服务
-
目标主机的操作系统
-
安全过滤机制
-
目标主机服务的版本信息
-
利用脚本扫描漏洞
前期信息收集,为后续分析和利用漏洞打下基础,如果能分析出整个拓扑结构就更好了,对于内网的渗透,就会方便很多。
如果在前期通过信息收集找到了已存在的漏洞,可直接用 EXP 去试试看能不能拿下。
2、安装和下载
点击此处下载(https://nmap.org/download.html)
如果像在命令行使用 nmap 的命令,可以把目录添加到 环境变量 path 里面。
3、Nmap主要参数介绍
Nmap的功能参数主要分为:
-
目标说明
-
主机发现
-
端口扫描
-
端口说明和扫描顺序
-
服务与版本探测
-
脚本扫描
-
操作系统探测
-
时间和性能
-
防火墙/IDS规避和欺骗
-
输出选项
-
杂选项
4、TARGET SPECIFICATION 目标说明
-iL 从文件中导出扫描的地址
-iR 随机选择目标进行扫描,
num hosts表示数目,设置为0表示一直扫描
--exclude 移除某个扫描地址
--excludefile 从文件中移除某些扫描地址
Nmap 默认发送一个arp的ping数据包来探测目标主机在1-10000范围内所开放的端口
先讲第一个参数 -iL
创建一个txt文件,里面放要扫描的网址或者IP地址
命令可以这么写
nmap -iL C:UserlenovoDesktopscan-IP.txt
第三个参数是 exclude 表示从我扫描的名单中移除
nmap www.baidu.com qhdzz.top --exclude qhdzz.top
表示:一开始准备扫描 baidu.com 和 qhdzz.top ,后面移除了qhdzz.top,就不扫描它了。可以用于一个扫描列表中的白名单。
5、 HOST
DISCOVERY 主机发现
-sL 列表扫描,仅将指定的目标IP列举出来,不进行主机发现
-sn 和-sP一样,只利用Ping命令进行主机发现,不扫描目标主机的端口
-Pn 将所有指定的主机视为已开启状态,跳过主机发现的过程,可用于网段的扫描
-PS TCP SYN ping 发送一个设置了 SYN 标志位的空 TCP 报文,默认端口为80,可以指定端口
-PA TCP ACK ping 发送一个设置了 ACK 标志位的 TCP 报文,默认端口为80,可以指定端口
-PU UDP ping 发送一个空的 UDP 报文到指定端口,可以穿透只过滤 TCP 的防火墙
-P0 使用 IP 协议ping
-PR 使用 ARP 来ping
-n/-R -n不用域名解析,加速扫描,-R为目标IP做反向域名解析,扫描会慢一点
-dns-servers 自定义域名解析服务器地址
-traceroute 目标主机路由追踪
nmap -sL baidu.com
列举出 IP 地址
nmap -sn baidu.com
测试主机之间的连通性,相当于 Ping 命令
6、SCAN
TECHNIQUES 端口扫描
Nmap将目标端口分为6种状态:
-
open (开放)
-
closed (关闭)
-
filtered (被过滤的)
-
unfiltered (未被过滤) 可访问但不确定开放情况
-
open|filtered (开放或者被过滤) 无法确定端口是开放的还是被过滤的
-
closed|filtered (关闭或者被过滤) 无法确定端口是关闭的还是被过滤的
Nmap产生的结果是基于目标机器响应的报文,而这些主机是不可信任的,会生成迷惑扫描器的报文
-sS TCP SYN扫描,半开放
扫描,速度快隐蔽性好(不完成 TCP 连接),能够明确区分端口状态-sT TCP连接扫描,容易产生记录,效率低 (慎用)
-sA TCP ACK扫描,只设置 ACK 标志位,区别被过滤和没有被过滤
-sU UDP服务扫描,例如 DNS/DHCP 等,效率低
7、PORT SPECIFICATION
AND SCAN ORDER
端口说明和扫描顺序
-p 指定扫描端口,可以是单个端口,也可以是范围,可以指定UDP或TCP协议扫描特定端口
-p<name> 指定扫描的协议,例如-p http 即可扫描http协议的端口状态
--exclude-port 不扫描某个端口
-F 快速模式,仅扫描100个常用的端口
nmap -p 80,443,100-300 baidu.com
扫描 baidu.com 的80,443还有100到300端口
8、SERVICE/VERSION DETECTION 服务与版本探测
Nmap-services 包含大量服务的数据库,Nmap通过查询该数据库可以报告哪些端口可能开放了扫描服务,不一定正确。
-sV 会根据 nmap-services-probes 文件里面存储的是服务类型特征数据去判断具体扫描到的是哪种服务
--version-intensity<level> 设置版本扫描强度,范围0-9,默认是7,强度越高,耗时越长,越准确
nmap -sV 192.168
扫瞄目标主机的开启的服务和版本
9、SCRIPT SCAN 脚本扫描
Nmap允许用户自己使用Lua脚本语言来编写脚本,进而执行自动化的操作或者扩展Nmap的功能,
-sC 使用默认类别的脚本进行扫描
--script=<Lua scripts> 使用某个或某类脚本进行扫描,支持通配符描述
10、0S DETECTION
操作与系统探测
用 TCP/IP 协议栈 fingerprinting 进行探测,Nmap发送一系列 TCP 和 UDP 报文到远程主机,检查响应中的每一个比特。测试后 Nmap 把结果和数据库中超过1500个已知的 fingerprinting 比较,如果匹配则输出匹配结果。
-O 启用操作系统探测
-A 同时启用操作系统探测和服务版本探测
--osscan-limit 针对指定的目标进行操作系统探测
--osscan-guess 当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配
11、TIMING
AND PERFORMANCE
时间和性能
Nmap开发的最高优先级是性能,但实际应用中很多因素会增加扫描时间,比如特定的扫描选项,防火墙配置以及版本扫描等。
-T <0-5> 设置时间模板级数,在0-5中选择。
T0,T1用于 IDS 规避
T2降低了扫描速度以使用更少的带宽和资源。
T3是默认值,未做任何优化。
T4假设具有合适及可靠的网络从而加速扫描。
T5假设具有特别快的网络或者愿意为速度牺牲准确性
-host-timeout <time> 放弃低速目标主机,时间单位为毫秒
12 FIREWALL/IDS
EVASION AND SPOOFING 防火墙/IDS 规避和欺骗
-f(报文分段)
--mtu(使用指定的MTU) 将 TCP 头分段在几个包中,使得包过滤器,IDS以及其他的检测工具更困难
-D <decoy1[,decoy2][,ME]...> 隐蔽扫描;使用逗号分隔每个诱饵主机,用自己真实的IP作为诱选项。如果6号或更后的位置使用ME选项,一些检测器就不报告真实IP。如果不使用ME,真实IP将随机放置
-S <IP_Address> 伪造数据包的源地址
-source-port<portnumber>/-g <portnumber> 伪造源端口
13、OUTPUT 输出选项
-oN 标准输出
-oX XML输出写入指定的文件
-oS 相当于交互工具输出
-oG Grep输出
-oA 输出至所有格式
-v 提高输出信息的详细程度
-resume <filename> 继续中断的扫描
14、MISC 杂选项
-6 开启IPv6的扫描
-A 开启操作系统探测,版本探测,脚本扫描和路由追踪
15、常用扫描指令
1、弱口令扫描
nmap --script=auth ip 对某个主机或某网段主机的应用进行弱口令检测
如:nmap --script=auth 192.168.0.101
2、暴力破解
nmap --script=brute ip 可以对数据库、MB、SNMP等进行简单的暴力破解
如:nmap --script=brute 192.168.0.101
3、扫描常见漏洞
nmap --script=vuln ip
如:nmap --script=vuln 192.168.0.101
4、使用脚本进行应用服务扫描
nmap --script=xxx ip 对常见应用服务进行扫描 如:VNC、MySQL、Telnet、Rync等服务
如VNC服务:nmap --script=realvnc-auth-bypass 192.168.0.101
5、探测局域网内服务开放情况
nmap -n -p xxx --script=broadcast ip
如:nmap --script=broadcast 192.168.0.101
6、Whois解析
nmap -script external url
如:nmap -script external baidu.com
7、扫描Web敏感目录
nmap -p 80 --script=http-enum.nse ip
nmap -p 80 --script=http-enum.nse 192.168.0.101
简单的介绍了Nmap,配合metasploit食用,味道会更奇妙。
湖南农业大学蝰蛇安全实验室
文案 | 甘泽泉
图文编辑 | 陈磊
审核 | 刘菁
指导老师 | 傅卓军
原文始发于微信公众号(蝰蛇安全实验室):Web | 渗透神器nmap:端口扫描工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论