搜档网
当前位置:搜档网 › 网络扫描技术

网络扫描技术

网络扫描技术

扫描的目的,就是通过一定的方法和手段发现系统或网络内存在的安全漏洞和隐患,以便于管理人员对系统、网络的不足之处及时进行修补,以防攻击者对目标网络、系统进行攻击。

一、漏洞扫描

漏洞是指硬件、软件或策略上的缺陷,从而可使攻击者能够在未经授权的情况下访问系统。漏洞涉及的范围很广,囊括了网络的各个环节、各个方面,包括:路由器、防火墙、操作系统、客户和服务器软件。比如一台提供网上产品搜索的Web服务器,就需要注意操作系统、数据库系统、Web服务软件及防火墙。平均来说,每个星期都会发现若干个安全漏洞。如果用的是旧版本的系统,那么漏洞报告可能很多。

当今的系统功能越来越强,体积也越做越大。有错是软件的属性,造成软件出现锘误的原因是多方面的,比如软件复杂性、程序设计的缺陷、开发时间紧迫、软件开发工具本身的错误等。并且无论经过怎样的测试,软件产品中仍然会遗留下许多错误和缺陷。因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。加上管理人员的惰性,不愿意仔细地进行系统的安全配置。这样一来,本来比较安全的系统也变得不安全了。

一个系统从发布的那一天起,随着用户的深入使用,系统中存在的漏洞会被不断暴露出来,这些早先被发现的漏洞也会不断被系统供应商发布的补丁软件修补,或在以后发布的新版系统中得以纠正。

而在新版系统纠正了旧版本中具有漾洞的同时,也会引入一些新的漏洞和错误。因而随着时间的推移,旧的漏洞会不断消失,新的漏洞会不断出现,漏洞问题也会长期存在。

系统攻击者往往是安全漏洞的发现者和使用者,要对一个系统进行攻击,如果不能发现和使用系统中存在的安全漏洞是不可能成功的。

随着黑客人侵手段的日益复杂和通用系统不断发现的安全缺陷,预先评估和分析网络系统中存在的安全问题已经成为网络管理员们的重要需求。基于网络的安全扫描技术主要用于检测网络内的服务器、路由器、网桥、交换机、访问服务器、防火墙等设备的安全漏洞,并可构造模拟攻击,探测系统是否真实存在可以被入侵者利用的系统安全薄弱之处,评价系统的防御能力。网络安全扫描系统,是维护网络安全所必备的系统级网络安全产品之一,其存在的重要性和必要性正被广大用户所接受和认可。

二、端口扫描

“端口”在计算机网络领域中是个非常重要的概念。它是专门为计算机通信而设计的,如果有需要的话,一台计算机中可以有上万个端口。端口是由计算机的通信协议TCP/IP协议定义的。协议中规定,用IP地址和端口作为套接字,它代表TCP连接的一个连接端,一般称为Socket。具体来说,就是用[IP:端口]来定位一台主机中的进程。可以做这样的比喻,端口相当于两台计算机进程问的大门,可以随便定义,其目的只是为了让两台计算机能够找到对方的进程。计算机就

像一座大楼,这个大楼有好多人口(端口),进到不同的人口中就可以找到不同的公司(进程)。如果要和远程主机A的程序通信,那么只要把数据发向[A:端口]就可以实现通信了。因此,端口与进程是一一对应的,如果某个进程正在等待连接,称之为该进程正在监听,那么就会出现与它相对应的端口。由此可见,入侵者通过扫描端口,使可以判断出目标计算机有哪些通信进程正在等待连接。

端口是一个16 bit的地址,通常用端口号进行标识不同作用的端口。端口一般分为两类,一类是熟知的端口号(公认端口号),由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用的熟知端口,其数值一般为O~1023;另一类是一般端口号,用来随时分配给请求通信的客户进程使用。

扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器,入侵者可以不留痕迹地发现远程服务器的各种TCP端口的分配及该端口提供的服务,以及服务器使用的软件版本等信息。而网络系统管理员通过扫描器则可以间接地或直观地了解到远程主机所存在的安全问题,再有针对性地进行安全漏洞修补。扫描器通过选用远程TCP/IP不同的端口的服务,尝试与目标主机的某些端口建立连接,如果目标主机该端口有回复(见三次握手中的第二次),则说明该端口开放,即为“活动端口”。扫描器将并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息。进行端口扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行扫描。

目前比较常用的端口扫描技术有以下几种:

1.TCP connect()担描

这是最基本的TCP扫描技术。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且被过滤掉。目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快地使它关闭。

2.1P段扫描

这种不能算是新方法,只是其他技术的变种。它并不是直接发送TCP探测数据包,而是将数据包分成两个较小的lP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。但必须小心,一些程序在处理这些小数据包时会有些麻烦。

3.TCP反向ident扫描

Ident协议允许(dc1413)看到通过TCP连接的任何进程拥有者的用户名,即使这个连接不是由这个进程开始的。举个例子,你连接到http端口,然后用identd来发现服务器是否正在以root权限运行。

这种方法只能在和目栎端口建立了一个完整的TCP连接后才能看到。

4.FTP返回攻击

vrP协议的一个有趣的特点是它支持代理(proxy)丌P连接,即入侵者可以从自己的计算机a.com和目标主机target.com的FTP server-PI(协议解释器)连接,建立一个控制通信连接。然后请求这个server-PI激活一个有效的server-DTP(数据传输进程)来给Intemet 上任何地方发送文件。对于一个User-DTP,这是一个推测,尽管RFC 明确地定义请求一个服务器发送文件到另一个服务器是可以的,但现在这个方法好像不行了。这个协议的缺点是“能用来发送不能跟踪的邮件和新闻,给许多服务器造成打击,用尽磁盘,企图越过防火墙”。利用这个的目的是从一个代理的FTP服务器来扫描TCP端口。这样就能在一个防火墙后面连接到一个兀P服务器,然后扫描端口。如果FrP服务器允许从一个目录读写数据,攻击者就能发送任意的数据到发现的打开的端口。

端口扫描技术是使用PORT命令来表示被动的User DTP正在目标计算机上的某个端口侦听,然后入侵者试图用LIST命令列出当前目录,结果通过Server-DTP发送出去。如果目标主机正在某个端口侦听,传输就会成功(产生一个150或226的回应)。否则,会出现“425 Can build data connection:Connection refused.”。然后,使用另一个PORT 命令,尝试目标计算机上的下一个端口。这种方法的优点是难以跟踪,能穿过防火墙。主要缺点是速度很慢,有的FTIP服务器最终能得到一些线索,关闭代理功能。

相关主题