在绝大数TCP实现中,RESET包必须与CP指针相符合,否则RESET包将会被抛弃。好了,一切彻底明朗了,只要我们能够构造一串连续的数据包,修改当前的CP。比如在上面我们的例子中,我们在第三个包之后构造第四个包,比如包含一个空格或者别的什么,只要不影响攻击的效果。我们以非常快的速度连续发出这两个包,则当IDS抓到第三个包的时候,它会产生RESET包,不过此时第四个包已经到达了目标主机,修改了CP指针。当IDS发出的RESET包到达目标主机时,这个RESET包就被忽略了。(我们前面说过IDS都是有延迟的)。同时我们可以有一个更好的办法,我们在构造数据包的时候,先发送第四个数据包,再发送第3个数据包,则第四个数据包先到达,它进入到缓冲区中,不过此时的CP并没有改变,当第3个包到达时,CP将移动到第4个数据包之后,这样一来无论IDS产生的RESET能够以多快的速度发出,此RESET的确认序列总是根据第3个包产生的,则它肯定被忽略。因为CP指针早就改变了。
3.结论
本文主要讲述了RESET包阻止TCP会话的IDS主动响应机制,至于防火墙联动的机制,我们其实可以通过欺骗,跳转(如FTP跳转等,请参看phrack 51)等方式,造成防火墙错误的拒绝某些重要的地址,比如网关路由的地址,DNS地址等等,这样也可以给使用者带来很大的干扰,同时一般来说防火墙联动机制会有1至2秒的延迟,这个时间完全够攻击者给目标主机安插一个后门,如此以来,什么样的防御都可能很轻松的突破了。通过本文的讲述,我们可以看到IDS提供了一种主动响应的机制,这比单纯的报警而没有响应好了很多,也很吸引用户,甚至这一点成了很多厂商的宣传武器,让很多消费者以为这时非常高超的技术,其实一个稍据TCP/IP知识的攻击者,就可以让这种响应机制失效,而这一点似乎没有那个厂商提醒过用户!!!这算不算是一种欺骗呢?!
4.版权声明
本文版权属于作者所有,任何人和机构不得利用本文从事商业活动,转载请注明出处。任何利用本文所介绍的技术从事非法活动的行为后果自负,概与本文作者无关。
-- 原文链接: http://www.linuxaid.com.cn/articles/4/4/443095521.shtml
共3页: 上一页 [1] [2] 3 下一页
|