文章目录
Nmap
Nmap下载
windows下下载
https://nmap.org/
linux下下载
sudo apt-get install nmap
域名/IP扫描
单个域名/IP扫描
nmap dns域名/IP
嗅探目标端口服务
多个域名/IP扫描
nmap dns域名/IP,dns域名/IP,dns域名/IP,...,dns域名/IP
嗅探目标端口服务
范围型域名/IP扫描
nmap dns域名/IP-dns/IP域名
嗅探目标端口服务
端口state解析 | 说明 |
---|---|
–open | 端口属于开放状态 |
–closed | 端口属于关闭状态 |
–filtered | 端口处于过滤状态,无法收到数据包,返回probe 状态 |
–open/unfiltered | 端口属于开放状态或者是未过滤状态 |
–closed/unfiltered | 端口属于关闭/1状态或者是未过滤状态 |
扫描相关状态的端口
扫描open状态的端口
nmap --open CIDR
扫描closed状态的端口
nmap --closed CIDR
扫描filtered状态的端口
nmap --filtered CIDR
扫描open/unfiltered状态的端口
nmap --open/unfiltered CIDR
扫描closed/unfiltered状态的端口
nmap --closed/unfiltered CIDR
快速强制扫描CIDR
nmap -f CIDR
按顺序扫描CIDR端口服务
nmap -r -v CIDR
-v 生成扫描过程中的不安全报告
返回当前嗅探主机系统信息
nmap -O CIDR
预测当前嗅探主机系统信息
nmap -O -osscan-guess CIDR
或
nmap--fuzzy CIDR
返回嗅探目标的详细结构
nmap -sV CIDR
返回关于RPC网络文件信息
nmap -sR CIRD
返回更多嗅探目标相关的信息
nmap -sV --version-trace CIRD
设置最大重新扫描次数
nmap --max-retries count
设置并行端口数
设置最大并行端口数
nmap --max-parallelism time scanme.nmap.org
设置最小并行端口数
nmap --min-parallelism time scanme.nmap.org
设置扫描时间级别
nmap -Tn(n属于0-5,0速度最慢,5速度最快) CIDR
域名解析
本地dns服务器解析
nmap --system-dns dns域名/IP
例子: nmap --system-dns scanme.nmap.org
指定dns服务器进行解析
nmap --dns-servers dns服务器 dns域名/IP
使用dns服务器解析域名
例子: nmap --dns-servers 8.8.8.8 scanme.nmap.org
8.8.8.8 是google的dns服务解析器
>>scanme.nmap.org(45,33,32,156)
路由追踪
nmap --traceroute CIDR
反向追踪DNS
nmap -R CIDR
端口扫描
单个端口扫描
nmap -p [:port] dns
域名/IP` 扫描指定的端口
多个端口扫描
nmap -p [:port1],[:port2],...,[:portn] + dns
域名/IP ` 扫描指定的多个端口
范围型端口扫描
nmap -p [:port1]-[:port2] dns
域名/IP`
例子:nmap -p 20-100 scanme.nmap.org
设置Nmap扫描协议时的端口
nmap -p 协议:[:port] dns域名/IP
例子:nmap -p U:53,T:25 scanme.nmap.org
设置Nmap扫描的协议
nmap -p 协议 dns域名/IP
或
nmap -PO1,2,4 CIDR
- PO1 ICMP协议
- PO2 IGMP协议
- PO4 IP协议
或者
nmap -sO CIDR
设置Nmap协议的模糊扫描
nmap -p * dns域名/IP
Nmap扫描所有端口(1-65535)
nmap -p [1-65535] dns域名/IP
或nmap -p- dns域名/IP
Nmap从指定端口开始扫描
nmap --top-port start CIDR
Nmap设置任务源端口
nmap --source-port port CIDR
Nmap随机返回特定字长至目标
nmap --datalength size CIDR
Nmap随机化目标IP
`nmap --randomsize-hosts CIDR1-CIDR2
Nmap生成随机行为,并执行
nmap -sT -PN -spoof -mac 0 CIDR
0 表示无论在什么扫描模式下,生成随机行为
或者
nmap --badsum CIDR
数据包
Nmap展示扫描过程中的发送和接受的数据包
nmap --package-trace CIDR
Nmap发送数据包的速度
nmap dn(n从0至9速度逐渐加快) CIDR
Nmap返回数据包错误信息
nmap --reson CIDR'
Nmap发送小于某一特定值的数据包
nmap --mtu number
注: number必须是8的倍数
或者
nmap eta ETH
Nmap获取SYN数据包
nmap -sS CIDR
Nmap获取TCP握手数据包
nmap -sT CIDR
Nmap获取UDP数据包
nmap -sU CIDR
Nmap获取进行Exmouth扫描
nmap -sX CIDR
概述
点亮返回的数据包,进行Exmouth扫描
Nmap发送指定数据包
发送ACKPSH数据包
nmap --scanfile ACKPSH CIDR
发送rtt数据包
设置rtt数据包超时时间
nmap --initial-rtt-timeout 6000ms scanme.nmap.org
设置rtt数据包最大超时时间
nmap --max-rtt-timeout 8000ms 1000ms scanme.nmap.org
设置rtt数据包最小超时时间
nmap --min-rtt-timeout 1000ms scanme.nmap.org
设置数据包的TTL(Time To Live)
nmap --ttl time CIDR
设置发送数据包后一段时间内不接受回显
nmap --host-timeout time CIRD
设置发包延迟
nmap --scan-delay time CIDR
设置最大发包延迟
nmap --max-scan-delay time CIDR
设置最小发包延迟
nmap --min-scan-delay time CIDR
设置发包数目
设置最小发包数目
nmap --min-rate number CIDR
设置最大发包数目
nmap --max-rate number CIDR
发送RST数据包
nmap --defeat-rst-ratelimit CIDR
发送诱饵数据包
nmap -D RND:CIDR
注解:扫描时发送许多伪装IP信息
伪装数据包源IP
nmap -sI 伪装IP 目标IP
服务指纹
概念
为了确保有一个成功渗透测试或网络设备监控必须要知道目标系统中服务的指纹信息,服务指纹信息包括服务端口、服务名和系统版本信息
通过分析目标往Nmap发送的数据包中有某些协议、选项和数据,我们可以推断发送这些数据报的操作系统
Nmap获取服务指纹的方式
nmap通过向目标主机发送多个UDP与TCP数据包并分析其相应来进行操作系统指纹识别的工作
Nmap获取服务指纹
识别目标机器的服务信息
namp -sV dns域名/IP
-sV 探测目标机器的服务信息
侵略性探测
nmap -A -v -T4 dns域名/IP
-A 强制扫描
-v 简洁模式
-T4 加快嗅探速度
或者
nmap -sV -sC -O
dns域名/IP
-sC Nmap的NSE脚本的引用 默认值为: equiralent to --script=default
-O 他测目标机器的操作系统信息
主机发现
概念
一个局域网中肯定是连接着多台设备,获取这些设备的状态就被称作主机发现
方法
1.ping命令
使用ping命令“ping ip”进行探测,但是如果一个局域网囊括的主机设备很多的情况下,手工测试就显得很费劲了
2.Nmap指令
原理
CIDR(Classless Inter-Domain Routing,无类别跨域路由),可以款苏表示一个网络
nmap -sn CIDR
或者nmap -sp CIDR
定期扫描任务
nmap --start-everytime time CIDR
防护墙
停止ICMP请求,已到达不触发防火墙的安全机制
nmap -pn dns域名/IP
文件输出
1.输出xml文件
nmap -sn CIDR -oX index.xml
2.输出txt文件
nmap -sn CIDR -oN index.txt
3.输出grep文件
nmap -sn CIDR -oG index.txt
4.输出所有格式文件
nmap -sn CIDR -oA index
5.多次执行指令,不覆盖
nmap -sn CIDR -oA index --append-output
网卡选择
概念
Nmap是一款可拓展性强的工具,并且自带NSE脚本进行嗅探,但是这种功能需要网卡(必须支持混杂模式或者计算机拥有两张以上的对应不同网络的网卡)
Nmap查看当前主机下的网卡
nmap -iflist
Nmap使用指定网卡进行扫描
nmap -e interface(网卡) CIDR
Nmap使用本地网卡进行扫描
nmap --send-eth CIDR
Nmap使用IP所对应的网关进行扫描
nmap --send-ip CIDR
NSE脚本
概念
NSE(Nmap Script Engine),Nmap脚本引擎,内置很多可以用来扫描的、针对特定任务的脚本,通过NSE可以不断扩展Nmap的扫描策略,加强Nmap的功能
Nmap使用NES脚本
使用参数–script参数来指定调用的脚本,并且脚本存储在Nmap安装路径下的script文件夹下(windows系统),kali linux
存储在’"/user/share/nmap/script"
NSE使用
- 使用Nmap探测目标主机web服务的title信息
nmap --script http-title dns域名/IP
NSE分类使用
对目标使用多个分类脚本进行探测,可以更快的找到目标的信息
-
使用Nmap中漏洞分类脚本进行探测:
nmap --script=vuln dns域名/IP
-
使用Nmap中发现版本信息分类进行探测:
nmap -sV --script="version,discouvery" dns域名/IP
-
使用Nmap除了exploit分类之外的其他分类进行探测:
nmap -sV --script="not exploit" dns域名/IP
-
使用Nmap中的http*的脚本,但是除了(http-brute和http-slowlors):
nmap -sV --script "(http*) and not(http-brute和http-slowlors) " dns域名/IP
-
使用Nmap中的exploit,但是在使用的同时开启调试模式
nmap -sV --script exploit -d 3 --sript-trace dns域名/IP
(-d debug 范围0-9) -
使用Nmap中的负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令:
nmap --script=auth dns域名/IP
-
使用Nmap中提供暴力破解的方式可对数据库,smb,snmp等进行简单密码的暴力猜解:
nmap --script=brute dns域名/IP
-
使用Nmap中默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击:
nmap --script=default dns域名/IP
或者nmap -sC dns域名/IP
-
使用Nmap在局域网内探查更多服务开启状况
nmap -n -p445 --script=broadcast dns域名/IP
-
在Nmap中利用第三方的数据库或资源:
nmap --script external dns域名/IP
NSE更新
nmap --script-updatedb
NES脚本类别
- -auth
- -broadcast
- -brute
- -default(-sC)
- -discovery
- -dos
- -exploit
- -external
- -fuzzer
- -intrusive
- -malware
- -safe
- -version
- -vuln
更多脚本内同NSE介绍
dns域名/IP`
- 使用Nmap中默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击:
nmap --script=default dns域名/IP
或者nmap -sC dns域名/IP
- 使用Nmap在局域网内探查更多服务开启状况
nmap -n -p445 --script=broadcast dns域名/IP
- 在Nmap中利用第三方的数据库或资源:
nmap --script external dns域名/IP
NSE更新
nmap --script-updatedb
NES脚本类别
- -auth
- -broadcast
- -brute
- -default(-sC)
- -discovery
- -dos
- -exploit
- -external
- -fuzzer
- -intrusive
- -malware
- -safe
- -version
- -vuln
更多脚本内同NSE介绍