在 用 PPPwn_cpp 在 Mac 上折腾 PS4 中,我们介绍了如何使用 PPPwn_cpp 在 Mac 上折腾 PS4。其实不只是 Mac,只要能运行 PPPwn_cpp 的设备,都可以用来折腾 PS4,比如小米路由器。
总共分三步:
- 使用 OpenWRTInvasion 获取小米路由器 Root Shell 权限
- 能够在小米路由器中运行 PPPwn_cpp
- 编写脚本,配置路由器开机自动执行
获取小米路由器 Root Shell 权限
获取小米路由器 Root Shell 权限的方式可参考 小米 4A 千兆版路由器禁 ping 中内容,主要是执行 OpenWRTInvasion 工程中的 remote_command_execution_vulnerability.py
脚本,即便不是在 支持列表 中标明支持的设备和固件版本,也有可能成功,比如小米 4A 千兆版 2.28.58
固件、MiWiFi-R3-2.26.39
都可以成功获得 Root Shell 权限。
$ cd OpenWRTInvasion
$ conda activate openwrt
$ python remote_command_execution_vulnerability.py
成功后可根据提示,通过 SSH 登录到路由器。
在小米路由器中运行 PPPwn_cpp
小米路由器是 mipsel 架构的,pppwn_cpp 可以使用 https://github.com/xfangfang/PPPwn_cpp/releases/tag/1.1.0 里的 https://github.com/xfangfang/PPPwn_cpp/releases/download/1.1.0/mipsel-linux-musl.zip 版本。
此处需注意,通过获取 Root Shell 权限后提供的 ftp 方式上传文件,可能存在传输后文件 MD5 不一致的问题,可通过 http + wget 方式解决,即将要上传到路由器中的文件发布到一个 http 服务中,在路由器中通过 wget 命令获得文件。
将 pppwn_cpp、stage1.bin 和 stage2.bin 上传到路由器后,可在路由器中执行 pppwn list
查看网络接口,网口使用中间 Lan 口时,网络接口名为 eth0.1
(不同硬件环境网络接口名可能不同)。
配置路由器开机自动执行
依据环境实际情况,编写执行 pppwn 脚本 pppwn_start.sh
,如:
nohup /data/usr/pppwn --interface eth0.1 --fw 960 --stage1 /data/usr/stage1.bin --stage2 /data/usr/stage2_9.60.bin --timeout 10 --auto-retry >> /var/log/pppwn_start.log 2>&1 &
为 pppwn_start.sh
赋予可执行权限后,将其放入 /etc/init.d
路径下(小米路由器中放入 /etc/init.d
下的文件会同时出现在 /data/etc/init.d
),即可实现路由器开机自动执行。
pppwn_cpp 启动后会监听配置的网络端口,可实现开启路由后无人值守自动折腾 PS4,无需在 PS4 上进行任何操作(首次折腾之后,第二次开始),无论路由和 PS4 哪个先开机。