找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 6554|回复: 0
打印 上一主题 下一主题

Nmap教程学习笔记

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-14 20:35:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#################################################
#################################################
###                                           ###
###  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             [RFC1883]
1     ICMP         Internet Control Message           [RFC792]
2     IGMP         Internet Group Management         [RFC1112]
3     GGP         Gateway-to-Gateway                 [RFC823]
4     IP           IP in IP (encapsulation)           [RFC2003]
5     ST           Stream                     [RFC1190,RFC1819]
6     TCP         Transmission Control               [RFC793]
7     CBT         CBT                             [Ballardie]
8     EGP         Exterior Gateway Protocol     [RFC888,DLM1]
9     IGP         any private interior gateway         [IANA]
                       (used by Cisco for their IGRP)
10     BBN-RCC-MON BBN RCC Monitoring                     [SGC]
11     NVP-II       Network Voice Protocol         [RFC741,SC3]
12     PUP         PUP                             [PUP,XEROX]
13     ARGUS       ARGUS                                 [RWS4]
14     EMCON       EMCON                                 [BN7]
15     XNET         Cross Net Debugger             [IEN158,JFH2]
16     CHAOS       Chaos                                 [NC3]
17     UDP         User Datagram                   [RFC768,JBP]
18     MUX         Multiplexing                     [IEN90,JBP]
19     DCN-MEAS     DCN Measurement Subsystems           [DLM1]
20     HMP         Host Monitoring                 [RFC869,RH6]
21     PRM         Packet Radio Measurement               [ZSU]
22     XNS-IDP     XEROX NS IDP               [ETHERNET,XEROX]
23     TRUNK-1     Trunk-1                               [BWB6]
24     TRUNK-2     Trunk-2                               [BWB6]
25     LEAF-1       Leaf-1                               [BWB6]
26     LEAF-2       Leaf-2                               [BWB6]
27     RDP         Reliable Data Protocol         [RFC908,RH6]
28     IRTP         Internet Reliable Transaction   [RFC938,TXM]
29     ISO-TP4     ISO Transport Protocol Class 4 [RFC905,RC77]
30     NETBLT       Bulk Data Transfer Protocol     [RFC969,DDC1]
31     MFE-NSP     MFE Network Services Protocol   [MFENET,BCH2]
32     MERIT-INP   MERIT Internodal Protocol             [HWB]
33     DCCP         Datagram Congestion Control Protocol   [RFC-ietf-dccp-spec-11.txt]
34     3PC         Third Party Connect Protocol         [SAF3]
35     IDPR         Inter-Domain Policy Routing Protocol [MXS1]
36     XTP         XTP                                   [GXC]
37     DDP         Datagram Delivery Protocol             [WXC]
38     IDPR-CMTP   IDPR Control Message Transport Proto [MXS1]
39     TP++         TP++ Transport Protocol               [DXF]
40     IL           IL Transport Protocol             [Presotto]
41     IPv6         Ipv6                               [Deering]   
42     SDRP         Source Demand Routing Protocol       [DXE1]
43     IPv6-Route   Routing Header for IPv6           [Deering]
44     IPv6-Frag   Fragment Header for IPv6           [Deering]
45     IDRP         Inter-Domain Routing Protocol   [Sue Hares]
46     RSVP         Reservation Protocol           [Bob Braden]
47     GRE         General Routing Encapsulation     [Tony Li]
48     MHRP         Mobile Host Routing Protocol[David Johnson]
49     BNA         BNA                           [Gary Salamon]
50     ESP         Encap Security Payload             [RFC2406]
51     AH           Authentication Header             [RFC2402]
52     I-NLSP       Integrated Net Layer Security   TUBA [GLENN]
53     SWIPE       IP with Encryption                     [JI6]
54     NARP         NBMA Address Resolution Protocol   [RFC1735]
55     MOBILE       IP Mobility                       [Perkins]
56     TLSP         Transport Layer Security Protocol   [Oberg]
                       using Kryptonet key management
57     SKIP         SKIP                               [Markson]
58     IPv6-ICMP   ICMP for IPv6                     [RFC1883]
59     IPv6-NoNxt   No Next Header for IPv6           [RFC1883]
60     IPv6-Opts   Destination Options for IPv6       [RFC1883]
61                 any host internal protocol           [IANA]
62     CFTP         CFTP                             [CFTP,HCF2]
63                 any local network                     [IANA]
64     SAT-EXPAK   SATNET and Backroom EXPAK             [SHB]
65     KRYPTOLAN   Kryptolan                             [PXL1]
66     RVD         MIT Remote Virtual Disk Protocol       [MBG]
67     IPPC         Internet Pluribus Packet Core         [SHB]
68                 any distributed file system           [IANA]
69     SAT-MON     SATNET Monitoring                     [SHB]
70     VISA         VISA Protocol                         [GXT1]
71     IPCV         Internet Packet Core Utility           [SHB]
72     CPNX         Computer Protocol Network Executive   [DXM2]
73     CPHB         Computer Protocol Heart Beat         [DXM2]
74     WSN         Wang Span Network                     [VXD]
75     PVP         Packet Video Protocol                 [SC3]
76     BR-SAT-MON   Backroom SATNET Monitoring             [SHB]
77     SUN-ND       SUN ND PROTOCOL-Temporary             [WM3]
78     WB-MON       WIDEBAND Monitoring                   [SHB]
79     WB-EXPAK     WIDEBAND EXPAK                         [SHB]
80     ISO-IP       ISO Internet Protocol                 [MTR]
81     VMTP         VMTP                                 [DRC3]
82     SECURE-VMTP SECURE-VMTP                           [DRC3]
83     VINES       VINES                                 [BXH]
84     TTP         TTP                                   [JXS]
85     NSFNET-IGP   NSFNET-IGP                             [HWB]
86     DGP         Dissimilar Gateway Protocol     [DGP,ML109]
87     TCF         TCF                                   [GAL5]
88     EIGRP       EIGRP                           [CISCO,GXS]
89     OSPFIGP     OSPFIGP                       [RFC1583,JTM4]
90     Sprite-RPC   Sprite RPC Protocol             [SPRITE,BXW]
91     LARP         Locus Address Resolution Protocol     [BXH]
92     MTP         Multicast Transport Protocol           [SXA]
93     AX.25       AX.25 Frames                         [BK29]        
94     IPIP         IP-within-IP Encapsulation Protocol   [JI6]
95     MICP         Mobile Internetworking Control Pro.   [JI6]
96     SCC-SP       Semaphore Communications Sec. Pro.     [HXH]   
97     ETHERIP     Ethernet-within-IP Encapsulation   [RFC3378]
98     ENCAP       Encapsulation Header         [RFC1241,RXB3]
99                 any private encryption scheme         [IANA]
100     GMTP         GMTP                                 [RXB5]
101     IFMP         Ipsilon Flow Management Protocol   [Hinden]
102     PNNI         PNNI over IP                       [Callon]
103     PIM         Protocol Independent Multicast   [Farinacci]
104     ARIS         ARIS                               [Feldman]
105     SCPS         SCPS                                 [Durst]
106     QNX         QNX                                 [Hunter]
107     A/N         Active Networks                     [Braden]
108     IPComp       IP Payload Compression Protocol   [RFC2393]
109     SNP         Sitara Networks Protocol           [Sridhar]
110     Compaq-Peer Compaq Peer Protocol                 [Volpe]
111     IPX-in-IP   IPX in IP                             [Lee]
112     VRRP       Virtual Router Redundancy Protocol [RFC3768]
113     PGM         PGM Reliable Transport Protocol   [Speakman]
114                 any 0-hop protocol                   [IANA]
115     L2TP         Layer Two Tunneling Protocol         [Aboba]
116     DDX         D-II Data Exchange (DDX)           [Worley]
117     IATP       Interactive Agent Transfer Protocol   [Murphy]
118     STP         Schedule Transfer Protocol             [JMP]
119     SRP         SpectraLink Radio Protocol       [Hamilton]
120     UTI       UTI                                 [Lothberg]
121     SMP       Simple Message Protocol               [Ekblad]
122     SM       SM                                 [Crowcroft]
123     PTP       Performance Transparency Protocol       [Welzl]
124     ISIS over IPv4                             [Przygienda]
125     FIRE                                         [Partridge]
126     CRTP     Combat Radio Transport Protocol       [Sautter]
127     CRUDP     Combat Radio User Datagram           [Sautter]
128     SSCOPMCE                                         [Waber]
129     IPLT                                         [Hollbach]
130     SPS     Secure Packet Shield                   [McIntosh]
131     PIPE   Private IP Encapsulation within IP       [Petri]
132     SCTP   Stream Control Transmission Protocol   [Stewart]
133     FC     Fibre Channel                         [Rajagopal]
134     RSVP-E2E-IGNORE                               [RFC3175]
135     Mobility Header                               [RFC3775]
136     UDPLite                                       [RFC3828]
137     MPLS-in-IP                                     [RFC4023]
138-252 Unassigned                                       [IANA]
253     Use for experimentation and testing           [RFC3692]
254     Use for experimentation and testing           [RFC3692]
255                 Reserved                             [IANA]





端口扫描

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] 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.ECN  flag

6.SN

7.TTL




2.被动





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表