网络攻击与防护论文10.docx
- 文档编号:2391423
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:11
- 大小:233.58KB
网络攻击与防护论文10.docx
《网络攻击与防护论文10.docx》由会员分享,可在线阅读,更多相关《网络攻击与防护论文10.docx(11页珍藏版)》请在冰点文库上搜索。
网络攻击与防护论文10
江西理工大学应用科学学院
《网络攻击与防御》课程作业论文
题目:
扫描技术
系别:
信息工程系
班级:
网络工程091班
姓名:
杨欢
成绩:
_____________________
二〇一二年四月
扫描技术课程设计
1、扫描技术的目的和意义
安全扫描也称为脆弱性评估,其基本原理是对目标对象如计算机,服务器,路由器等可能存在的已知安全漏洞进行一个一个检测,从而进行安全漏洞检测。
通过扫描技术,可以发现主机和网络存在的对外开放端口,提供的服务,某些系统信息,错误的配置,已知的安全漏洞等。
目前,扫描都是通过扫描工具来实现的,这些工具收集系统的信息,自动检测本地或者远程主机的安全性脆弱点,根据扫描结果向系统管理员提供可靠的分析报告,为提高网络安全提供重要的依据。
比如对于我们学校的论坛网站进行扫描可以发现我们学校论坛网站的一些对外开放端口,提供的服务,某些系统信息,错误的配置,已知的安全漏洞等。
然后把分析出来的这些存在的安全隐患及时报告给论坛网站管理人员。
那样,就可以大大的提高我们学校论坛网站的安全性。
对我们学校进行校园的e化提供了非常重要的帮助。
也给自身带来了很大的经验和以后建设网站开发软件提供了一些防御安全的基础。
所以本次课程设计目的就是通过自身体验和学习来增加自身的见识和帮助学校网站建设提供一些安全保障。
意义就是能够通过本次课程设计让同学体会到现在网络安全的重要性,并有时刻防范这些安全隐患的意思。
成为现在电子科技迅速发展时代的有为青年,为以后国家的科技建设起到一些安全保证!
2、目前扫描技术的研究现状
一个开放的网络端口就是一条与计算机进行通信的信道,对网络端口扫描可以的得到目标计算机开放的服务程序,运行的系统版本信息,从而为下一步入侵做好准备。
对网络端口的扫描可以通过执行手工命令实现,但效率低;也可以通过扫描工具实现,效率高。
扫描工具是对目标主机的安全性弱点进行扫描检测的软件。
它一般具有数据分析功能,通过对端口的扫描分析,可以发现目标主机开放的端口和所提供的服务以及相应服务软件版本和这些服务及软件的安全漏洞,从而能及时了解目标主机存在的安全隐患。
扫描技术的工作原理
扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息.
常用的端口扫描技术
TCPconnect()扫描
这是最基本的TCP扫描。
操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。
如果端口处于侦听状态,那么connect()就能成功。
否则,这个端口是不能用的,即没有提供服务。
这个技术的一个最大的优点是,你不需要任何权限。
系统中的任何用户都有权利使用这个调用。
另一个好处就是速度。
如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。
使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。
但这种方法的缺点是很容易被发觉,并且被过滤掉。
目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。
TCPSYN扫描
这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。
扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。
一个SYN|ACK的返回信息表示端口处于侦听状态。
一个RST返回,表示端口没有处于侦听态。
如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。
这种扫描技术的优点在于一般不会在目标计算机上留下记录。
但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。
TCPFIN扫描
有的时候有可能SYN扫描都不够秘密。
一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。
相反,FIN数据包可能会没有任何麻烦的通过。
这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。
另一方面,打开的端口会忽略对FIN数据包的回复。
这种方法和系统的实现有一定的关系。
有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。
并且这种方法在区分Unix和NT时,是十分有用的。
IP段扫描
这种不能算是新方法,只是其它技术的变化。
它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。
这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。
但必须小心。
一些程序在处理这些小数据包时会有些麻烦。
TCP反向ident扫描
ident协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。
因此你能,举个例子,连接到http端口,然后用identd来发现服务器是否正在以root权限运行。
这种方法只能在和目标端口建立了一个完整的TCP连接后才能看到。
FTP返回攻击
FTP协议的一个有趣的特点是它支持代理(proxy)FTP连接。
即入侵者可以从自己的计算机和目标主机的FTPserver-PI(协议解释器)连接,建立一个控制通信连接。
然后,请求这个server-PI激活一个有效的server-DTP(数据传输进程)来给Internet上任何地方发送文件。
对于一个User-DTP,这是个推测,尽管RFC明确地定义请求一个服务器发送文件到另一个服务器是可以的。
但现在这个方法好象不行了。
这个协议的缺点是“能用来发送不能跟踪的邮件和新闻,给许多服务器造成打击,用尽磁盘,企图越过防火墙”。
我们利用这个的目的是从一个代理的FTP服务器来扫描TCP端口。
这样,你能在一个防火墙后面连接到一个FTP服务器,然后扫描端口(这些原来有可能被阻塞)。
如果FTP服务器允许从一个目录读写数据,你就能发送任意的数据到发现的打开的端口。
对于端口扫描,这个技术是使用PORT命令来表示被动的UserDTP正在目标计算机上的某个端口侦听。
然后入侵者试图用LIST命令列出当前目录,结果通过Server-DTP发送出去。
如果目标主机正在某个端口侦听,传输就会成功(产生一个150或226的回应)。
否则,会出现"425Can'tbuilddataconnection:
Connectionrefused."。
然后,使用另一个PORT命令,尝试目标计算机上的下一个端口。
这种方法的优点很明显,难以跟踪,能穿过防火墙。
主要缺点是速度很慢,有的FTP服务器最终能得到一些线索,关闭代理功能。
这种方法能成功的情景:
220FTPserver(Versionwu-2.4(3)WedDec14...)ready.
220xxx.xxx.xxx.eduFTPserverready.
220xx.Telcom.xxxx.EDUFTPserver(Versionwu-2.4(3)TueJun11...)ready.
220lemFTPserver(SunOS4.1)ready.
220xxx.xxx.esFTPserver(Versionwu-2.4(11)SatApr27...)ready.
220eliosFTPserver(SunOS4.1)ready
这种方法不能成功的情景:
220FTPserver(VersionDG-2.0.39SunMay4...)ready.
220xxx.xx.xxxxx.EDUVersionwu-2.4.2-academ[BETA-12]
(1)FriFeb7
220ftpMicrosoftFTPService(Version3.0).
220xxxFTPserver(Versionwu-2.4.2-academ[BETA-11]
(1)TueSep3...)ready.
220xxx.unc.eduFTPserver(Versionwu-2.4.2-academ[BETA-13](6)...)ready.
UDPICMP端口不能到达扫描
这种方法与上面几种方法的不同之处在于使用的是UDP协议。
由于这个协议很简单,所以扫描变得相对比较困难。
这是由于打开的端口对扫描探测并不发送一个确认,关闭的端口也并不需要发送一个错误数据包。
幸运的是,许多主机在你向一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACH错误。
这样你就能发现哪个端口是关闭的。
UDP和ICMP错误都不保证能到达,因此这种扫描器必须还实现在一个包看上去是丢失的时候能重新传输。
这种扫描方法是很慢的,因为RFC对ICMP错误消息的产生速率做了规定。
同样,这种扫描方法需要具有root权限。
UDPrecvfrom()和write()扫描
当非root用户不能直接读到端口不能到达错误时,Linux能间接地在它们到达时通知用户。
比如,对一个关闭的端口的第二个write()调用将失败。
在非阻塞的UDP套接字上调用recvfrom()时,如果ICMP出错还没有到达时回返回EAGAIN-重试。
如果ICMP到达时,返回ECONNREFUSED-连接被拒绝。
这就是用来查看端口是否打开的技术。
ICMPecho扫描
这并不是真正意义上的扫描。
但有时通过ping,在判断在一个网络上主机是否开机时非常有用。
典型扫描工具:
x-scan
3、设计思路分析
X-Scan是国内最著名的综合扫描器之一,它完全免费,是不需要安装的绿色软件软件、界面支持中文和英文两种语言、包括图形界面和命令行方式。
主要由国内著名的民间黑客组织“安全焦点”完成,从2000年的内部测试版X-ScanV0.2到目前的最新版本X-Scan3.3-cn都凝聚了国内众多黑客的心血。
最值得一提的是,X-Scan把扫描报告和安全焦点网站相连接,对扫描到的每个漏洞进行“风险等级”评估,并提供漏洞描述、漏洞溢出程序,方便网管测试、修补漏洞.
软件说明
采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括:
远程操作系统类型及版本,标准端口状态及端口BANNER信息,CGI漏洞,IIS漏洞,RPC漏洞,SQL-SERVER、FTP-SERVER、SMTP-SERVER、POP3-SERVER、NT-SERVER弱口令用户,NT服务器NETBIOS信息等。
扫描结果保存在/log/目录中,index_*.html为扫描结果索引文件。
系统支持
(X-Scan支持的操作系统:
Win9x/NT/2000/XP/2003/Win7) 理论上可运行于WindowsNT系列操作系统,推荐运行于Windows2000以上的Server版Windows系统。
本次论文将以X-Scan软件对本学校网站为监听目标。
用来获取一些关于用户的用户名和密码等安全问题的内容。
4、设计过程描述
初期:
了解一些关于网络扫描的软件或者工具,分析和比较这些软件和工具。
最终确定用哪个软件。
本论文将以X-Scan为例来介绍和使用。
深入了解自己选择的软件或者工具的工作原理和一些简单的操作。
检测范围
“指定IP范围”-可以输入独立IP地址或域名,也可输入以“-”和“,”分隔的IP范围,如“192.168.0.1-20,192.168.1.10-192.168.1.254”,或类似“192.168.100.1/24”的掩码格式。
“从文件中获取主机列表”-选中该复选框将从文件中读取待检测主机地址,文件格式应为纯文本,每一行可包含独立IP或域名,也可包含以“-”和“,”分隔的IP范围。
中期:
了解并且设置此软件的一些配置和设置!
全局设置
“扫描模块”项-选择本次扫描需要加载的插件。
“并发扫描”项-设置并发扫描的主机和并发线程数,也可以单独为每个主机的各个插件设置最大线程数。
“网络设置”项-设置适合的网络适配器,若找不到网络适配器,请重新安装WinPCap3.1beta4以上版本驱动。
“扫描报告”项-扫描结束后生成的报告文件名,保存在LOG目录下。
扫描报告目前支持TXT、HTML和XML三种格式。
其他设置
“跳过没有响应的主机”-若目标主机不响应ICMPECHO及TCPSYN报文,X-Scan将跳过对该主机的检测。
“无条件扫描”-如标题所述
“跳过没有检测到开放端口的主机”-若在用户指定的TCP端口范围内没有发现开放端口,将跳过对该主机的后续检测。
“使用NMAP判断远程操作系统”-X-Scan使用SNMP、NETBIOS和NMAP综合判断远程操作系统类型,若NMAP频繁出错,可关闭该选项。
“显示详细信息”-主要用于调试,平时不推荐使用该选项。
“插件设置”模块:
该模块包含针对各个插件的单独设置,如“端口扫描”插件的端口范围设置、各弱口令插件的用户名/密码字典设置等。
后期:
利用此软件对我们学校的论坛网站进行扫描,并分析扫描的结果。
分析出结果之后,练习我们学校论坛网站的管理人员协助他们对我们学校论坛网站进行相应的维护工作。
以此来达到我们学校的论坛网站的安全性。
让我们学校的学生用以来放心,安全!
在此过程中我们也碰到一些问题:
问题:
如果没有安装WinPCap驱动程序是否能正常使用X-Scan进行扫描?
解决方法:
如果系统未安装WinPCap驱动,X-Scan启动后会自动安装WinPCap3.1;如果系统已经安装了WinPCap更高版本,X-Scan则使用已有版本。
问题:
扫描一个子网,进程里同时出现10个checkhost.exe的进程是什么原因?
解决方法:
检测每个主机都会单独起一个Checkhost.exe进程,检测完毕会自动退出。
并发主机数量可以通过图形界面的设置窗口设定,命令行程序通过“-t”参数设定。
问题:
扫描过程中机器突然蓝屏重启是什么原因?
解决方法:
扫描过程中系统蓝屏是有可能的,AtGuard、天网等防火墙的驱动程序在处理特殊包的时候有可能出错导致系统崩溃,另外很多防火墙驱动与WinPCap驱动本身也存在冲突,建议先禁止或卸载防火墙程序再试试。
问题:
操作系统识别不正确是什么原因?
解决方法:
操作系统识别方面确实不能保证100%的准确率,目前是综合NMAP、P0F的指纹库、NETBIOS信息和SNMP信息进行识别,如果目标机器没有开放NETBIOS和SNMP协议,TCP/IP堆栈指纹也不在数据库中,就需要使用者根据其他信息综合分析了。
问题:
为什么在一次扫描中我选择了“SYN”方式进行端口扫描,但X-Scan实际采用的是“TCP”方式,而且也没有被动识别出目标操作系统?
解决方法:
端口扫描中的“SYN”方式在NT4或XP+SP2系统下无法使用,在windows2000等系统下使用时必须拥有管理人员权限,否则将自动改用“TCP”方式进行端口扫描。
5、设计成果展示
下面是一些在课设设计实验过程中截取的一些图片来说明和证明学校论坛的安全隐患
此图为利用S-scan设置一下检测范围和检测的IP。
其中IP就是学校论坛IP。
此图为利用S-scan对我们学校论坛IP为117.21.224.47进行扫描的漏洞信息结果。
此结果现实我们学校论坛开放了6个服务。
还有一个MySql数据库运行在其中3306这个端口。
此图为用S-scan扫描到我们学校论坛网站的一些普通信息,现实的是主机存活的个数和主机响应的什么协议请求等。
此图为用S-scan扫描之后显示的扫描报告,其中包括此次的扫描时间,检测的结果,主机列表,主机分析提示和安全漏洞及解决方案。
很方便的为我们提供了这个论坛网站的安全隐患。
课设总结
回顾一下这次课程设计,我本人认为我还是觉得自己蛮不错的。
在本次课程设计中我实现了怎么使用X-scan扫描网络漏洞和一些网络信息。
基本上实现了我原本课程设计的构思。
在设计成果中最让我自豪的是我自己也能够利用网络扫描软件X-scan对一些网站或者服务器进行扫描。
发现了这些网站或者服务器的漏洞和安全隐患这是然我最为自豪的事情。
通过本次课设设计我对网络攻击与防御技术有了深刻的认识和理解,对于其中的一些知识更是领悟了一点。
例如:
对于黑客是怎么发现一个系统,网站或者服务器的漏洞。
知道他们是利用一些软件对网站,系统,服务器进行扫描分析出来的。
对扫描的整个过程,端口扫描技术,常用的扫描器和扫描的防御也是有了一定的认识和理解。
对于设计的现实意义更是与我们学校论坛的网站管理人员练习和他们进行了一番沟通,共同把我们学校论坛网站存在的一些非安全的漏洞和隐患给排除了。
对我们学校论坛网站这是添了美妙的一笔。
如果还能有机会参与或者进一步学习研究网络攻击与防御技术的话,我个人还是希望我能够在攻击这方面深入的学习了解,对那些口令破解,欺骗攻击,拒绝服务攻击,计算机病毒等这些攻击手段能学会。
通过本次课程设计,领会到了现在计算机网络的不足可缺陷。
对于以后在从事网络这方面的工作有着帮助的意义。
在此感谢我们的指导老师。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 攻击 防护 论文 10