上周,一位客户透露了该公司尚未修复的严重 TerraMaster NAS 漏洞。 TerraMaster 声称他们的 NAS 系统只能在本地网络上使用。 但事实证明,他们的 NAS 系统可以通过 UPnP 协议在整个互联网上访问。 通用即插即用 (UPnP) 被无数网络设备使用,包括 NAS、路由器、计算机、游戏机、打印机、移动设备、物联网设备等等。
上周,一位客户透露了该公司尚未修复的严重 TerraMaster NAS 漏洞。 TerraMaster 声称他们的 NAS 系统只能在本地网络上使用。 但事实证明,他们的 NAS 系统可以通过 UPnP 协议在整个互联网上访问。 通用即插即用 (UPnP) 被无数网络设备使用,包括 NAS、路由器、计算机、游戏机、打印机、移动设备、物联网设备等等。
阅读更多 – 4 个步骤 安全NAS
通过 UPnP 的漏洞可能会让未经身份验证的用户承认,允许他们远程入侵和提取您的数据,扫描您的本地网络,甚至使您的设备参与 DDoS 攻击。 我们联系了这一最新发现背后的 TerraMaster 用户 Kevin Norman。 他与我们分享了他对这次曝光的看法、更多细节以及发送给公司的一些电子邮件,他在其中描述了调查结果。
什么是UPnP?
首先,让我们考虑一个相关的传统场景; 当我们的读者来自不同的背景和领域时,从基础开始是很重要的。 每次将鼠标、键盘、便携式 HDD 等 USB 设备插入计算机时,您都在使用即插即用 (PnP)。 您的设备会立即在您的整个计算机中被识别; PnP 为您省去了手动进行任何额外配置的麻烦。 与 PnP 类似,通用即插即用 (UPnP) 有助于检测本地网络中的任何联网设备。 它(主要)用于住宅和 SOHO 无线网络。 典型的场景是插入路由器、游戏系统、NAS 或打印机,这些设备将立即被您的个人计算机和其他设备识别。
UPnP 很方便,可以快速让多个设备通过您的本地网络找到客户端。 就像 PnP 一样,它极大地降低了设置新设备的复杂性。 但是,UPnP 也可以由您的路由器自动调整,允许设备访问您的本地网络之外。 使用另一种流行的协议,即互联网网关设备 (IGD),UPnP 客户端可以获得网络的外部 IP 地址,并在其设置过程中添加新的端口转发映射。 从消费者的角度来看,这种方法可能听起来很有趣,但这种好处也可以利用漏洞和大规模攻击。 UPnP 本质上是为在受信任的本地网络中使用而设计的,其中协议不需要实施任何形式的身份验证或验证。
“默认情况下,UPnP 协议不实现任何身份验证,因此 UPnP 设备实现必须实现额外的设备保护服务,或实现设备安全服务。 一种称为 UPnP-UP(通用即插即用 - 用户配置文件)的非标准解决方案提出了一种扩展,以允许 UPnP 设备和应用程序的用户身份验证和授权机制。 许多 UPnP 设备实现缺乏身份验证机制,默认情况下假定本地系统及其用户是完全可信的。=
通过 UPnP 发现 TerraMaster NAS 漏洞
TerraMaster Technology Co., Ltd. 是一家专注于计算机软件、网络附加存储和直连存储的中国公司。 最近,凯文诺曼发表了一篇 博客文章 揭示了 TerraMaster 的 UPnP 协议中的一个漏洞,该漏洞迅速传播到 Reddit 和 黑客新闻. 来自英国的软件工程师凯文表示,他在独立运行了一些测试后,于今年 XNUMX 月通过电子邮件向铁威马报告了他的担忧。
Kevin 使用 TerraMaster F2-210 发现了 UPnP 漏洞。 这一发现引起了他的注意,可能是因为他对使用 UPnP 协议的认识和担忧,正如他在其他一些文章中所述和引用的那样。
NAS 和许多其他网络设备通常使用 Web 界面进行管理,该界面通常是相同的 GUI。 对于 TerraMaster,它使用 TerraMaster 操作系统 (TOS) 来操作 NAS。 该操作系统要求您通过使用端口 8181 访问网络上 NAS 的主机名来访问其 GUI。系统界面公开声明 NAS 不可公开访问。
然而,凯文解释说,在安装 NAS 几天后,他发现他可以使用他的公共 IP 访问它,即使他没有端口转发任何东西。 又一次,GUI 指出 NAS 只能从本地网络访问。
他检查了路由器的端口转发规则,发现 NAS 使用 UPnP 公开了四个端口。 它不仅通过8181端口暴露给外部网络,而且通过端口5443暴露给外部网络。凯文说,其他端口包括9091和8800,他找不到任何解释。 9091端口一般用于Docker的容器管理工具Portainer,他没有安装在NAS上。
他猜测是铁威马的开发人员在使用这些端口,他们可能忘记在发布软件之前删除配置以打孔它们。 “似乎其中一些规则可能是在开发过程中遗留下来的。” Kevin 评论道:“我相信这款 NAS 是可靠的硬件; 但是,我对将其网络界面信任到开放的互联网持怀疑态度。 一般来说,最好尽可能少地暴露在公共互联网上!=
此外,他尝试将网络服务器端口更改为与 8181 不同的端口。系统转发新端口,但仍然暴露旧端口。 就在此时,他决定联系铁威马,试图弄清楚到底发生了什么。
铁威马响应和解决方法
Kevin 联系了该公司,但他们没有提供任何建议或解决方案来及时解决此问题。 凯文自己出去了,找到了路由器的root权限,他曾经自己挖出来。 他对 TerraMaster 至少提供了根访问权限表示赞赏。
通过 SSH 访问 NAS 并使用 root 浏览文件系统后,发现了一个可以修改的文件。 这 ”/etc/upnp.json”文件显示包含端口转发规则列表。 Kevin 的一个快速解决方法是修改此文件。 他说:“只需将您不想暴露的任何端口的 bEnable 更改为 0,重新启动 NAS,并检查端口转发规则。”
“这几乎完全解决了问题; 然而,似乎端口 8181 和 5443 仍然被打孔但导致 404(错误),因为我们之前移动了网络服务器。” 凯文描述道。 “这比以前好,但仍不完美。 我等待 Terramaster 的进一步指示/软件更新=
考虑到 Kevin 是一名软件工程师。 与 IT 行业的许多人一样,他了解并非常熟悉网络、编码和一般 IT 概念。 但是还有许多其他人没有。 普通用户将无法进入系统并修改高级参数,即使在谷歌搜索之后也是如此。
不涉及更多技术细节,如果您真的担心这个 UPnP,您应该禁用它,至少在您进行进一步的研究和咨询之前。 凯文最后也选择了这个选项。
广泛的意见和社区的回应
凯文联系后回信给我们,他很客气地就这个问题发表了自己的意见。 他还写了另一个 博客文章 他继续就此事发表意见。 在暴露并发布漏洞后,Kevin 收到了来自社区的多条消息,其中很多都支持他对 UPnP 和铁威马的观点。 其他人不同意。
他告诉我们,后来还在他的博客中写道:“有人建议在本地路由器上禁用 UPnP,但我个人认为这种做法没有抓住要点。 我是一名软件工程师,经常涉足基础设施(Kubernetes 等)——因此,我对自己在做什么有所了解。 因此我“可以”禁用 UPnP。 这些 NAS 产品并不是真的要卖给像我这样的人,我认为,它们更针对你的普通消费者,他们不知道端口转发或 UPnP 是什么。”
正如我们在上一节中所写和解释的那样,我们在这里同意凯文的观点。
他继续说:
“禁用 UPnP 肯定会关闭这个特定的安全漏洞,但在现实世界中生活一秒钟,绝大多数消费者路由器都会启用此功能,因此这些 NAS 产品中的绝大多数可能会在不知不觉中暴露自己”
“其他人建议购买一个支持两个独立 LAN 网络的新路由器,这样这个 NAS 就可以放在一个被拒绝直接访问互联网/没有 UPnP 的 LAN 上。 更可笑的是指望消费者这样做。 我可以做到,而且将来可能会做到,但我真的觉得目前没有必要升级我的网络设备; 它有效,我对此很满意,但由于我在上面详述的相同原因,它又有点忽略了这一点。=
“这就是我深入研究设备本身的原因。 值得庆幸的是,TerraMaster 在这些盒子上提供了 root,这对它们来说很好。 这让我发现了我所做的修复。=
他还附加了另一个 TerraMaster 用户在 NAS 上的额外发现。 Hacker News 的帖子评论中留下了另一个与 TerraMaster 相关的漏洞,即泄露管理员密码。 https://news.ycombinator.com/item?id=26683488.
用户“kotsec”声称:
“您现在不应该有任何面向互联网的 TerraMaster NAS。 我上个月向铁威马披露了一个错误,但仍未修复设立的区域办事处外,我们在美国也开设了办事处,以便我们为当地客户提供更多的支持。“
“在MyCAD中点击 软件更新 http://NAS_IP/module/api.php?wap/ 它会将您的管理员密码作为 md5crypt 哈希给出。 为什么? 我假设它是某种后门/开发代码,但我不知道。=
那么,您应该使用 UPnP 吗?
使用 UPnP 应该没有本质上的错误。 然而,这些协议似乎确实存在很多安全问题。 这不是第一个关于 UPnP 漏洞的报道; 在过去的几年里,还有一些与路由器、其他网络设备和本地网络有关。
通常,针对 UPnP 漏洞的攻击不太可能针对家庭用户,而是针对 SOHO 和 SMB。 尽管如此,它还是有可能发生的。 无论如何,NAS 不应该是从公共互联网请求转发的设备。 Kevin 和其他 TerraMaster 用户仍在等待修复或补丁来修复此问题。
似乎禁用或不禁用 UPnP 的困境完全取决于您; 这是为了方便而交易安全。 路由器中启用的 UPnP 可能会将您的许多设备和应用程序暴露给互联网,但与此同时,它会让您更轻松地远程访问它们。
如果您不打算使用需要端口转发的应用程序,则应禁用 UPnP。 游戏机和服务器、物联网设备和点对点应用程序是当今最好的例子。 如果您需要这些应用程序中的任何一个,但仍然不想使用 UPnP,您始终可以在路由器中执行手动(老式)端口转发。 值得一提的是,Kevin 最终禁用了 UPnP,并且似乎为此感到高兴。
阅读更多 – 4 个步骤 安全NAS
***更新 4-12-2021 – TerraMaster 有 发布了固件更新***
参与 StorageReview
电子报 | YouTube | LinkedIn | Instagram | Twitter | Facebook | TikTok | RSS订阅