Pppoe密码嗅探

Pppoe密码嗅探

pppoe密码嗅探是一个老话题了。苦于没有环境(懒),今天刚有机会实操一下,简单记录。

前言#舍友跑路了,之前路由器都是他管理的。不知心理原因还是如何,感觉网络不太稳定,遂想重置一下路由器,可是宽带密码多少来着?想起路由器现在都带有密码的自动获取功能(两路由器相连),推测PPPOE也是一个明文协议,我决定嗅探一下。

尝试#首先将路由器的wan接入电脑的网线口,打开wireshark。只看到一堆PPPOE的PADI包,但是并没有要发送密码的意思。会不会需要服务器做回应才行呢?

于是我找到了两个用代码模拟pppoe服务的项目。

https://github.com/Karblue/PPPoE-hijack#6年前的项目。还是python2的。不过可能scapy版本问题,亦或者其他原因。在line 122 一直报错。

#发送lcp-config-req回执包

def send_lcp_req_packet(self, raw):

#实际client payload

raw = copy.deepcopy(raw)

raw.dst, raw.src = raw.src, raw.dst

_rawnLoad = raw.load

https://github.com/LuckyC4t/pppoe-hijack-go#该项目号称上面的go重构,基于go的跨平台特性。我在服务器上编译了exe文件后拖回本地。执行提示2021/09/05 xx:xx:xx Realtek USB GbE Family Controller #2: No such device exists (No such device exists),而后一番debug,发现原来是pcap.OpenLive中device的参数在windows下是需要网卡参数为\Device\NPF_{xxxxx}格式。最后终于能跑起来了,但是一直陷入了

Received LCP-Config-Req

send LCP Ack packet...

send LCP Reject packet...

中。于是我尝试变换思路,既然代码伪造pppoe有问题,那我为什么不能安装一个pppoe的server呢?于是尝试在windows子系统中安装。不过无论如何也不能启动pppoe-server。

$ pppoe-server

pppoe: socket: Address family not supported by protocol

于是只好拿出我雪藏已久的deepin真机,一发入魂。

## 安装pppoe并创建用户

apt update

apt install -y pppoe tshark

touch /etc/ppp/pppoe-server-options

echo "require-pap" > /etc/ppp/pppoe-server-options

echo "lcp-echo-interval 10" >> /etc/ppp/pppoe-server-options

echo "lcp-echo-failure 2" >> /etc/ppp/pppoe-server-options

echo "* * * *" > /etc/ppp/pap-secrets

## 启动服务与抓包,需要配置eth0为真实网卡

/usr/sbin/pppoe-server -L 10.5.5.1 -R 10.5.5.10 -I eth0 -S yyf

tshark -i eth0 -Y "pap.password" -l -T fields -e pap.peer_id -e pap.password

注意:我们会收到很多的密码,因为路由器内置了多种加密、编码认证方式。比如用户名加前缀、密码md5等。取较多重合部分的就是真正的用户名与密码了。

相关手记

beat365英超欧冠比分 和田旅游最值得去的景点排行榜
365彩票最新版app下载 美的集团曾想收购的伊莱克斯,在中国怎么样了?
beat365英超欧冠比分 EMPATHY中文(简体)翻译:剑桥词典
beat365英超欧冠比分 解放军还有哪些女将军?
beat365英超欧冠比分 最佳取名网站推荐,正规起名软件大揭秘
365bet取款要多久 圆通快递的客服为什么打不通