端口扫描的基本原理是什么?端口扫描技术分哪几类?
端口扫描的基本原理就是看指定的端口是否开放。
技术就是尝试连接指定的端口,分类的话有2个,
1、半连接连接(syn扫描,不完成3次握手)
2、全连接 (完成3次握手)
怎样防止网络监听与端口扫描
网络监听是一种监视网络状态、数据流
程以及网络上信息传输的管理工具,它可以将网络界面设定成监听模式,并且可以截获网络上所传输的信息。也就是说,当黑客登录网络主机并取得超级用户权限
后,若要登录其它主机,使用网络监听便可以有效地截获网络上的数据,这是黑客使用最好的方法。但是网络监听只能应用于连接同一网段的主机,通常被用来获取
用户密码等。
步骤/方法 使用安全工具
有许多工具可以让我们发现系统中的漏洞,如SATAN等。SATAN是一个分析网络的管理、测试和报告许多信息,识别一些与网络相关的安全问题。 对所发现的问题,SATAN提供对这个问题的解释以及可能对系统和网络安全造成影响的程度,并且通过工具所附的资料,还能解释如何处理这些问题。 当然还有很多像这样的安全工具。包括对TCP端口的扫描或者对多台主机的所有TCP端口实现监听;分析网络协议、监视控制多个网段等,正确使用这些安全工具,及时发现系统漏洞,才能防患于未然。 而对于WindowsNT系统平台,可定期检查EventLog中的SECLog记录,查看是否有可疑的情况,防止网络监听与端口扫描。 安装防火墙
防火墙型安全保障技术是基于被保护网络具有明确定义的边界和服务、并且网络安全
的威胁仅来自外部的网络。通过监测、限制以及更改跨越“防火墙”的数据流,尽可能的对外部网络屏蔽有关被保护网络的信息、结构,实现对网络的安全保护,因
此比较适合于相对独立,与外部网络互连途径有限并且网络服务种类相对单一、集中的网络系统,如Internet。“防火墙”型系统在技术原理上对来自内部
网络系统的安全威胁不具备防范作用,对网络安全功能的加强往往以网络服务的灵活行、多样性和开放性为代价,且需要较大的网络管理开销。
防火墙型网络安全保障系统实施相当简单,是目前应用较广的网络安全技术,但是其基本特征及运行代价限制了其开放型的大规模网络系统中应用的潜力。由于防
火墙型网络安全保障系统只在网络边界上具有安全保障功能,实际效力范围相当有限,因此“防火墙”型安全技术往往是针对特定需要而专门设计实施的系统。 对于个人用户,安装一套好的个人防火墙是非常实际而且有效的方法。现在许多公司都开发了个人防火墙,这些防火墙往往具有智能防御核心,攻击,并进行自动防御,保护内部网络的安全。
比如蓝盾防火墙系统在内核设计中引入自动反扫描机制,当黑客用扫描器扫描防火墙或防火墙保护的服务器时,将扫描不到任何端口,使黑客无从下手;同进还具
有实时告警功能,系统对受到的攻击设有完备的纪录功能,纪录方式有简短纪录、详细记录、发出警告、纪录统计(包括流量、连接时间、次数等)等记录,当系统
发生警告时,还可以把警告信息传到呼机和手机上来,让系统管理员及得到通知。对络上传输的信息进行加密,可以有效的防止网络监听等攻击
目前有许多软件包可用于加密连接,使入侵者即使捕获到数据,但无法将数据解密而失去窃听的意义。
注意事项最后给系统及网络管理员的一些建议:
(1)及时安装各种防火墙;
哪些方法可以防御黑客的Nmap扫描
黑客入侵ADSL用户的方法
在很多地方都是包月制的,这样的话,黑客就可以用更长的时间进行端口以及漏洞的扫描,甚至采用在线暴力破解的方法盗取密码,或者使用嗅探工具守株待兔般等待对方自动把用户名和密码送上门。
要完成一次成功的网络攻击,一般有以下几步。第一步就是要收集目标的各种信息,为了对目标进行彻底分析,必须尽可能收集攻击目标的大量有效信息,以便最后分析得到目标的漏洞列表。分析结果包括:操作系统类型,操作系统的版本,打开的服务,打开服务的版本,网络拓扑结构,网络设备,防火墙,闯氩炀踝爸玫鹊取?
黑客扫描使用的主要是TCP/IP堆栈指纹的方法。实现的手段主要是三种:
1.TCP ISN采样:寻找初始化序列规定长度与特定的OS是否匹配。
2.FIN探测:发送一个FIN包(或者是任何没有ACK或SYN标记的包)到目标的一个开放的端口,然后等待回应。许多系统会返回一个RESET(复位标记)。
3.利用BOGUS标记:通过发送一个SYN包,它含有没有定义的TCP标记的TCP头,利用系统对标记的不同反应,可以区分一些操作系统。
4.利用TCP的初始化窗口:只是简单地检查返回包里包含的窗口长度,根据大小来唯一确认各个操作系统。
扫描技术虽然很多,原理却很简单。这里简单介绍一下扫描工具Nmap(Network mapper)。这号称是目前最好的扫描工具,功能强大,用途多样,支持多种平台,灵活机动,方便易用,携带性强,留迹极少;不但能扫描出TCP/UDP端口,还能用于扫描/侦测大型网络。
注意这里使用了一些真实的域名,这样可以让扫描行为看起来更具体。你可以用自己网络里的名称代替其中的addresses/names。你最好在取得允许后再进行扫描,否则后果可要你自己承担哦。
nmap -v target.example.com
这个命令对target.example.com上所有的保留TCP端口做了一次扫描,-v表示用详细模式。
nmap -sS -O target.example.com/24
这个命令将开始一次SYN的半开扫描,针对的目标是target.example.com所在的C类子网,它还试图确定在目标上运行的是什么操作系统。这个命令需要管理员权限,因为用到了半开扫描以及系统侦测。
发动攻击的第二步就是与对方建立连接,查找登录信息。现在假设通过扫描发现对方的机器建立有IPC$。IPC$是共享“命名管道”的资源,它对于程序间的通讯很重要,在远程管理计算机和查看计算机的共享资源时都会用到。利用IPC$,黑客可以与对方建立一个空连接(无需用户名和密码),而利用这个空连接,就可以获得对方的用户列表。
第三步,使用合适的工具软件登录。打开命令行窗口,键入命令:net use 222.222.222.222ipc$ “administrator” /user:123456
这里我们假设administrator的密码是123456。如果你不知道管理员密码,还需要找其他密码破解工具帮忙。登录进去之后,所有的东西就都在黑客的控制之下了。
防范方法
因为ADSL用户一般在线时间比较长,所以安全防护意识一定要加强。每天上网十几个小时,甚至通宵开机的人不在少数吧,而且还有人把自己的机器做成Web或者ftp服务器供其他人访问。日常的防范工作一般可分为下面的几个步骤来作。
步骤一,一定要把Guest帐号禁用。有很多入侵都是通过这个帐号进一步获得管理员密码或者权限的。如果不想把自己的计算机给别人当玩具,那还是禁止的好。打开控制面板,双击“用户和密码”,选择“高级”选项卡。单击“高级”按钮,弹出本地用户和组窗口。在Guest帐号上面点击右键,选择属性,在“常规”页中选中“帐户已停用”。
步骤二,停止共享。Windows 2000安装好之后,系统会创建一些隐藏的共享。点击开始→运行→cmd,然后在命令行方式下键入命令“net share”就可以查看它们。网上有很多关于IPC入侵的文章,都利用了默认共享连接。要禁止这些共享,打开管理工具→计算机管理→共享文件夹→共享,在相应的共享文件夹上按右键,点“停止共享”就行了。
步骤三,尽量关闭不必要的服务,如Terminal Services、IIS(如果你没有用自己的机器作Web服务器的话)、RAS(远程访问服务)等。还有一个挺烦人的Messenger服务也要关掉,否则总有人用消息服务发来网络广告。打开管理工具→计算机管理→服务和应用程序→服务,看见没用的就关掉。
步骤四,禁止建立空连接。在默认的情况下,任何用户都可以通过空连接连上服务器,枚举帐号并猜测密码。我们必须禁止建立空连接,方法有以下两种:
(1)修改注册表:
HKEY_Local_MachineSystemCurrent-ControlSetControlLSA下,将DWORD值RestrictAnonymous的键值改成1。
(2)修改Windows 2000的本地安全策略:
设置“本地安全策略→本地策略→选项”中的RestrictAnonymous(匿名连接的额外限制)为“不容许枚举SAM账号和共享”。
步骤五,如果开放了Web服务,还需要对IIS服务进行安全配置:
(1) 更改Web服务主目录。右键单击“默认Web站点→属性→主目录→本地路径”,将“本地路径”指向其他目录。
(2) 删除原默认安装的Inetpub目录。
(3) 删除以下虚拟目录: _vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。
(4) 删除不必要的IIS扩展名映射。方法是:右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。如不用到其他映射,只保留.asp、.asa即可。
(5) 备份IIS配置。可使用IIS的备份功能,将设定好的IIS配置全部备份下来,这样就可以随时恢复IIS的安全配置。
不要以为这样就万事大吉,微软的操作系统我们又不是不知道,bug何其多,所以一定要把微软的补丁打全。
最后,建议大家选择一款实用的防火墙。比如Network ICE Corporation公司出品的Black ICE。它的安装和运行十分简单,就算对网络安全不太熟悉也没有关系,使用缺省的配置就能检测绝大多数类型的黑客攻击。对于有经验的用户,还可以选择“Tools”中的“Advanced Firewall Settings”,来针对特定的IP地址或者UDP的特定端口进行接受或拒绝配置,以达到特定的防御效果。
端口扫描的最新技术有些什么?
一:TCP/IP相关问题
连接端及标记
IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。为了获得TCP服务,必须在发送机的一个端口上和接收机的一个端口上建立连接。TCP连接用两个连接端来区别,也就是(连接端1,连接端2)。连接端互相发送数据包。
一个TCP数据包包括一个TCP头,后面是选项和数据。一个TCP头包含6个标志位。它们的意义分别为:
SYN: 标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接。
FIN: 表示发送端已经没有数据要求传输了,希望释放连接。
RST: 用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。
URG: 为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。
ACK: 为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。
PSH: 如果置位,接收端应尽快把数据传送给应用层。
TCP连接的建立
TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。 TCP的可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN(初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然后分析连接建立的过程(通常称作三阶段握手):
1: C --SYN XXà S
2: C ?-SYN YY/ACK XX+1------- S
3: C ----ACK YY+1--à S
1:C发送一个TCP包(SYN 请求)给S,其中标记SYN(同步序号)要打开。SYN请求指明了客户端希望连接的服务器端端口号和客户端的ISN(XX是一个例子)。
2:服务器端发回应答,包含自己的SYN信息ISN(YY)和对C的SYN应答,应答时返回下一个希望得到的字节序号(YY+1)。
3:C 对从S 来的SYN进行应答,数据发送开始。
一些实现细节
大部分TCP/IP实现遵循以下原则:
1:当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包。
2:当一个RST数据包到达一个监听端口,RST被丢弃。
3:当一个RST数据包到达一个关闭的端口,RST被丢弃。
4:当一个包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包。
5:当一个SYN位关闭的数据包到达一个监听端口时,数据包被丢弃。
6:当一个SYN数据包到达一个监听端口时,正常的三阶段握手继续,回答一个SYN ACK数据包。
7:当一个FIN数据包到达一个监听端口时,数据包被丢弃。"FIN行为"(关闭得端口返回RST,监听端口丢弃包),在URG和PSH标志位置位时同样要发生。所有的URG,PSH和FIN,或者没有任何标记的TCP数据包都会引起"FIN行为"。
二:全TCP连接和SYN扫描器
全TCP连接
全TCP连接是长期以来TCP端口扫描的基础。扫描主机尝试(使用三次握手)与目的机指定端口建立建立正规的连接。连接由系统调用connect()开始。对于每一个监听端口,connect()会获得成功,否则返回-1,表示端口不可访问。由于通常情况下,这不需要什么特权,所以几乎所有的用户(包括多用户环境下)都可以通过connect来实现这个技术。
这种扫描方法很容易检测出来(在日志文件中会有大量密集的连接和错误记录)。Courtney,Gabriel和TCP Wrapper监测程序通常用来进行监测。另外,TCP Wrapper可以对连接请求进行控制,所以它可以用来阻止来自不明主机的全连接扫描。
TCP SYN扫描
在这种技术中,扫描主机向目标主机的选择端口发送SYN数据段。如果应答是RST,那么说明端口是关闭的,按照设定就探听其它端口;如果应答中包含SYN和ACK,说明目标端口处于监听状态。由于所有的扫描主机都需要知道这个信息,传送一个RST给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半打开扫描。SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。
三:秘密扫描与间接扫描
秘密扫描技术
由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而必SYN扫描隐蔽得多。另外,FIN数据包能够通过只监测SYN包的包过滤器。
秘密扫描技术使用FIN数据包来探听端口。当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且回返回一个RST数据包。否则,当一个FIN数据包到达一个打开的端口,数据包只是简单的丢掉(不返回RST)。
Xmas和Null扫描是秘密扫描的两个变种。Xmas扫描打开FIN,URG和PUSH标记,而Null扫描关闭所有标记。这些组合的目的是为了通过所谓的FIN标记监测器的过滤。
秘密扫描通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送reset信号的操作系统(包括CISCO,BSDI,HP/UX,MVS和IRIX)。在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都发送RST。
跟SYN扫描类似,秘密扫描也需要自己构造IP 包。
间接扫描
间接扫描的思想是利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。间接扫描的工作过程如下:
假定参与扫描过程的主机为扫描机,隐藏机,目标机。扫描机和目标记的角色非常明显。隐藏机是一个非常特殊的角色,在扫描机扫描目的机的时候,它不能发送任何数据包(除了与扫描有关的包)。
四:认证扫描和代理扫描
认证扫描
到目前为止,我们分析的扫描器在设计时都只有一个目的:判断一个主机中哪个端口上有进程在监听。然而,最近的几个新扫描器增加了其它的功能,能够获取监听端口的进程的特征和行为。
认证扫描是一个非常有趣的例子。利用认证协议,这种扫描器能够获取运行在某个端口上进程的用户名(userid)。认证扫描尝试与一个TCP端口建立连接,如果连接成功,扫描器发送认证请求到目的主机的113TCP端口。认证扫描同时也被成为反向认证扫描,因为即使最初的RFC建议了一种帮助服务器认证客户端的协议,然而在实际的实现中也考虑了反向应用(即客户端认证服务器)。
代理扫描
文件传输协议(FTP)支持一个非常有意思的选项:代理ftp连接。这个选项最初的目的(RFC959)是允许一个客户端同时跟两个FTP服务器建立连接,然后在服务器之间直接传输数据。然而,在大部分实现中,实际上能够使得FTP服务器发送文件到Internet的任何地方。许多攻击正是利用了这个缺陷。最近的许多扫描器利用这个弱点实现ftp代理扫描。
ftp端口扫描主要使用ftp代理服务器来扫描tcp端口。扫描步骤如下:
1:假定S是扫描机,T是扫描目标,F是一个ftp服务器,这个服务器支持代理选项,能够跟S和T建立连接。
2:S与F建立一个ftp会话,使用PORT命令声明一个选择的端口(称之为p-T)作为代理传输所需要的被动端口。
3:然后S使用一个LIST命令尝试启动一个到p-T的数据传输。
4:如果端口p-T确实在监听,传输就会成功(返回码150和226被发送回给S)。否则S回收到"425无法打开数据连接"的应答。
5:S持续使用PORT和LIST命令,直到T上所有的选择端口扫描完毕。
FTP代理扫描不但难以跟踪,而且当ftp服务器在防火墙后面的时候
五:其它扫描方法
Ping扫描
如果需要扫描一个主机上甚至整个子网上的成千上万个端口,首先判断一个主机是否开机就非常重要了。这就是Ping扫描器的目的。主要由两种方法用来实现Ping扫描。
1:真实扫描:例如发送ICMP请求包给目标IP地址,有相应的表示主机开机。
2:TCP Ping:例如发送特殊的TCP包给通常都打开且没有过滤的端口(例如80端口)。对于没有root权限的扫描者,使用标准的connect来实现。否则,ACK数据包发送给每一个需要探测的主机IP。每一个返回的RST表明相应主机开机了。另外,一种类似于SYN扫描端口80(或者类似的)也被经常使用。
安全扫描器
安全扫描器是用来自动检查一个本地或者远程主机的安全漏洞的程序。象其它端口扫描器一样,它们查询端口并记录返回结果。但是它们。它们主要要解决以下问题:
1:是否允许匿名登录。
2:是否某种网络服务需要认证。
3:是否存在已知安全漏洞。
可能SATAN是最著名的安全扫描器。1995年四月SATAN最初发布的时候,人们都认为这就是它的最终版本,认为它不但能够发现相当多的已知漏洞,而且能够针对任何很难发现的漏洞提供信息。但是,从它发布以来,安全扫描器一直在不断地发展,其实现机制也越来越复杂。
栈指纹
绝大部分安全漏洞与缺陷都与操作系统相关,因此远程操作系统探测是系统管理员关心的一个问题。
远程操作系统探测不是一个新问题。近年来,TCP/IP实现提供了主机操作系统信息服务。FTP,TELNET,HTTP和DNS服务器就是很好的例子。然而,实际上提供的信息都是不完整的,甚至有可能是错误的。最初的扫描器,依靠检测不同操作系统对TCP/IP的不同实现来识别操作系统。由于差别的有限性,现在只能最多只能识别出10余种操作系统。
最近出现的两个扫描器,QueSO和NMAP,在指纹扫描中引入了新的技术。 QueSO第一个实现了使用分离的数据库于指纹。NMAP包含了很多的操作系统探测技术,定义了一个模板数据结构来描述指纹。由于新的指纹可以很容易地以模板的形式加入,NMAP指纹数据库是不断增长的,它能识别的操作系统也越来越多。
这种使用扫描器判断远程操作系统的技术称为(TCP/IP)栈指纹技术。
另外有一种技术称为活动探测。活动探测把TCP的实现看作一个黑盒子。通过研究TCP对探测的回应,就可以发现 TCP实现的特点。TCP/IP 栈指纹技术是活动探测的一个变种,它适用于整个TCP/IP协议的实现和操作系统。栈指纹使用好几种技术来探测TCP/IP协议栈和操作系统的细微区别。这些信息用来创建一个指纹,然后跟已知的指纹进行比较,就可以判断出当前被扫描的操作系统。
栈指纹扫描包含了相当多的技术。下面是一个不太完整的清单:
1:FIN探测
2:BOGUS标记探测
3:TCP ISN 取样
4:TCP 初始窗口
5:ACK值
6:ICMP错误信息
7:ICMP信息
8:服务类型
9:TCP选项
为了阻止端口扫描技术,可以使用以下哪种设备
为了阻止端口扫描技术,可以使用以下哪种设备
防火墙可以阻止针对办公主机的部分入侵活动,如端口扫描、非法访问等。
0条大神的评论