经过分析与验证,我们已成功复现飞牛系统( fnOS )中的一个严重远程代码执行( RCE )漏洞链。该漏洞链允许攻击者在无需任何身份验证的情况下,远程获取设备的最高管理员( root )权限,从而完全控制设备。
测试环境: FnOS 1.1.14
我们成功复现的攻击链由以下四个关键漏洞构成:
漏洞一:路径穿越(任意文件读取)
描述:系统的一个 Web 接口(/app-center-static/serviceicon/myapp/...)未能正确过滤用户输入的路径,允许攻击者读取服务器文件系统上的任意文件。 在此攻击链中的作用:用于下载一个伪装成 RSA 私钥、但实际内嵌了硬编码 AES 密钥的文件 (/usr/trim/etc/rsa_private_key.pem)。这是整个攻击的起点。
漏洞二:硬编码的加密密钥
描述:上述下载的文件中,在固定偏移量( 100 字节处)硬编码了一个 32 字节的 AES 主密钥( Root Key )。 在此攻击链中的作用:为攻击者提供了“万能钥匙”。这是后续伪造合法用户凭证的核心要素。
漏洞三:认证绕过(通过伪造 Token )
描述:系统的 WebSocket 网关在验证用户身份时存在致命逻辑缺陷。它允许攻击者使用上述获取的 AES 主密钥,在本地凭空“创造”出一个服务器会认为是合法的临时 token 。 在此攻击链中的作用:攻击者利用此漏洞,无需任何用户名和密码,即可伪造出一个“已登录”的管理员身份,从而有权调用需要高权限的 API 接口。
漏洞四:命令注入
描述:在通过认证后,一个用于添加 Docker 镜像的 API 接口( appcgi.dockermgr.systemMirrorAdd )未能正确处理其 url 参数。 在此攻击链中的作用:这是最终的执行环节。攻击者将恶意系统命令(如反弹 Shell 或下载执行脚本)注入到 url 参数中,服务器在处理该请求时会无条件执行这些命令
备注:整理收集自互联网论坛
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.