同一局域网内 PS5 的推流可以被 DNS 改道

PS5 推流时不把推流服务器地址写死,每次开播都靠 DNS 解析。同一局域网内,谁控制 PS5 拿到的 DNS,谁就能把它的 RTMP 流指向自己的机器,实时看到那路 1080p60 的画面。全程不用碰主机,不用改固件,也不用破解 TLS,改动全在网络层。手里有直播设备的团队,值得把它当成常规攻击面看一遍。

实测中两条推流路径表现完全不同。Twitch 侧的加密推流没能改道,YouTube 侧的明文推流被完整接收,最后生效的目标是直播平台的一个全局分发域名。

为什么加密那一关绕不过

PS5 走 Twitch 时会用系统信任的证书颁发机构校验服务端证书,自签名证书当场被拒。这一关客户端没有做错。被利用的缺口在另一侧,YouTube 的推流入口是明文 RTMP,端口 1935,不校验证书,谁控制 DNS 谁就拿到流。同一条路径上,协议选择直接决定攻击面大小。

流确实被完整收到,可 PS5 还会调 YouTube 的接口校验直播是否真的上线,约 60 秒后自动停播。DNS 日志里能看到解析链,最初的 ingest 域名只是发现节点,实际推流地址由全局分发域名再往下解析到具体区域节点。伪造这一个域名,就能覆盖所有推流子域名。

改道是怎么一步步搭起来的

研究者用一台带 OpenWrt 的路由器,通过 DHCP 给 PS5 单独下发 DNS 选项,把 PS5 的 DNS 指向自己机器的局域网地址。机器上跑 dnsmasq,对所有推流相关域名回本机地址。本机再用 nginx-rtmp-module 起 RTMP 服务,监听 1935 端口,应用名设为 ps5,开 live 模式,用 on_publish 回调通知一个菜单栏应用,弹出发流事件和本地播放地址。

关键在那个回调。没有它,研究者只能守在串口日志后面猜流什么时候进来。

收到的流是 1080p60 的 H.264 视频加 AAC 立体声音频,本地播放地址以 rtmp 开头,指向本机回环地址,路径上带应用名和流密钥。播放用 mpv 的低延迟配置加小音频缓冲,OBS 也能当接收端,录制或者二次转推都可以。整套实现开源,复现门槛在熟悉局域网的人手里很低。

哪些情况会中招

同一局域网是前提,家庭 WiFi、办公网络、公共热点都算。PS5 的 DNS 要由攻击者控制的 DHCP 下发,或者推流目标使用明文 RTMP。蜂窝热点且攻击者不在网内,走不通。推流强制 RTMPS 且证书校验严格,走不通。主机配了静态可信 DNS,也走不通。

远程攻击者不在目标局域网里,够不着这条路径。它吃的是本地信任,不是协议漏洞。

防护可以按这个顺序做

  1. 路由器上锁定可信 DNS,关掉未授权的 DHCP 服务端,避免同网段出现恶意 DHCP 抢答。
  2. 给推流机、游戏主机这类关键设备绑静态 IP,显式指定 DNS,不用自动获取的那一个。
  3. 开 DHCP 租约监控,出现陌生设备或异常 DNS 下发立刻排查。
  4. 直播账号启用二次验证,定期重置推流密钥,缩短密钥的有效期。
  5. 路由器管理界面用强密码,关掉 WAN 侧远程管理,别让人直接改写 DNS 配置。
  6. 有审计能力的网络,监控 1935 端口的目的地异常。

边界与常见问题

这算不算厂商漏洞。文章没有给出 PS5 的系统软件版本,也没有官方修复或公告,它更像一次攻击面演示。把推流设备换成摄像头、NVR、采集卡,任何按域名寻址的上行推流都吃同一套。

其他主机有没有同样问题。没有验证,不能推广。

企业网要做点什么。办公网和访客网隔离,推流设备放独立 VLAN,DHCP 只由受管交换机提供,出向 1935 的流量在网关上记账。这三条能抬高攻击门槛,对方得先拿到网络设备权限。

家用网络最小改动是什么。路由器上锁 DNS,再给主机绑静态 IP,两件事十分钟能做完。