攻击者通过端口扫描_端口扫描攻击是什么意思

hacker|
158

什么是端口扫描?

一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的 *** 很多,可以是手工进行扫描,也可以用端口扫描软件进行。 在手工进行扫描时,需要熟悉各种命令。对命令执行后的输出进行分析。用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。 通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。 什么是扫描器 扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可一不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。 工作原理 扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种 *** ,可以搜集到很多关于目标主机的各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑!) 扫描器能干什么 扫描器并不是一个直接的攻击 *** 漏洞的程序,它仅仅能帮助我们发现目标机的某些内在的弱点。一个好的扫描器能对它得到的数据进行分析,帮助我们查找目标主机的漏洞。但它不会提供进入一个系统的详细步骤。 扫描器应该有三项功能:发现一个主机或 *** 的能力;一旦发现一台主机,有发现什么服务正运行在这台主机上的能力;通过测试这些服务,发现漏洞的能力。 编写扫描器程序必须要很多TCP/IP程序编写和C, Perl和或SHELL语言的知识。需要一些Socket编程的背景,一种在开发客户/服务应用程序的 *** 。开发一个扫描器是一个雄心勃勃的项目,通常能使程序员感到很满意。 常用的端口扫描技术 TCP connect() 扫描 这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个更大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种 *** 的缺点是很容易被发觉,并且被过滤掉。目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。 TCP SYN扫描 这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。但这种 *** 的一个缺点是,必须要有root权限才能建立自己的SYN数据包。 TCP FIN 扫描 有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描 *** 的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,打开的端口会忽略对FIN数据包的回复。这种 *** 和系统的实现有一定的关系。有的系统不管端口是否打开,都回复RST,这样,这种扫描 *** 就不适用了。并且这种 *** 在区分Unix和NT时,是十分有用的。 IP段扫描 这种不能算是新 *** ,只是其它技术的变化。它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。但必须小心。一些程序在处理这些小数据包时会有些麻烦。 TCP 反向 ident扫描 ident 协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。因此你能,举

端口扫描的目的

端口扫描的目的是扫描大范围的主机连接一系列的TCP端口,判断主机开放了哪些服务,这些开放的端口往往与一定的服务相对应,通过这些开放的端口,就能了解主机运行的服务,然后就可以进一步整理和分析这些服务可能存在的漏洞,随后采取针对性的攻击。

端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机 *** 服务类型(这些 *** 服务均与端口号相关)。端口扫描是计算机解密高手喜欢的一种方式。攻击者可以通过它了解到从哪里可探寻到攻击弱点。实质上,端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。

端口扫描原理

端口扫描,顾名思义,就是逐个对一段端口或指定的端口进行扫描。通过扫描结果可以知道一台计算机上都提供了哪些服务,然后就可以通过所提供的这些服务的己知漏洞就可进行攻击。其原理是当一个主机向远端一个服务器的某一个端口提出建立一个连接的请求,如果对方有此项服务,就会应答,如果对方未安装此项服务时,即使你向相应的端口发出请求,对方仍无应答,利用这个原理。

常见的 *** 攻击 *** 和防御技术

*** 攻击类型

侦查攻击:

搜集 *** 存在的弱点,以进一步攻击 *** 。分为扫描攻击和 *** 监听。

扫描攻击:端口扫描,主机扫描,漏洞扫描。

*** 监听:主要指只通过软件将使用者计算机网卡的模式置为混杂模式,从而查看通过此 *** 的重要明文信息。

端口扫描:

根据 TCP 协议规范,当一台计算机收到一个TCP 连接建立请求报文(TCP SYN) 的时候,做这样的处理:

1、如果请求的TCP端口是开放的,则回应一个TCP ACK 报文, 并建立TCP连接控制结构(TCB);

2、如果请求的TCP端口没有开放,则回应一个TCP RST(TCP头部中的RST标志设为1)报文,告诉发起计算机,该端口没有开放。

相应地,如果IP协议栈收到一个UDP报文,做如下处理:

1、如果该报文的目标端口开放,则把该UDP 报文送上层协议(UDP ) 处理, 不回应任何报文(上层协议根据处理结果而回应的报文例外);

2、如果该报文的目标端口没有开放,则向发起者回应一个ICMP 不可达报文,告诉发起者计算机该UDP报文的端口不可达。

利用这个原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TC 或UDP端口是开放的。

过程如下:

1、发出端口号从0开始依次递增的TCP SYN或UDP报文(端口号是一个16比特的数字,这样更大为65535,数量很有限);

2、如果收到了针对这个TCP 报文的RST 报文,或针对这个UDP 报文 的 ICMP 不可达报文,则说明这个端口没有开放;

3、相反,如果收到了针对这个TCP SYN报文的ACK报文,或者没有接收到任何针对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有的实现中可能不回应ICMP不可达报文,即使该UDP 端口没有开放) 。

这样继续下去,便可以很容易的判断出目标计算机开放了哪些TCP或UDP端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。

主机扫描即利用ICMP原理搜索 *** 上存活的主机。

*** 踩点(Footprinting)

攻击者事先汇集目标的信息,通常采用whois、Finger等工具和DNS、LDAP等协议获取目标的一些信息,如域名、IP地址、 *** 拓扑结构、相关的用户信息等,这往往是黑客入侵之前所做的之一步工作。

扫描攻击

扫描攻击包括地址扫描和端口扫描等,通常采用ping命令和各种端口扫描工具,可以获得目标计算机的一些有用信息,例如机器上打开了哪些端口,这样就知道开设了哪些服务,从而为进一步的入侵打下基础。

协议指纹

黑客对目标主机发出探测包,由于不同操作系统厂商的IP协议栈实现之间存在许多细微的差别(也就是说各个厂家在编写自己的TCP/IP 协议栈时,通常对特定的RFC指南做出不同的解释),因此各个操作系统都有其独特的响应 *** ,黑客经常能确定出目标主机所运行的操作系统。

常常被利用的一些协议栈指纹包括:TTL值、TCP窗口大小、DF 标志、TOS、IP碎片处理、 ICMP处理、TCP选项处理等。

信息流监视

这是一个在共享型局域网环境中最常采用的 *** 。

由于在共享介质的 *** 上数据包会经过每个 *** 节点, 网卡在一般情况下只会接受发往本机地址或本机所在广播(或多播)地址的数据包,但如果将网卡设置为混杂模式(Promiscuous),网卡就会接受所有经过的数据包。

基于这样的原理,黑客使用一个叫sniffer的嗅探器装置,可以是软件,也可以是硬件)就可以对 *** 的信息流进行监视,从而获得他们感兴趣的内容,例如口令以及其他秘密的信息。

访问攻击

密码攻击:密码暴力猜测,特洛伊木马程序,数据包嗅探等方式。中间人攻击:截获数据,窃听数据内容,引入新的信息到会话,会话劫持(session hijacking)利用TCP协议本身的不足,在合法的通信连接建立后攻击者可以通过阻塞或摧毁通信的一方来接管已经过认证建立起来的连接,从而假冒被接管方与对方通信。

拒绝服务攻击

伪装大量合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务响应。

要避免系统遭受DoS 攻击,从前两点来看, *** 管理员要积极谨慎地维护整个系统,确保无安全隐患和漏洞;

而针对第四点第五点的恶意攻击方式则需要安装防火墙等安 全设备过滤DoS攻击,同时强烈建议 *** 管理员定期查看安全设备的日志,及时发现对系统存在安全威胁的行为。

常见拒绝服务攻击行为特征与防御 ***

拒绝服务攻击是最常见的一类 *** 攻击类型。

在这一攻击原理下,它又派生了许多种不同的攻击方式。

正确了解这些不同的拒绝攻击方式,就可以为正确、系统地为自己所在企业部署完善的安全防护系统。

入侵检测的最基本手段是采用模式匹配的 *** 来发现入侵攻击行为。

要有效的进行反攻击,首先必须了解入侵的原理和工作机理,只有这样才能做到知己知彼,从而有效的防止入侵攻击行为的发生。

下面我们针对几种典型的拒绝服务攻击原理进行简要分析,并提出相应的对策。

死亡之Ping( Ping of death)攻击

由于在早期的阶段,路由器对包的更大大小是有限制的,许多操作系统TCP/IP栈规定ICMP包的大小限制在64KB 以内。

在对ICMP数据包的标题头进行读取之后,是根据该标题头里包含的信息来为有效载荷生成缓冲区。

当大小超过64KB的ICMP包,就会出现内存分配错误,导致TCP/IP堆栈崩溃,从而使接受方计算机宕机。

这就是这种“死亡之Ping”攻击的原理所在。

根据这一攻击原理,黑客们只需不断地通过Ping命令向攻击目标发送超过64KB的数据包,就可使目标计算机的TCP/IP堆栈崩溃,致使接受方宕机。

防御 *** :

现在所有的标准TCP/IP协议都已具有对付超过64KB大小数据包的处理能力,并且大多数防火墙能够通过对数据包中的信息和时间间隔分析,自动过滤这些攻击。

Windows 98 、Windows NT 4.0(SP3之后)、Windows 2000/XP/Server 2003 、Linux 、Solaris和Mac OS等系统都已具有抵抗一般“Ping of death ”拒绝服务攻击的能力。

此外,对防火墙进行配置,阻断ICMP 以及任何未知协议数据包,都可以防止此类攻击发生。

泪滴( teardrop)攻击

对于一些大的IP数据包,往往需要对其进行拆分传送,这是为了迎合链路层的MTU(更大传输单元)的要求。

比如,一个6000 字节的IP包,在MTU为2000的链路上传输的时候,就需要分成三个IP包。

在IP 报头中有一个偏移字段和一个拆分标志(MF)。

如果MF标志设置为1,则表面这个IP包是一个大IP包的片断,其中偏移字段指出了这个片断在整个 IP包中的位置。

例如,对一个6000字节的IP包进行拆分(MTU为2000),则三个片断中偏移字段的值依次为:0,2000,4000。

这样接收端在全部接收完IP数据包后,就可以根据这些信息重新组装没正确的值,这样接收端在收后这些分拆的数据包后就不能按数据包中的偏移字段值正确重合这些拆分的数据包,但接收端会不断偿试,这样就可能致使目标计算朵操作系统因资源耗尽而崩溃。

泪滴攻击利用修改在TCP/IP 堆栈实现中信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。

IP分段含有指示该分段所包含的是原包的哪一段的信息,某些操作系统(如SP4 以前的 Windows NT 4.0 )的TCP/IP 在收到含有重叠偏移的伪造分段时将崩溃,不过新的操作系统已基本上能自己抵御这种攻击了。

防御 *** :

尽可能采用最新的操作系统,或者在防火墙上设置分段重组功能,由防火墙先接收到同一原包中的所有拆分数据包,然后完成重组工作,而不是直接转发。

因为防火墙上可以设置当出现重叠字段时所采取的规则。

TCP SYN 洪水(TCP SYN Flood)攻击

TCP/IP栈只能等待有限数量ACK(应答)消息,因为每台计算机用于创建TCP/IP连接的内存缓冲区都是非常有限的。

如果这一缓冲区充满了等待响应的初始信息,则该计算机就会对接下来的连接停止响应,直到缓冲区里的连接超时。

TCP SYN 洪水攻击正是利用了这一系统漏洞来实施攻击的。

攻击者利用伪造的IP地址向目标发出多个连接(SYN)请求。

目标系统在接收到请求后发送确认信息,并等待回答。

由于黑客们发送请示的IP地址是伪造的,所以确认信息也不会到达任何计算机,当然也就不会有任何计算机为此确认信息作出应答了。

而在没有接收到应答之前,目标计算机系统是不会主动放弃的,继续会在缓冲区中保持相应连接信息,一直等待。

当达到一定数量的等待连接后,缓区部内存资源耗尽,从而开始拒绝接收任何其他连接请求,当然也包括本来属于正常应用的请求,这就是黑客们的最终目的。

防御 *** :

在防火墙上过滤来自同一主机的后续连接。

不过“SYN洪水攻击”还是非常令人担忧的,由于此类攻击并不寻求响应,所以无法从一个简单高容量的传输中鉴别出来。

防火墙的具体抵御TCP SYN 洪水攻击的 *** 在防火墙的使用手册中有详细介绍。

Land 攻击

这类攻击中的数据包源地址和目标地址是相同的,当操作系统接收到这类数据包时,不知道该如何处理,或者循环发送和接收该数据包,以此来消耗大量的系统资源,从而有可能造成系统崩溃或死机等现象。

防御 *** :

这类攻击的检测 *** 相对来说比较容易,因为它可以直接从判断 *** 数据包的源地址和目标地址是否相同得出是否属于攻击行为。

反攻击的 *** 当然是适当地配置防火墙设备或包过滤路由器的包过滤规则。

并对这种攻击进行审计,记录事件发生的时间,源主机和目标主机的MAC地址和IP地址,从而可以有效地分析并跟踪攻击者的来源。

Smurf 攻击

这是一种由有趣的卡通人物而得名的拒绝服务攻击。

Smurf攻击利用多数路由器中具有同时向许多计算机广播请求的功能。

攻击者伪造一个合法的IP地址,然后由 *** 上所有的路由器广播要求向受攻击计算机地址做出回答的请求。

由于这些数据包表面上看是来自已知地址的合法请求,因此 *** 中的所有系统向这个地址做出回答,最终结果可导致该 *** 的所有主机都对此ICMP应答请求作出答复,导致 *** 阻塞,这也就达到了黑客们追求的目的了。

这种Smurf攻击比起前面介绍的“Ping of Death ”洪水的流量高出一至两个数量级,更容易攻击成功。

还有些新型的Smurf攻击,将源地址改为第三方的受害者(不再采用伪装的IP地址),最终导致第三方雪崩。

防御 *** :

关闭外部路由器或防火墙的广播地址特性,并在防火墙上设置规则,丢弃掉ICMP协议类型数据包。

Fraggle 攻击

Fraggle 攻击只是对Smurf 攻击作了简单的修改,使用的是UDP协议应答消息,而不再是ICMP协议了(因为黑客们清楚 UDP 协议更加不易被用户全部禁止)。

同时Fraggle攻击使用了特定的端口(通常为7号端口,但也有许多使用其他端口实施 Fraggle 攻击的),攻击与Smurf 攻击基本类似,不再赘述。

防御 *** :

关闭外部路由器或防火墙的广播地址特性。在防火墙上过滤掉UDP报文,或者屏蔽掉一些常被黑客们用来进Fraggle攻击的端口。

电子邮件炸弹

电子邮件炸弹是最古老的匿名攻击之一,通过设置一台计算机不断地向同一地址发送大量电子邮件来达到攻击目的,此类攻击能够耗尽邮件接受者 *** 的带宽资源。

防御 *** :

对邮件地址进行过滤规则配置,自动删除来自同一主机的过量或重复的消息。

虚拟终端(VTY)耗尽攻击

这是一种针对 *** 设备的攻击,比如路由器,交换机等。

这些 *** 设备为了便于远程管理,一般设置了一些TELNET用户界面,即用户可以通过TELNET到该设备上,对这些设备进行管理。

一般情况下,这些设备的TELNET用户界面个数是有限制的。比如,5个或10个等。

这样,如果一个攻击者同时同一台 *** 设备建立了5个或10个TELNET连接。

这些设备的远程管理界面便被占尽,这样合法用户如果再对这些设备进行远程管理,则会因为TELNET连接资源被占用而失败。

ICMP洪水

正常情况下,为了对 *** 进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO 后,会回应一个ICMP ECHO Reply 报文。

而这个过程是需要CPU 处理的,有的情况下还可能消耗掉大量的资源。

比如处理分片的时候。这样如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),则目标计算机会忙于处理这些ECHO 报文,而无法继续处理其它的 *** 数据报文,这也是一种拒绝服务攻击(DOS)。

WinNuke 攻击

NetBIOS 作为一种基本的 *** 资源访问接口,广泛的应用于文件共享,打印共享, 进程间通信( IPC),以及不同操作系统之间的数据交换。

一般情况下,NetBIOS 是运行在 LLC2 链路协议之上的,是一种基于组播的 *** 访问接口。

为了在TCP/IP协议栈上实现NetBIOS ,RFC规定了一系列交互标准,以及几个常用的 TCP/UDP 端口:

139:NetBIOS 会话服务的TCP 端口;

137:NetBIOS 名字服务的UDP 端口;

136:NetBIOS 数据报服务的UDP 端口。

WINDOWS操作系统的早期版本(WIN95/98/NT )的 *** 服务(文件共享等)都是建立在NetBIOS之上的。

因此,这些操作系统都开放了139端口(最新版本的WINDOWS 2000/XP/2003 等,为了兼容,也实现了NetBIOS over TCP/IP功能,开放了139端口)。

WinNuke 攻击就是利用了WINDOWS操作系统的一个漏洞,向这个139端口发送一些携带TCP带外(OOB)数据报文。

但这些攻击报文与正常携带OOB数据报文不同的是,其指针字段与数据的实际位置不符,即存在重合,这样WINDOWS操作系统在处理这些数据的时候,就会崩溃。

分片 IP 报文攻击

为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP 分片报文组装起来。

目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文。

这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。

如果攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样攻击者计算机便会一直等待(直到一个内部计时器到时)。

如果攻击者发送了大量的分片报文,就会消耗掉目标计 算机的资源,而导致不能相应正常的IP报文,这也是一种DOS攻击。

T

分段攻击。利用了重装配错误,通过将各个分段重叠来使目标系统崩溃或挂起。

欢迎关注的我的头条号,私信交流,学习更多的 *** 技术!

已记录端口扫描攻击 什么意思

就是有人在对你的计算机进行端口扫描,如果是公司网管的话,他会使用工具扫描下看那些人在上 *** 啊,什么的,因为程序要连接 *** 要有一个端口去访问,还有就是有人在 *** 上攻击你,比如你的同事中了ARP病毒,该病毒就会自动攻击 *** 上的其他用户,导致 *** 瘫痪,还有就是有人尝试攻击你,但是那只是尝试,比如PING你的端口啊之类的!

比如你开了 *** ,他一扫到 *** 开的端口就知道你在上 *** 拉,或者 *** 不正常,他扫下,看有没有人上下载拉····

0条大神的评论

发表评论