实验三:网络扫描
一:端口扫描
分析主机扫描或端口扫描的原理,进行扫描器扫描主机或端口实验,捕获扫描时交互的数据包,通过分析扫描数据包,验证扫描原理。
网络扫描步骤:
1.扫描目标主机识别工作状态(开/关机)
2.识别目标主机端口状态(监听/关闭)
3.识别目标主机系统及服务程序的类型和版本
4.根据已知漏洞信息,分析系统脆弱点
5.生成扫描结果报告
扫描原理分析:
因为我选择的是TCP扫描方式,TCP端口扫描的原理:
1.先来说下正常情况下TCP的三次握手
1)客户端发一个SYN包,带目的端口
2)观察下返回的包:
返回SYN/ACK包,说明端口打开在监听
返回RST/ACK包,说明端口关闭,连接重置
3)若返回SYN/ACK,客户端发一个ACK,完成这次连接
2.下面是TCP扫描的几种形式
①开放扫描
1:TCP Connect 扫描
与目的主机建立一次TCP连接,此时目的主机会将这次连接记录到log中
方法:调用socket函数connect()连接到目标计算机上,完成一次完整的三次握手过程。
如果端口处于侦听状态,那么connect()就能成功返回。
2:TCP反向ident扫描:需要建立完整的TCP连接
方法:ident 协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。
开放扫描特点:产生大量审计数据,容易被发现和屏蔽,但可靠性高。
②半开放扫描
1:TCP SYN扫描:发送SYN包,当收到SYN/ACK包时,不回ACK包给目的主机,立刻发送RST包来终止连接,
那么一般很少会被记录,但构造SYN包需要较高权限
2.间接扫描:通过第三方IP(欺骗主机)
半开放特点:隐蔽性和可靠性在①③之间
③隐蔽扫描
又可分为SYN/ACK扫描,FIN扫描,XMAS扫描,NULL扫描,TCP ftp proxy扫描,分段扫描等。
SYN/ACK和FIN扫描都直接绕过连接第一步,目的主机会发RST来拆除连接,就得到了需要信息
FIN原理:当一个FIN数据包到达一个关闭端口时候,返回一个RST,否则就会被简单丢弃不返回XMAS和NULL扫描相反,XMAS将6个标志位(URG,ACK,RST,PSH,SYN,FIN)全1,NULL全0。
特点:能有效的避免对方入侵检测系统和防火墙的检测,但这种扫描使用的数据包在通过网络时容易被丢弃从而产生错误的探测信息
扫描目的主机:
扫描模块设置
选择扫描端口和检测方式
扫描完成情况
生成的检测报告:
Wireshark捕获的数据包
分析其中的三条:
第一条:
分析,可知只是一个客户端(10.211.6.52)向被扫描方(10.211.6.53)的135号端口发送TCP 连接请求,为1次握手
分析,可知只是一个被扫描方(10.211.6.53)的135号端口向客户端(10.211.6.52)发送SYN/ACK 包,为2次握手,端口打开并监听。
分析,可知只是一个向客户端(10.211.6.52)向被扫描方(10.211.6.53)的135号端口发送SYACK 包,为第三次握手,连接建立。
通过上面的分析可知,此次扫描建立TCP三次连接,为TCP Connect 开放扫描。
符合我们上面的扫描原理分析。
二:漏洞扫描
找到一种常见的主机系统或应用程序漏洞,研究该漏洞的扫描原理,对该漏
洞进行扫描器扫描实验,通过分析捕获的扫描数据包验证漏洞扫描原理。
SQL-server弱口令漏洞扫描:
扫描原理:
就是扫描对应主机端口,发现开启了1433(mssql默认端口),那么就用字典里的帐号密码去试着登录,如果能够尝试成功则证明存在漏洞。
利用X-scan进行扫描的过程:
选择扫描模块,扫描端口
扫描过程:
生成的报告:
分析其中的几个数据包:
第一个,客户端(10.211.6.52)向被扫描方(10.211.6.53)的1433端口(sql)发送TCP连接请求,第一次握手
第二个,被扫描方(10.211.6.50)的1433端口(SQL)给客户端(10.211.6.52)回应SYN/ACK 包。
第二次握手,可以对被扫描方1433端口进行监听。
第三个,客户端(10.211.6.52)向被扫描方(10.211.6.50)的1433端口(SQL)回一个ACK 包,三次握手建立,可以通信。
第四步,客户端(10.211.6.50)向被攻击方(10.211.6.53)的1433端口(SQL)发送数据包,用字典里的帐号密码去试着登录.
在捕获的数据包中,我发现,客户端通过不同的端口连接服务器端的1433端口,多次使用账户密码尝试登录,这就是SQL-server弱密钥扫描。
不过因为对方主机没有使用弱密钥,所以未能扫出来漏洞。
三.防范网络扫描的方法
1.使用安全工具
有许多工具可以让我们发现系统中的漏洞,如SATAN等。
SATAN是一个分析网络的管理、测试和报告许多信息,识别一些与网络相关的安全问题。
对所发现的问题,SATAN提供对这个问题的解释以及可能对系统和网络安全造成影响的程度,并且通过工具所附的资料,还能解释如何处理这些问题。
当然还有很多像这样的安全工具。
包括对TCP端口的扫描或者对多台主机的所有TCP端口实现监听;分析网络协议、监视控制多个网段等,正确使用这些安全工具,及时发现系统漏洞,才能防患于未然。
而对于WindowsNT系统平台,可定期检查EventLog中的SECLog记录,查看是否有可疑的情况,防止网络监听与端口扫描。
2.安装防火墙
防火墙型安全保障技术是基于被保护网络具有明确定义的边界和服务、并且网络安全的威胁仅来自外部的网络。
通过监测、限制以及更改跨越“防火墙”的数据流,尽可能的对外部网络屏蔽有关被保护网络的信息、结构,实现对网络的安全保护,因此比较适合于相对独立,与外部网络互连途径有限并且网络服务种类相对单一、集中的网络系统,如Internet。
“防火墙”型系统在技术原理上对来自内部网络系统的安全威胁不具备防范作用,对网络安全功能的加强往往以网络服务的灵活行、多样性和开放性为代价,且需要较大的网络管理开销。
防火墙型网络安全保障系统实施相当简单,是目前应用较广的网络安全技术,但是其基本特征及运行代价限制了其开放型的大规模网络系统中应用的潜力。
由于防火墙
型网络安全保障系统只在网络边界上具有安全保障功能,实际效力范围相当有限,因此“防火墙”型安全技术往往是针对特定需要而专门设计实施的系统。
对于个人用户,安装一套好的个人防火墙是非常实际而且有效的方法。
现在许多公司都开发了个人防火墙,这些防火墙往往具有智能防御核心,攻击,并进行自动防御,保护内部网络的安全。
比如蓝盾防火墙系统在内核设计中引入自动反扫描机制,当黑客用扫描器扫描防火墙或防火墙保护的服务器时,将扫描不到任何端口,使黑客无从下手;同进还具有实时告警功能,系统对受到的攻击设有完备的纪录功能,纪录方式有简短纪录、详细记录、发出警告、纪录统计(包括流量、连接时间、次数等)等记录,当系统发生警告时,还可以把警告信息传到呼机和手机上来,让系统管理员及得到通知。
四:实验总结
这次实验,让我对X-scan扫描工具更加熟悉和了解,对端口扫描相关漏洞扫描的原理更加深入,而且知道了怎样预防黑客扫描主机查找漏洞进行攻击,增强了自身的安全意识,为以后的学习打下了基础,希望通过以后的学习能够自己编写一个扫描工具。