端口扫描百科_端口扫描开题报告

hacker|
227

毕业论文 基于TCP/IP三次握手的端口扫描技术

基于TCP/IP 端口扫描技术

[摘要] 本文讲述了TCP联接的建立过程,以及介绍了一些经典的扫描器以及所谓的SYN扫描器的使用,以及隐藏攻击源的技术,最好介绍了另外一些扫描技术。考虑了一些不是基于TCP端口和主要用来进行安全扫描的扫描工具(例如SATAN)。另外分析了使用扫描器的栈指纹。栈指纹通过检测主机TCP并将应答跟已知操作系统TCP/IP协议栈应答相比较,解决了识别操作系统的问题。 关键字:

TCP/IP,UDP,三阶段握手,SYN扫描,FIN扫描,秘密扫描,间接扫描,诱骗扫描,指纹,协作扫描。

--------------------------------------------------------------------------------

正文:

端口扫描技术

前言

第一部分,我们讲述TCP连接的建立过程(通常称作三阶段握手),然后讨论与扫描程序有关的一些实现细节。

然后,简单介绍一下经典的扫描器(全连接)以及所谓的SYN(半连接)扫描器。

第三部分主要讨论间接扫描和秘密扫描,还有隐藏攻击源的技术。

秘密扫描基于FIN段的使用。在大多数实现中,关闭的端口对一个FIN 段返回一个RST,但是打开的端口通常丢弃这个段,不作任何回答。间接扫描,就像它的名字,是用一个欺骗主机来帮助实施,这台主机通常不是自愿的。

第四部分介绍了一种与应用协议有关扫描。这些扫描器通常利用协议实现中的一些缺陷或者错误。认证扫描(ident scanning)也被成为代理扫描(proxy scanning)。

最后一部分,介绍了另外一些扫描技术。考虑了一些不是基于TCP端口和主要用来进行安全扫描的扫描工具(例如SATAN)。另外分析了使用扫描器的栈指纹。栈指纹通过检测主机TCP并将应答跟已知操作系统TCP/IP协议栈应答相比较,解决了识别操作系统的问题。

一: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服务器在_blank"防火墙后面的时候

五:其它扫描方法

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选项

请问《局域网安全探讨》毕业论文的开题报告怎么写?可以直接发我邮箱,分可以追加很多很多的!感谢!

浅谈校园网安全控制策略 [摘要]数字化大学已成为当前各高校信息化建设发展的主要目标。校园网络作为信息化建设的主要载体,校园网络安全已经成为当前各高校网络建设中不可忽视的首要问题。文章基于当前高校网络安全的现状及特点,提出相应的控制策略。 [关键词]网络;安全策略;数据;访问 1引 言 随着我国经济与科技的不断发展,教育信息化、校园网络化作为网络时代的教育方式和环境,已经成为教育发展的方向。随着各高校网络规模的急剧膨胀,网络用户的快速增长,校园网安全问题已经成为当前各高校网络建设中不可忽视的首要问题。 2目前高校校园网络的安全现状 2.1操作系统的安全问题 目前,被广泛使用的网络操作系统主要是UNIX、WINDOWS 和Linux等,这些操作系统都存在各种各样的安全问题,许多新型计算机病毒都是利用操作系统的漏洞进行传染。如不对操作系统进行及时更新,弥补各种漏洞,计算机即使安装了防毒软件也会反复感染。 2.2病毒的破坏 计算机病毒影响计算机系统的正常运行、破坏系统软件和文件系统、破坏网络资源、使网络效率急剧下降、甚至造成计算机和网络系统的瘫痪,是影响高校校园网络安全的主要因素。 2.3黑客 在《中华人民共和国公共安全行业标准》中,黑客的定义是:“对计算机系统进行非授权访问的人员”,这也是目前大多数人对黑客的理解。大多数黑客不会自己分析操作系统或应用软件的源代码、找出漏洞、编写工具,他们只是能够灵活运用手中掌握的十分丰富的现成工具。黑客入侵的常用手法有:端口监听、端口扫描、口令入侵、JAVA炸弹等。 2.4口令入侵 为管理和计费的方便,一般来说,学校为每个上网的老师和学生分配一个账号,并根据其应用范围,分配相应的权限。某些人员为了访问不属于自己应该访问的内容或将上网的费用转嫁给他人,用不正常的手段窃取别人的口令,造成了费用管理的混乱。 2.5非正常途径访问或内部破坏 在高校中,有人为了报复而销毁或篡改人事档案记录;有人改变程序设置,引起系统混乱;有人越权处理公务,为了个人私利窃取机密数据;一些学生通过非正常的手段获取习题的答案或在考前获得考试内容,使正常的教学练习失去意义。这些安全隐患都严重地破坏了学校的管理秩序。 2.6不良信息的传播 在校园网接入Internet后,师生都可以通过校园网络在自己的电脑上进入Internet。目前Internet上各种信息良莠不齐,有关色情、暴力、邪教内容的网站泛滥。这些有毒的信息违反了人类的道德标准和有关法律法规,对世界观和人生观正在形成的学生来说,危害非常大。 2.7设备受损 设备破坏主要是指对网络硬件设备的破坏。校园网络涉及的设备分布在整个校园内,管理起来非常困难,任何安置在不能上锁的地方的设施,都有可能被人有意或无意地损坏,这样会造成校园网络全部或部分瘫痪的严重后果。 2.8敏感服务器使用的受限 由于财务等敏感服务器上存有大量重要数据库和文件,因担心安全性问题,不得不与校园网络物理隔离,使得应用软件不能发挥真正的作用。 2.9技术之外的问题 校园网是一个比较特殊的网络环境。随着校园网络规模的扩大,目前,大多数高校基本实现了教学科研办公上网,学生宿舍、教师家庭上网。由于上网地点的扩大,使得网络监管更是难上加难。由于高校部分学生对网络知识很感兴趣,而且具有相当高的专业知识水平,有的研究生甚至研究方向就是网络安全,攻击校园网就成了他们表现才华,实践自己所学知识的首选。其次,许多教师和学生的计算机网络安全意识薄弱、安全知识缺乏。学校的规章制度还不够完善,还不能够有效的规范和约束学生、教工的上网行为。3 校园网络安全策略 安全策略是指一个特定环境中,为保证提供一定级别的安全保护所必须遵守的规则。安全策略包括严格的管理、先进的技术和相关的法律。安全策略决定采用何种方式和手段来保证网络系统的安全。即首先要清楚自己需要什么,制定恰当的满足需求的策略方案,然后才考虑技术上如何实施。 3.1 物理安全策略 保证计算机网络系统各种设备的物理安全是整个网络安全的前提。物理安全是保护计算机网络设备、设施以及其它媒体免遭地震、水灾、火灾等环境事故以及人为操作失误或错误及各种计算机犯罪行为导致的破坏过程。其目的是保护计算机系统、web 服务器、打印机等硬件实体和通信链路层网络设备免受自然灾害、人为破坏和搭线攻击等。它主要包括两个方面: 3.1.1 环境安全。对系统所在环境的安全保护, 确保计算机系统有一个良好的电磁兼容工作环境。 3.1.2 设备安全。包括设备的防盗、防毁、防电磁信息辐射泄漏、抗电磁干扰及电源保护等。 3.2 访问控制策略。访问控制的主要任务是保证网络资源不被非法使用和访问, 它是保证网络安全最重要的核心策略之一。 3.2.1 入网访问控制。入网访问控制为网络访问提供了第一层访问控制, 它控制哪些用户能够登录到服务器并获取网络资源;控制准许用户入网的时间和准许他们在哪台工作站入网。 3.2.2 网络的权限控制。网络的权限控制是针对网络非法操作所提出的一种安全保护措施。用户和用户组被赋予一定的权限。网络控制用户和用户组可以访问哪些目录、子目录、文件和其他资源; 可以指定用户对这些文件、目录、设备能够执行哪些操作。 3.2.3目录级安全控制。网络应允许控制用户对目录、文件、设备的访问。用户在目录一级指定的权限对所有文件和子目录有效, 用户还可进一步指定对目录下的子目录和文件的权限。 3.2.4 属性安全控制。当用文件、目录和网络设备时,网络系统管理员应给文件、目录等指定访问属性。属性安全控制可以将给定的属性与网络服务器的文件、目录和网络设备联系起来。属性安全在权限安全的基础上提供更进一步的安全性。 3.2.5网络服务器安全控制。网络允许在服务器控制台上执行一系列操作。用户使用控制台可以装载和卸载模块,可以安装和删除软件等操作。网络服务器的安全控制包括可以设置口令锁定服务器控制台, 以防止非法用户修改、删除重要信息或破坏数据; 可以设定服务器登录时间限制、非法访问者检测和关闭的时间间隔。 3.2.6网络监测和锁定控制。网络管理员应对网络实施监控, 服务器应记录用户对网络资源的访问, 对非法的网络访问, 服务器应以图形或文字或声音等形式报警, 以引起网络管理员的注意。如果不法之徒试图进入网络, 网络服务器应会自动记录企图尝试进入网络的次数, 如果非法访问的次数达到设定数值, 那么该账户将被自动锁定。 3.2.7 网络端口和节点的安全控制。端口是虚拟的“门户”, 信息通过它进入和驻留于计算机中, 网络中服务器的端口往往使用自动回呼设备、静默调制解调器加以保护,并以加密的形式来识别节点的身份。自动回呼设备用于防止假冒合法用户, 静默调制解调器用以防范黑客的自动拨号程序对计算机进行攻击。网络还常对服务器端和用户端采取控制, 用户必须携带证实身份的验证器(如智能卡、磁卡、安全密码发生器) 。在对用户的身份进行验证之后,才允许用户进入用户端。然后, 用户端和服务器端再进行相互验证。 3.3 防火墙控制策略 防火墙是近期发展起来的一种保护计算机网络安全的技术性措施, 它是一个用以阻止网络中的黑客访问某个机构网络的屏障。它是位于两个网络之间执行控制策略的系统(可能是软件或硬件或者是两者并用) , 用来限制外部非法(未经许可) 用户访问内部网络资源,通过建立起来的相应网络通信监控系统来隔离内部和外部网络, 以阻挡外部网络的侵入, 防止偷窃或起破坏作用的恶意攻击。 3.4 信息加密策略 信息加密的目的是保护网内的数据、文件、口令和控制信息, 保护网上传输的数据。网络加密常用的方法有链路加密、端点加密和节点加密三种。链路加密是保护网络节点之间的链路信息安全;端点加密是对源端用户到目的端用户的数据提供保护; 节点加密是对源节点到目的节点之间的传输链路提供保护。信息加密过程是由各种加密算法来具体实施。多数情况下, 信息加密是保证信息机密性的唯一方法。 3.5网络入侵检测技术 试图破坏信息系统的完整性、机密性、可信性的任何网络活动,都称为网络入侵。入侵检测(IntrusionDeteetion)的定义为:识别针对计算机或网络资源的恶意企图和行为,并对此做出反应的过程。它不仅检测来自外部的入侵行为,同时也检测来自内部用户的未授权活动。入侵检测应用了以攻为守的策略,它所提供的数据不仅有可能用来发现合法用户滥用特权,还有可能在一定程度上提供追究入侵者法律责任的有效证据。 3.6备份和镜像技术 用备份和镜像技术提高完整性。备份技术是最常用的提高数据完整性的措施,它是指对需要保护的数据在另一个地方制作一个备份,一旦失去原件还能使用数据备份。镜像技术是指两个设备执行完全相同的工作,若其中一个出现故障,另一个仍可以继续工作。 3.7有害信息的过滤 对于校园网络,由于使用人群的特定性,必须要对网络的有害信息加以过滤,防止一些色情、暴力和反动信息危害学生的身心健康,必须采用一套完整的网络管理和信息过滤相结合的系统。实现对校园内电脑访问互联网进行有害信息过滤管理。 3.8网络安全管理规范 网络安全技术的解决方案必须依赖安全管理规范的支持, 在网络安全中, 除采用技术措施之外, 加强网络的安全管理, 制定有关的规章制度, 对于确保网络安全、可靠地运行将起到十分有效的作用。网络的安全管理策略包括:确定安全管理等级和安全管理范围;制订有关网络操作使用规程和人员出入机房管理制度; 制定网络系统的维护制度和应急措施等。 4结 语 校园网络的安全问题,不仅是设备,技术的问题,更是管理的问题。对于校园网络的管理人员来讲,一定要提高网络安全意识,加强网络安全技术的掌握,注重对学生教工的网络安全知识培训,而且更需要制定一套完整的规章制度来规范上网人员的行为。 【参考文献】 谢希仁.计算机网络[M].辽宁:大连理工大学出版社,2000

渗透测试之端口扫描

端口扫描:端口对应网络服务及应用端程序

服务端程序的漏洞通过端口攻入

发现开放的端口

更具体的攻击面

UDP端口扫描:

如果收到ICMP端口不可达,表示端口关闭

如果没有收到回包,则证明端口是开放的

和三层扫描IP刚好相反

Scapy端口开发扫描

命令:sr1(IP(dst="192.168.45.129")/UDP(dport=53),timeout=1,verbose=1)

nmap -sU 192.168.45.129

TCP扫描:基于连接的协议

三次握手:基于正常的三次握手发现目标是否在线

隐蔽扫描:发送不完整的数据包,不建立完整的连接,如ACK包,SYN包,不会在应用层访问,

僵尸扫描:不和目标系统产生交互,极为隐蔽

全连接扫描:建立完整的三次握手

所有的TCP扫描方式都是基于三次握手的变化来判断目标系统端口状态

隐蔽扫描:发送SYN数据包,如果收到对方发来的ACK数据包,证明其在线,不与其建立完整的三次握手连接,在应用层日志内不记录扫描行为,十分隐蔽,网络层审计会被发现迹象

僵尸扫描:是一种极其隐蔽的扫描方式,实施条件苛刻,对于扫描发起方和被扫描方之间,必须是需要实现地址伪造,必须是僵尸机(指的是闲置系统,并且系统使用递增的IPID)早期的win xp,win 2000都是递增的IPID,如今的LINUX,WINDOWS都是随机产生的IPID

1,扫描者向僵尸机发送SYN+ACY,僵尸机判断未进行三次握手,所以返回RST包,在RST数据包内有一个IPID,值记为X,那么扫描者就会知道被扫描者的IPID

2,扫描者向目标服务器发送SYN数据包,并且伪装源地址为僵尸机,如果目标服务器端口开放,那么就会向僵尸机发送SYN+ACK数据包,那么僵尸机也会发送RST数据包,那么其IPID就是X+1(因为僵尸机足够空闲,这个就为其收到的第二个数据包)

3,扫描者再向僵尸机发送SYN+ACK,那么僵尸机再次发送RST数据包,IPID为X+2,如果扫描者收到僵尸机的IPID为X+2,那么就可以判断目标服务器端口开放

使用scapy发送数据包:首先开启三台虚拟机,

kali虚拟机:192.168.45.128

Linux虚拟机:192.168.45.129

windows虚拟机:192.168.45.132

发送SYN数据包:

通过抓包可以查看kali给linux发送syn数据包

linux虚拟机返回Kali虚拟机SYN+ACK数据包

kali系统并不知道使用者发送了SYN包,而其莫名其妙收到了SYN+ACK数据包,便会发RST包断开连接

也可以使用下列该命令查看收到的数据包的信息,收到对方相应的SYN+ACK数据包,scapy默认从本机的80端口往目标系统的20号端口发送,当然也可以修改

如果向目标系统发送一个 随机端口:

通过抓包的获得:1,kali向linux发送SYN数据包,目标端口23456,

2,Linux系统由自己的23456端口向kali系统的20号端口返回RST+ACK数据包,表示系统端口未开放会话结束

使用python脚本去进行scapy扫描

nmap做隐蔽端口扫描:

nmap -sS  192.168.45.129 -p 80,21,110,443 #扫描固定的端口

nmap -sS 192.168.45.129 -p 1-65535 --open  #扫描该IP地址下1-65535端口扫描,并只显示开放的端口

nmap -sS 192.168.45.129 -p --open  #参数--open表示只显示开放的端口

nmap -sS -iL iplist.txt -p 80

由抓包可知,nmap默认使用-sS扫描,发送SYN数据包,即nmap=nmap  -sS

hping3做隐蔽端口扫描:

hping3 192.168.45.129 --scan 80 -S  #参数--scan后面接单个端口或者多个端口.-S表示进行SYN扫描

hping3 192.168.45.129 --scan 80,21,25,443 -S

hping3 192.168.45.129 --scan 1-65535 -S

由抓包可得:

hping3 -c 100  -S  --spoof 192.168.45.200 -p ++1 192.168.45.129

参数-c表示发送数据包的数量

参数-S表示发送SYN数据包

--spoof:伪造源地址,后面接伪造的地址,

参数-p表示扫描的端口,++1表示每次端口号加1,那么就是发送SYN从端口1到端口100

最后面跟的是目标IP

通过抓包可以得知地址已伪造,但对于linux系统(192.168.45.129)来说,它收到了192.168.45.200的SYN数据包,那么就会给192.168.45.200回复SYN+ACK数据包,但该地址却是kali伪造的地址,那么要查看目标系统哪些端口开放,必须登陆地址为kali伪造的地址即(192.168.45.200)进行抓包

hping3和nmap扫描端口的区别:1,hping3结果清晰明了

  2,nmap首先对IP进行DNS反向解析,如果没成功,那么便会对其端口发送数据包,默认发送SYN数据包

hping3直接向目标系统的端口发送SYN数据包,并不进行DNS反向解析

全连接端口扫描:如果单独发送SYN数据包被被过滤,那么就使用全连接端口扫描,与目标建立三次握手连接,结果是最准确的,但容易被入侵检测系统发现

response=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="S"))

reply=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="A",ack=(response[TCP].seq+1)))

抓包情况:首先kali向Linux发送SYN,Linux回复SYN+ACK给kali,但kali的系统内核不清楚kali曾给linux发送给SYN数据包,那么kali内核莫名其妙收到SYN+ACK包,那么便会返回RST请求断开数据包给Linux,三次握手中断,如今kali再给Linux发ACK确认数据包,Linux莫名其妙收到了ACK数据包,当然也会返回RST请求断开数据包,具体抓包如下:

那么只要kali内核在收到SYN+ACK数据包之后,不发RST数据包,那么就可以建立完整的TCP三次握手,判断目标主机端口是否开放

因为iptables存在于Linux内核中,通过iptables禁用内核发送RST数据包,那么就可以实现

使用nmap进行全连接端口扫描:(如果不指定端口,那么nmap默认会扫描1000个常用的端口,并不是1-1000号端口)

使用dmitry进行全连接端口扫描:

dmitry:功能简单,但功能简便

默认扫描150个最常用的端口

dmitry -p 192.168.45.129  #参数-p表示执行TCP端口扫描

dmitry -p 192.168.45.129 -o output  #参数-o表示把结果保存到一个文本文档中去

使用nc进行全连接端口扫描:

nc -nv -w 1 -z 192.168.45.129 1-100:      1-100表示扫描1-100号端口

参数-n表示不对Ip地址进行域名解析,只把其当IP来处理

参数-v表示显示详细信息

参数-w表示超时时间

-z表示打开用于扫描的模式

信息探测之SuperScan端口扫描实验

uperScan具有以下功能:

1.通过Ping来检验IP是否在线;

2.IP和域名相互转换;

3.检验目标计算机提供的服务类别;

4.检验一定范围目标计算机的是否在线和端口情况;

5.工具自定义列表检验目标计算机是否在线和端口情况;

6.自定义要检验的端口,并可以保存为端口列表文件;

7.软件自带一个木马端口列表trojans.lst,通过这个列表我们可以检测目标计算机是否有木马;同时,我们也可以自己定义修改这个木马端口列表

进入

换至“Scan”选项卡,点击左下的开始按钮开始进行第一次扫描。 扫描结果如图6。

第一次扫描完毕之后,点击“View Html Results”查看扫描报告

再次切换至“Host and Service Discovery”选项卡,同样仅选中“TCP Port Scan”复选框,但将“Scan Type”设置为“SYN”

同上,扫出

再次切换至“Host and Service Discovery”选项卡,仅选中“UDP Port Scan”

进行第三次扫描

0条大神的评论

发表评论