回忆而成,有些不准确。仅供参考。拖太久懒得补全了,breed 最后没能成功,希望有些帮助


更新:2022.08 用编程器救回来了,编程器固件在小渔学长的网盘里。breed也刷成了,注意eeprom在0x30000,系统刷在0x160000


所需材料:一根网线,(TTL线+CH340的拆机线刷时代已经过去了,但救砖有用)

0x01 获取root权限,打开telnet后门

项目地址:https://github.com/acecilia/OpenWRTInvasion

参照项目Readme,打开后门shell

#拉取代码
git clone https://github.com/acecilia/OpenWRTInvasion.git
cd OpenWRTInvasion
# Install requirements
pip3 install -r requirements.txt 
# Run the script
python3 remote_command_execution_vulnerability.py 

先登录到路由管理界面,取链接中的stok

http://192.168.31.1/cgi-bin/luci/;stok=xxxxxxxxxx/web/home#router

之后填写路由ip地址和stok,回车便能自动利用漏洞了。

telnet <router_ip_address>

telnet 登录路由,默认用户名和密码都是root

当看到雷总经典的ARE U OK,恭喜你已经骇入了第一步

WindowsTerminal_kYT64QRC1s.png

0x02 备份固件,EEPROM

查看分区和备份

cat /proc/mtd

WindowsTerminal_v26qYu4a9n.png

记住这张表,相当重要。

0x03 刷Breed

写入Breed,不死的Bootloader,借由它来刷其他固件,类比安卓手机上的TWRP

Breed更新帖:https://www.right.com.cn/forum/thread-161906-1-1.html

Breed固件:https://breed.hackpascal.net/breed-mt7688-reset38.bin

由于最后一步误判导致难以挽回的变砖,但过程应该可行。在此记录,供参考。

具体过程忘了,简单说下,是因为在Breed下用TG群的包全量覆写了系统,把Breed刷没了,纯作死,所以一般Breed还是不灭的。

0x04 直刷OpenWrt

OpenWrt官方至今 (2021/02) 仍无4C的稳定版镜像,只好下载Snap使用

https://downloads.openwrt.org/snapshots/targets/ramips/mt76x8/openwrt-ramips-mt76x8-xiaomi_mi-router-4c-squashfs-sysupgrade.bin

截至2022.08 已经有正式版镜像了

https://downloads.openwrt.org/releases/<版本号>/targets/ramips/mt76x8/openwrt-<版本号>-ramips-mt76x8-xiaomi_mi-router-4c-squashfs-sysupgrade.bin

可以用Breed刷也可以用命令行。

刷入后,当你想访问192.168.1.1时却只能盼来个超时错误(由此跌入一个大坑)

此时别着急,因为Snap镜像是不带Luci界面的,当你能通过ssh进入时,就说明已经成功了

WindowsTerminal_KizIkVoYao.png

令人泪目的Wireless Freedom

从实际操作来看,命令行能快一些,至少稳定,且有个进度条看,而不是像Breed web界面一样卡到怀疑人生(

breed刷机后不能正常启动的问题,感谢这位老哥: https://www.right.com.cn/forum/thread-4067036-1-1.html

根本原因Breed默认的闪存布局与4c不一致,刷错区了,可以看到上面的分区表OS1的地址是0x160000,覆写到这段即可

WindowsTerminal_f5mz8i8za5.png

Breed刷错区的情况:

最后情况:通电后闪了一下蓝灯,再也无反应,估计可能把uboot刷没了,可能TTL都没戏,编程器刷闪存或许有救,但也没折腾了

也许有最后一招,但没试了:编程器刷芯片 https://www.bilibili.com/video/av710047945/

0x05 配置luci

openwrt 手动装luci:https://www.logcg.com/archives/608.html

opkg update

opkg install luci luci-i18n-base-zh-cn

每次更新系统后

装luci

装luci-app-frpc

配置frpc ,暴露ssh 和 luci ,http不用配端口,端口都是在frps搞定的

(得找个法子备份frpc.ini

Snapshot无法更新包: https://forum.openwrt.org/t/luci-fails-to-install-with-latest-snapshot-for-wavlink-wl-wn577a2/95183

更多参考

当初是因为折腾的时候没一个教程才动笔的,现在看来遍地开花,请参考别的大佬的,写得更详细 = =

小米路由器4C刷openwrt | BBSD丿草丶帽的个人博客/

小米路由器4C刷openwrt(详细步骤) | BBSD丿草丶帽的个人博客

小米路由器4C 刷 OpenWrt - Tou's 笔记空间

【小渔】无需拆机或u盘!ssh小米路由3G 3a 3c 4c 4a百兆和千兆版本等开启 telnet 刷breed - 我来时天晴,你来时风止