




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、端口扫描6.3.1 背景描述 “端口”在计算机和网络领域中是个非常重要的概念。它是专门为计算机通信而设计的,它不是硬件,不同于计算机中的接口,如USB端口、网卡端口等,或者交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等。这里所说的端口指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。端口号是一个16bit的二进制数,用于标示不用作用的端口。端口号分为系统默认端口号和一般端口号。系统默认端口号由因特网指派名字和号码公司ICANN负
2、责分配给一些常用的应用程序固定使用的熟知端口,其数值从0-1023;一般端口号则是指1024-65535这些数值。端口扫描就是对一段端口或指定的端口进行扫描。其基本原理是使用TCP/IP协议向远程目标主机的某一端口提出建立一个连接的请求并记录目标系统的应答,从而判断出目标系统端口的开关状态。常用的端口扫描技术有如下几种:1TCP connect()扫描。系统调用connect(),向目标端口发送一个SYN数据包,等待目标机器反应。如果目标机器返回的是SYN/ACK数据包,证明目标端口处于监听状态,发送ACK数据包;如果返回的是RST/ACK数据包,说明目标端口关闭,发送RESET数据包,完成三
3、次握手。2TCP SYN 扫描。这项技术通常称为半开扫描(half-open),发送一个SYN数据包到目的端口,等待响应,如果收到SYN|ACK(应答),表明该端口是开放监听的。收到RST则代表该端口未被监听。如果收到SYN|ACK的响应,则马上发送一个RST包来中断这个连接。3TCP FIN扫描。向目标端口发送FIN数据包,按照rfc793,目标系统应该给所有关闭着的端口返回一个RST数据包。4XMAS扫描。也称圣诞树扫描,将TCP的首部含有的六个标志位(URG、ACK、PSH、RST、SYN和FIN)都置为1,按照rfc793,目标系统应该给所有关闭着的端口发送一个RST 包。5空(Nul
4、l)扫描。空(Null)扫描关掉所有TCP首部中的标志,按照rfc793,目标系统应该给所有关闭着的端口发送一个RST 包。6ACK 扫描。发送一个只有ACK标志的TCP 数据包给目标主机,如果主机反馈一个TCP RST 数据包来,那么这个主机是存在的。如果端口被过滤,要么什么也收不到,要么收到ICMP 消息(目标不可达);相反,如果没有被过滤,则收到有关RST 数据包。另外,从UDP协议可知,如果UDP端口打开,则没有应答报文;如果端口关闭,则会有TCMP报文(端口不可达)。这样,只需构造一个UDP报文,观察响应报文就可知道目标端口的状态。6.3.2 工作原理通过端口扫描,可以得到许多有用的
5、信息,从而发现系统的安全漏洞。它使系统用户了解系统目前向外界提供了哪些服务,从而为系统用户管理网络提供了一种手段。 一个端口就是一个潜在的通信通道,也就是一个入侵通道。端口扫描技术是一项自动探测本地和远程系统端口开放情况的策略及方法。端口扫描技术的原理是端口扫描向目标主机的 TCP/IP服务端口发送探测数据包,并记录目标主机的响应。通过分析响应来判断服务端口是打开还是关闭,就可以得知端口提供的服务或信息。端口扫描也可以通过捕获本地主机或服务器的流入流出IP数据包来监视本地主机的运行情况,它通过对接收到的数据进行分析,帮助我们发现目标主机的某些内在的弱点。在端口扫描后,获得目标主机的端口开放情况
6、,通过查询端口对应的服务,就可以得出该主机开设的服务情况。在此基础上,对端口上提供的服务进行识别。例如Nmap使用的nmap-services数据库包含大约2,200个著名的服务,通过查询这个数据库,Nmap可以报告那些端口可能分别对应的服务类型,这种查询一般是正确的,但是如果想确切的知道端口上运行的服务,那就需要版本探测。虽然0-1023端口一般给固定分配了服务,但有些时候,某些服务并不运行在特定的端口,而且1024到49151端口的端口都可以被注册为某种应用所有,所以,需要对常见的服务进行动态识别。每个服务必须要有自己的、唯一的特征标志。否则,客户端软件就无法和服务器软件完成握手和进一步的
7、信息交换。攻击者就是利用这点来识别服务的。以常见的TCP类型服务为例。在完成TCP协议的3次握手后,客户端软件和服务器软件建立了连接(connection)。这时服务器软件可以被分成2种,一种是主动发出握手信息,要求客户端软件回应,另一种等待客户端软件发来命令,直到超时。对于第一种,只要过滤和处理服务器软件发来的banner和握手信息就可以得到服务的名称。如果能有一个软件特称的数据库,那么识别软件的名称和版本也是可以实现的了;对于第二种,要识别服务的名称,必须要模拟客户端软件发出一些命令,接收服务器软件返回的数据,然后进行过滤和处理就可。目前常用的的端口扫描工具有:SATAN(Security
8、 Administrator Tool For Analyzing Networks)、Nmap(network mapper)、SSS(Shadow Security Scanner )、ISS(Internet Security Scanner)和Super Scan等,下面介绍一些可以在Internet上免费获得的扫描程序。1NSS(网络安全扫描器)(1) NSS由Perl语言编成,它最根本的价值在于速度,它运行速度非常快,可以执行下列常规检查:Sendmail、匿名FTP、NFS出口、TFTP、Hosts.equiv、Xhost注:除非拥有最高特权,否则NSS不允许执行Hosts.eq
9、uiv。(2) 利用NSS,用户可以增加更强大的功能,其中包括:AppleTalk扫描、Novell扫描、LAN管理员扫描、可扫描子网。(3) NSS执行的进程包括:取得指定域的列表或报告,该域原本不存在这类列表、用Ping命令确定指定主机是否是活性的、扫描目标主机的端口、报告指定地址的漏洞。(4) 提示。在对NSS进行解压缩后,不能立即运行NSS,需要对它进行一些修改,必须设置一些环境变量,以适应你的机器配置。主要变量包括:$TmpDir_NSS使用的临时目录$YPX-ypx应用程序的目录$PING_可执行的ping命令的目录$XWININFO_xwininfo的目录如果你隐藏了Perl i
10、nclude目录(目录中有Perl include文件),并且在PATH环境变量中没有包含该目录,需要加上这个目录;同时,用户应该注意NSS需要ftplib.pl库函数。NSS具有并行能力,可以在许多工作站之间进行分布式扫描。而且,它可以使进程分支。在资源有限的机器上运行NSS(或未经允许运行NSS)应该避免这种情况,在代码中有这方面的选项设置。2Strobe(超级优化TCP端口检测程序)strobe是一个TCP端口扫描器,它可以记录指定机器的所有开放端口。strobe运行速度快(其作者声称在适中的时间内,便可扫描整个一个国家的机器)。strobe的主要特点是,它能快速识别指定机器上正在运行什
11、么服务。strobe的主要不足是这类信息是很有限的,一次strobe攻击充其量可以提供给"入侵者"一个粗略的指南,告诉什么服务可以被攻击。但是,strobe用扩展的行命令选项弥补了这个不足。比如,在用大量指定端口扫描主机时,你可以禁止所有重复的端口描述(仅打印首次端口定义)。其他选项包括:(1)定义起始和终止端口(2)定义在多长时间内接收不到端口或主机响应,便终止这次扫描。(3)定义使用的socket号码(4)定义strobe要捕捉的目标主机的文件在获得strobe的同时,必然获得手册页面,这对于Solaris 2.3是一个明显的问题,为了防止发生问题,必须禁止使用getp
12、eername()。在行命令中加入-g 标志就可以实现这一目的。同时,尽管strobe没有对远程主机进行广泛测试,但它留下的痕迹与早期的ISS一样明显,被strobe扫描过的主机会知道这一切(这非常象在/var/adm/messages文件中执行连接请求)。3SATAN(安全管理员的网络分析工具)SATAN是为UNIX设计的,它主要是用C和Perl语言编写的(为了用户界面的友好性,还用了一些HTML技术)。它能在许多类UNIX平台上运行,有些根本不需要移植,而在其他平台上也只是略作移植。在Linux上运行SATAN有一个特殊问题,应用于原系统的某些规则在Linus平台上会引起系统失效的致命缺陷
13、;在tcp-scan模块中实现 select()调用也会产生问题;最后要说的是,如果用户扫描一个完整子网,则会引进反向fping爆炸,也即套接字(socket)缓冲溢出。但是,有一个站点不但包含了用于Linux的、改进的SATAN二进制代码,还包含了diff文件。SATAN用于扫描远程主机的许多已知的漏洞,其中包括但并不限于下列这些漏洞:(1)FTPD脆弱性和可写的FTP目录(2)NFS脆弱性(3)NIS脆弱性(4)RSH脆弱性(5)Sendmail(6)X服务器脆弱性SATAN的安装和其他应用程序一样,每个平台上的SATAN目录可能略有不同,但一般都是/satan-1.1.1。安装的第一步(
14、在阅读了使用文档说明后)是运行Perl程序reconfig。这个程序搜索各种不同的组成成分,并定义目录路径。如果它不能找到或定义一个浏览器。则运行失败,那些把浏览器安装在非标准目录中(并且没有在PATH中进行设置)的用户将不得不手工进行设置。同样,那些没有用DNS(未在自己机器上运行DNS)的用户也必须在/satan-1.1.1/conf/satan.cf中进行下列设置:$dont_use_nslookuo=1;在解决了全部路径问题后,用户可以在分布式系统上运行安装程序(IRIX或SunOS),我建议要非常仔细地观察编译,以找出错误。SATAN比一般扫描器需要更多一些的资源,尤其是在内存和处理
15、器功能方面要求更高一些。如果你在运行SATAN时速度很慢,可以尝试几种解决办法。最直接的办法就是扩大内存和提高处理器能力,但是,如果这种办法不行,我建议用下面两种方法:一是尽可能地删除其他进程;二是把你一次扫描主机的数量限制在100台以下。最后说明的一点是,对于没有强大的视频支持或内存资源有限的主机,SATAN有一个行命令接口,这一点很重要。4JakalJakal是一个秘密扫描器,也就是,它可以扫描一个区域(在防火墙后面),而不留下任何痕迹。秘密扫描器工作时会产生“半扫描”(half scans),它启动(但从不完成)与目标主机的SYN/ACK过程。从根本上讲,秘密扫描器绕过了防火墙,并且避开
16、了端口扫描探测器,识别出在防火墙后面运行的是什么服务。(这里包括了像Courtney和GAbriel这样的精制扫描探测器)。5IdentTCPscanIdentTCPscan是一个更加专业化的扫描器,其中加入了识别指定TCP端口进程的所有者的功能,也就是说,它能测定该进程的UID。6CONNECTCONNECT是一个bin/sh程序,它的用途是扫描TFTP服务子网。7FSPScanFSPScan用于扫描FSP服务顺。FSP代表文件服务协议,是非常类似于FTP的Internet协议。它提供匿名文件传输,并且据说具有网络过载保护功能(比如,FSP从来不分叉)。FSP最知名的安全特性可能就是它记录所
17、有到来用户的主机名,这被认为优于FTP,因为FTP仅要求用户的E- mail地址(而实际上根本没有进行记录)。FSP相当流行,现在为Windows 和OS/2开发了GUI客户程序。8XSCANXSCAN扫描具有X服务器弱点的子网(或主机)。乍一看,这似乎并不太重要,毕竟其他多数扫描器都能做同样的工作。然而,XSCAN包括了一个增加的功能:如果它找到了一个脆弱的目标,它会立即加入记录。XSCAN的其他优点还包括:可以一次扫描多台主机。这些主机可以在行命令中作为变量键入(并且你可以通过混合匹配同时指定主机和子网)。9NmapNmap是一款比较优秀的工具。Nmap是一个网络探测和安全扫描程序,系统管
18、理者和个人可以使用这个软件扫描大型的网络,获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。从扫描类型一节可以得到细节。nmap还提供了一些高级的特征,例如:通过TCP/IP协议栈特征探测操作系统类型,秘密扫描,动态延时和重传计算,并行扫描,通过并行ping扫描探测关闭的主机,诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口影射),碎片扫描,以及灵活的目标和端口设定。除了提供
19、基本的UDP和TCP端口扫描功能外,还综合集成了众多扫描技术,现在的端口扫描类型很大程度上根据Nmap的功能设置来划分的。Nmap是在免费软件基金会的GNU General Public License(GPL)下发布的,有支持UNIX平台的版本,也有支持Windows平台的版本。其下载的地址为:/nmap/nmap _domnloag.html。端口扫描防御策略。一般来说,可以安装防火墙进行防范攻击的端口扫描。此外,关闭一些没有使用的端口、屏蔽一些危险的端口等。最后,用户可以使用安全扫描器,事先对自己的系统作一个全面的评估,弥补漏洞,防患于未然。6.3.3 实验列表实验序号实验名称实验一端口扫描【实验一】端口扫描【实验分析】实验目的:l 掌握端口扫描的基本概念和掌握端口扫描的原理;l 掌握端口扫描的几种类型及其区别;场景描述: 图6-3-1 实验拓扑图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水库施工现场安全管理与监控方案
- 绿化苗木采购及运输方案
- DB54T 0025-2023 洋葱生产技术规程
- 乡镇卫生院业务开展规划方案
- 少先队清明祭英烈宣誓仪式流程
- 餐饮业食材采购质量管理方案
- 园林绿化养护管理标准及案例
- 小学英语三年级教案设计与实施
- 2023年幼儿园安全隐患排查报告
- 保险公司理赔审核及欺诈防范措施
- 一二年级科学试卷及答案
- 2025-2030中国脱硝催化剂行业市场发展趋势与前景展望战略研究报告
- 水手船员考试题及答案
- GB/T 45356-2025无压埋地排污、排水用聚丙烯(PP)管道系统
- 眼内炎的预防控制措施
- 2025年度化肥生产设备租赁与维护合同书
- 广东学校安全条例课件
- 毕氏族谱完整版本
- 中华民族共同体概论教案第十二讲-民族危亡与中华民族意识觉醒
- ICU患者的护理常规
- 六年级语文上册第三单元习作-让生活更美好课件
评论
0/150
提交评论