Chinaunix

标题: Learn to Scan -- use Nmap [打印本页]

作者: 疯狂钻石    时间: 2003-05-05 17:28
标题: Learn to Scan -- use Nmap
笔记:Nmap 工作基本原理和使用

What's Nmap? Nmap是一个功能齐全的端口扫描工具,并具备一个功能强大的GUI前端Nmapfe。
Nmap支持所有扫描类型,需要注意的是其中某些会导致目标系统在大量陌生和不正常的数据包
负载下拥塞甚至崩溃。理解这些扫描类型的原理,首先介绍三次握手,所有正常的TCP连接都是
建立在三次握手之上的。

主机A、B之间一次正常TCP连接的建立过程为:
系统A初始化进程发送带有ISNa和置位SYN TCP码字位的数据包;
如果目标系统B该端口正在进行某项服务,则回送一个TCP码字位置位SYN、ACK,同时带有ISNb的数据包;
A接收到这个SYN-ACK数据包后,发送一个ACK数据包完成三次握手。

Nmap扫描类型简述:

-1.TCP连接(-sT),攻击者系统发出SYN,然后等待应答的SYN-ACK从目标端口返回,如果目标系统端口开放则扫
描机器仅使用一个ACK就完成三次握手的连接,然后礼貌的使用FIN数据包拆卸连接。对于关闭的连接要么收不到任
何应答,要么收到RESET数据包或ICMP端口不可到达数据包。然而这样的连接很容易被检测到。

-2.TCP SYN扫描(-sS),即所谓的2/3扫描,它包括攻击系统向每个目标端口发送一个SYN信号,如果端口开放,
目标系统会发送一个SYN-ACK应答信号,然后攻击系统马上发送一个RESET数据包在连接建立之前断开连接。SYN扫描
更加隐蔽,原因是终端系统不会记录连接,然而在目标网络中具有记录功能的路由器和防火墙会记录下SYN数据包。
SYN扫描的另一个优点是它的扫描速度,使用SYN扫描需要考虑的一个方面是由于显著增多的SYN信号而可能造成目标
网络拥塞,引发一个意外的DoS攻击。

-3.违反协议规范,TCP FIN(-sF),Xmas树(-sX)和空扫描(-sN)。连接扫描完全按照TCP协议规范进行;
TCP SYN扫描遵循三分之二连接步骤;而FIN,Xmas树和空扫描都违反了TCP协议。在没有建立连接的前提下,如果
一个关闭的端口受到一个FIN数据包,则目标系统应回送一个RESET信号,因此一个RESET信号说明这个端口是关闭的;
如果端口是开放的,一个意外的FIN数据包到达后端口不会发送任何信息,所以端口没有任何信息返回说明端口开放。
同样的,Xmas树扫描发送带有置位FIN、URG、PUSH码字位的数据包。空扫描则是发送没有置位码字位的TCP数据包。
注意,这类扫描对于Windoze不起作用,然而对其他类型平台这类扫描非常有用。

-4.TCP ACK扫描(-sA),这种扫描允许攻击者隐蔽的通过数据包过滤设备。数据包过滤器可以用在路由器或者防火墙
上,通过察看源站和目的站的IP地址、源和目的的端口、以及TCP码字位决定是否传送这个数据包或者丢弃它。一般许多
网络都配置成允许内部网络访问外部网络,例如如果想允许出站的Web访问,那么用户需要建立从内部网络中机器上高
编号源端口到外部系统目的TCP端口80的连接,则需要在数据包过滤设备上定义一个允许这种流量的规则。关键问题是
如何处理应答流量,一方面Web叶面需要返回到访问者,另一方面有不能允许从开放的源端口(例如,TCP 80)来的数据
进入网络,因为如果允许的话,我们可以配置数据包发生器使用一个源端口为80来扫描内部网络。解决方案是检查入站
数据包的TCP码字位,断开所有没有置位ACK的入站连接,置位Ack TCP码字位的数据包可以认为是对内部发起连接的回应,
这样就不会有从外部发起的会话被启动。但是我们可以发送带有置位ACK码字位的数据包扫描。
使用这种扫描方式Nmap将会向每一个目标端口发送一个ACK数据包,如果返回的是RESET信号,可以断定发送的数据包通过
了数据包过滤设备;如果没有应答或者返回一个ICMP端口不可到达的消息,称此端口“已经过滤过”。

-5.模糊源:FTP跳跃。这里用了FTP服务器的一种旧特征,即允许用户通过服务器向另外一个系统发送文件。利用这个
特点可以从一个无辜的FTP服务器跳跃一个Nmap TCP扫描,但现在大多数FTP服务器已经不支持这种转发的特性。

-6.UDP扫描(-sU),确定是否有UDP服务器。UDP没有三次握手连接、序号或者码字位。

-7.RPC扫描(-sR),RPC就是远程过程调用程序,属于应用层范围。


其他特征:

-1.为扫描设置源端口,使得数据包像是正常流量,从而增加被允许进入网络的机会。TCP端口80、25、20都是流行的源端口
选择,这使扫描看起来像是对web访问、出站电子邮件和FTP访问的回应。
-2.通过允许在扫描过程中指定所使用的诱饵源地址来模糊真正的源地址。
TCP栈指纹,确定目标操作系统类型。
时间选项,
        Paranoid:大约每5分钟发送一个数据包
        Sneaky:大约每15秒钟
        Polite:大约每0.4秒钟
        Normal:在不遗漏端口的前提下一最快速度执行
        Aggressive:等待应答的时间最度不超过1.25秒
        Insane:等待应答时间最多不超过1.25秒
-3.基本的IP数据包分片技术,躲避某些侵入检测系统。


使用举例:
# nmap -sS -O target_host >; file_name&
# nmap -sS -O 192.168.0.1-10
作者: taijun    时间: 2003-05-05 19:31
标题: Learn to Scan -- use Nmap
up
谢谢.正是我所要的,收之.
作者: Bluebear1218    时间: 2003-05-05 20:44
标题: Learn to Scan -- use Nmap
顶,好文章!
作者: 弱智    时间: 2003-05-05 23:33
标题: Learn to Scan -- use Nmap
谢谢,收了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2