京东云无线宝升级r2204固件后打开SSH
最近京东云无线宝亚瑟和雅典娜升级了r2204固件后,SSH远程访问被禁止访问了,这哪能受得了,还好经过一番折腾还是打开了。
注:如果小伙伴们有兴趣想折腾,一、请务必在自己购买或者已受权的设备上操作,切勿非法在非授权设备上操作;二、请注意备份保存好重要数据,不怕一万就怕万一;三、本文仅属技术分享,不对其他人行为负责,请三思而后行。
思路:
通过固件的ubus总线更改配置,让设备执行预定的脚本,通过脚本启动SSH服务。
过程:
一、获取访问设备的cookie
本文使用postman。cookie有使用时间限制,cookie超时或者不正确的话,后续postman调用会返回Access denied,重新获取cookie更换后即可。

也可以用通过浏览器按F12获取cookie
二、上传sh执行脚本
把脚本放在无线宝外接的移动存储设备上。如果是外接边缘计算,可以在其它的linux电脑上挂载上传,本文是边缘计算的操作环境。网盘模式理论可行,但没有验证。在无线宝内部访问外接存储根目录是/mnt/sda2,其中sda2是外接存储挂载的分区,每个设备可能不一样,具体可以在无线定app的存储设置那查看。如果外置分多个区且无线宝开了共享的,除了边缘计算的分区外,其它的分区可以在电脑访问无线宝的共享确认,甚至可以直接把脚本放到无线宝的共享目录下。
app或电脑共享:


脚本内容,能启动dropbear(就是这家伙提供SSH服务)就行。我的脚本如下,开始以为原固件会删除dropbear,所以架了个web服务器放dropbear,脚本会判断从web服务器下载dropbear并执行,没有web服务器的可以把下载dropbear那一行代码注解试下。
/usr/sbin/dropbear

三、通过固件的ubus修改配置
1、查看 /etc/config/dhcp的配置并留底备查。

2、更换/etc/config/dhcp的配置,只需要更新odhcpd

3、提交更新。没有提交的话,虽然步骤2是改了配置,但实际上是没有修改配置文件的。

四、触发脚本的执行。
浏览器登录无线宝-路由设置-上网设置-IPV6网络设置,打开,并切换一下上网方式(nat6),记得点保存。

五、去用ssh客户端工具验证一下结果吧。
是不是很简单

加到开机启动吧
vi /etc/rc.local

七、总结一下
本文章仅仅是技术分享,通过SSH,实现更方便管理和维护自己的无线宝设备和数据,提高设备的可玩性,但不建议冒然去尝试或者其他非法之想。最后再强调一下,请在自己或者授权的设备上操作并做好数据备份,切勿非法在未授权的设备上操作。所有操作,请三思而后行,本文作者不对他人的行为负责。另外感谢b站cdlif大佬文章的启发。
以上,可以引申到其它openwrt的设备,有兴趣的同学可以去折腾
注,目前此漏洞已经被京东下发的补丁修复了。已经上机的就不用试了,非要SSH不动,r2204目前还是有点麻烦。
1、断开设备连接互联网
2、设备web进去,恢复原厂固件。新机未联网的设备,不用此步。恢复原厂固件可能会删除缓存。恢复原厂固件可能会删除缓存。恢复原厂固件可能会删除缓存。风险自行评估。
3、按先前的方法操作开启SSH
4、采取措施影响补丁的执行,以保证以后SSH的正常,方法就不详细说了,各人有各自的想法,说出来很快就会被修复了。下面是目前补丁的影响,可以参考一下。
补丁相关的影响
a、每次启动会kill dropbear或者telnet
b、每次启动会还原成初始的/etc/rc.local开机启动、/etc/crontabs/root定时任务相关的脚本。
c、每次启动会把DHCP配置里的可执行脚本项还原成默认值
d、替换usr/share/rpcd/acl.d/superuser.json文件,删除管理员ubus写权限,删除后也就使上面postman提交后返回值是6,修改不成功。