小米路由器3a刷入openWRT
INTRO
目前 2025/08/22,这款路由器价格在十元到三十元之间,淘来刷软路由非常合适。
PREPARATION
需要下载的固件 :123684
需要的工具:termius,winSCP
刷入官改固件
- 打开 MIWIFI 后台,在系统维护页面手动上传升级固件
miwifi_r3a_all_da132_2.18.40.bin - 等待升级完成。
确认 Windows 版本
- Windows 10 至少 2004,内部版本至少 19041。
- Windows 11
开启与 WSL 相关的 Windows Features
开启 Windows Subsystem Linux 和 Virtual Machine Platform 并重启 Windows。
- 以管理员运行 PowerShell。
- 输入
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart您会得到如下输出
部署映像服务和管理工具版本: 10.0.26100.1150
映像版本: 10.0.26100.4652
启用一个或多个功能[==========================100.0%==========================]操作成功完成。接下来
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestartPath :Online : TrueRestartNeeded : False您需要重启 Windows。
安装 WSL
输入
wsl --install接下来就像正常 Ubuntu 设定一样,设置账户和密码,密码不显示是正常的。
正在下载: Ubuntu正在安装: Ubuntu已成功安装分发。可以通过 “wsl.exe -d Ubuntu” 启动它正在启动 Ubuntu...Provisioning the new WSL instance UbuntuThis might take a while...Create a default Unix user account: xiNew password:Retype new password:passwd: password updated successfullyTo run a command as administrator (user "root"), use "sudo <command>".See "man sudo_root" for details.
xi@SKYCHOW:/mnt/c/Users/33960$Ubuntu 环境即部署成功
部署解锁工具
- 在资源管理器中输入
\\wsl.localhost\Ubuntu进入 Ubuntu 文件管理,打开 home/< 这里的文件夹名称为您的用户名 >/ - 将
OpenWRTInvasion-0.0.10.tar.gz和setup_openwrt_invasion.sh移动到该目录。 - 使用
cd /home/xi命令,切换到该目录(自行更改 xi 为您的用户名) - 赋予执行权限
sudo chmod +x setup_openwrt_invasion.sh- 输入以下命令
cd OpenWRTInvasion-0.0.10- 更改库地址
nano script.sh由于原镜像失效,我们需要编辑 download 部分为如下内容
download_file_from_github() { # Rationale for using --insecure: https://github.com/acecilia/OpenWRTInvasion/issues/31#issuecomment-690755250 curl -L "https://gitee.com/juserzhang/OpenWRTInvasion/tree/master/script_tools$1" --insecure --output "$2"}然后ctrl x退出
- 运行
python3 remote_command_execution_vulnerability.py出现如下输出
Router IP address [press enter for using the default 'miwifi.com']: 192.168.31.1Enter router admin password: 12345678输入您的 IP 和后台密码即可 接下来会出现
There two options to provide the files needed for invasion: 1. Use a local TCP file server runing on random port to provide files in local directory `script_tools`. 2. Download needed files from remote github repository. (choose this option only if github is accessable inside router device.)Which option do you prefer? (default: 1)我们输入 2,回车即可运行
****************router_ip_address: 192.168.31.1stok: a80675f22f75d3281445ea2c2638f97efile provider: remote github repository****************start uploading config file...start exec command...done! Now you can connect to the router using several options: (user: root, password: root)* telnet 192.168.31.1* ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c 3des-cbc -o UserKnownHostsFile=/dev/null root@192.168.31.1* ftp: using a program like cyberduck出现如上输出,那么恭喜您,这部分步骤成功。
刷入 breed
- 打开 termius,通过 telnet 连接您的路由器,用户和密码均为 root
- 查看并备份分区
cat /proc/mtd备份分区,留意 factory 跟 BootLoader 对应的 mtd 分区,需要备份的是 factory 和 BootLoader
dd if=/dev/mtd4 of=/tmp/eeprom.bindd if=/dev/mtd1 of=/tmp/Bootloader.bin- 打开 WinSCP,协议选择 FTP,主机名为路由器 IP,密码和用户名为 root。
- 找到 tmp 目录,将
Bootloader.bin和eeprom.bin复制到 PC 上。并把 breed 复制进 tmp - 回到终端,cd 进 tmp 目录,开始刷入 breed
mtd write breed.bin Bootloader刷入 openwrt
- 确保电脑连接了路由器 LAN,拔掉路由器电源。按住复位键,再插入电源,等待指示灯闪烁后,松手。
- 输入
192.168.1.1进入 breed 后台,这里先查看 mac,若 mac 地址不正常,刷入先前备份的 eeprom。 - 固件选择 openwrt,刷入。这里我们使用的是 bilibili@ 小渔学长编译的 openwrt 固件。
成功
等待片刻,输入 10.32.0.1,密码 admin,进入 openwrt 后台,成功。
特别鸣谢
@ 没了钱咋办 @Lonny_Lee @ 正在摸鱼的 Liaronce @acecilia @hackpascal @ 小渔学长
这里是 Chongxi,期待与您的下一次见面。
Thanks for watching.
—Chongxi 2025-08-22