登录账号骗服务器,如何伪装成宽带拨号服务端来骗取拨号设备的账号和密码

时间: 2023-10-04 admin IT培训

登录账号骗服务器,如何伪装成宽带拨号服务端来骗取拨号设备的账号和密码

登录账号骗服务器,如何伪装成宽带拨号服务端来骗取拨号设备的账号和密码

先想想为什么我们要干这件事,像我只是换路由器的时候忘记了宽带的拨号账号和密码才这么干。至于你可能想着去搞IPTV盒子的账号密码或者是别人的路由器拨号账号密码,这种坏事我绝对没想过。

想要骗得宽带拨号的账号和密码,就得了解拨号设备在什么样的条件下才能够把账号和密码吐出来,在设备吐账号密码之前需要哪些条件,我们要做哪些前期的铺垫工作。

根据rfc2516的文档里的描述,PPPoE包含发现和会话两个阶段,发现阶段是拨号设备和服务器建立握手连接的过程,目的是获得服务器的MAC地址、Host-uniq(主机唯一标识)及AC-Cookie(防恶意DOS)等,并且建立起一个唯一的会话ID(sessionid)。

PPPoE发现阶段的交互过程:

WireShark抓包出来的交互过程:

所以,在前期的会话阶段,作为欺骗端的我们,只做两件事:1.响应拨号请求。2.给对方发送一个2Bytes的会话ID。

有了会话ID后,发现阶段就算是顺利的完成了,数据包交互就进入了会话阶段。在会话阶段里,传输的是PPP的信息,以太网包的类型就变为0x8864,PPPoE的code字段必须设置为0,而sessionid就不能改变,如果改变了,交互就失效了,对方就不会发送账号密码出来了。

刚进入到会话阶段时,需要使用LCP链路控制协议对链路做些基本的配置,拨号设备一般是要求配置MRU(Maximum-Receive-Unit)最大接收单元,就是告诉对方我最大能收你多大的包,你要是超过了我就收不全你的信息。还有一个是MagicNumber,这是PPP用来检测链路是否发生自环的标记,当我收到跟我发出一样的MagicNumber时,就证明PPP有环路了。

WireShark抓包出来的交互过程:

而我们欺骗端呢,收到对方的链路配置请求后一定在响应包里答应它(如果不答应呢拨号端就不跟你玩了),告诉对方你的MRU和MagicNumber都没问题,然后提出欺骗端的要求,欺骗的要求除了MRU和MagicNumber,还有一个密码的验证方式,一般会有两种,PAP和CHAP。CHAP会把账号跟密码加密后发出来,显然这不是我们想要的。而欺骗端要求了PAP的发送方式,拨号端就会把账号密码以明文的方式发送出来。

当欺骗端发出配置请求后,我们就等待拨号端发出账号密码后解析出来就可以了,工具请参考宽带账号密码召回大师,相关代码后续阶段发出。