随着网络技术的高速发展,不同接入方式也因此步入我们的生活当时,从中最为普遍的两种接入方式为ADSL接入和FTTx+LAN接入方式,ADSL即非对称数字用户线路,是一种通过普通电话线和ADSL MODEM虚拟拨号到远程ISP的PPPOE服务器,从PPPOE服务器上获取一个动态的IP地址来上网的,而另一种FTTx+LAN接入方式是通过光纤到一个小区的中心交换机,小区里的用户是不需要通过ADSL MODEM,而是直接连接到楼层的交换机上,进行虚拟拨号到远程ISP的PPPOE服务器,进行上网,这也就是人们常说的小区宽带了。在小区宽带里我们可以利用PPPOE验证的缺陷来盗获别人的帐号和密码。
首先,我们先来简单了解一下PPPOE验证的大概过程(详细的大家可以上网搜索)。假如在小区宽带(相当于一个局域网里)某一客户端要与远程的 PPPOE服务进行身份验证,PPPOE会话由发现阶段和PPP阶段组成,当一个客户端想开始一个PPPoE会话时,它必须首先进行发现阶段以识别对端的以太网MAC地址,并建立一个PPPoE会话ID。在发现阶段,是基于网络的拓扑,客户端可以发现多个PPPoE服务器。并且在发现阶段允许客户端找到所有的PPPoE服务器,然后可以从中选择一个,不过通常都是选择反应最快的一个,这与DHCP发现过程是不是很类似?当发现阶段成功完成,客户端和它选择的PPPoE服务器都有了它们在以太网上建立PPP连接的信息。直到PPP会话建立,发现阶段一直保持无状态。一旦PPP会话建立,客户端和PPPoE服务器都必须为PPP虚拟接口分配IP资源。
由于PPPOE验证并不是一定要验证到电信或网通的PPPOE服务器上的,而是通过广播方式寻找最近的PPPOE服务器进行身份验证,这正因为这一点,我们可以在本地架设一个PPPOE服务器,那么我们这个小区里,只要在同一个交换机上的用户,恐怕都要验证到我的电脑上来了,我就可以轻松地获取到他们帐号和密码了。下面我通过 RASPPPOE_099和windows server 2003的路由与远程访问功能实现一台真正的PPPOE服务器。
架设PPPOE服务器
首先,我们需要一款叫RASPPPOE_99的软件,事先要解压缩到桌面(无论解压缩到那里都没有关系),这是一款能将本机设置成一台PPPOE 服务器的软件,先将软件安装好,打开“本地连接”的属性,点击“安装”,再选择“协议”,然后再点击“添加”,再单击“从磁盘安装”,如图1:
选择好RASPPPOE_99所在目录,点击“确定”,会自动弹出一个选择网络协议的对话框,将里面的“ppp over Ethernet protocol”选中,如图2:
最后点击“确定”,待安装完成后,在“本地连接”的属性里会多出一个ppp over Ethernet protocol的选项,确定。如图3:
然后自己先拨号上网,再选择TCP/IP属性,给本机设置一个IP地址:192.168.0.4 255.255.255.0,DNS一定要设置(DNS根据自己当前拨号上网的电信或网通的DNS,可以在CMD中用ipconfig/all查询),其他为空。
到这里我们的电脑已经是一台PPPOE的服务器了,但是我们还需要另外一个功能,也就是Windows server 2003路由与远程访问功能的辅助。
打开“管理工具”,运行“路由与远程访问”管理单元,然后在窗口中右击XTAFLF-KYJX17IB(本地)图标(注:XTAFLF- KYJX17IB是计算机名),选择“配置并启用路由与远程访问”,在安装向导里点击“下一步”,选中“远程访问(拨号或VPN)”,再“下一步”,选中“拨号”如图4,再“下一步”,选中“来自一个指定的地址范围”。
“下一步”,新建一个IP地址的范围:192.168.0.5-192.168.0.253,确定,再“下一步”选中“否,使用路由和远程访问来对连接进行身份验证”,再“下一步”。
最后点击“完成”,会弹出一个远程路由访问的对话框,你再点击“确定”,好,这里路由和远程访问就开始启用了。
再右击XTAFLF-KYJX17IB(本地)图标选“属性”,点击“安全”再单击“身份验证方法”在“不加密的密码(PAP)”前打勾,将其他的勾全部去掉,确定。如图6。
再点击“远程访问策略”,右击右面的“到Microsoft路由选择和远程访问服务器的连接”选“属性”再选中“授予远程访问权限”,然后再点击“编辑配置文件”,切换到“身价验证”,只要在“未加密的身份验证”,前打“勾”,其他全部为空。确定,再切换到加密,在里面选中无加密,如图7:
会弹出一个帮助主题,大家点“否”就可以了,再回到“远程访问策略”,再右击“到其他访问服务器的连接”的属性,设置和刚才“到Microsoft路由选择和远程访问服务器的连接”是一样的。再点击“远程访问记录”右击“本地文件”选属性,将设置里面的三个记录选项全部打上勾,这样系统会自动记录当前在拨号的用户,记录下来的文件会保存在c:/windows/system32/ LogFiles/以IN时间命名.log的文件中(注:如果此时没有人在拨号的话,是不会生成IN时间命名.log,文件里记录的内容只有拨号的帐号,要想得以密码要进一步地去监听).