小米路由器开启SSH服务的大致原理是利用路由器API端点中的命令注入漏洞,部署一个修改版的dropbear SSH服务器。具体步骤如下:
- 首先安装Python 3.9.13-amd64.exe。
- 使用Notepad++修改crack.py文件,将文件中的内容替换为你的电脑IP地址和小米路由器的TOKEN码(可以在小米的web页面地址栏获取)。
- 将crack.py、dropbear、dropbearkey和ping1.template四个文件复制到C:\Windows\system32目录下。
- 打开cmd(以管理员身份运行),输入
pip install requests
,然后输入python crack.py
。几秒后,如果操作成功,会显示提示信息。 - 根据提示信息,使用小米路由器的SN码计算出登录密码。
- 打开tftpd64,然后打开PuTTY,连接到192.168.31.1,端口为23323。在黑框中输入用户名root,密码为刚才计算出的密码。
- 输入命令
dd if=/dev/mtd3 of=/tmp/Factory.bin bs=1k count=100000
,然后输入tftp -p -l /tmp/Factory.bin -r Factory.bin 192.168.31.191
(这里的192.168.31.191需要根据实际情况修改)。在tftpd64的目录下找到Factory.bin文件并保存。 - 如果需要保留原机信息,还需要备份bdate分区。可以使用命令
cat /proc/mtd
查看分区信息。 - 如果路由器中断,可以使用小米救砖工具刷一次固件(如miwifi_rd18_firmware_6c571_1.0.53.bin),然后断电重启,等待倒数等待,卡进路由器的启动模式。
- 在启动模式下,输入一系列命令来恢复路由器到正常工作状态,包括
tftpboot bootloader.bin && nand erase 0x00000000 0x00080000 && flash write 0x00000000 0x00080000
,以及tftpboot u-boot-env.bin && nand erase 0x00080000 0x00100000 && flash write 0x00080000 0x00100000
等。 - 最后,断电重启,在小米路由器的升级固件界面升级固件(如JIKEAP_BE5040XM_EN7563_K5_8.0_2024123100.bin),启动后复位一下。
另外,腾达的机器的uboot自带web,可能排它,刷不了uboot和固件,不知道如何开启SSH,需要进一步研究。
评论已关闭