免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: skipjack
打印 上一主题 下一主题

一种新的带宽攻击方式 [复制链接]

论坛徽章:
0
61 [报告]
发表于 2006-05-21 10:34 |只看该作者
发表一下我的看法,和大家讨论。
建议修改一下攻击过程,由程序自动完成整个攻击过程。首先声明,我不编程已经很多年,事实上大学毕业以后就几乎没有写过程序,这里不讨论实现,只讨论一个思路。
我们假设我们有一条ADSL线路,ok,现在我们来利用ADSL可以同时打电话和上网的特性来实现这个攻击。首先进行ADSL拨号,然后利用其电话接口再利用PSTN拨号建立第二条互联网连接,注意这两个连接不要在一个网段,比如你在上海用ADSL上,然后拨01095963,至于电话费嘛,嘿嘿,自己付吧,谁说当黑客没有成本。
根据一般的原则,第二个连接的默认网关会作为系统的默认网关,此时用第二个IP地址,自己构造正常的SYN向目标发起连接请求,当收到SYN+ACK包以后,断开PSTN的拨号连接。继续利用刚才PSTN拨号的IP地址,根据刚才收到SYN+ACK包,构造ACK包,完成三次握手。然后都利用PSTN拨号的IP地址不断的发起错位的ACK包,让对方的服务器不断的重发。
以上过程应该可以用程序自动实现,至于攻击效果嘛,我这里无法判断,这和对方的设计方式有关,比如对方如果发一个很小的包过来,然后等待确认包以后再发送大包的话,恐怕效果就会很差!

论坛徽章:
0
62 [报告]
发表于 2006-05-21 20:12 |只看该作者
原帖由 zeroflag 于 2006-5-21 10:34 发表
发表一下我的看法,和大家讨论。
建议修改一下攻击过程,由程序自动完成整个攻击过程。首先声明,我不编程已经很多年,事实上大学毕业以后就几乎没有写过程序,这里不讨论实现,只讨论一个思路。
我们假设我们有 ...


思路不错,省得猜序号了

论坛徽章:
0
63 [报告]
发表于 2006-05-21 21:05 |只看该作者
原帖由 keelee 于 2006-5-19 12:52 发表
这种可以归到 “包”欺骗这一类型 我感觉利用的价值不是很大! 劝你不要浪费时间! 还是搞点其他的吧!中国 还没有出现这样黑客的土壤!!


我的工作就是这个,所以谈不上是浪费时间.
以前做程序的时候,因为TCP序号乱序,引起双方大量数据包重传,CPU连续高负载.BUG最终找到了,但那时没有注意到利用价值.
看了我引用的原文文章后,突然想通了点什么.呵呵......
BUG场境我试图恢复.但没有成功,所以贴出来供大家讨论.

"包"欺骗的范围实在是太广了.所以你这么一说,我还真不知道怎么反驳你了.呵呵......所以只能引一段<<黑客张大民>>中的文字了.我想我指的这个问题应该细化在"逻辑运行攻击"这一类中.

对没有状态的网络协议的异常报文攻击是比较简单的。你构建好了异常报文,只管发就是了.但对于有状态的网络协议来说,如果它当前不在某一个状态,而你给它发布一个报文,它根本就不会处理这个报文,也就根本不会达到攻击的效果.你需要先送几个有效的报文,驱动网络协议到达某个状态,然后再送一个在这个状态内被网络协议接收的异常报文,才能达到攻击的效果”,老头说, “每一个协议的有限状态机都是不要一样的,BGP有BGP自己的状态转换,TCP有TCP自己的状态
转换.所以如果你想攻击有状态的协议,要对协议如何运行非常了解才行”.
“啊”,张大民点头, “看样子还是很难”。
“当然”,老头说,“如果容易的话,就不是高层次黑客追求的目标了”.老头笑
这说, “但异常报文和低速洪水攻击还不是攻击网络协议中最麻烦的方法”.
“啊?”,张大民道,还有什么别的,比这两个还麻烦?”。张大民问.
“逻辑运行攻击”,老头说.
“什么是逻辑运行攻击?”,张大民问.
“就是对网络协议算法的攻击”,老头说, “也就是说,能利用网络协议实现中逻辑算法的漏洞,找到逻辑算法中的弱点.能达到这一个阶段,需要对一个协议有很深的理解,不仅包括数据报文格式,还有协议具体的运行过程和可能出现的各种异常情况。”
“呕”,张大民一脸不解的问, “哪要怎么看?”。
“给你举个例子”,老头说. “知道前一阵TCP窗口大小的重至攻吧。”老头问.
“啊,知道,就是一个美国的小子发现,他发现了TCP算法中一个问题,可以用和少的攻击报文来切断一个TCP的联系”,张大民说。
“正是”,这是比较高级的协议攻击方法了,为此TCP的RFC还要修改一下”,老头说, “当然,如果你能发现这样的一个漏洞,那么你也可以出名了”.
“那有没有系统的方法可以发现一个网络协议中的逻辑运行漏洞呢?”,张大民问.
“呵呵,你还真的是很好问”,老头笑道. “在这个问题上是没有捷径可走的,唯有专下心来,刻苦钻研一个网络协议,成为这个协议的专家,才能在这上面有所作为.但一旦你达到了这个层次,恐怕网络安全界不知道你的人就没几个了.”。
“是这样”,张大民感慨的说.心想:但是网络协议这一块,就有这么多的难度,每一个层次都有不同的方法和窍门。关键是不要被问题的表明所吓倒,要看清问题的本质,找到问题的共同点,摸索出发现漏洞的方法。 “那按照攻击的难度来说,对于网络协议的攻击方法应该按照这样来排序喽”,张大民说. “
. 量简单的是无状态的异常报文攻击.
. 然后是有状态的异常报文攻击.
. 然后是低速洪水攻击来远程攻击数据结构
最难的就是对网络协议逻辑和算法的攻击.
“是”,老头赞许的看了张大民一眼, “你的悟性还是不错的.”.

[ 本帖最后由 skipjack 于 2006-5-21 22:15 编辑 ]

论坛徽章:
0
64 [报告]
发表于 2006-05-23 00:19 |只看该作者
字都懂,就是不知道什么意思.

论坛徽章:
0
65 [报告]
发表于 2006-05-23 09:13 |只看该作者
……为啥要换个机器回放?

论坛徽章:
0
66 [报告]
发表于 2006-05-24 15:31 |只看该作者
原帖由 skipjack 于 2006-5-15 13:11 发表




其实ack包的作用就是发送错误的TCP确认序号,这就是为什么管它叫“序号乱刀”的原因。
呵呵...举个例子,两个人打招乎:

A君:你好
B君:你也好
A君:你吃了吗?
B君:吃了呀
A君:你能把 ...


哈哈,这个有意思。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
67 [报告]
发表于 2006-05-24 21:45 |只看该作者
这两天我的测试系统出了怪问题,跟网管PK了一下午

我有一个测试客户端,模拟浏览器发送请求到测试服务器,
客户端和服务器都是自己编写的TCP程序,两个程序都是相同的编程框架
单进程多线程,线程池上限是1000,
被测对象是个代理服务器程序
客户端IP是10.0.0.13,代理服务器是10.0.0.10,测试服务器是11.0.0.13
客户端访问代理服务器,代理服务器从测试服务器取HTTP响应返回给客户端
客户端和代理服务器在内网,测试服务器在代理服务器屁股后头与其他任何网络不连接
客户端开了800个线程去访问代理服务器

昨天网管就找我,说我的屋子有台10.0.0.13的机器狂发包,防火墙都快被整死了
然后我和网管分别用自己的机器开ethereal抓包,果然10.0.0.13发疯了,
每秒广播将近3500个TCP的ACK包
这些包的内容全都是: TCP 源地址10.0.0.13 端口随机 目的地址 10.0.0.10 目的端口是被测的
代理服务器端口 类型是ACK

我就想到了这个贴
ACK应该是TCP三步握手的最后一步,按理说不可能被广播,
而且我编程序从来不去动协议栈,不可能是我的程序具有广播ACK的功能
那为什么ACK会跑到整个局域网中去呢?
从tcpdump看数量是随机的,某些时刻一个都不出现,某些时刻tcpdump输出信息翻屏象飞一样
我曾经怀疑二层交换机是不是死掉了变成了HUB,但抓包程序看不到同在一起的二层交换机的非二层
广播包,而且10.0.0.13的ACK包的目的MAC也确实是10.0.0.10的网卡MAC地址

网管已经把防火墙上的10.0.0.0/24网段一律drop掉(防火墙内网地址是192.168.x.0/24)
我现在头疼的是:ACK为什么被广播出来了?
如果ACK是TCP重传导致的,它也不该被广播啊
不久我要修改程序,需要将持续并发升到10000左右
跟网管PK的结果是,我的机器装2块网卡,一块专门和测试网10.0.0.0/24连接,
另一块接内网,严禁路由测试网络的包到内网

附:
所有的连接都是百兆,所有的网卡都是i82559,交换机都是二层的(有TP-LINK也有D-LINK),
防火墙负责NAT内网到公网

论坛徽章:
0
68 [报告]
发表于 2006-05-25 10:38 |只看该作者
楼上能不能把包抓下来分析一下?
不知道你说的ack广播是什么?
抓包的机器ip是多少?

论坛徽章:
0
69 [报告]
发表于 2006-05-25 10:50 |只看该作者
注释了一下 最好贴出抓包数据

原帖由 safedead 于 2006-5-24 21:45 发表
这两天我的测试系统出了怪问题,跟网管PK了一下午

我有一个测试客户端,模拟浏览器发送请求到测试服务器,
客户端和服务器都是自己编写的TCP程序,两个程序都是相同的编程框架
单进程多线程,线程池上限是1000,
被测对象是个代理服务器程序
客户端IP是10.0.0.13,代理服务器是10.0.0.10,测试服务器是11.0.0.13
客户端访问代理服务器,代理服务器从测试服务器取HTTP响应返回给客户端
客户端和代理服务器在内网,测试服务器在代理服务器屁股后头与其他任何网络不连接
客户端开了800个线程去访问代理服务器

昨天网管就找我,说我的屋子有台10.0.0.13的机器狂发包,防火墙都快被整死了
然后我和网管分别用自己的机器开ethereal抓包,果然10.0.0.13发疯了,
每秒广播将近3500个TCP的ACK包
这些包的内容全都是: TCP 源地址10.0.0.13 端口随机 (不在同一连接上,肯定不是重传的数据包)目的地址 10.0.0.10 目的端口是被测的
代理服务器端口 类型是ACK

我就想到了这个贴
ACK应该是TCP三步握手的最后一步(握手最后一个ACK是所有ACK包的充分条件,而不是必要条件),按理说不可能被广播,
而且我编程序从来不去动协议栈(协议本身应该不会出现过度重传的可能),不可能是我的程序具有广播ACK的功能
那为什么ACK会跑到整个局域网中去呢?
从tcpdump看数量是随机的,某些时刻一个都不出现,某些时刻tcpdump输出信息翻屏象飞一样
我曾经怀疑二层交换机是不是死掉了变成了HUB,但抓包程序看不到同在一起的二层交换机的非二层
广播包,而且10.0.0.13的ACK包的目的MAC也确实是10.0.0.10的网卡MAC地址

网管已经把防火墙上的10.0.0.0/24网段一律drop掉(防火墙内网地址是192.168.x.0/24)
我现在头疼的是:ACK为什么被广播出来了(TCP是点到点通讯,所以你所指的广播,应该是被大量发送的意思吧?)
如果ACK是TCP重传导致的,它也不该被广播啊
不久我要修改程序,需要将持续并发升到10000左右
跟网管PK的结果是,我的机器装2块网卡,一块专门和测试网10.0.0.0/24连接,
另一块接内网,严禁路由测试网络的包到内网

附:
所有的连接都是百兆,所有的网卡都是i82559,交换机都是二层的(有TP-LINK也有D-LINK),
防火墙负责NAT内网到公网

[ 本帖最后由 skipjack 于 2006-5-25 10:53 编辑 ]

论坛徽章:
0
70 [报告]
发表于 2006-05-25 10:55 |只看该作者
原帖由 cnadl 于 2006-5-23 09:13 发表
……为啥要换个机器回放?


避免包反弹回来
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP