小米路由器4A千兆版 OpenWRTInvasion 刷机教程

2023-11-03

2023-03-23 补充内容:
最近又入手一台小米路由器4A千兆版,打算通过 CH341A 编程器刷成老毛子的,结果一拆机傻眼了,整个电路板上的芯片和硬件布局都换了。如果最近想刷机的先别着急开刷,先看看这篇文章:小米路由器4A千兆版更换5G芯片和硬件布局后出现的刷机问题

对于不同品牌的路由器刷机基本操作方法都是大同小异,大致可以分为两种方法:

  1. 通过登录路由器后台刷机
  2. 通过 CH341A 编程器刷机

通过登录路由器后台刷机

通过登录路由器后台刷机的步骤一般有三步:

  1. 获取原厂固件的 ssh 登录权限
  2. 刷入 Breed 或者直接刷入第三方路由器固件
  3. 通过 Breed Web 恢复控制台刷入第三方路由器固件

第一步:获取原厂固件的 ssh 登录权限

有些厂商的路由器会提供原厂固件的 ssh 登录权限,有些则需要通过原厂固件漏洞等方式来获取路由器后台登录权限,比如:小米路由器就需要先通过 OpenWRTInvasion 破解路由登录权限。

2023-03-23 补充内容:
小米路由器4A千兆版是利用 2.28.62 版本固件的一个 Shell 命令注入的漏洞,所以要想刷机成功就必须得降级到这个版本(2.28.62 之后的新版本应该是将这个漏洞修复了,我再次通过 OpenWRTInvasion 没获取到 ssh 登录权,所有刷的时候尽量在 2.28.62 这个固件版本下刷机)。

git clone https://github.com/acecilia/OpenWRTInvasion.git
cd OpenWRTInvasion/
pip install -r requirements.txt
python remote_command_execution_vulnerability.py

具体操作步骤可以参考 https://github.com/acecilia/OpenWRTInvasion/ 的方法,等参数配置好之后就可以通过 ssh 或 telnet 的方式登录到路由器后台了。

telnet 192.168.31.1
ssh root@192.168.31.1

第二步:刷入 Breed 或者直接刷入第三方路由器固件

登录到路由器后台就可以通过命令行将第三方路由器固件刷到路由器中了。但是,对于路由器这类的嵌入式设备刷机有很大的可能会变砖。

为了防止我们的路由器有变砖的风险,一般会在刷入第三方路由器固件之前先刷入 Breed

Breed 是国内个人 hackpascal 开发的闭源 Bootloader,也被称为“不死鸟”。

因为有些官方升级固件自带 bootloader,如果从官方固件升级,会导致现有 bootloader 被覆盖。而当 Breed 更新固件时,它会自动删除固件附带的引导加载程序,因此可以防止 Breed 被覆盖。

Breed 拥有以下特性:

  • 实时刷机进度,进度条能准确反映刷机进度
  • Web 页面快速响应
  • 最大固件备份速度,依 Flash 而定,一般能达到 1MB/s
  • 免按复位键进入 Web 刷机模式
  • Telnet 功能,免 TTL 进入 Breed 命令控制台
  • 复位键定义测试功能
  • 固件启动失败自动进入 Web 刷机模式
  • 可自定义位置和大小的环境变量块

由于是闭源,无法进行二次开发,所有支持的设备均由 hackpascal 一人完成。在 2020-10-09 后已经停止版本更新,但官网目前仍然开放所有的 Breed 下载。

一句话概括就是:Breed 是操作系统,第三方路由器固件是应用软件,软件频繁更换和安装不会影响操作系统。

备份分区数据:
刷固件之前最后先将官方固件做一个备份(可选)。

cat /proc/mtd
dd if=/dev/mtd0 of=/tmp/all.bin
dd if=/dev/mtd1 of=/tmp/Bootloader.bin
dd if=/dev/mtd3 of=/tmp/eeprom.bin

下载 Breed:

Breed 下载地址:https://breed.hackpascal.net/

小米路由器4A千兆版的系统里没有 crulscpwget… 这些工具,所以我现将 Breed 在本机上下载好,然后通过 ftp(Linux)或 WinSCP (Windows)的方式传输到路由器系统中。

然后通过 mtd 命令刷入 Breed

cd /tmp
mtd -r write breed-mt7621-pbr-m1.bin Bootloader

请添加图片描述

直接刷第三方路由器固件:

当然可以不刷 Breed,直接刷入第三方路由器固件。例如:小米路由器4A千兆版刷 OpenWRT 固件。

OpenWRT下载地址:https://downloads.openwrt.org/releases/21.02.3/targets/ramips/mt7621/
在这里插入图片描述
找到对应型号:openwrt-21.02.3-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin

cd /tmp
mtd -e OS1 -r write openwrt-21.02.3-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin OS1

第三步:通过 Breed Web 恢复控制台刷入第三方路由器固件

当我们刷入 Breed 后就相当于是给路由器装了个操作系统,可以在上面随意刷入第三方路由器固件,一般情况下不会出现变砖的风险。

OpenWRT

一般情况都安装 OpenWRT 或者是魔改后的 OpenWRT,小米路由器本身也是魔改的 OpenWRT
OpenWRT官网下载地址:https://downloads.openwrt.org/releases/21.02.3/targets/ramips/mt7621/
默认账户:root
OpenWRT魔改下载地址:https://download.csdn.net/download/yilovexing/87600550
默认账户:root
默认密码:coolxiaomi

Padavan

据说小米路由器使用老毛子固件更稳定,我也没有具体去考证,也不知道是不是真的。反正我是比较喜欢用 Padavan,无论是界面还是稳定性都不错(还有个使用老毛子的原因是 2022-07-24 Breed 进行了重大更新,OpenWrt 不再支持直接用底包刷固件了。)!

Padavan官网源码:https://bitbucket.org/padavan/rt-n56u/src/master/
Padavan下载地址:https://opt.cn2qq.com/padavan/
默认账户:admin
默认密码:admin
请添加图片描述
刷 Padavan 固件。
在这里插入图片描述

第二种方法就是通过 CH341A 编程器刷机,由于篇幅的原因这部分内容就留到下次博客了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

小米路由器4A千兆版 OpenWRTInvasion 刷机教程 的相关文章

随机推荐

  • k8s 部署 websocet-bench 测试 socket.io

    k8s 部署 websocet bench 测试 socket io 简介 编译websocket bench 镜像 根据情况编写generator 编写yaml 启动测试 简介 github项目地址 websocket bench是一款能
  • SemanticKITTI 数据集(ICCV 2019)

    SemanticKITTI 数据集 A Dataset for Semantic Scene Understanding of LiDAR Sequences 用于LiDAR序列语义场景理解的数据集 ICCV 2019 摘要 1 导言 2
  • 使用erase()删除vector末尾元素

    注意 要用Vector erase Vector end 1 才能删除末尾的元素 使用Vector erase Vector end 会报错 我使用cout lt lt Vector end 看了一下 返回的结果是一个很大的负数 不是vec
  • Kafka常见面试题

    1 什么是消息中间件 2 kafka 是什么 有什么作用 3 kafka 的架构是怎么样的 4 Kafka Replicas是怎么管理的 5 如何确定当前能读到哪一条消息 6 生产者发送消息有哪些模式 7 发送消息的分区策略有哪些 8 Ka
  • IOC容器有哪些?

    ClassPathXmlApplicationContext FileSystemXmlApplicationContext AnnotationConfigApplicationContext BeanFactory
  • 【Java】读写文本文件

    package rw import java io BufferedReader import java io FileInputStream import java io FileOutputStream import java io I
  • pytorch保存模型时报错***object has no attribute 'state_dict'

    定义了一个类BaseNet并实例化该类 net BaseNet 保存net时报错object has no attribute state dict torch save net state dict models dir 原因是定义类的时
  • 将项目中的mysql换为sqlserver

    1 在pom文件中将mysql的驱动包换为sqlserver
  • PHP与MySQL程序设计 学习笔记 第一章 PHP概述

    PHP全称为Personal Home Page 个人主页 Zend技术有限公司是PHP的核心开发人员Suraski和Gutmans创建的 他俩改写了PHP的解析器 即Zend脚本引擎 PHP是类型松散的语言 即不需要明确地创建变量 指派类
  • rabittmq java spring_基于spring4.0x版本的rabbitmq极简封装

    spring rabbit simple sdk 在spring4 0x的项目背景下 封装的一个好用简便的rabbitmq相关的sdk 封装内容 消息base BaseMqMessage消息基类 所有的业务消息都需要继承它 其中的event
  • 【C++】函数

    函数 1 函数的默认参数 如下 我们可以给函数形参列表的形参赋予初始值 有了这个初始值 我们也可以不用传递实参 而当这个初始值和实参不同时 还以实参为主 int Add int a 100 int b 100 return a b int
  • 软路由开启python-cgi

    项目需要实现通过软路由开启连接限制 仅仅允许在系统中注册的设备连接到专用局域网 以保证会议中资料的安全性 在开发过程中 我们发现在服务端和软路由之间通过ssh建立的连接并不稳定 尤其是需要短时间在路由器执行大量指令时 因为需要使用字节流来进
  • 2014年6月16日-22日,(共13小时,剩4439小时)

    6月16日 5小时 6月17日 5小时 6月18日 有事 1小时 剩4441小时 6月22日 8 37 9 37 OSGEARTH视频教程第17讲的线绘制部分 剩4440小时 9 37 10 37 OSGEarth视频教程第17讲结束 并开
  • Floquet 定理

    线性周期系统当中最重要的定理就是 Floquet定理 这个定理的意思是一个具有周期系数的线性常微分方程可以通过约化成为一个常系数的常微分方程 考虑方程 x A t
  • linux内核编译及添加系统调用(详细版)

    linux内核编译及添加系统调用 注 文章共四部分 分别是 1 编译更换内核 2 添加一个简单系统系统调用 3 添加读取 修改nice值的系统调用 4 自己设计简单 真的简单 系统调用 注 四个部分结构相似 请根据自身需求自行选择观看 ps
  • 如何设置HTML页面table(表格)自适应宽度,网页缩放问题

    如果没有 table 没有设置 那么网页缩放的时候就会出现以下情况 解决办法 table style width 100 class Table1 tr td style width 15 class lable 职务名称 span sty
  • OpenWRT简介

    OpenWRT是一个高度模块化 高度自动化的嵌入式Linux系统 拥有强大的网络组件和扩展性 常常被用于工控设备 电话 小型机器人 智能家居 路由器以及VOIP设备中 同时 它还提供了100多个已编译好的软件 而且数量还在不断增加 而 Op
  • Kali Linux 2018 更新源配置

    查看添加更新源 编辑sources list 将kali更新源加入其中 sudo vim etc apt sources list 国内更新源 阿里云 deb http mirrors aliyun com kali kali rollin
  • jeesite创建用户

    jeesite创建用户 一 查看用户类型配置信息 在jeesite core yml文件中查看用户类型配置信息 用户类型配置信息 employee员工 member会员 btype往来单位 persion个人 expert专家 JSON 格
  • 小米路由器4A千兆版 OpenWRTInvasion 刷机教程

    2023 03 23 补充内容 最近又入手一台小米路由器4A千兆版 打算通过 CH341A 编程器刷成老毛子的 结果一拆机傻眼了 整个电路板上的芯片和硬件布局都换了 如果最近想刷机的先别着急开刷 先看看这篇文章 小米路由器4A千兆版更换5G