如何将小米路由器4A百兆版Win10系统升级为Openwrt固件?

摘要:将原来的小米路由器换成了华为,早就听闻刷软路由可以实现去广告,解锁灰色歌单等诸多骚操作。就来榨取这个小米4A的剩余价值来着的。 注意 1. 必须使用路由模式,中继模式是打不开telnet的 更新固件 若已经是该版本也可不更新。 更新 WSL
将原来的小米路由器换成了华为,早就听闻刷软路由可以实现去广告,解锁灰色歌单等诸多骚操作。就来榨取这个小米4A的剩余价值来着的。 注意 1. 必须使用路由模式,中继模式是打不开telnet的 更新固件 若已经是该版本也可不更新。 更新 WSL 到 WSL2 先在系统中开启以下两项,以安装wsl 下载 微软wsl2更新包 并安装 使用powershell将默认的wsl环境设置为wsl2 wsl --set-default-version 2 详细可参考:Windows Subsystem for Linux Installation Guide for Windows 10 安装Kali WSL 此教程需在python环境下进行操作,在win10下Ubuntu wsl即可方便快速的进行操作。 此步骤可参考这篇的前部分内容:在商店中搜索Kali WSL 其它,类似安装Ubuntu WSL 进入文件管理器后直接找到源的路径,可以使用记事本快速完成源的修改。 kali 国内源: #中科大 deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib #阿里云 deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib #清华大学 deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free 也可以使用Anacoda 进行操作,不过若是在win中操作OpenWRTInvasion有个包pycrypto因旧为更新,可能安装比较麻烦,要使用C++打包工具进行编译,然后还可能报错。所以还是直接在Linux环境中会比较方便。 若使用Ubuntu 可以使用xfce4和xrdp配合win10远程桌面开启图形界面操作: WSL2使用xrdp实现图形桌面 安装相关环境 安装python # 执行以下两条命令: sudo apt-get install python3.6 sudo apt-get install python3-pip 安装Git apt-get install git 开启Kali WSL图形化界面操作 Kali官方提供了方便操作wsl系统的工具Win-KeX,安装: sudo apt install -y kali-win-kex Win-KeX基本操作: # 运行kex kex # 关闭或退出kex kex kill kex stop 若无法开启kex # 设置VNC不只接收本机的数据包,因为wsl2和win10 ip是两个网段 vncserver -localhost no # 关闭kex占有的端口 kex kill kex stop 或者尝试重启系统(物理机器的系统),一般都能连的上。 启动后界面: 利用路由器漏洞开启远程连接telnet 获取stok 进入路由器管理页http://192.168.31.1/,登录将地址复制一份,一般为: http://192.168.31.1/cgi-bin/luci/;stok=xxxxxxxxxxxxxx/web/home#router 这里的stok后的内容就是我们要的stok。 注:这里进路由器管理界面要在kali中的浏览器去进,然后使用其获取的stok。然后在kali中使用OpenWRTInvasion。不同的客户端在路由器获取的stok是不同的,若在本机浏览器中获取的stok,然后用其在kali中使用OpenWRTInvasion,可能会使其获取不到telent,然后连接的时候,就telnet: Unable to connect to remote host: Connection refused。 使用OpenWRTInvasion 利用OpenWRTInvasion库开启telnet,克隆此库: git clone https://github.com/shenmeiqian/OpenWRTInvasion.git 执行OpenWRTInvasion pip3 install -r requirements.txt # Install requirements python3 remote_command_execution_vulnerability.py # Run the script 然后: 按回车使用默认ip:192.168.31.1 将上一步获取的stok复制进去 执行后将自动开启telnet,完成后提示,就能用用户密码进行telnet连接了: done! Now you can connect to the router using several options: (user: root, password: root) telnet进入路由器,刷breed 远程工具下载 putty 和 WinSCP 绿色便携版 https://cloud.189.cn/t/iq2eEbqqYBji(访问码:8g5t) 登录路由器 在Kali中进行登录, telnet 192.168.31.1 若Kali中没安装telnet服务,则进行安装。或者可以在Win中使用putty进行登录,用户名是root,密码是空的: 备份eeprom eeprom中有路由器中的一些内容数据,之后要进行重新刷入,否则信号或稳定性会不佳。 dd if=/dev/mtd3 of=/tmp/eeprom.bin 使用WinSCP将备份的eeprom.bin取到电脑中 WinSCP登录 右键下载取回 刷入breed 获取bread # 此bread适合 小米3A,3C,4A百兆版,4C cd /tmp && wget --no-check-certificate https://breed.hackpascal.net/breed-mt7688-reset38.bin && mv breed-mt7688-reset38.bin breed.bin 也可先下载下来,然后使用WinSCP上传到路由器中。 2. 刷入bread mtd write breed.bin Bootloader 刷入Openwrt固件 固件下载 https://cloud.189.cn/t/FZFZZjrqQVJz(访问码:ysu3) 进bread 进入bread要使用网线,让电脑和路由器连接。刷入bread后,长按路由器reset后,电脑访问192.168.1.1。若要再次进bread也是如此操作。 刷eeprom,刷固件 将备份好的eeprom刷入 刷完后再将固件刷入即可。这里的固件相关信息: 管理地址:192.168.5.1 初始管理密码:password 无线wifi名称:openwrt 无线wifi密码:password 至此,全部操作完成: 总结 路由器内存太小,刷了也比较鸡肋,大概率还是得刷回官方版。