恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 24315|回复: 277

[AX3600] 【保姆级教程】AX9000永久获取ssh权限

    [复制链接]
发表于 2021-9-14 10:34 | 显示全部楼层 |阅读模式
本帖最后由 NormalPeople 于 2022-9-27 20:18 编辑

参考链接:AX3600 永久开启telnet-ssh

参考链接:小米AX1800永久开启SSH,telnet



2022.05.04更新:想要咨询问题或者需要帮助的可以加我的QQ:1165960061


2022.08.29更新:开发版固件想要正常使用ssh,需要先降级到108固件,开启ssh,修改ssh密码为admin后(也可以修改为其他),从web端直接升级到开发版固件,此时直接telnet,用户名root,密码是admin,然后再通过telnet开启ssh即可。


昨天帮一位小同学获取ax9000的ssh权限并固化了一下,发现与ax3600和ax1800的情况有些相似,又有些不同,故此分享在此

ax9000固件版本:1.0.108

默认网关:192.168.31.1


一、bdata分区

输入指令:cat /proc/mtd,发现bdata分区为mtd18。



二、bdata分区的十六进制读取结果

如下图所示是初始bdata分区显示结果,区别于ax3600,telnet_en、ssh_en、uart_en,这三个参数排列在最后面,而ax3600的在中间部分,ax1800直接没有,需要自己添加。


原始bdata

原始bdata



修改后的bdata

修改后的bdata


三、指示灯

刷完bdata后,ax9000指示灯全部变红并常亮,但路由器工作正常,后续通过在web端恢复出厂设置解决。


四、总结归纳

0. 说明

          所需软件:windows terminal(win10用户在microsoft store下载即可)或其他终端软件、HxD十六进制修改软件,下载地址、解锁脚本crash_unlock.img, crash_unlock.zip (753 Bytes, 下载次数: 601)

    以下所有红色字均为ssh端或windows终端指令,绿色字为ssh端或windows终端应有的输出结果,蓝色字为需要特殊注意的操作。

    路由器初始密码的计算:找到ax90000的SN码,并在此计算初始密码得到初始密码,将其永久保存下来,每次重置、升级固件都会用到。

1. ax9000获取ssh权限

    参考链接:AX9000和AX6000获取SSH的方法,此方法需要一台openwrt同时工作。

2. 获取bdata分区

    打开windows terminal并输入:

    ssh root@192.168.31.1

    输入密码后进入ssh。


    cat /proc/mtd | grep bdata

    mtd18: 00080000 00020000 "bdata"

    可以看到ax9000的bdata分区为mtd18。


    将mtd18分区dump下来。

    nanddump -f /tmp/bdata_mtd18.img /dev/mtd18

   

    新开一个windows terminal窗口,将bdata_mtd18.img拷贝到win10中操作。

    scp root@192.168.31.1:/tmp/bdata_mtd18.img C:/users/

    输入密码后拷贝完成。

    在电脑C盘的users文件夹下能找到bdata_mtd18.img文件,将其复制一份并重命名成bdata_mtd18_backup.img,用以备份使用。

3. 修改bdata分区

    用HxD打开bdata_mtd18.img,显示结果如下图所示:


1.png

   

    找到图中画框位置,关键寻找telnet_en=0.ssh_en=0.uart_en=0,并将其中的三个0都替换修改为1,注意是替换修改,不要添加或删除其中的内容,只需要将其中的0替换成1即可。

    修改后如下图所示:


修改中的bdata

修改中的bdata

   

    在后面继续替换修改boot_wait=on,即将uart_en=1.(注意这里有个点号)后面的12个点依次替换boot_wait=on,修改后如下图所示:


2.png


    将左侧Offset列拉到第0000FFF0行,如下图所示:


检查

检查


    如果你和我的结果一样,0000FFF0行以下都是FF,那么恭喜你,操作正确,可以继续操作;如果不一样,请从刚才备份的文件复制一份出来再重新进行修改。


    点击编辑-选择范围,起始位置4,终止位置FFFF,并确定,如下图所示:


5.png



6.png



7.png

   

    点击分析-检验和,选择CRC-32,并确定,如下图所示:


8.png



9.png



10.png

   

    根据下方菜单栏的结果(每个人都不同),我的结果为072E9E98,请把其看作是四个数字,分别为07、2E、9E、98。

    将这串数字倒序写出,即为989E2E07,也即,98、9E、2E、07。

    将前四块未被选中的数字依次替换修改为98、9E、2E、07,如下图所示:


11.png


    检查无误后保存即可。

4. 重新刷写bdata分区

    ssh root@192.168.31.1   

    输入密码后进入路由器后台。


    zz=$(dd if=/dev/zero bs=1 count=2 2>/dev/null) ; printf '\xA5\x5A%c%c' $zz $zz | mtd write - crash

    reboot


    此时ssh自动断开,等待路由器重启后,将刚才修改的bdata_mtd18.img传入路由器后台:

    scp C:/users/bdata_mtd18.img root@192.168.31.1:/tmp/


    ssh root@192.168.31.1   

    输入密码后进入路由器后台。


    mtd write /tmp/bdata_mtd18.img bdata

    reboot

5. 收尾工作

    路由器重启后,登录web端后台,即192.168.31.1,恢复出厂设置。

   

    打开windows terminal,输入指令:

    telnet 192.168.31.1

    用户名为root,密码为初始密码,输入后即可登入路由器后台。


    通过telnet开启ssh,并修改root密码为admin:

    sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear

          /etc/init.d/dropbear start

          echo -e 'admin\nadmin' | passwd root

   

    新开一个windows terminal窗口,ssh连接进去:

    ssh root@192.168.31.1

    输入密码admin,即可登入ssh。


    在ssh里执行清除解锁命令:

    mtd erase crash

    reboot


至此,ax9000的ssh固化工作已完成,需要注意的是,每次升级固件或重置固件都需要先telnet,再在telnet中开启ssh,具体指令为:

打开windows terminal,输入指令:

telnet 192.168.31.1

用户名为root,密码为初始密码,输入后即可登入路由器后台。


通过telnet开启ssh,并修改root密码为admin:

sed -i 's/channel=.*/channel=\"debug\"/g' /etc/init.d/dropbear

/etc/init.d/dropbear start

echo -e 'admin\nadmin' | passwd root


新开一个windows terminal窗口,ssh连接进去:

ssh root@192.168.31.1

输入密码admin,即可登入ssh。



放上我修改过的bdata分区仅供参考,但是请千万不要直接使用!
bdata_mtd18.zip (943 Bytes, 下载次数: 23, 售价: 1 nb恩山币)


最后的最后,有什么不懂或错误的地方可以尽管在评论区留言;也可以留下联系方式,我平时没事也会远程帮别人开ssh,刷刷固件。






评分

参与人数 6恩山币 +6 收起 理由
qdwwwt + 1 几亿网民,我们俩竟然神奇的在恩山相遇了!.
iamzwlz + 1 风清云淡、飘逸悠然……极爽!
荒坂华子 + 1 几亿网民,我们俩竟然神奇的在恩山相遇了!.
70ff + 1 一看就是觉得高端、大气、上档次!
tualatina + 1 开门!前面把表抄完了,我是来对表的!!!
SkyTiger + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-12-7 19:07 | 显示全部楼层
我也是165版本进不去telnet和SSH  显示端口23错误。   然后回到开发版SSH还在,但是telnet还是进不去。    在我固化的时候使用mtd erase crash清除命令重启之后telnet好像就失效了。
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-12-7 08:19 | 显示全部楼层
13221177168 发表于 2022-12-6 23:25
你好,MIIOT_DEV怎么也消不掉,有方法解决吗?

升级到最新的公开版165,出厂,再刷回开发版140
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-12-6 23:25 | 显示全部楼层
你好,MIIOT_DEV怎么也消不掉,有方法解决吗?

点评

升级到最新的公开版165,出厂,再刷回开发版140  详情 回复 发表于 2022-12-7 08:19
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-12-6 17:45 | 显示全部楼层
荒坂华子 发表于 2022-12-6 17:32
固化后可以恢复回去吗

只要你备份好你的原始badata就可以
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-12-6 17:32 | 显示全部楼层
固化后可以恢复回去吗

点评

只要你备份好你的原始badata就可以  详情 回复 发表于 2022-12-6 17:45
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-12-1 20:48 | 显示全部楼层
NormalPeople 发表于 2022-12-1 16:25
从165到开发版还能ssh吗?

telnet没关,都能ssh
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-12-1 18:37 | 显示全部楼层
ax6000这个也行 mtd在15分区
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-12-1 18:17 | 显示全部楼层
我是小白,想请问下获取SSH有什么用处
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-12-1 16:25 | 显示全部楼层
yorkye821 发表于 2022-12-1 14:50
我升级到了最新的公开版165,出厂,再刷回了开发版140,MIIOT_DEV,这个ssid消失了

从165到开发版还能ssh吗?

点评

telnet没关,都能ssh  详情 回复 发表于 2022-12-1 20:48
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-12-1 14:50 | 显示全部楼层
NormalPeople 发表于 2022-11-27 11:34
昨天也有人和我说过 但我的机器没有这个wifi
是否恢复出厂设置过?
我的固件版本是165

我升级到了最新的公开版165,出厂,再刷回了开发版140,MIIOT_DEV,这个ssid消失了

点评

从165到开发版还能ssh吗?  详情 回复 发表于 2022-12-1 16:25
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-11-27 11:34 | 显示全部楼层
yorkye821 发表于 2022-11-27 10:32
大佬,固化了ssh以后,ax9000多出来了一个MIIOT_DEV的ssid,其他功能不影响,求指教

昨天也有人和我说过 但我的机器没有这个wifi
是否恢复出厂设置过?
我的固件版本是165

点评

我升级到了最新的公开版165,出厂,再刷回了开发版140,MIIOT_DEV,这个ssid消失了  详情 回复 发表于 2022-12-1 14:50
昨天qq上跟你说的就是我,开发板的140。 结果qq抽风了,我没你好友了  发表于 2022-11-27 13:27
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-11-27 10:32 | 显示全部楼层

大佬,固化了ssh以后,ax9000多出来了一个MIIOT_DEV的ssid,其他功能不影响,求指教

点评

昨天也有人和我说过 但我的机器没有这个wifi 是否恢复出厂设置过? 我的固件版本是165  详情 回复 发表于 2022-11-27 11:34
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-11-14 16:46 | 显示全部楼层
可以用,附件直接用这个:

  1. cat > "/usr/lib/lua/luci/controller/admin/xqsystem.lua" <<EOF
  2. module("luci.controller.admin.xqsystem", package.seeall)

  3. function index()
  4.     local page   = node("api")
  5.     page.target  = firstchild()
  6.     page.title   = ("")
  7.     page.order   = 100
  8.     page.index = true
  9.     page   = node("api","xqsystem")
  10.     page.target  = firstchild()
  11.     page.title   = ("")
  12.     page.order   = 100
  13.     page.index = true
  14.     entry({"api", "xqsystem", "token"}, call("getToken"), (""), 103, 0x08)
  15. end

  16. local LuciHttp = require("luci.http")

  17. function getToken()
  18.     local result = {}
  19.     result["code"] = 0
  20.     result["token"] = "; nvram set ssh_en=1; nvram set uart_en=1; nvram set boot_wait=on; nvram commit; uci set wireless.@wifi-iface[0].key=\`mkxqimage -I\`; uci commit; sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear; /etc/init.d/dropbear start;"
  21.     LuciHttp.write_json(result)
  22. end
  23. EOF
复制代码
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-11-14 01:44 | 显示全部楼层
1.png
请问这个方法可以吗
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-11-13 13:13 | 显示全部楼层
qdwwwt 发表于 2022-11-13 05:51
您好 按照您的步骤固定了ssh,在设置页看不到设备连接信息请问如何解决?加了您的qq没通过。

没有收到你的好友申请,这种情况考虑分区修改错误
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2022-12-8 21:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

| 江苏省互联网有害信息举报中心 举报信箱:js12377@jschina.com.cn 举报电话:025-88802724 | 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797
快速回复 返回顶部 返回列表