3.3 Nmap详解
Network Mapper:网络映射器,它被设计用来快速扫描大型网络,包括主机探测与发现、开放的端口情况、操作系统与应用服务指纹识别、WAF识别及常见安全漏洞。它的图形化界面是Zenmap,分布式框架为DNmap。
3.3.2 NMap入门
3.3.2.1 扫描参数
设置扫描目标 :
- -iL 从文件中导入目标主机或目标网段
- -iR 随机选择目标主机
- -exclude 后面跟的主机或网段将不在扫描范围内
发现主机:
- -sL List Scan(列表扫描),仅列举指定目标的IP,不进行主机的发现
- -sn Ping Scan,只进行主机发现,不进行端口扫描
- -n/-R -n表示不进行DNS解析,-R表示总是进行DNS解析
- -Pn 将所有指定的主机视作已开启,跳过主机发现的过程
- --traceroute 追踪每个路由节点
端口扫描:
- -sS/sT/sA/sW/sM 指定使用TCP SYN/Connect()/ACK?Window/Maimon scans的方式进行扫描
- -sU 指定使用UDP扫描的方式确定目标主机的UDP端口状况
- sO 使用IP Protocol 扫描确定目标机支持的协议类型
端口参数与扫描顺序:
- -p<port ranges> 扫描指定的端口
- -F Fast Mode(快速模式),仅扫描TOP 100的端口
- -r 不进行端口随机打乱的操作
- --top-ports<number> 扫描开放概率最高的number个端口,具体可以参见nmap-services文件。
侦测版本:
- -sV 指定让Nmap进行版本探测
- --version-intesity<level> 指定版本侦测的强度(0~9),默认为7。
- --version-lght 指定使用轻量级侦测方式,即2
- --version-all 尝试使用所有的probes进行侦测,即9
- --version-trace 显示初详细的版本侦测过程信息
扫描命令格式:Nmap+扫描参数+目标地址或网段
如:
nmap -T4 -A -v ip
-A表示使用进攻性方式扫描;-T4表示指定扫描过程使用的时序(0~6);-v表示显示冗余信息,在扫描过程显示扫描的细节,有助于让用户了解当前的扫描状态。
3.3.2.2 常用方法
1.扫描单个目标地址
2.扫描多个目标地址
nmap 192.168.1.180 192.168.1.136
3.扫描一个范围内的目标地址
可以指定扫描一个连续的网段,中间使用'-'连接。
nmap 192.168.1.120-200
4.扫描目标地址所在的网段
nmap 192.168.1.180/24
此处表示192.168.1.1~255
5.扫描主机列表targets.txt中的所有目标地址
nmap -iL targets.txt的路径
6.扫描除某一个目标地址之外的所有目标地址
nmap 192.168.1.180/24 -exclude 192.168.1.102
7.扫描除某一文件中的目标地址之外的目标地址
nmap 192.168.1.180/24 -excludefile $FilePath
8.扫描某一目标地址的21、22、23、80端口
nmap 192.168.1.180 -p 21,22,23,80
9.对目标地址进行路由跟踪
nmap --traceroute 192.168.1.180
10. 扫描目标地址所在C段的在线状况
nmap -sP 192.168.1.180/24
结果很?????
11.目标地址的操作系统指纹识别
nmap -O 192.168.1.180
12.目标地址提供的服务版本检测
nmap -sV 192.168.1.180
13.探测防火墙状态
利用FIN扫描用于识别端口是否关闭,收到RST回复说明该端口关闭,否则就是open或filtered状态。
nmap -sF -T4 192.168.1.180
3.3.3Nmap进阶
3.3.3.1 脚本介绍
Nmap的脚本默认存在/xx/nmap/scripts文件夹下面
3.3.3.2 常用脚本
用户还可根据需要设置--script=类别进行扫描,常用参数如下:
- --script=<Lua scripts>:使用某个脚本进行攻击
- --script-args-file=filename:使用文件为脚本提供参数
- --script-trace:若设置此参数,则显示脚本执行过程中发送与接收的数据
- --script-help:调用该参数后,Nmap会输出脚本对应的脚本使用参数,以及详细的介绍信息
3.3.3.3 实例
1. 鉴权扫描
对目标主机或目标主机所在的网段进行应用弱口令检测
nmap --script=auth 192.168.1.180
2.暴力破解攻击
可以对数据库、SMB、SNMP等进行简单密码的暴力猜解
nmap --script=brute 192.168.1.180
3.扫描常见的漏洞
nmap --script=vuln 192.168.1.180
4.应用服务扫描
nmap --script=realvnc-auth-bypass 192.168.1.180
5.探测局域网内更多服务开启的情况
nmap -n -p 445 --script=broadcast 192.168.1.180
6.Whois解析
利用第三方的数据库或资源查询目标地址的信息,例如进行Whois 查询
nmap --script external baidu.com