扫描与侦察:按照获得结果分类,分为存活性扫描、端口扫描及系统堆栈扫描。按照攻击者角色分类,分为主动扫描和被动扫描。安全扫描的检测技术分类:基于应用的检测技术,它采用被动的,非破坏性的办法检查应用软 ...
一个TCP头包含6个标志位。
SYN:标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接;
FIN:表示发送端已经没有数据要求传输了,希望释放连接;
RST:用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包;
URG:为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效;
ACK:为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效;
PSH:如果置位,接收端应尽快把数据传送给应用层。
给大家介绍一款能穿透网络边缘安全设备的扫描程序:NMAP。Nmap被称为“扫描器之王”,有for Unix和for Win的两种版本,需要Libpcap库和Winpcap库的支持,能够进行普通扫描、各种
高级扫描和
操作系统类型鉴别等。
它对网络的侦查十分有效,具有非常灵活的TCP/IP堆栈指纹引擎并可以穿透网络边缘的安全设备。(NMAP穿透防火墙的一种方法是利用碎片扫描技术(fragment scans),你可以发送隐秘的FIN包(-sF),Xmas tree包(-sX)或NULL包(-sN)。这些选项允许你将TCP查询分割成片断从而绕过防火墙规则。这种策略对 很多流行的防火墙产品都很有效)。
使用命令:
使用
-sS:半开式扫描
-sT:普通connect()扫描
-sP 存活扫描
-sU:udp端口扫描
-O:操作系统鉴别
-P0:强行扫描(无论是否能够ping通目标)
-p:指定端口范围
-v:详细模式
举例
namp –sT 192.168.50.11 –p 80
namp –sX 192.168.50.11 –p 80,23
namp –sP 192.168.50.1/24
讲到这里,我们不得不讲一下TCP/IP所遵循的选择,也是端口扫描的原则:
3、堆栈指纹扫描。它是利用TCP/IP来识别不同的操作系统和服务 向系统发送各种特殊的包,根据系统对包回应的差别,推断出操作系统的种类。堆栈指纹程序利用的部分特征: ICMP错误信息抑制、服务类型值(TOS)、TCP/IP选项、对SYN FLOOD的抵抗力、TCP初始窗口。
堆栈指纹的应用:利用FIN探测、利用TCP ISN采样、使用TCP的初始化窗口、ICMP消息抑制机制、ICMP错误引用机制、ToS字段的设置、DF位的设置、ICMP错误信息回显完整性 、TCP选项 、ACK值。
详细讲解:
利用FIN探测:
利用BOGUS标记探测:
利用TCP ISN采样:这是利用寻找初始化序列长度模板与特定的操作系统相匹配的方法。
利用它可以对许多系统分类,如较早的UNIX系统是64K长度。一些新的UNIX 系统则是随机增长的长度(Solaris,IRIX,FreeBSD,DigitalUnix,Cray等)或者可以使用DontFragment位:许多操作系统在发送的包里使用这个位,由此可以确定操作系统的类型。
使用TCP的初始化窗口 :简单地检查返回包里包含的窗口长度。根据各个操作系统的不同的初始化窗口大小来唯一确定操作系统类型(TCP使用滑动窗口为两台主机间传送缓冲数据。每台TCP/IP主机支持两个滑动窗口,一个用于接收数据,另一个用于发送数据。窗口尺寸表示计算机可以缓冲的数据量大小。)
ToS字段的设置:IP首部的ToS字段用来指示可靠性、预延迟、通过量参数
现在大多数的TCP/IP实现都不支持TOS特性,但是自4.3BSD Reno以后的新版系统都对它进行了设置。另外,新的路由协议如OSPF和IS-IS都能根据这些字段的值进行
路由决策。对于ICMP的“端口不可到达”信息,经过对返回包的服务类型(TOS)值的检查,几乎所有的操作系统使用的是ICMP错误类型0,而
Linux使用的值是0xC0。
ACK值:操作系统在ACK域值的实现也有所不同,向一个关闭的TCP端口发送一个FIN|PSH|URG包,许多操作系统会将ACK值设置为ISN值,但
Windows和某些打印机会设置为seq+1
安全扫描技术的发展趋势:1、使用插件(plugin)或者叫功能模块技术。每个插件都封装一个或者多个漏洞的测试手段,主扫描程序通过调用插件的方法来执行扫描,仅仅是创建新的插件就可以使软件增加新功能,扫描更多漏洞。
2、使用专用脚本语言。一种更高级的插件技术,可以使用专门语言来扩充软件功能。
3、由安全扫描程序到安全评估专家系统。将扫描结果整理,形成报表,对具体漏洞提出一些解决方法。未来的安全扫描系统,不仅能扫描漏洞,还能智能化的协助网络信息管理人员进行安全评估,给出安全建议,成为安全评估专家系统。