稻草软件论坛's Archiver

crazysteven 发表于 2010-11-30 13:44

在Linux下搞定了xx电信的PPPOE认证 (转自熊叔国外blog)

[i=s] 本帖最后由 crazysteven 于 2010-11-30 13:48 编辑 [/i]

既然有人说我做了重复的工作,我Google一下,果然如此,送上链接:[url=http://cookinglinux.cn/pppoe-share.html][color=#0000ff]http://cookinglinux.cn/pppoe-share.html[/color][/url] (貌似挂了)
顺便说一句,其实仅仅想破解他的反代理就更简单了,随便找个无关紧要的程序,比如ping.exe替换安装目录下的netsvchost.exe就行- -
===原文分割线≡ω≡===
xx电信最近吧PPPOE客户端升级到了一个恶心的东西上,虽然说这个东西要比那个什么狗屁DrCom要强一些,起码不会弹广告,但是一个 PPPOE拨号器竟然能用到16M内存,这是什么精神?这是在经济危机的大环境下拉动内存内需的国际主义精神啊!而且最恶心的是这东西还封装了防代理。严重的干扰和违背了网络中立性的原则(虽然这在天朝是潜规则)。
当然,一如既往的,电信也不会提供Linux的接入方法的。所以某熊遵循太祖的教导,自己动手丰衣足食。先逆向了那个拨号器,然后又山寨了一套linux用的算法。
其实某熊根本没好好学过汇编,对Linux也是二把刀水平,但是他的拨号器太弱智,所以没费多大劲就搞定了。
直接出结果好了,其实他的认证就是在用户名前面添加了一段字符串(似乎基本上所有的PPPOE认证都这么玩?比如臭名昭著的互联星空),结构如下:
(注:算法已经失效,自己继续研究去吧:lol )
[color=#ff00]首先是一个头:~[color=red]ghca[/color] 意味不明。然后紧跟一个随机生成的8字符的token(官方实现和时间有关但是仅仅用时间当作随机源),然后是分隔符1000,之后是一个MD5 Hash,Hash的内容是前面的token+”EXTR”+用户名 取前10字节用16进制表示。最后就是用户名了,而密码没有处理。[/color]
[color=#ff00]注:各位仁兄,希望您嘴下留情,不要到处传播,也不要搞什么太大的、过火的动作,自己偷着乐就行了,维护自己的权益但是一切以不伤害他人利益为原则吧,我被电信换客户端弄烦了,而且PPPOE要比那个DRCOM方便很多。再次拜谢。[/color]
知道了这些自然就可以写出一个pppd的插件hook用户名和密码提交就行了。插件写的很烂代码,在后面留着刷屏用。正文最后再吐槽一下电信竟然用PAP认证,拜托你是在校园网环境下提供接入唉,就不考虑一下嗅探之类的问题么- –
使用方法:

下载ppp的源码,吧代码放到pppd/plugins里面 用cc -I.. -I../../include -shared -o [b]ghca[/b].so [b]ghca[/b].c编译。
编辑/etc/ppp/options (或者其他的options文件,看你自己的设定了) 添加:
plugins /path/to/your/[b]ghca[/b].so
ghca_user 用户名
ghca_passwd 密码
就可以了。
[color=#ffffff][s]反[/s][/color]
[color=#ffffff][s]正[/s][/color]
[color=#ffffff][s][color=red]以下代买比较陈旧,算法已经过期,所以划去了。。。。。囧,不要怪我我[/color][/s][/color][color=#ffffff][s]
[color=blue]====代码刷屏分割线====[/color]
[color=blue][/color][/s][/color]**** Hidden Message *****[/i]

fzzt 发表于 2011-3-1 15:52

路过看看……

liyafe1997 发表于 2012-5-25 22:35

呵呵,这帖子当时我都没有看到啊。
现在才发现。

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.

桂ICP备09005550号