Nmap教程学习笔记
##################################################################################################
### ###
###FX-Ti出品教程 ###
### ###
### 望大家支持! ###
### ###
### 菜鸟飞过! ###
### ###
### QQ:1290975089###
#################################################
#################################################
Nmap
扫描:
1.网络扫描
2.端口扫描
3.服务与版本探测
4.操作系统探测
高级特性:
1.隐藏扫描源
2.激活时间特性(扫描工作速率变化)(针对防护设备过流量)
3.逃避防火墙
4.报告
TCP/IP理论:
协议就像是一种特殊的语言
MAC地址为硬件地址
IP地址为逻辑地址
访问IP地址会先行进行ARP解析
待解析到物理地址后再行发包
MAC地址为48位
前24位为厂商ID(借此判断设备)
后24位为厂商自行分配
理解OSI:
7.应用层
(Application Layer)
|
6.表示层
(Presentation Layer)
|
5.会话层
(Session Layer)
|
4.传输层
(Transport Layer)
|
3.网络层
(Network Layer)
|
2.数据链路层
(Data Link Layer)
|
1.物理层
(Physical Layer)
“我们经常讨论7层模型,这个模型的主要用途就是用来讨论整个TCP/IP工作原理的作用的。
对于真实环境的网络工程师来说其实是没有多少作用的,用来讲理论。
真正做软件时可能不会严格按照这个标准来实现,它不过是一个规范。”
1.典型设备:集线器
2.帧:提供有序并且连续的方式发送数据
数据链路层:管理物理地址,同步数据包,流量监控,物理层错误通告
典型设备:交换机:二层交换机降低了发送数据时网络的拥塞
因为它仅仅只会把数据发送到目的计算机所连接到的接口上,单端口转发
3.网络层:三层地址为逻辑地址
重要特点:可路由:将设备规划成各种不同的网段、IP、路由
典型设备:路由器与三层交换机
任务:1.逻辑地址规划
2.路由
4.传输层:有责任在两个点之间传输数据,维护链路
提供在两个点间的数据传输,管理点对点的流量控制、错误检测、错误恢复
主要两大协议:TCP(面向链接)、UDP(没有链接)
面向连接:
“1.打电话给对方通知要发传真了
2.发传真
3.要求对方核查传真”
传输层管理逻辑地址——Port,Port类似于一栋大楼的房间号,决定了数据的去向。
示例的端口列表
Port 协议 服务类型
80 TCP HTTP
443 TCP HTTPS
53 UDP/TCP DNS
25 TCP SMTP
22 TCP SSH
23 TCP Telnet
20(数据信道) TCP FTP
&21(控制信道) TCP FTP
135-139/445 TCP/UDP RPC
500 UDP ISAKMP
5060 UDP SIP
123 UDP NTP
5.会话层:1.插入一个会话层的头部,在两端对话层间同步数据
2.协商全双工与半双工
3.在两个进程间建立连接
6.表示层:1.转换数据/协议转换,转换网络类型,是网络服务操作所在层
2.压缩、加密解密
7.应用层:各种各样的应用程序
网络归类
1.OSI
2.DoD
(应用/进程层
主机到主机层
互联网层
网络访问层
)
3.TCP/IP
(应用层
传输层
互联网层
网络
数据链路层
物理层
)
以太网主要技术
CSMA/CD
全双工工作介绍:
主要协议:IP、TCP、UDP&ICMP
IP头部:
0481216192431版本首部长度服务类型长度认证标志段偏移量TTL协议校验和源IP地址目的IP地址选项 ...
ICMP头部:
消息类型子类型代码
校验和
消息标识
序列号
可选的ICMP数据结构
TCP头部:
其中的保留位正常来说是没有用的,但是可以为入侵来传输一些重要的隐秘信息
同时防火墙对于保留位通常来说也是有一定的防护
三次握手:
SYN
SYN-ACK
ACK
四次FN交换:
FIN+ACK
ACK
FIN+ACK
ACK
RST异常终止
UDP头部:
网络扫描:
1.主机扫描
技术类型:
1.ICMP ECHO Request
2.ICMP Timestamp
3.ICMP Address Mask Request
4.TCP Ping 发TCP SYN或TCP ACK包
5.UDP Ping 如果没开端口,服务器会回ICMP Port Unreachable,开了反倒不回
2.端口服务扫描
技术类型:
1.连接扫描(容易被记录):正经完成三次握手再异常终止
2.半开扫描(主要,无法逃避IPS检测):SYN->|<-SYN-ACK|RST->
3.隐秘扫描:SYN-ACK/FIN/ACK/NULL/XMAS
3.操作系统探测
技术:探测窗口大小、初始化序列号
4逃避
技术类型
1.慢速扫描
2.分片:凭借众多的分片拖垮IPS的缓存
3.欺骗:伪装众多主机进行扫描
4.指定源端口
5.指定IP选项
扫描的用途:
1.安全审计
2.兼容性测试
3.资产管理
4.域内设备清单
Nmap的历史
Nmap于1997被设计
出名于《黑客帝国》
《黑客帝国》中扫描出了SSH端口服务,借由黑客工具获取了Root权限
Nmap在SP2后做出了很多的改变来应付OS、IPS的变化
内部检测用途:
1.测试防火墙的开放端口
2.对工作站IP地址进行扫描,决定是否任何未授权的网络应用被安装
3.判断是否正确的Web服务器版本被安装到DMA区域
4.探测哪些系统开放了文件共享端口
5.探测未授权的FTP服务器、打印机和操作系统
Nmap命令介绍:
-sV判断主机版本号,客户端安装的软件(通过端口扫描发包报文判断)
-n关闭DNS解析(常用)
-sP主机发现 | nmap -sP 192.168.1.1-254
-oG + 文件名 | 输出报告结果为文件
-A 综合扫描
-iL + 文件名 | 调用医药的扫描报告结果文件
-p + 端口号 | 指定端口
-f 分片(未细讲)
显示指令强度:
-v 一般强度
-d 第二强度
--reason 报告判断原因回溯
-debug 判断过程回溯
--packet-trace 最强
安全审计用途:
1.统计防火墙,确认防火墙的过滤策略
2.扫描便捷设备开放的端口号
3.对服务的适当版本进行扫描
4.利用OS扫描技术,找到过时的OS和未授权的系统
5.发现未授权的应用和服务
Nmap高级功能
1.自定义TCP扫描的Flag
2.包分片
3.欺骗IP和MAC
4.添加伪装的源IP地址
5.源端口指定
6.添加随机数据到发送的包中
7.操作TTL
8.发送任意TCP、UDP效验和的包
自定义Flag
使用PSH和SYN两种不同的扫描相同主机相同服务得到不同的结果
原因(发PSH服务器回RST,发SYN它回SYN-ACK,Nmap只看RST判断端口是否Close/Open)
PSH:nmap -n --scanflags PSH -p 135 1.1.1.1
SYN:nmap -n --scanflags SYN -p 135 1.1.1.1
默认行为扫描(命令:nmap IP)
1.主机发现
2.SYN端口扫描(随机端口枚举)(识别靠内建的端口/服务对应表判断,未发包确认)
-A:
1.OS判断
2.版本检查
3.脚本扫描
4.traceroute
如何扫描Windows自身:-sT/-PN(主要)
IP:127.0.0.1
指定目标的技巧
nmap 192.168.1.0/24(网段) | 192.168.100.10-25(范围) | myhost.xyz.com(域名)
nmap 192.168.5,10,15-16.10,20(用逗号分隔)(对应序列类似握手问题)
nmap -sP --exclude web.xyz.com,dns.xyz.com,mail.xyz.com 192.168.100.0/24(排除在外)
nmap -sV -iL scan_host_list.txt(使用文件)
nmap --excludefile exclude_scan_host_list.txt 192.168.100.0/16(排除HOST文件,最好排列一个DHCP分发的地址)
nmap -p443 -iR 10(随机扫描)
目的制定命令格式
-iL <filename> 使用指定文件
-iR <number of targets> 随机指定数量
--exclude <host1,host2,host3> 排除在外
--excludefile <filename> 排除在外的文件
发现主机
nmap -sP 192.168.1.0/24
直连网络:发送ARP request,进行DNS解析
跨网络发送:ICMP ECHO request & TCP 80
注意:-sP参数表名制作主机发现而不做进一步扫描,只配置-sP表示使用默认方式实施主机扫描。
也可以跟上-PS -PA -PP -PM等等参数实施主机扫描,但是如果只配置-PS -PA -PP......参数,不仅没主机发现,
还会对active端口实施端口扫描
-PE ICMP ECHO request扫描=ping(code8|code0)
-PP 时间请求(code13|code14)
-PM 掩码请求(code17|code18)
-PS S为SYN(TCP)SYN同步扫描 发送SYN80 回送SYN-ACK
可能被防火墙干掉
I
-PA A为ACK 发送ACK的包 正常服务器回送RST
ACK包过不了防火墙,防火墙(状态监控防火墙)直接给RST
II(穿越失败就可以确认正在穿越状态监控防火墙)(控制列表类型可以过)
-PU 用UDP扫描,连接UDP高端口——31338 服务器正常状态下回应一个ICMP的端口不可达,如果目标主机见鬼的开了这个高端口,那么就没反应了。。。
防火墙不一定放
-PO 扫描协议号:1.ICMP相当于Ping(ICMP ECHO request)
-sL 没有发任何的包,只对于域进行DNS解析
-sN 关闭主机发现。。。
----------------------------------------------------------------------------------------------补充部分------------------------------------------------------------------------------------------
-PM Must请求
-PR ARP的Ping(网络直连时都缺省ARP Ping)
-R 启用DNS解析(默认启用)
--dns-server + NDS serveice 指定DNS服务器
--system-dns 系统自己的DNS服务器(缺省)
--send.ip 直连网络不想做ARP Ping,指定用IP包
网络协议号
十进制序号 关键词 协议 参考文献
----------- ------- -------- ----------
0 HOPOPT IPv6 Hop-by-Hop Option
1 ICMP Internet Control Message
2 IGMP Internet Group Management
3 GGP Gateway-to-Gateway
4 IP IP in IP (encapsulation)
5 ST Stream
6 TCP Transmission Control
7 CBT CBT
8 EGP Exterior Gateway Protocol
9 IGP any private interior gateway
(used by Cisco for their IGRP)
10 BBN-RCC-MON BBN RCC Monitoring
11 NVP-II Network Voice Protocol
12 PUP PUP
13 ARGUS ARGUS
14 EMCON EMCON
15 XNET Cross Net Debugger
16 CHAOS Chaos
17 UDP User Datagram
18 MUX Multiplexing
19 DCN-MEAS DCN Measurement Subsystems
20 HMP Host Monitoring
21 PRM Packet Radio Measurement
22 XNS-IDP XEROX NS IDP
23 TRUNK-1 Trunk-1
24 TRUNK-2 Trunk-2
25 LEAF-1 Leaf-1
26 LEAF-2 Leaf-2
27 RDP Reliable Data Protocol
28 IRTP Internet Reliable Transaction
29 ISO-TP4 ISO Transport Protocol Class 4
30 NETBLT Bulk Data Transfer Protocol
31 MFE-NSP MFE Network Services Protocol
32 MERIT-INP MERIT Internodal Protocol
33 DCCP Datagram Congestion Control Protocol
34 3PC Third Party Connect Protocol
35 IDPR Inter-Domain Policy Routing Protocol
36 XTP XTP
37 DDP Datagram Delivery Protocol
38 IDPR-CMTP IDPR Control Message Transport Proto
39 TP++ TP++ Transport Protocol
40 IL IL Transport Protocol
41 IPv6 Ipv6
42 SDRP Source Demand Routing Protocol
43 IPv6-Route Routing Header for IPv6
44 IPv6-Frag Fragment Header for IPv6
45 IDRP Inter-Domain Routing Protocol
46 RSVP Reservation Protocol
47 GRE General Routing Encapsulation
48 MHRP Mobile Host Routing Protocol
49 BNA BNA
50 ESP Encap Security Payload
51 AH Authentication Header
52 I-NLSP Integrated Net Layer Security TUBA
53 SWIPE IP with Encryption
54 NARP NBMA Address Resolution Protocol
55 MOBILE IP Mobility
56 TLSP Transport Layer Security Protocol
using Kryptonet key management
57 SKIP SKIP
58 IPv6-ICMP ICMP for IPv6
59 IPv6-NoNxt No Next Header for IPv6
60 IPv6-Opts Destination Options for IPv6
61 any host internal protocol
62 CFTP CFTP
63 any local network
64 SAT-EXPAK SATNET and Backroom EXPAK
65 KRYPTOLAN Kryptolan
66 RVD MIT Remote Virtual Disk Protocol
67 IPPC Internet Pluribus Packet Core
68 any distributed file system
69 SAT-MON SATNET Monitoring
70 VISA VISA Protocol
71 IPCV Internet Packet Core Utility
72 CPNX Computer Protocol Network Executive
73 CPHB Computer Protocol Heart Beat
74 WSN Wang Span Network
75 PVP Packet Video Protocol
76 BR-SAT-MON Backroom SATNET Monitoring
77 SUN-ND SUN ND PROTOCOL-Temporary
78 WB-MON WIDEBAND Monitoring
79 WB-EXPAK WIDEBAND EXPAK
80 ISO-IP ISO Internet Protocol
81 VMTP VMTP
82 SECURE-VMTP SECURE-VMTP
83 VINES VINES
84 TTP TTP
85 NSFNET-IGP NSFNET-IGP
86 DGP Dissimilar Gateway Protocol
87 TCF TCF
88 EIGRP EIGRP
89 OSPFIGP OSPFIGP
90 Sprite-RPC Sprite RPC Protocol
91 LARP Locus Address Resolution Protocol
92 MTP Multicast Transport Protocol
93 AX.25 AX.25 Frames
94 IPIP IP-within-IP Encapsulation Protocol
95 MICP Mobile Internetworking Control Pro.
96 SCC-SP Semaphore Communications Sec. Pro.
97 ETHERIP Ethernet-within-IP Encapsulation
98 ENCAP Encapsulation Header
99 any private encryption scheme
100 GMTP GMTP
101 IFMP Ipsilon Flow Management Protocol
102 PNNI PNNI over IP
103 PIM Protocol Independent Multicast
104 ARIS ARIS
105 SCPS SCPS
106 QNX QNX
107 A/N Active Networks
108 IPComp IP Payload Compression Protocol
109 SNP Sitara Networks Protocol
110 Compaq-Peer Compaq Peer Protocol
111 IPX-in-IP IPX in IP
112 VRRP Virtual Router Redundancy Protocol
113 PGM PGM Reliable Transport Protocol
114 any 0-hop protocol
115 L2TP Layer Two Tunneling Protocol
116 DDX D-II Data Exchange (DDX)
117 IATP Interactive Agent Transfer Protocol
118 STP Schedule Transfer Protocol
119 SRP SpectraLink Radio Protocol
120 UTI UTI
121 SMP Simple Message Protocol
122 SM SM
123 PTP Performance Transparency Protocol
124 ISIS over IPv4
125 FIRE
126 CRTP Combat Radio Transport Protocol
127 CRUDP Combat Radio User Datagram
128 SSCOPMCE
129 IPLT
130 SPS Secure Packet Shield
131 PIPE Private IP Encapsulation within IP
132 SCTP Stream Control Transmission Protocol
133 FC Fibre Channel
134 RSVP-E2E-IGNORE
135 Mobility Header
136 UDPLite
137 MPLS-in-IP
138-252 Unassigned
253 Use for experimentation and testing
254 Use for experimentation and testing
255 Reserved
端口扫描
Open端口:
1.潜在的安全的弱点
2.提供应用与服务的清单
3.确认软件策略的强度
Closed端口:
1.主机发现
2.操作系统判断
对Nmap而言的6种端口状态
1.Open 开放了在线应用程序在接受TCP和UDP的包
2.Closed 端口可以被访问,但没有应用程序在侦听
3.Filtered 没有回应,去的包或回的包可能被过滤掉
4.Unfiltered 没有被过滤,ACK扫描专用
情况是:ACK scan,open&closed回应都是RST,不好判断,只能说主机是活动的
5.Open|filtered (UDP,IP Proto, FIN, Null, Xmas scans)
开放的UDP端口不回应,或者回应的ICMP被过滤
6.Closed|filtered IP ID Idle scan
基础端口扫描
SYN扫描的不同结果:
->SYN | <-SYN-ACK ——Open
| <-RST ——Closed
| <-ICMP Unreachable ——Filtered(被访问控制列表过滤,由访问控制列表发出)
nmap -sS SYN同步扫描(TCP)
探测服务结果依旧靠内建的表来判断,不做确认
-P0 不做主机发现
-sT TCP连接扫描
-sU UDP扫描,对算有UDP的端口进行扫描
-sV 确认版本
-sO 协议扫描
额外的高级扫描
RFC定义:如果一个包内不包含SYN、RST、ACK中的任何一个Flag,回送RST
三种特殊扫墙:
1.TCP Null scan 没有Flag的扫描 -sN
2.TCP FIN scan Flag为FIN的扫描 -sF
3.Xmas scan 反着来,Flag置为FIN, PSH, URG -sX
这些扫描一般来说都逃避不了IDS的检测,
-sW 探测窗口大小,一般来说窗口大小取决于目标主机的缓存大小,也与操作系统有关系,不同操作系统对winows处理有区别
FIN+ACK的扫描
-sM
Idle scan -sL 完全隐藏的扫描,神!很有想象力
利用IP头部的ID位数进行判断实施扫描
指定Flag
--scanflags URGPSH
扫描范围
默认扫描端口范围为内建的服务映射表扫描端口(随机扫描)
-r 顺序扫描
-p -100 从一到一百
-p 60000- 大于六万
-p- 所有
且关联文件:
-p ftp, http*
文件内ftp, http*关联的端口
nmap -sU -sS -p U:53, T:80, 134-139 192.168.1.0/24 指定UDP、TCP扫描端口
-p 6000到6100之间的
-p + 网络协议号
操作系统探测方法
1.初始化序列号
2.IP ID
3.ECN
4.窗口大小
报告:
1.厂商
2.具体版本
3.设备
-O扫描操作系统 --osscan-guess尽量猜
探测服务和应用版本
1.服务协议
2.应用名
3.版本号
4.主机名称
5.设备类型
6.操作系统家族
7.细节杂项
8.端口状态
--allport
--version-all最高强度
Nmap脚本引擎
1.增强的网络发现
2.增强的版本探测
3.脆弱节点探测
4.恶意软件探测
5.漏洞利用
--scritp=<script_filename>
性能优化
速率调整
-T +次数 最低为0,慢的不可思议
0-5
逃避和欺骗
1.分片
-f 8个字节
2.混淆攻击
-D <IP, IP,ME>乱写IP
--spoof-mac 0 随意伪装MAC | D-Link伪装成D-Link的MAC
--source-port 53 伪装53源端口
--mtu
--badsum 错误的效验和
导出数据
-oN + 名字 myscan-%D-%T.nmap | %D日期, %T时间(周期性扫描用)
--open只显示open的端口号
--append-output 在之前的输出文件后继续添加之后扫描的报告
杂项:
1.-6 IPv6扫描
2.-A全面扫描
3.-O OS检测
4.-sV服务版本检查
5.-sC脚本扫描
6.-traceroute
Zenmap部分就直接跳过了。。。
既然学黑了,就下用命令行的决心!
Nmap操作系统指纹
OS指纹技术:
1.主动
主动发包,大概15种探针
利用TCP、UDP和ICMP协议
结果包含:
1.窗口大小
2.windows 位
3.IP DF
4.时间戳
5.ECNflag
6.SN
7.TTL
2.被动
页:
[1]