本文轉載自 MainTest233 於知乎上的專欄文章 https://zhuanlan.zhihu.com/p/675492255,已獲得其授權。轉載時請遵循 CC BY-NC-SA 協議。
關於此文章在知乎平台的一些備註:
由於本文原本是在 V2EX 上發布,但由於該平台有部分用戶無法訪問,故轉載至知乎
知乎可能無法識別一些 Markdown 語法,因此,部分排版可能會出現異常,還請見諒
原文採用 GitHub 倉庫作為圖床,國內部分用戶可能無法打開,因此,我將本文中大部分圖片已作鏡像替換處理,如果圖片丟失請在評論中告知,我會及時更換鏡像鏈接
各位好,這裡是 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)
端口,這到底是幹什麼用的呢?
因為 lsof
和 netstat
都無法識別這個端口的作用,所以讓我們利用 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)
,這份二進制文件我會一直保留下去,已經做好了異地多中心備份,如果你想,可以挨個攻破 ED25516
,OneDrive
,群暉 NAS
,LUKS
等,並追查到我的個人住址,在我的家中找到我藏起來的最後一份文件,刪除掉這些內容,不過我覺得你大概也不會在乎,畢竟這只是很少的一點東西罷了
哦對了,你不是喜歡 Wayback Machine 嗎,我在這篇文章編寫之時給你的主要使用教程和倉庫首頁都打了一份快照,雖然沒有能抓到你沒寫 SSH 配置的時候,不過我很好奇你之後會開放多少沒有寫出來的配置,同時我也好奇你會為我上文給出的问题做出多少的改變,讓我們拭目以待罷
各位如果不相信的話,可以看看倉庫的提交記錄,其已經更新到 1.15.1.0
版了,但是倉庫提交卻僅僅只有 2 個,這其中經歷了多少 git pull
和 git push
十分值得我們深思
相關鏈接:
- 官方教程:https://docs.qq.com/aio/DTEpsR1lmbnZLQmln?p=gbkSEKVrKc6kV7qa6SLZ0y
WayBack Machine:https://web.archive.org/web/20231231141501/https://docs.qq.com/web/20231231141501/https://docs.qq.com/aio/DTEpsR1lmbnZLQmln?p=gbkSEKVrKc6kV7qa6SLZ0y - 官方二進制文件倉庫:https://gitcode.net/to/vlan
WayBack Machine: https://web.archive.org/web/20231231142556/https://gitcode.net/to/vlan - 官方二進制文件倉庫提交頁面:https://gitcode.net/to/vlan/-/commits/master/
WayBack Machine:https://web.archive.org/web/20231231142645/https://gitcode.net/to/vlan/-/commits/master/ - CVE 介紹 Gist: https://gist.github.com/FunnyShadow/ba8177d50f146034b47de296e514f5de
對了,這裡其實還有一個解決辦法,你可以給貓貓交錢以獲取一份定制版本的不需要管理員權限的 HiPer
互聯工具,你怎麼看?
最後,xqzi 希望我給你一個答復,了解為什麼阻止你參和這件事情的真相,這便是原因,甚至還不止這些
“能說出來的都不叫痛苦”
最後一句,本文章所有的圖片均來自於 GitHub 中的個人倉庫,因此,當 GitHub 倉庫中的內容被修改時,此處也會被動態修改
為表誠意,我將圖片存儲倉庫的 Commits 也進行了 WayBack Machine 處理,下為鏈接
- 圖片倉庫提交頁面: https://github.com/FunnyShadow/some-backups-of-hiper/commits/main/
WayBack Machine: https://web.archive.org/web/20231231143949/https://github.com/FunnyShadow/some-backups-of-hiper/commits/main/
此文章就此存檔,不再修改