小米路由器破解开启SSH 小米路由器mini丢失SN后恢复找回SN 完美无需编程器!
2015-11-13 原作者发布破解方法
2015-11-24 小米发布2.6.16更新封堵破解方法
2016-01-01 小米社区管理关闭删除破解帖子
官方11月24日封堵了这个漏洞,破解需要使用之前旧版固件。
(如果你喜欢研究,可以修改脚本,2016年1月的固件仍可以破解)
这里提供 小米路由器mini 新版本的稳定版root固件(默认开启SSH)。
-------------------------------------------------------------------------------------------------------------------------
感谢原创作者 @哒哒哒知了
原帖http://bbs.xiaomi.cn/t-11730151
由于他的是硬盘版,目录和mini的稍有不同,我修改了一下路径适配了mini,青春版由于没有usb接口不能用。
三种版本都支持:
release 稳定版
stable??开发版
current 内测版
本人mini稳定版 2.6.11 开发版 2.7.11 全部测试通过!
破解开启SSH:
1:安装 python (32和64二选一)
Windows 64位
https://www.python.org/ftp/python/3.5.0/python-3.5.0-amd64.exe
Windows 32位
https://www.python.org/ftp/python/3.5.0/python-3.5.0.exe
(Windows XP 使用python 3.4.3)
并安装requests模块
pip install requests
2:任意版本固件(建议先恢复出厂设置)初始化后登陆路由器,
地址栏url类似下面这样:
http://192.168.31.1/cgi-bin/luci/;stok=e00b01a819d8a18b93d6cedb6f74d621/web/setting/upgrade
把你登陆成功的stok值复制一下(stok值每一次都不一样),
3:mini需要准备一个U盘插入路由器,硬盘版跳过。
4:解压附件
xiaomi.zip (2.28 KB)
(下载次数: 270, 2016-1-14 22:19 上传)
下载积分: 恩山币 -2 nb
(我在脚本里面增加了修改默认密码为admin,建议用文本编辑器打开payload改成你自己的),
硬盘版运行mi.py,mini运行mini.py,
出现提示后右键粘贴你的stok值,回车,等待操作完成后,重启后生效。
注意事项:
1:stok值得是你登陆成功后的,关闭网页或重启就失效
2:IP是192.168.31.1 如果不是自己修改py脚本
3:如果想显示详细返回信息,就用文本编辑器打开.py脚本,把里面
#print (req.content)??前面的 # 号删除(一共有4处)
4:脚本里写的是sda1,由于U盘分区的不同或多次插拔,挂载点会顺延成sdb1、sdc1或sda4、sdb4等等,
会导致不成功,需要自己修改py脚本里的路径,或者最简单的办法就是 重启,换U盘。
(操作成功返回信息:"code": 0? ?如果提示:not exist ext device 就是挂载点不是sda1)
目前(2015.11.19)官方发布的版本全部通杀,这个漏洞将来肯定会补,以后封了降级旧版再开启就是了。
做人要厚道,转载请注明!
------------------------------------------------------------------------------------------------
普通用户和硬盘版用户可以不用往下看了
-------------------------------------------------------------------------------------------------
详细解读:
这个 python 破解脚本执行了5个操作:
1:上传payload到路由器可写目录
2:把/etc/rc.local重命名备份为/etc/rc.local.bak
3:复制payload到/etc/目录
4:把payload重命名替换为/etc/rc.local
5:删除可写目录下的payload
rc.local里面的命令开机后会自动执行,payload是原始rc.local增加了破解命令,
原始rc.local内容:
payload内容:
小米dropbear
dropbear是一个小型的SSH服务器,启动方法:/etc/init.d/dropbear start
小米在dropbear启动脚本start段里增加了判断,稳定版不让启动直接退出,nvram参数 ssh_en不是1也退出,
而开了ssh官方就不保修,这样确实降低了售后成本,虽然各地的xiaomi之家执行没有那么严格,
这下完美解决了,保修和开启SSH能共存了,再次感谢原创作者@哒哒哒知了
-------------------------------------------------------------------------------------------------------------------------
mini恢复SN:
刷了newifi或者其他没有适配mini的固件会覆盖清空你的bdata信息(丢失SN),会影响刷机和绑定
使用上述方法开启SSH后可以使用官方的bdata程序恢复Bdata:
PuTTY登陆后
先bdata show查看bdata信息
增加&修改命令:自己替换XXX
bdata set model=R1CM
bdata set color=101
bdata set CountryCode=CN
bdata set SN=XXXXXXXXXXXX
设置默认ssid并保存:
setssid_fact
model是型号
bdata set color=101就是设置为白色,随意更改,颜色定义如下:
黑色100 -- 白色101 -- 橘色102 -- 绿色103 -- 蓝色104 -- 粉色105
CountryCode是国家代码(CN HK TW EN)
SN填写你路由背面的
默认ssid的后缀是你的lan口MAC后4位大写
输入getmac eth会显示lan口MAC
可以再次bdata show查看验证是否修改成功。
这种方法修改的是Config分区,修改后能正常使用绑定,但是也有可能被清空,
Bdata分区保也存着SN等信息,由于Bdata分区在官方固件下面是只读的,如果想连Bdata一起修改就稍微有点麻烦了,
如果下面的学不会,就用上面简单的方法,不提供远程协助:
1:pandorabox网站随便下载一个固件,stable下是稳定版,testing下是测试版,随便下载一个版本,
2:使用WinSCP工具把固件上传到路由/tmp 目录下,
3:在官方固件下面使用mtd程序刷入OS1,xxxx是文件名:
mtd write /tmp/xxxx.bin OS1 -r
(自动重启后,默认ip:192.168.1.1 用户名:root 密码:admin )
4:修改 Bdata.bin 里面的颜色、SN 、默认SSID 、CRC32
注意的是CRC32反序填入,我以前发过帖子但现在进不去了,
版主转载到这里了,可以参考一下。
使用WinHex就可以把Bdata文件造出来,为了方便我把建好的空白Bdata模板传上来了,按照下面的图片教程改就行了
Bdata.zip (355 Bytes)
(下载次数: 45, 2016-1-14 22:25 上传)
下载积分: 恩山币 -2 nb
图片教程:点击查看原图能清楚一点
5:使用WinSCP把修改好的Bdata.bin传到/tmp目录
使用mtd程序刷入Bdata
mtd write /tmp/Bdata.bin culiang-Bdata
刷完以后就可以用官方方法U盘刷回
完美修复。
再次提醒 mini用户:不要随便刷别人备份的编程器固件,如果使用了非本机的eeprom(比如刷了别人备份的编程器固件)
就把你本机原来的Factory(eeprom)分区覆盖了,使用别人的参数你的芯片不能发挥最优性能,
无线信号会受影响,可能无线会变的非常糟糕!
点击链接加入群聊四群:722808830
点击链接加入群聊三群:751529538(已满)
点击链接加入群聊二群:376877156(已满)
点击链接加入群聊一群:622891808(已满)
饿了么红包
本站附件分享,如果附件失效,可以去找找看