Nmap 使用
Nmap基本功能
基本功能
- 主机发现
- 端口扫描
- 应用程序与版本信息检测
- 操作系统检测
附加功能
- 规避FW/IDS
- NSE脚本定制与应用
扫描方式
默认扫描
1 |
|
全面扫描
1 |
|
主机发现
端口扫描
其中-sF
、-sN
、-sX
为隐蔽扫描,适合于Linux系统的目标机端口扫描
应用程序与版本信息侦测
操作系统侦测
常用的网路协议栈指纹识别
TTL:Time To Live,数据包存活时间
常见操作系统TTL:
Windows 9x/NT/2000 lntel TTL=128
Digital Unix 4.0 Alpha TTL=60
Linux 2.2.x Intel TTL=64
Netware 4.11 Intel TTL= 128
AIX 4.3.x IBM/RS6000 TTL= 60
Cisco 12.0 2514 TTL= 255
Solaris 8 lntel/Sparc TTL= 64
DF位:Don’t Fragment,禁止分片
Window Size:TCP 接收或是发送窗口的大小,决定了接收信息的机器在收到多少数据包后发送 ACK 包
ACK 序号:不同 OS 处理 ACK 序号不同,大多数 OS 会把回应的 ACK 包的序号设置为发送的包的初始需要,Windows 和一些打印机则会发送序号为初始序号加一的 ACK 包
对 FIN 包的响应:发送一个只有 FIN 标志位的 TCP 数据包给一个打开的端口,Linux等系统不响应;有些系统如Windows、Cisco、HP/UX等,发回一个RST
ISN(初始化序列号):不同的 OS 在选择 TCP ISN 时采用不同的方法,一些 UNIX 系统采用传统的 64K 递增方法;较新的 Solaris、IRIX、FreeBSD、Digital Unix、Cray等系统采用随机增量的方法;Linux 2.0、OpenVMS、AIX 等系统采用真随机方法;Windows系统采用一种时间相关的模型;还有一些系统使用常数,如3Com集线器使用Ox803,Apple LaserWriter打印机使用OxC7001
主机使用的端口:一些 OS 会开放特殊的端口,如 Windows的137、139;一些网络设备,如入侵检测系统、防火墙等也开放自己特殊的端口
操作系统检测
规避防火墙
常用命令
-T 使用
使用-T(0~5)可以启用时序选项,—般来说,数字越大,速度越快,精度越低
-TO(偏执的):非常慢的扫描,用于IDS逃避
-T1 (鬼祟的):缓慢的扫描,用于IDS逃避
-T2 (文雅的):降低速度以降低对带宽的消耗,此选项一般不常用
-T3(普通的):默认,根据目标的反应自动调整时间
-T4 (野蛮的):快速扫描,常用扫描方式,需要在很好的网络环境下使用
-T5 (疯狂的):极速扫描,以牺牲准确度来提升扫描速度
–spoof-mac
所用命令: nmap --spoof-mac 0 <目标IP>
,其中参数 0 表示随机分配一个MA地址
也可以手动指定MAC地址,如:nmap --spoof-mac aa:bb:cc:dd:ee:ff <目标IP>
NSE脚本
–script brute
提供暴力破解的方式,可以对数据库、SMB、SNMP等进行简单的密码的暴力破解
–script vuln
检测是否存在常见漏洞
扫描结果保存与输出
三种格式的输出
normal:标准模式(选项-oN)
xml文档:(选项-oX)
grep文件(选项-oG)
注: -oA选项可将扫描结果以标准格式、XML、Grep格式一次性全部保存