科技解讀io.net是如何被駭的

24-04-26 18:21
閱讀本文需 10 分鐘
总结 AI 總結
看總結 收起
原文標題:《Ionet 是如何被駭的》
原文作者:Holegots,加密KOL

編者語:昨日,據社群用戶回饋,有駭客透過API 直接修改io.net 多台機器的名字和線上狀態,來污染資料。多台機器的名字和線上狀態都被修改。 io.net 創始人兼首席執行官 Ahmad Shadid 隨後回應稱,駭客只能更改用戶的裝置私人名稱,沒有人在機器上運行任何新容器,官方將盡快修復這一問題。加密 KOL Holegots 從技術角度分析了 io.net 是如何被駭的,並表示目前的情況無需擔心。 BlockBeats 轉載全文如下:

今天看到有黑客ionet 的所有設備都改了,看到大家很恐慌,其實這個並不困難,主要還是io 自己的安全意識太差了



大概講講他是怎麼做的。


IO 的工作流程


首先對IO worker 的工作流程進行分析,其實主要是三個部分,分別是資料抓取上報Uptime(不過在新版本中已經被下掉了)


初始化


在一開始啟動的時候,io.net 會去Secret 的API 請求非常多的配置信息,這裡包含了最新的鏡像,啟動命令,各個API 調用的AuthKey。



資料抓取部分


資料抓取的部分包和代碼


內容很簡單,主要是一系列的設備信息的抓取,也可以在容器的/tmp/scrape_metrics.json 中看到抓取的結果。


資料上報


/tmp/scrape_metrics.json


然後就是數據上報,這個也是黑客主要用的手段之一,他會分別往兩個DB 中寫入數據,分別是Redis 和Postgresql。


Postgresql 的資料插入


其次是Redis 的Put 和修改,這裡是主要是為了前端頁面的現實和查詢速度,這也是黑客的主要修改目標之一,這個接口比較簡單,只需要有Device ID 就可以了


Redis 的修改以及TTL 的覆蓋


以上是關於IO.net 的Worker 是如何運作的主要流程。


駭客是如何污染其他使用者的


這裡其實就提到了剛才說的, io.net 自己的安全意識不足,上述的上報接口中,其實是基本沒有做鑑權的,你只需要拿到USER_ID 和DEVICE_ID,就可以手動上報設備,當然這個也是為什麼之前能加這麼多設備的原因,因為一個HTTP Call 就足夠了


設備上報介面


在這裡只需要提供USER_ID 和DEVICE_ID 就可以往官方插入一個新的設備,然後就是如何取得這些資訊的問題了


取得Device ID


在官方的Explore 中, 是可以看到所有Device 的資訊的,透過抓接口遍歷,我們也是可以拿到所有的DEVICE_ID 的



取得USER ID


注意:該方式已經反饋過官方安全團隊並且已經於前些天被修復。


這個原理非常簡單,在最早的Worker 的初始化過程中,設備會去獲取自身的狀態,例如如果是terminated 或其他狀態,就停止運行,這個介面在之前一直是可以取得User ID 的。


早期介面


所以,在前幾天的時候,只需要透過DEVICE_ID 就可以取得所有人的USER_ID ,


只需要拿到這兩個ID 就可以任意上報對應的裝置。


存取別人的網路



這裡其實就是加入tailscale 以後進行了一次nmap 掃描,只能算上這是腳本小子的自嗨。


由於io.net 對於網路之間的通訊使用的是Tailscale, 而初始化過程中,是會把AuthKey 下發到設備上的,所以只需要拿到Authkey,就可以加入到網路中,因此所有人都可以做到同樣的事情。


不要擔心 你的裝置在沒有被使用的時候是不會加入 tailscale 的。



總結


是否應該恐慌


就整個過程來說,其實並沒有什麼難度,只要願意的話並具有一部分網絡安全知識的話,大家都可以輕易做到。


由於io.net 沒有對PUT/POST 的介面做Auth,導致整個表現像DB 被駭了一樣,但實際上收到影響的也只有上報部分的數據,錢包和AuthN 部分,看起來還是完全不用擔心的。


為什麼是今天


我個人猜測可能是因為昨天[io.net]( <http://io.net>) 的鏡像中,增加了POW 部分的驗證, 所以對於部分腳本小子來說,會更有難度,因此選擇在今天開始攻擊。


原文連結


欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交