nmap是用来探测盘算 机网络上的主机和服务的一种安全扫描器 。为了绘制网络拓扑图Nmap的发送特制的数据包到目标 主机然后对返回数据包举行 分析。Nmap是一款罗列 和测试网络的强大 工具。
特点
主机探测
端口扫描
版本检测
支持探测脚本的编写
安装
官网:https://nmap.org 图形化:Zenmap
根本 操纵
根本 快速扫描
Nmap 默认发送一个arp的ping数据包来探测目标 主机在1-10000范围内所开放的端口 。
nmap -vv 10.1.1.254
快速扫描多个目标
nmap target ip1 address target ip2 address
nmap 10.130.1.28 10.130.1.43
具体 形貌 输出扫描
简单 扫描并对返回的结果 具体 形貌 输出,这个扫描是可以看到扫描的过程的,漫长的扫描的过程中可以看到百分比 就不会显得那么枯燥而且可以提拔 逼格。
nmap -vv 10.1.1.254
指定端口和范围扫描
nmap 默认扫描目标 1-10000范围内的端标语 。我们则可以通过参数-p 来设置我们将要扫描的端标语 n
map -p(range) target IP
namp -p3389,20-100 10.130.1.43
扫描除过某一个ip外的全部 子网主机
nmap 10.130.1.1/24 -exclude 10.130.1.1
扫描除过某一个文件中的ip外的子网主机
nmap 10.130.1.1/24 -excludefile gov.txt
表现 扫描的全部 主机的列表
nmap -sL 10.130.1.1/24
sP ping 扫描
nmap 可以利用 雷同 window/linux 体系 下的ping方式举行 扫描
nmap -sP target ip
一样平常 来说 我们会用这个下令 去扫描内网的一个ip范围用来做内网的主机发现 。
nmap -sP 10.130.1.1-255
PING扫描差别 于别的 的扫描方式由于 它只用于找出主机是否是存在在网络中的.它不是用来发现是否开放端口的.PING扫描必要 ROOT权限假如 用户没有ROOT权限,PING扫描将会利用 connect()调用.
sS SYN半开放扫描
nmap -sS 192.168.1.1
Tcp SYN Scan (sS) 这是一个根本 的扫描方式,它被称为半开放扫描由于 这种技能 使得Nmap不必要 通过完备 的握手就能得到 长途 主机的信息。Nmap发送SYN包到长途 主机但是它不会产生任何会话.因此不会在目标 主机上产生任何日记 记录 ,由于 没有形成会话。这个就是SYN扫描的上风 .假如 Nmap下令 中没有指出扫描范例 ,默认的就是Tcp SYN.但是它必要 root/administrator权限。
sT TCP扫描
nmap -sT 192.168.1.1
差别 于Tcp SYN扫描,Tcp connect()扫描必要 完成三次握手,而且 要求调用体系 的connect().Tcp connect()扫描技能 只实用 于找出TCP和UDP端口 。
sU UDP扫描
nmap -sU 192.168.1.1
这种扫描技能 用来探求 目标 主机打开的UDP端口.它不必要 发送任何的SYN包由于 这种技能 是针对UDP端口的。UDP扫描发送UDP数据包到目标 主机并等待 相应 ,假如 返回ICMP不可达的错误消息阐明 端口是关闭的假如 得到精确 的得当 的回应阐明 端口是开放的.
sF FIN标记 的数据包扫描
nmap -sF 110.130.1.43
可以看出这个扫描的话 会漏扫很多 ~FIN扫描也不会在目标 主机上创建日记 (FIN扫描的上风 之一).个范例 的扫描都是具有差别 性的,FIN扫描发送的包只包罗 FIN标识,NULL扫描不发送数据包上的任何字节,XMAS扫描发送FIN、PSH和URG标识的数据包.
sV Version版本检测扫描
nmap -sV 192.168.1.135
本检测是用来扫描目标 主机和端口上运行的软件的版本.它差别 于别的 的扫描技能 它不是用来扫描目标 主机上开放的端口不外 它必要 从开放的端口获取信息来判定 软件的版本.利用 版本检测扫描之前必要 先用TCPSYN扫描开放了哪些端口。
这个扫描的话速率 会慢一些67.86秒扫一个IP 。
O OS操纵 体系 范例 的探测
nmap -O 10.130.1.43
长途 检测操纵 体系 和软件Nmap的OS检测技能 在渗出 测试中用来相识 长途 主机的操纵 体系 和软件黑白 常有效 的通过获取的信息你可以知道已知的弊端 。Nmap有一个名为的nmap-OS-DB数据库该数据库包罗 高出 2600操纵 体系 的信息。Nmap把TCP和UDP数据包发送到目标 呆板 上然后查抄 结果 和数据库对照 。
osscan-guess 推测 匹配操纵 体系
nmap -O --osscan-guess 192.168.1.134
通过Nmap正确 的检测到长途 操纵 体系 是比力 困难的必要 利用 到Nmap的推测 功能选项,–osscan-guess推测 以为 最靠近 目标 的匹配操纵 体系 范例 。
PN No ping扫描
nmap -O -PN 192.168.1.1/24
假如 长途 主机有防火墙IDS和IPS体系 你可以利用 -PN下令 来确保不ping长途 主机由于 偶然 间 防火墙会构造 掉ping哀求 .-PN下令 告诉Nmap不消 ping长途 主机。利用 -PN参数可以绕过PING下令 ,但是不影响主机的体系 的发现 。
这个扫描整个c段局域网的话还是 比力 耗时的但是信息网络 很具体 大概耗时9分钟。
T 设置时间模板
nmap -sS -T0-5 192.168.1.134
优化时间控制选项的功能很强大 也很有效 但有些用户会被迷惑 。别的 每每 选择符合 参数的时间高出 了所需优化的扫描时间 。因此Nmap提供了一些简单 的 方法利用 6个时间模板利用 时采取 -T选项及数字(0 – 5) 或名称。模板名称有paranoid (0) 、sneaky (1)、polite (2)、normal(3) 、 aggressive (4)和insane (5)
paranoid、sneaky模式用于IDS躲避
Polite模式低落 了扫描 速率 以利用 更少的带宽和目标 主机资源。
Normal为默认模式因此-T3 实际 上是未做任何优化。
Aggressive模式假设用户具有符合 及可靠的网络从而加快 扫描.
nsane模式假设用户具有特别 快的网络大概 乐意 为得到 速率 而捐躯 正确 性 。
网段扫描格式
nmap -sP network address /CIDR
表明 CIDR 为你设置的子网掩码(/24 , /16 ,/8 等)
10.1.1.0/24 = 10.1.1.1-10.1.1.255 #c段扫描
10.1.1.0/16 = 10.1.1.1-10.1.255.255 #b段扫描
10.1.1.0/8 = 10.1.1.1-10.255.255.255 #a段扫描
从文件中读取必要 扫描的IP列表
nmap -iL ip-address.txt
路由跟踪扫描
路由器追踪功能可以或许 帮网络管理员相识 网络通行环境 同时也是网络管理职员 很好的辅助工具通过路由器追踪可以轻松的查处从我们电脑地点 地到目标 地之间所常常 的网络节点并可以看到通过各个节点所耗费 的时间
nmap -traceroute www.baidu.com
nmap -A 10.130.1.43
下令 肴杂 式扫描
下令 肴杂 扫描可以做到雷同 参数-A所完成的功能但又能细化到我们所需特别 要求。以是 一样平常 高手选择这个肴杂 扫描
nmap -vv -p1-100,3306,3389 -O -traceroute 10.130.1.43
这些参数都是可以机动 调用的具体 根据具体 的扫描来利用 各个参数。
nmap -p1-65535 -sV -sS -T4 10.130.1.134
使SYN扫描并举行 Version版本检测 利用 T4(aggressive)的时间模板对目标 ip的全端口举行 扫描 。
输特别 式
扫描的结果 输出到屏幕,同时会存储一份到grep-output.txt
nmap -sV -p 139,445 -oG grep-output.txt 10.0.1.0/24
扫描结果 输出为html
nmap -sS -sV -T5 10.0.1.99 --webxml -oX - | xsltproc --output file.html
nmap高级用法之脚本利用
按照脚天职 类举行 扫描
nmap -- 种别
nmap官方脚本文档: https://nmap.org/nsedoc/
左侧列出了脚本的分类点击分类 可以看到每一个分类下有很多 具体 的脚本供我们利用 。nmap --=种别 这里的种别 可以填写下面14大分类中的此中 之一也可以填写分类内里 的具体 弊端 扫描脚本。
nmap脚天职 类:
▼
「nmap脚天职 类:」
- 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 -- 具体 的脚本 www.baidu.com
常用脚本利用 案例
扫描服务器的常见弊端
nmap -- vuln target
查抄 FTP是否开启匿名登岸
nmap -- ftp-anon target
PORT STATE SERVICE
21/tcp open ftp
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| -rw-r--r-- 1 1170 924 31 Mar 28 2001 .banner
| d--x--x--x 2 root root 1024 Jan 14 2002 bin
| d--x--x--x 2 root root 1024 Aug 10 1999 etc
| drwxr-srwt 2 1170 924 2048 Jul 19 18:48 incoming [NSE: writeable]
| d--x--x--x 2 root root 1024 Jan 14 2002 lib
| drwxr-sr-x 2 1170 924 1024 Aug 5 2004 pub
|_Only 6 shown. Use ---args ftp-anon.maxlist=-1 to see all.
对MySQL举行 暴破解
nmap --=mysql-brute target
3306/tcp open mysql
| mysql-brute:
| Accounts
| root:root - Valid credentials
可以看出已经暴力乐成 破解了MySQL,在368秒内举行 45061次推测 均匀 TPS为146.5 。
对MsSQL举行 暴破解
nmap -p 1433 -- ms-sql-brute ---args userdb=customuser.txt,passdb=custompass.txt host
| ms-sql-brute:
| [192.168.100.128TEST]
| No credentials found
| Warnings:
| sa: AccountLockedOut
| [192.168.100.128PROD]
| Credentials found:
| webshop_reader:secret = Login Success| testuser:secret1234 = PasswordMustChange|_ lordvader:secret1234 = Login Success
对Oracle数据库举行 暴破解
nmap -- oracle-brute -p 1521 ---args oracle-brute.sid=ORCL host
PORT STATE SERVICE REASON
1521/tcp open oracle syn-ack
| oracle-brute:
| Accounts
| system:powell = Account locked
| haxxor:haxxor = Valid credentials
| Statistics
|_ Perfomed 157 guesses in 8 seconds, average tps: 19
对pgSQL的暴力破解
nmap -p 5432 -- pgsql-brute host
5432/tcp open pgsql
| pgsql-brute:
| root:empty = Valid credentials
|_ test:test = Valid credentials
对SSH举行 暴力破解
nmap -p 22 -- ssh-brute ---args userdb=users.lst,passdb=pass.lst ---args ssh-brute.timeout=4s target
22/ssh open ssh
| ssh-brute:
| Accounts
| username:password
| Statistics
|_ Performed 32 guesses in 25 seconds.
利用 DNS举行 子域名暴力破解
额(⊙⊙) 这个admin.baidu.com背面 谁人 10.26.109.19岂非 真的是百度内网的管理平台地点
查抄 VMWare ESXESXi和服务器CVE-2009-3733中的路径遍历弊端
查询VMware服务器vCenterESXESXiSOAP API以提取版本信息。
参数详解
Nmap支持主机名,ip,网段的表现 方式比方 :blah.highon.coffee, namp.org/24, 192.168.0.1;10.0.0-25.1-254
主机发现
扫描本领
指定端口和扫描次序
服务版本辨认
脚本扫描
OS辨认
防火墙/IDS躲避和利用
Nmap 输出
其他nmap选项
(作者:国光 ,泉源 :FreeBuf)