扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
2010年9月7日
关键字: 网络
我们学习了不少关于PPPOE的基础内容,对于PPPOE协议的应用,或者是PPPOE服务器的应用,很多朋友都还觉得比较飘渺。那么这里我们就来分享一下一个网友的实际经验。小区内,物业搞了根100M光纤,然后使用ROS做了个PPPOE服务器。网络具体的拓扑及ROS谁做的我不清楚。只知道,每户网线接在楼道交换机上,看了交换机,普通的交换机,想想广播域还是很大的,而且每户都是使用拨号上网。
朋 友申请了一个帐号,拿来用用,发现ROS(至于怎么样知道用的是ROS,是因为我在网络中抓了几个包,其中就有CDP的包)做得挺好,修改了下来数据的 TTL值(这点很容易发现,随便ping一个外网地址,返回的TTL为0),没办法做简单基于地址转换的代理;ROS内网接口屏蔽了ARP,连他内网地址 也没法访问。我要上网而没帐号怎么办呢。
想办法取别人的帐号,要不就是用一虚拟机器,装上ROS把TTL改回来,这样太麻烦。还是取两个帐号用用算了。
怎 么样才能取到别人上网的帐号和密码呢?如果大家对PPPOE熟悉的话都知道,PPP协议有个认证过程。认证方式有多种,其中最常见的就是PAP和 CHAP。PAP简单密码认证,发送的是明文的用户名和密码,CHAP称为挑战握手认证,密码不直接在数据包中,而是以密码算散列值。说到这里,如果我要 取别人的帐号密码,就必须让用户把认证的数据发送到我这里来,而且使用PAP认证,我通过抓包可以看到用户名和密码。我的做法是自己在虚拟机里建一ROS 的PPPOE服务器,认证方式仅仅为PAP,现在想办法把数据引到我这里来。思路是首先把用户搞掉线,很容易,以原PPPOE服务器MAC地址为源MAC 地址猛发送数据(任何数据,最好是免费ARP包1ms一次),这样一来,在所有交换机的MAC地址表中的原服务器MAC对应的port为离你最近的端口 (也就是说,所有发往原服务器的数据包都会发到你这里来),导致跟原服务器建立的PPPOE会话将会中断而用户掉线。掉线后,用户会重新拨号,拨号的数据 将会和你所建的PPPOE服务器建立会话,从而可以获取用户名和密码。
抓包工具和发包工具都可以使用sniffer软件。
几点建议:
1、兄弟们在做类似我现在的小区的ROS时注意一下,首先关闭所有不用的服务,这也是任何设备厂商数据设定规范里都会提到的。比如我例子中的CDP(MNDP),在CDP中可以发现其接口地址,主机名等信息。
2、修改TTL值时,不要包括ICMP协议的,一来不容被发现是修改了TTL值的,另一个路由跟踪不了是很老火的事情。
3、网内尽量减小广播域的范围,避免这种攻击造成的面积。
4、用户在设置PPPOE拨号客户端不要选择PAP,只选择CHAP,其他的象MSCHAP,如果数据不需要加密一般不用。这样即使象上述的攻击也仅仅导致用 户掉线,当与我PPPOE服务器使用LCP协商认证方式时不会协商成功,从而不会让我截取用户名和密码。
5、建立PPPOE拨号客户端时指定服务名(ISP名称),以便不选择其他的PPPOE服务器。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。