TCP/IP攻击是利用IP位址并不是出厂的时候与MAC固定在一起的,攻击者通过自封包和修改网路节点的IP位址,冒充某个可信节点的IP位址,进行攻击。
基本介绍
- 中文名:TCP/IP攻击
- 由于:TCP/IP协定是Internet的基础协定
- 导致:许多形形色色的攻击方法
- 针对:协定原理的攻击
TCP/IP协定
由于TCP/IP协定是Internet的基础协定,所以对TCP/IP协定的完善和改进是非常必要的。TCP/IP协定从开始设计时候并没有考虑到现在网路上如此多的威胁,由此导致了许多形形色色的攻击方法,一般针对协定原理的攻击(尤其是DDOS)我们无能为力。
攻击原理
现将TCP/IP攻击的常用原理介绍如下:
(1) 源地址欺骗(Source Address Spoofing)、IP欺骗(IP Spoofing)和DNS欺骗(DNS Spoofing).其基本原理:是利用IP位址并不是出厂的时候与MAC固定在一起的,攻击者通过自封包和修改网路节点的IP位址,冒充某个可信节点的IP位址,进行攻击。主要有三种手法:
1. 瘫痪真正拥有IP的可信主机,伪装可信主机攻击伺服器;
2. 中间人攻击;
3. DNS欺骗(DNS Spoofing)和“会话劫持”(Session Hijack);
(2) 源路由选择欺骗(Source Routing Spoofing)。原理:利用IP数据包中的一个选项-IP Source Routing来指定路由,利用可信用户对伺服器进行攻击,特别是基于UDP协定的由于其是面向非连线的,更容易被利用来攻击;
(3) 路由选择信息协定攻击(RIP Attacks)。原理:攻击者在网上发布假的路由信息,再通过ICMP重定向来欺骗伺服器路由器和主机,将正常的路由器标誌为失效,从而达到攻击的目的。
(4) TCP序列号欺骗和攻击(TCP Sequence Number Spoofing and Attack),基本有三种:
1. 伪造TCP序列号,构造一个伪装的TCP封包,对网路上可信主机进行攻击;
2. SYN攻击(SYN Attack)。这类攻击手法花样很多,蔚为大观。但是其原理基本一致,让TCP协定无法完成三次握手协定;
3. Teardrop攻击(Teardrop Attack)和Land攻击(Land Attack)。原理:利用系统接收IP数据包,对数据包长度和偏移不严格的漏洞进行的。
攻击方式
ARP协定漏洞
有三台主机:
A:IP位址 192.168.0.1;硬体地址AA:AA:AA:AA:AA:AA
B:IP位址 192.168.0.2;硬体地址BB: BB: BB: BB: BB: BB
C:IP位址 192.168.0.3;硬体地址CC:CC:CC: CC:CC:CC
一个位于主机B的入侵者想非法进入主机A,可是这台主机上安装有防火墙。通过收集资料得知这台主机A的防火墙只对主机C有信任关係。而入侵者必须要使用telnet来进入主机A,这个时候入侵者应当如何处理?
要telnet到主机A,入侵者可以让主机A相信主机B就是主机C。如果主机A与C的信任关係是建立在IP位址上的。攻击者可以先通过各种拒绝式服务方式让C这台机器暂时宕机,同时将B的IP位址改为192.168.0.3,B就可以成功地通过23连线埠telnet到A上,而成功地绕过防火墙的限制。
但是,如果AC的信任关係是建立在硬体地址之上,这个时候上述的方式就不行了,需要运用ARP欺骗方式。
入侵者人为地製造一个arp_reply的回响包,传送给想要欺骗的主机A,这是可以实现的,因为ARP协定并没有规定在收到arp_echo请求后才可以传送回响包(这就是能够实现的关键,在一般的情况之下只有路由器进行了arp广播之后,主机才会回复)。这样,就可以通过传送虚假的ARP回响包来修改主机A上的动态ARP快取来达到欺骗的目的。
具体步骤如下:
①利用工具,进行拒绝式服务攻击,让主机C宕机,暂时停止工作。
②在这段时间里,入侵者把自己的IP改为192.168.0.3(主机C的IP)。
③用工具发一个源地址为192.168.0.3,源MAC地址为BB: BB: BB: BB: BB: BB的包给主机A,要求A更新自己的ARP转换表(ARP快取)。
④主机A更新了ARP快取中关于主机C的IPàMAC的对应关係。
⑤防火墙失效了,现在主机B可以telnet到主机A。
ICMP协定漏洞
2.1ICMP转向连线攻击
攻击者使用ICMP逾时或者ICMP主机不可达报文,这两种报文都会使得主机迅速放弃连线。此时通信连线就会被切断。
一台主机错误地认为信息的目标地址不在本地网路之中的时候,网关通常会使用ICMP重定向讯息。如果攻击者伪造一条重定向讯息,就可以导致主机经过攻击者主机向特定连线传送数据包。
2.2ICMP数据包放大(ICMP Smurf)
攻击者向安全薄弱网路的广播地址传送ICMP回显请求,所有的主机都会像被攻击主机,传送ICMP应答,占用了目标系统的频宽,并导致合法通信的拒绝服务(DoS)。
2.3ICMP Ping淹没攻击
大量的ping信息广播淹没了目标系统。
2.4ICMP nuke攻击
nuke传送出目标作业系统无法处理的信息数据包,从而导致该系统瘫痪。
2.5通过ICMP进行攻击信息收集
可以通过ping来检查目标主机是否存活,并且根据返回的TTL值就可以判断目标主机的作业系统(Linux应答TTL为64,windows 200/NT/XP为128,其他系统未列出)。
2.6ICMP攻击防範
策略一:对ICMP数据包进行过滤
使用防火墙的功能
策略二:修改TTL值巧妙骗过黑客
系统预设的TTL值是可以修改的,可以编写一个批处理档案来进行修改。
TCP协定漏洞
假设主机A和B建立TCP连线,要进行三次握手。针对TCP协定的攻击原理是:TCP协定三次握手没有完成的时候,被请求端B一般都会重试(即再给A传送SYN+ACK报文)并等待一段时间,这就可以用来进行DoS、Land、SYN flood攻击。
在SYN flood攻击中,黑客向受害主机传送大量伪造源地址的TCP SYN报文,受害主机分配必要的资源,然后向源地址返回SYN+ACK包;并等待源地址返回ACK包,由于源地址是伪造的所以源端永远不会传送ACK包,所以受害主机继续传送SYN+ACK包,并将半连结放入连线埠的积压伫列之中,虽然一般主机都有逾时机制和默认的重传次数,但是如果不断向受害主机传送大量的TCP SYN报文,半连线伫列就会很快被填满,导致受害主机无法回响其他主机的连线请求。
防御方法:针对SYN flood的攻击防範措施主要有两种:一种是通过防火墙、路由器等过滤网关防护,另一种是通过加固TCP/IP协定栈。