首页
社区
课程
招聘
[旧帖] [求助]PPPOE拨号问题。。。 0.00雪花
发表于: 2012-3-7 06:35 2960

[旧帖] [求助]PPPOE拨号问题。。。 0.00雪花

2012-3-7 06:35
2960
最近一直在弄恶心的湖北校园版e信上网的问题。。。
主系统ubuntu,虚拟机xp。

想用nat的方法,在xp下面用netkeeper.exe拨号,然后ubuntu上网,可是提示找不到设备。。。
换用bridged adapter的方法。。。可以连上但是ubuntu不能上网。。。

用代理什么的想过,但是如果用代理,虚拟的xp就要一直开着。。。太占资源了。。。
所以想用下面的方法:

1. 用ollydbg找出算法。。。然后写脚本拨号。
2. 在xp下面拨号发送帐号前拦截下来真实帐号,然后到ubuntu下换用脚本拨号。。。

用上面的1方法,查netkeeper的壳貌似是vmprotect,这壳暴强。。。虚拟机的壳,我是完全没办法。
我用排除的方法,能够正常拨号,需要的最少的dll/exe文件就:
NetKeeper.exe
raslib4vc6.dll
StringList.dll
xinliPPPoE.dll


下面这些肯定不含加密算法所以就留下了:
lang[文件夹]
ams.nkd
aserctl
bindconfirm.dat
CheckPin.log
connprop.ini
Credit
hbui
old_port.ini
Settings.dat
version.ini




然后用peid看了下剩下文件的输入表。
xinliPPPoE.dll 文件里有 dial isconnectd init 等等类似的函数。
猜测大概这个就是拨号的东西了。。。(没用系统函数的真好。。。)
然后就od载入 xinliPPPoE.dll 在 dial init isconnectd getdialtoken 这几个函数入口下了断点。

然后关了od,接着打开科来网络分析系统,监测本地网卡。只监测ppp协议。
前面抓包,可以看到当时正常拨号的帐号,帐号的前面有个0x0D 0x0A,即回车符。




打开 netkeeper.exe ,用od附加(直接用od载入会一直在ntdll领空循环。。。)。
然后直接F9运行,这时候点链接。
马上od就停在了getdialtoken函数这里。



这个时候在下面内存窗口里是可以看到帐号前面加密的东西的。。
而且这时候科来网络分析系统里面没有ppp协议通过。

所以这时候就想把帐号前面加密的东西加上帐号用系统自带的拨号。。
可是整个帐号前面还有个 0x0D 0x0A ,windows下系统自带的拨号没法输入0x0D 0x0A。

现在在linux下弄,shell脚本一点都不会。。。所以也没办法验证。。。

#!/bin/bash

cd $(dirname $0)

#用户名:
username=
#密码:
password=

poff -a > /dev/null

#想知道这里怎么在前面加上一个回车符。。我这么做肯定是错的。。。这又不是c。。。
realusername=0x0D 0x0A$username

cp HFDial.pppoe temp

echo "user \"$realusername\"" >> temp
echo "password \"$password\"" >> temp

mv temp /etc/ppp/peers/dsl-provider
pon dsl-provider > /dev/null
sleep 1

rm Netkeeper.dat


要是你们说时间过了加密帐号就和原来不同。其实不是。
只要没验证,就还可以用。。。
因为用od在getdialtoken函数断下很长时间之后我还没办法验证帐号的时候,我继续F9让它继续跑,
中间至少过了几分钟,它还是拨号成功了。。。



看了科来网络分析系统里面帐号和od断在getdialtoken函数处的帐号一样。

so。。。求教前面加一个0x0D 0x0A 换行符的pppoe拨号shell脚本怎么写。。。
另外windows下有什么办法能用带换行符的帐号拨号的方法么?


求找算法的指导。。。

稍后上图,我切到windows下去截图。

=====
http://115.com/file/anqcmdoa#
NKSetup.exe原版提取安装包,这破东西有个驱动,自动安装到%programfiles%\ChinaNetSn后退出,用uninst.exe 可完全卸载。

http://115.com/file/e76jboqz#
ChinaNetSn.7z 这个是上面精简过的压缩打包。

=====
要是让我写这个软件的话,我肯定不用客户端机器上的时间,这个时间不一定会和服务器上的时间相同。
就先让连接拨号服务器(就大概这么描述)这时候肯定会有数据包发过来,就直接用这个数据包上的时间戳。
服务器上也用这个时间戳。然后各自用时间算出账号,然后“等”客户端发过来验证。
我尝试过,即使修改本机时间,科来网络分析里面的ppp协议数据包时间戳还是不变。。。
然后,即使过了1秒以上,过一会再发送账号拨号还是可以拨号成功,那说明拨号服务器确实在等客户端。。。

==========
那啥。。。可以求注册码咩。。。
=====
在ubuntu论坛发过一次:http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=366417

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
先来支持一次,想学习的
2012-3-7 08:03
0
雪    币: 190
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
不错,貌似很强悍!!
2012-3-7 10:31
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
从头学起,实用主义
2012-11-8 14:21
0
雪    币: 37
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我们学校的拨号就是一个单纯的客户端,也不用安装,直接下载下来输入登陆账号密码就可以了
但是账号和密码是绑定每个人的学号和饭卡的
收费方式就是计时收费
    1,直接把SetTimer去掉后可以运行,但是估计没这么简单
    2,爆破的话,又涉及到系统函数
哎,搞了两天,还是没什么进展
2012-11-27 15:12
0
雪    币: 329
活跃值: (235)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
6
居然用的是PAP 明文验证,那直接用抓包就可以得到真实密码了啦、

去我博客看看吧,那有我对我们学校的拨号客户端的破解的一些过程的笔记,不过可能有些潦草。www.purpleroc.com

除非是重写了协议,不然直接对rasdial下断是可以断下来的。然后分析其中的真实账号密码。

另外,五楼的那事,你拨上号之后,它不会更具你这里的时间来算的,而是更具服务器那边,你有流量通过的时间来计算的。

另外,windows下面自带的拨号器是不可以手动输入特殊字符,但你可以用DOS命令实现拨号。
2012-11-27 22:43
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
强,学习了,呵呵,
2012-11-28 21:54
0
雪    币: 85
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
呵呵。。。。
2012-11-29 17:02
0
游客
登录 | 注册 方可回帖
返回
//