V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MainTest233
V2EX  ›  程序员

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

  •  1
     
  •   MainTest233 · 332 天前 · 1333 次点击
    这是一个创建于 332 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位好,这里是 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 罢了,他也没有任何权限,他能拿来干点什么?",那么我可以用另外一个简单的实验来告诉你为什么这个东西如此危险

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

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

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

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

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

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

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

    后记

    本篇文章到此也基本结束,此问题我已尝试提交至 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 处理,下为链接

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

    第 1 条附言  ·  331 天前
    由于笔者是第一次到 V2EX 发帖,没有将此帖发至正确的板块,现已改版重发(不过我还没有找到在哪儿删帖....好像是不能删除吗...目前我用下沉十天暂时作为替代了)
    我对文章进行了一些修正,使其和知乎上的版本保持一致(详细原因已经在新帖开头注明)

    新帖链接: https://v2ex.com/t/1004968

    给各位带来了误会和麻烦,十分抱歉
    MainTest233
        1
    MainTest233  
    OP
       332 天前
    文章中有部分排版(主要是 WayBack Machine 链接那个地方)在我的编辑器上可以正常被显示为两行,但是 V2EX 的 Markdown 解析器无法正常解析,观感较差还请各位谅解
    MainTest233
        2
    MainTest233  
    OP
       332 天前
    关于我开头引用的四篇文章中的一个简单的注释:
    这四篇文章的作者都与我有或多或少的私人恩怨,加上这个事情的冲击,基本上四篇文章都存在一定程度的主观发言,各位可以自己判断出一个认为对的故事流程,我接受所有人的观点,并且不会对此做出任何抵赖或回答
    @MainTest233
    MainTest233
        3
    MainTest233  
    OP
       331 天前
    附注 2: 我刚刚发现不知道为什么 V2EX 的帖子链接在加入一个 "/" 后也会无法识别,总之,开头引用的四篇文章中最后一篇文章的链接是这个: https://www.v2ex.com/t/893156
    MainTest233
        4
    MainTest233  
    OP
       331 天前
    同时,我需要更正一下官网链接,目前 HiPer 的官网应该是 https://www.the.bb/zh-cn ,而非 https://mcer.cnhttps://mcer.cn 为其软件的原论坛,不过其证书校验相关的操作的根域名仍为 mcer.cn
    BigCake
        5
    BigCake  
       331 天前
    请问我是否可以将这篇文章转载至个人博客?转载后的文章使用 CC-BY-NC-SA 协议进行授权,同时也会注明出处与原作者。
    MainTest233
        6
    MainTest233  
    OP
       331 天前 via Android
    @BigCake 可以
    flyqie
        7
    flyqie  
       331 天前 via Android
    看起来这篇文章主要讲是在 Minecraft 这边发生的事,发到程序员板块虽然没啥问题但总感觉有点错版?
    MainTest233
        8
    MainTest233  
    OP
       331 天前
    @flyqie
    第一次发帖,不太清楚 V2EX 这边发版的需求,还请谅解
    其实之前是想发到问与答的,但是后期想改的时候已经过时限了,也无法修改了)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5751 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:32 · PVG 11:32 · LAX 19:32 · JFK 22:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.