端口扫描攻击方式有哪些_端口扫描攻击方式

hacker|
199

端口扫描是一种什么网络攻击

端口扫描准确来说不算一种攻击。是一种网络的测试方式。是网络攻击的一种常见的开端。只有先能测出对方开了什么端口才能通过端口来攻击对方。端口扫描其实是一种嗅探。

渗透测试之端口扫描

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

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

发现开放的端口

更具体的攻击面

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表示打开用于扫描的模式

端口扫描分为哪几类

技术分类

1、开放扫描;

2、半开放扫描;

3、隐蔽扫描。

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

路由器攻击防护功能怎么设置

互联网的发展越来越快,网络也已经几乎普及到了我们每个家庭,路由器设备是我们最常使用来连接网络的工具,那么你知道路由器攻击防护功能怎么设置吗?下面是我整理的一些关于路由器攻击防护功能设置的相关资料,供你参考。

路由器攻击防护功能设置的 方法

在网络使用的过程中,往往会遇到各种各样的网络攻击,如:扫描类的攻击,DoS攻击等。

我司企业级路有器内置了目前常见的网络攻击防护 措施 ,支持内/外部攻击防范,提供扫描类攻击、DoS类攻击、可疑包和含有IP选项的包等攻击保护,能侦测及阻挡IP 地址欺骗、源路由攻击、IP/端口扫描、DoS等网络攻击,有效防止Nimda攻击等。(路由器只是对于网络中常见的攻击进行防护,对于网络的操作进行监控,而病毒,木马等这些处于应用层的应用,我司路由器并不是杀毒软件,并不是我在路由器上设置了防火墙或攻击防护等,您的计算机就不会中病毒)

在开启攻击防护时,必须开启路由器“防火墙总开关”,选中对应的“开启攻击防护”:

在菜单中的“安全设置”-“攻击防护”中,可以看到路由器针对各种网络攻击的防护及设置;

其中分别针对各种常见的网络攻击进行防护:正确设置各种防护的阈值,可以有效的对各种攻击进行防护。请根据您的网络环境进行相应的设置,一般可以使用路由器默认的值,或者可以自己进行设置。在设置的时候,阈值不要设置过小,会导致拦截过高,有可能把网络中正常的数据包误认为非法的数据包,使您的网络不能正常使用;阈值也不要设置过大,这样会起不到攻击防护的效果。

在区域的设置中,可以选择LAN和WAN,若选择LAN表示对来自局域网的数据包进行监控;而选择WAN表示对来自外网的数据包进行监控。

1、扫描类的攻击防护主要有三类:IP扫描,端口扫描,IP欺骗。

其中WAN区域没有IP欺骗设置。扫描一般都是发起攻击的第一个步骤,攻击者可以利用IP扫描和端口扫描来获取目标网络的主机信息和目标主机的端口开放情况,然后对某主机或者某主机的某端口发起攻击,对扫描进行预先的判断并保护可以有效的防止攻击。我司企业级路由器对扫描类攻击的判断依据是:设置一个时间阈值(微秒级),若在规定的时间间隔内某种数据包的数量超过了10个,即认定为进行了一次扫描,在接下来的两秒时间里拒绝来自同一源的这种扫描数据包。阈值的设置一般建议尽可能的大,最大值为一秒,也就是1000000微妙,一般推荐0.5-1秒之间设置。(阈值越大,防火墙对扫描越“敏感”)

下面为路由器没有开启攻击防护下,使用端口扫描工具进行扫描的结果

开启了路由器的“攻击防护”

此时进行端口扫描的结果为

通过抓包分析,路由器检测到了有端口扫描攻击,进行了相应的攻击防护,扫描工具没有接收到前端计算机返回的信息,所以在端口扫描的时候,无法完成端口扫描。此时。路由器发送了一个系统日志给日志服务器,检测到有攻击的存在。

在开启了防火墙的攻击防护后,扫描软件扫描不正确。但路由器每次的扫描判断允许十个扫描数据包通过,因此有可能目的计算机开放的端口刚好在被允许的十个数据包之中,也能被扫描到,但这种几率是微乎其微的。

日志服务器上记录显示有端口扫描攻击

关于日志服务器的使用,请参考《日志服务器的安装与使用》,日志中很清晰的记录了内网电脑192.168.1.100有端口扫描的行为。

2、DoS类的攻击主要有:ICMP Flood、UDP Flood、SYN Flood、Land Attack、WinNuke。

拒绝服务(DoS--Denial of Service)攻击的目的是用极其大量的虚拟信息流耗尽目标主机的资源,目标主机被迫全力处理虚假信息流,从而影响对正常信息流的处理。如果攻击来自多个源地址,则称为分布式拒绝服务DDoS。

企业级路由器对DoS类攻击的判断依据为:设置一个阈值(单位为每秒数据包个数PPS=Packet Per Second),如果在规定的时间间隔内(1秒),某种数据包超过了设置的阈值,即认定为发生了一次洪泛攻击,那么在接下来2秒的时间内,忽略掉下来自相同攻击源的这一类型数据包。

这里“DoS类攻击防护”阈值设置与上面“扫描攻击”阈值刚好相反,值越小越“敏感”,但一般也不能太小,正常的应用不能影响,我们可以根据自己的环境在实际的应用中动态调整。

下面为一个ICMP的例子,在路由器没有开启攻击防护的情况下,ping前端的计算机

使用发包工具,对前端的计算机进行1000pps的ping操作,通过抓包可以看到,前端的计算机都有回应。

而开启了路由器攻击防护的ICMP Flood攻击防护,设置阈值为100pps。

此时进行抓包分析

路由器检测到了有ICMP Flood攻击存在,发送了一个日志给日志服务器,在以后的ping请求中,都没有得到回应。有效地防止了ICMP Flood攻击。

日志服务器中,也可以查看到相应的攻击信息

3、可疑包类防护包括五类:大的ICMP包(大于1024字节)、没有Flag的TCP包、同时设置SYN和FIN的TCP包、仅设置 FIN 而没有设置ACK的TCP包、未知协议。

4、含有IP选项的包防护:在 Internet Protocol 协议(RFC 791)中,指定了一组选项以提供特殊路由控制、诊断工具和安全性。

它是在 IP 包头中的目的地址之后。协议认为这些选项“ 对最常用的通信是不必要的”。在实际使用中,它们也很少出现在 IP 包头中。这些选项经常被用于某些恶意用途。

IP选项包括。

选中一项IP选项的复选框,则检查;清除选项的选择,则取消检查。

一般情况下上面两部分的数据包是不会出现的,属于非正常的包,可能是病毒或者攻击者的试探,路由器在设置了相应的攻击防护的话会将对应的数据包丢弃。

本文主要介绍了企业级路由器的攻击防护的处理机制以及效果,通过举了几个例子进行详细地描述。例子中使用的参数只为测试使用,并不一定符合实际的使用环境,在具体的使用过程中,还需要根据您的实际网络使用环境进行调试,找到一个合理的阈值,才能有效的保护您的网络。

路由器攻击防护功能设置的相关 文章 :

1. 路由器如何防止ARP病毒攻击

2. 路由器攻击如何防护

3. 怎样使用路由器防止DoS攻击

4. 路由器怎么防止被攻击

网络漏洞扫描方法介绍

网洛扫瞄,是基于Internetde、探测远端网洛或主机信息de一种技术,也是保证系统和网洛安全必不可少de一种手段。下面由我给你做出详细的网络漏洞扫描 方法 介绍!希望对你有帮助!

网络漏洞扫描方法介绍

主机扫瞄,是指对计算机主机或者 其它 网洛设备进行安全性检测,以找出安全隐患和系统漏洞。总体而言,网洛扫瞄和主机扫瞄都可归入漏洞扫瞄一类。漏洞扫瞄本质上是一把双刃剑:黑客利用它来寻找对网洛或系统发起攻击de途径,而系统管理员则利用它来有效防范黑客入侵。通过漏洞扫瞄,扫瞄者能够发现远端网洛或主机de配置信息、 TCP/UDP端口de分配、提供de网洛服务、服务器de具体信息等。

网络漏洞扫瞄原理:

漏洞扫瞄可以划分为ping扫瞄、端口扫瞄、OS探测、脆弱点探测、防火墙扫瞄五种主要技术,每种技术实现de目标和运用de原理各不相同。按照 TCP/IP协议簇de结构,ping扫瞄工作在互联网洛层:端口扫瞄、防火墙探测工作在传输层;0S探测、脆弱点探测工作在互联网洛层、传输层、应用层。 ping扫瞄确定目标主机deIP地址,端口扫瞄探测目标主机所开放de端口,然后基于端口扫瞄de结果,进行OS探测和脆弱点扫瞄。

网络漏洞扫描方法:Ping扫瞄

ping扫瞄是指侦测主机IP地址de扫瞄。ping扫瞄de目de,就是确认目标主机deTCP/IP网洛是否联通,即扫瞄deIP地址是否分配了主机。对没有任何预知信息de黑客而言,ping扫瞄是进行漏洞扫瞄及入侵de第一步;对已经了解网洛整体IP划分de网洛安全人员来讲,也可以借助ping扫瞄,对主机deIP分配有一个精确de定位。大体上,ping扫瞄是基于ICMP协议de。其主要思想,就是构造一个ICMP包,发送给目标主机,从得到de响应来进行判断。根据构造ICMP包de不同,分为ECH0扫瞄和non—ECHO扫瞄两种。

网络漏洞扫描方法: ECH0扫瞄

向目标IP地址发送一个ICMP ECHOREQUEST(ICMP type 8)de包,等待是否收至UICMP ECHO REPLY(ICMP type 0)。如果收到了ICMP ECHO REPLY,就表示目标IP上存在主机,否则就说明没有主机。值得注意de是,如果目标网洛上de防火墙配置为阻止ICMP ECH0流量,ECH0扫瞄不能真实反映目标IP上是否存在主机。

此外,如果向广播地址发送ICMPECHO REQUEST,网洛中deunix主机会响应该请求,而windows主机不会生成响应,这也可以用来进行OS探测。

网络漏洞扫描方法: non-ECH0扫瞄

向目deIP地址发送一个ICMP TIMESTAMP REQUEST(ICMP type l3),或ICMP ADDRESS MASK REQUEST (ICMP type l7)de包,根据是否收到响应,可以确定目的主机是否存在。当目标网洛上de防火墙配置为阻止ICMP ECH0流量时,则可以用non.ECH0扫瞄来进行主机探测。

网络漏洞扫描方法:端口扫瞄

端口扫瞄用来探测主机所开放de端口。端口扫瞄通常只做最简单de端口联通性测试,不做进一步de数据分析,因此比较适合进行大范围de扫瞄:对指定 IP地址进行某个端口值段de扫瞄,或者指定端口值对某个IP地址段进行扫瞄。根据端口扫瞄使用de协议,分为TCP扫瞄和UDP扫瞄。

网络漏洞扫描方法: TCP扫瞄

主机间建立TCP连接分三步(也称三次握手):

(1)请求端发送一个SYN包,指明打算连接de目de端口。

(2)观察目de端返回de包:

返回SYN/ACK包,说明目de端口处于侦听状态;

返回RST/ACK包,说明目de端口没有侦听,连接重置。

常见的网络攻击方法和防御技术

网络攻击类型

侦查攻击:

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

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

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

端口扫描:

根据 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

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

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

0条大神的评论

发表评论