频道栏目
首页 > 安全 > 网络安全 > 正文

无需申请自动送

2017-06-07 10:31:35           
收藏   我要投稿

MOTS攻击技术分析

1. 背景

我们经常遇到这样一个场景:在2018注册送菜金白菜现场通过端口镜像方式对流量做镜像,用来分析数据包或者审计的时候,疑心较大的2018注册送菜金白菜总是怀疑其数据会被篡改或客户端信任的结果并非真实服务器返回的值。我想大多数的技术兄弟可能都会和我一样回复2018注册送菜金白菜:这是一台审计设备,是旁路部署,只能审计,不是串在里面的,不可能对数据进行篡改;也不可能影响客户端的最终请求响应的结果。这个理论我一直深信不疑,直到前段时间在分析DNS污染的时候才发现这句话并不完全对,难道旁路监听的设备可以用来进行攻击,并影响客户端请求最终的响应结果。的确可以!下面我们来介绍MOTS的攻击原理及常见的攻击类型。

2. 原理

MOTS的攻击原理为:该攻击可行的前提是攻击者可以监听到通信的流量,并且利用时间差优势在正常的响应包返回之前插入精心构造的数据包,同时利用协议本身的弱点达到欺骗客户端的目的。

举个例子:

 

\

 

1、客户端发起一个请求,由于攻击者可以监听客户端,因此这个请求也会到达攻击者,同时服务器也会收到这个请求

2、攻击者和服务器都收到客户端的请求,于是他们都进行了应答

3、攻击者的响应报文先到达客户端,因此客户端接收攻击者的应答

4、由于时间关系,服务器的响应报文此时也送到客户端,但是客户端已经收到了响应报文,因此不处理服务器的响应报文。

这里面的关键有以下:

1、攻击者能够读取流量信息并插入伪造的报文,但是不会修改或删除通信方发送的报文。

2、当受害者发出请求时,攻击者利用时间优势让自己发送的响应先于合法的响应到达受害者

3、TCP UDP协议本身不校验消息的真实性,只接受先响应的。

3. 常见攻击类型

3.1基于TCP的攻击

我们学习过TCP/IP原理的兄弟们都应该了解:TCP是一种可靠的协议,其可靠性主要依赖TCP确认号。也就是说基于TCP的应用其可靠性一般严重依赖TCP做保证,以打开freebuf首页为例:

67号报文(SYN)的序列号为2859590583,148号报文(ACK+SYN)的确认号为上一个报文的seq+应用层长度+1,这里面上一个报文的序列号为2859590583,应用层长度为0,所以其确认号为2859590584。确认号是攻击基于TCP应用的关键.

 

\

 

3.1.1 DOS

对基于TCP的应用做DOS攻击可以在两个层面做DOS,一般情况下只需要发送单向的Reset包即可。

1、三次握手时

2、对客户端某些特定请求

Ø 对三次握手时做DOS

 

\

 

若客户端请求某个端口或某个特定服务时,通过MOTS做DOS攻击,攻击者只需要监听到客户端的SYN包的序列号,然后发送一个Reset+ACK包即可达到DOS的效果。其对SYN包进行DOS的例子如下所示:

 

\

 

当客户端收到攻击者发送Reset+ACK报文以后,客户端会主动释放连接,此后当正常的服务器的SYN+ACK报文过来以后,由于客户端已经释放了连接,因此客户端一般情况下会忽略这个SYN+ACK报文,不做任何处理。

构造这种攻击报文需要注意以下细节:

1、客户端的IP、源端口、序列号

2、服务器的IP、目标端口

3、IP和TCP校验和计算,具体计算方法大家google一下,在这里不做详细描述。在这里说一下:IP校验和仅校验IP头部;TCP校验和是必选的,其是对TCP头部和数据的校验;UDP的校验和是可选的。

4、攻击报文的源IP为服务器的IP、源端口为服务器的端口;目标IP为客户端的IP、目标端口为客户端的端口;ACK=客户端SYN请求报文序列号+1,并且计算好相应的IP和TCP的校验和,避免客户端校验时发现错误,而将该报文丢弃。

Ø 对客户端某些特定请求进行DOS

这个场景是这样的:攻击者一直监听客户端的请求,并且前期做好相应的策略,一旦客户端请求某些内容时,攻击者主动发送Reset+ack报文释放连接。这里一般情况下可以对客户端的请求进行异常释放,也可以对服务器进行释放;考虑的比较深入的话可以双向发送reset报文来双向释放。技术细节可参考上文。

 

\

 

3.1.2 TCP劫持

基于MOTS的劫持只要TCP的上层为明文传输就存在被攻击的可能。基于MOTS的TCP劫持一般情况下都是劫持基于TCP的上层应用,如HTTP劫持。

大家可能对HTTP劫持了解的比较多,因为大家或多或少都遇到过打开网页的时候运营商在正常页面插入或者尾巴的情况,这里面运营商用的比较多的技术是HTTP劫持,当然除了HTTP劫持外还有其他的技术,如DNS污染等。忽略中间的设备,HTTP劫持如下所示:

 

\

 

在这里说明一下HTTP劫持的相关原理和实现细节:

1、攻击者一直需要监听客户端的请求

2、当有请求相关页面时,攻击者利用时间差优势进行应答,如客户端访问www.freebuf.com时,攻击者立即进行应答,此应答报文为攻击者精心构造的报文,其效果可以用来进行推送,也可以进行挂马。

上一篇:NSA机密报告显示美大选官员遭网络钓鱼
下一篇:别哭!WannaCry出现编程错误,受感染文件仍可恢复
相关文章
图文推荐
热门新闻

关于我们 | 联系我们 | 服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑--致力于做实用的IT技术学习网站