【转载】关于 HiPer 的安全性讨论,以及对于近期一些小事的简单介绍

WARNING注意

本文转载自 MainTest233 于知乎上的专栏文章 https://zhuanlan.zhihu.com/p/675492255,已获得其授权。转载时请遵循 CC BY-NC-SA 协议。

知乎链接:https://zhuanlan.zhihu.com/p/675492255

V2EX 链接:https://v2ex.com/t/1004968

还有一句废话:我的两份一个月的许可目前已经被全局覆盖为过期许可,阿猫,你在害怕什么呢?


各位好,这里是 MainTest233,一位曾经在 HiPer 相关事件中作为 HiPer 方发言人

相信各位应该大多还没有忘记这个一年前的事件

PS: 如果你忘了或者不知道这个事情是什么, 你可以看看这几篇文章

很抱歉在临近新年的这个时候让大家想起这个十分令人烦心的事情,但我们今天不得不来提一提这个事情

通过某些小道消息以及,我得知 HiPer 近期已经换皮成功并准备再次出道

尽管目前我个人已经不再参与 Minecraft 圈子,但出于某些原因,也算是给以前做的事情做一些微不足道的弥补,我将披露一些我曾经在 HiPer 联合开发组所了解的一些皮毛,并借此给各位提供一个警醒,一定程度的遏制 HiPer 的复出 (当然,我也知道猫猫不会因此放弃,毕竟,黑粉也是流量)

本篇文章我已尽可能的采用 Markdown 语法进行美化,并经过多次校验修改,尽可能的改正以前发文的排版混乱以及逻辑不通顺的问题

还请各位放下烦躁的戾气,耐心将本文读完后

请注意,我个人已经退出 HiPer 相关的事情,并且不再参与任何启动器相关的事情,因此,本篇文章不代表任何立场,仅为个人对近期的一些情况的总结以及担忧


由于之前各个启动器作者的文章已将过往事件进行了一个完善的总结,并且由于我本人手中有关之前的事情所留下的证据已经残缺不全,此处便只讨论近期发生的新的事情

起因

2023 年 12 月 29 日晚间 11 点 24 分, 一位名叫 xqzi 的 GitHub 用户在 HMCL 的官方开源仓库中提交了一个 Issue, 其内容简单概括就是这位 xqzi 本人自己模仿 HiPer 实现了一个类似的工具,并自己采购了一个 2C?G4M 的阿里云用于替代 HiPer 的中继服务器

但说实话,真不是咱嘲讽你,当时 HiPer 主要依托于其企业产品 Matrix 的骨干线路服务器,我们那时候给人拿 8C16G12M 的腾讯云搭建的中继节点在压根就没接入骨干网络的情况下都快被挤爆了,你这个体量的小服务器想要拿来带动少说节假日也得上百万人同时使用的工具真的是很不自量力

出于我知晓 HiPer 之前给各位开发者和用户造成的影响有多深,不希望再让此事重新出现在大众面前,同时介于此 人所提供的资源确实太过稀少,因此,我建议此人不要再尝试对此进行建议,但很明显,我失败了

这时候问题并不是很严重,很快,一位 HMCL 的代码提交者,burningtnt 注意到了此 Issue,并联系了有权限操作 Issue 的人,只需要等仓库管理员过来锁定 Issue 并给出最终回复后,此事也就算结束了

但这个时候,一个造成这一切的人出现了

熟悉的语调,色气的头像,简短的名称,是他,是他,就是他,我们的,猫猫

给各位介绍一下,这个 ffip 即为 HiPer 的作者,阿猫

自此,整个 Issue 开始向着不可控制的方向发展

熟悉的话语勾起没好的回忆,很明显,猫猫又准备开始调动他的诱惑大法欺骗一个棋子,利用其完成 HiPer 的复出大业,同时不忘了再顺带抛下几句嘲讽

但我无法理解的是,你欺骗一个仍旧未完成学业的高中生是一个昧着良心就可以完成的事情,毕竟我确实什么负担也没有,哪怕抛弃了也没有任何能力可以对你后续的生意造成任何影响

但是这是一个已经有了工作的中年人了,前文这位 xqzi 也确实说过了,如果被发现当成干私活的话,这将会出现很严重的后果,而你现在的行为何尝不是引导其误入歧途,甚至毁掉自己的人生?

由于我尚未完成学业,尚无法完全理解中年人的压力以及负担,但就我个人的家庭而言,倘若我父母突然失去工作,那造成的后果将是一个家庭彻底的分崩离析,这已经不是简单的为了自己的利益将他人作为棋子或垫脚石踩于脚下这么简单的事情了

但很显然,猫猫并没有放弃这个可以让 HiPer 再次复出的机会,毕竟,对于他来说,没有什么可以比自己的利益更加重要了

顺带, 你的这个项目取名又撞衫了, 还是个 6 年前的项目

如此,我便不能再继续作为一个旁观者当乐子人了 但正如前文所说,我并没有什么强大的能力可以反制 HiPer,不过我还有一个 HiPer 从未向大众公布过的东西, 现在该到它向各位露面的时候了

奇怪的端口

这里插入一个题外话,经过又一次改名换代,目前 HiPer 已更名为 VLAN

同时,由于某些意外,我在发布此文之前将消息泄漏到了某个阿猫内鬼所在的群聊,目前阿猫已经将此配置公开向所有人 (后文我会提供),但我可以告诉各位的是,这个东西仍旧具有极大的安全风险,详情请继续往下看

实际上,这个问题说起来十分简单,也并不是一个特别巨大的问题

不知道大家是否注意过 HiPer 在启动时会创建一个很奇怪的监听

如图所示,38154 (UDP) 是 STUN 专用的端口,而 6699 (TCP) 是用于进行 P2P 连接的端口 (PS: 我这时候只是拿 nmap 粗略的扫了一下,也没用 WireShark 具体抓包去查,只是依赖记忆说的,你只要知道这俩端口是正常的即可)

但图中却存在一个很奇怪的 22222 (TCP) 端口, 这到底是干什么用的呢?

因为 lsofnetstat 都无法识别这个端口的作用,所以让我们利用 nmap 对这个端口进行一个快速扫描来看看

.

真是不看不知道,一看吓一跳,我还以为我什么 SSH 端口设错了呢!

不过这个 fingerprint-strings 也很好的证明了这正是 HiPer 所为,这上面还带着一个我从来没有见过的 SSH 公钥对,为此我还专门检查了一遍我的 SSH 公钥文件,发现这里什么都没有

为此,我曾专程前去问过阿猫这是什么,阿猫美名其曰 "边缘控制",怎么说呢,这个起名方法只能说不愧是阿猫了~~(当然,我早就没有这段聊天记录的截图了,欢迎吐槽我造谣)~~

信我, 别去搜什么是边缘控制, 不然你会得到跟我一样脑洞大开的感觉

简单来说,根据当时猫猫给我的回答,这个 SSH 是一个 "备用方案",当某些用户做出了违反 ToS 甚至违反法律的行为后,猫猫就可以利用这个采集相关证据以供警方执法使用

这个东西如果真的应用到警方执法上的话确实是一个很棒的东西,但,如真?

门户大开

你们不会以为这就结束了罢?远远不止

我曾天真的认为这个东西只有中控服务器可以访问,但试想一下,如果这个网络是没有隔离的呢?

而此时我不得不对以前的固执与粗鲁向 TT702 道歉,并献上最诚挚的尊敬,其曾经对 HiPer 的观点在这一刻得到了彻底的验证

HiPer 的边缘控制功能并没有做任何的额外鉴权,只需要加入网络,并且拥有一个正确的私钥,他就可以通过这个后门访问任意没有配置防火墙的在网用户的设备

你可能会觉得 "啊这个东西不就是开了防火墙就可以阻隔了吗?",事实也确实如此,但倘若我告诉你,中国大部分家用设备都不会开启防火墙呢?倘若他会自行申请防火墙开放权限但是不会告诉你这个东西是干什么用的呢?而当一个小白想要用这个东西联机,或者一个不太懂这个的人想要用它来组网,当他们被防火墙阻拦时,他是会选择认真琢磨防火墙规则,还是直接关闭防火墙呢?

也许你会觉得 "这个东西只是一个 SSH 罢了,他也没有任何权限,他能拿来干点什么?",那么我可以用另外一个简单的实验来告诉你为什么这个东西如此危险

PS: 不知道 SSH 是什么的可以看这个: 安全外壳协议

如图,此时我创建了一个测试用的无权账户,并尝试重新运行 HiPer,你可以很明显的看到,HiPer 必须使用管理员权限来运行以实现某些操作,这并不难理解,因为对于采用 TUN 实现的网络转发是几乎不可能不采用管理员权限实现的,也就是说,我的服务器上现在正运行着一个拥有管理员权限的可以被任何拥有 SSH 密钥文件的人登录访问的 SSH 服务

如果你不能理解的话,那么我给你简单举个例子,这就像你把你家的大门敞开之后还把你的贵重物品全部拿出来罗列好了一样

PS: 根据我们进一步的调查发现,这个 SSH 同时也内置了完整的 SFTP 功能 (当然,这应当是 SSH 的标配,所以此处也不赘述了)

而且,这个功能在官方的教程中并未给出关闭方式,并且我的配置中没有启用此功能

若按照 HiPer 官方教程中的写法,我确实可以通过添加 ssh 部分并成功的将该服务更改端口并将密钥更换为自己的,但我仍旧无法彻底关闭此功能,一旦我删除掉这部分配置,SSH 又将重新恢复成公钥为那个带有一个公钥的 SSH;并且,此功能必须删除掉如图所示的 sync 部分,而该部分内容主要为同步上方的 point.yml 与官方仓库中的相同,而这部分是你连接整个网络的主要中继节点,并且会定期动态更新,倘若不删除该部分,你的任何修改都将被重置,而删除掉之后,你又将失去保证你与整个网络稳定快速连接的中继节点更新权限,好一个二选一!

哦对了,如果没有提前泄密的话,恐怕到现在这个 ssh 部分的提示也不会出现

并且,这个功能在当初三家启动器与 HiPer 对立并且并未将 HiPer 完全移除之时,此功能已经存在

而且,往远了说,我看到 HiPer 曾经的论坛官网现如今已经有了一些政府相关的内容,看得 出来,阿猫已经准备或可能已经将 HiPer 的业务推入了 B/G 端,我想,恐怕没有一个企业或者政府希望自己所采用的组网工具中留下一个如此严重的后门

当时猫猫某一次交谈时,猫猫和我讲过这个事情,他也曾表达过使用这个来获得压倒性局面的可能,是否真实无人知晓,大概也就只有猫猫心里知道了

后记

本篇文章到此也基本结束,此问题我已尝试提交至 CVE 官方平台以及 CNNVD (不过这种东西收录的可能性几乎为零,大家当个乐子看就行)

看完本篇文章之后,想必各位对 HiPer 也有了一个全新的理解

尽管本文披露的内容并不严重,但还请各位对 HiPer 以及其作者阿猫多加小心,这很有可能只是 HiPer的冰山一角

对于目前的这种状况,我能给出的建议也没有多少,毕竟我的学识也很短浅

  • 少用阿猫的作品
  • 开启防火墙,确保每一个申请开放端口的应用是否是你信任的
  • 做好权限控制,不要随随便便就给软件管理员权限

我该说的已经全部说完了,如果你想喷我,欢迎来到这篇帖子下面畅所欲言,本帖不会进行任何的评论删除,我也不会介意任何人对我个人的人身攻击,毕竟,黑粉也是流量

哦对了,如果这个帖子被删掉的话,我还会继续发帖,不行了我们可以换着平台发,我们可以比拼一下是你的举报多还是我的帐号多 当然,你也可以动用一点钞能力,直接把我全平台封死,不过这样的话,各位,谁黑谁白大概也就全明白了

本篇文章的观点全部由各位评判,我仅仅是客观的描述事实,如果你觉得我有作假造谣的可能,欢迎来到我的文章下面评论告诉我 我所采用的版本是 VLAN (1.15.1.0)Linux_x86-64 版本进行测试,两个服务器的系统均为 Debian 12 (Bookwarm),这份二进制文件我会一直保留下去,已经做好了异地多中心备份,如果你想,可以挨个攻破 ED25516OneDrive群晖 NASLUKS 等,并追查到我的个人住址,在我的家中找到我藏起来的最后一份文件,删除掉这些内容,不过我觉得你大概也不会在乎,毕竟这只是很少的一点东西罢了

哦对了,你不是喜欢 Wayback Machine 吗,我在这篇文章编写之时给你的主要使用教程和仓库主页都打了一份快照,虽然没有能抓到你没写 SSH 配置的时候,不过我很好奇你之后会开放多少没有写出来的配置,同时我也好奇你会为我上文给出的问题做出多少的改变,让我们拭目以待罢

各位如果不相信的话,可以看看仓库的提交记录,其已经更新到 1.15.1.0 版了,但是仓库提交却仅仅只有 2 个,这其中经历了多少 git pullgit push 十分值得我们深思

相关链接:



对了,这里其实还有一个解决办法,你可以给猫猫交钱以获取一份定制版本的不需要管理员权限的 HiPer 互联工具,你怎么看?


最后,xqzi 希望我给你一个答复,了解为什么阻止你参和这件事情的真相,这便是缘由,甚至还不止这些

“能说出来的都不叫痛苦”


最后一句,本文章所有的图片均来自于 GitHub 中的个人仓库,因此,当 GitHub 仓库中的内容被修改时,此处也会被动态修改

为表诚意,我将图片存储仓库的 Commits 也进行了 WayBack Machine 处理,下为链接

此文章就此存档,不再修改

窗边浅谈:序章
2023 年终回顾