針對 Celer Network 進行的一次有目的性的 BGP Hijacking 攻擊。

作者: Thinking &愛上平頂山

事件背景

8 月 18 日,Celer Network 官方表示,北京時間 8 月 18 日 3:45 至 6:00 期間,部分使用 cBridge 的用戶被引導至惡意智能合約,cBridge 前端界面疑似遭受 DNS Hijacking 攻擊。與之前如 Nomad,Wormhole,Ronin,Harmony 等跨鏈橋黑客事件完全不同的是,這次攻擊並不是因為智能合約和跨鏈協議的 Bug 或相關服務器被入侵導致的,因此在 cBridge 中鎖定的跨鏈資產也一直保持安全。這次攻擊黑客直接針對 Celer 系統之外的互聯網架構中的底層基礎設施,通過欺騙互聯網的底層路由協議(BGP),讓跨鏈用戶在一段時間內,訪問了一個 “釣魚” 前端用戶界面。由於 Celer Network 團隊有 24 小時監控機制,客服在第一時間發現問題,後續團隊的處置速度及時、方法得當,用戶損失非常的小。同時慢霧安全團隊應 Celer Network 團隊邀請也在第一時間參與應急並協助進行深入分析。

圖片
(https://twitter.com/CelerNetwork/status/1560022871564775424)

分析過程

開始的時候 Celer Network 團隊初步懷疑是 DNS Hijacking,在與 Celer Network 團隊進行溝通討論後得到出問題的域名信息:cbridge-prod2.celer.network,並且根據用戶的反饋,在攻擊期間瀏覽器並沒有提示證書錯誤,因此先排查下 DNS Hijacking 的可能性。(這里特別感謝 Twitter 用戶 @greysign1 的幫助,協助我們快速排查 DNS Hijacking 的可能性)

我們先看下相關證書相關信息:

圖片
(https://crt.sh/?q=celer.network)

很明顯證書突然發生了變化,原來 Let's Encrypt 簽發的證書被替換為 GoGetSSL 簽發的偽造證書。

GoGetSSL 可以簽發免費 90 天的證書:

圖片
(https://www.gogetssl.com/sslcerts/free-ssl/)
  • 分析證書 1:
https://crt.sh/?id=7356185959
SHA-256A01A34FE398E56D80BDDA40EFB555D14654856B5FAA6C92BFEBEF2861D712732

證書出現 CRL Check 錯誤 ,時間如下:

圖片
  • 分析證書 2:
https://crt.sh/?id=7356184952
SHA-256579FABEE3A9F7EFECD43C99795744C4B93DC49A4FB93E174B201F8A333990C1A

證書也出現了 CRL Check 錯誤,時間如下:

圖片

分析證書 1 對應的 IP、證書等信息,發現證書綁定的 IP 為 44.235.216.69:

圖片
(https://search.censys.io/hosts/44.235.216.69)
圖片
圖片

對證書 2 的 IP 進行調查,未能查詢到證書 2 對應的 IP 地址,這可能是因為攻擊持續的時間較短,互聯網搜索引擎未能採集到相關的信息。

因此慢霧安全團隊將調查的重點轉向查詢 cbridge-prod2.celer.network 域名對應 IP 解析記錄:

cbridge-prod2.celer.network 很長一段時間都解析到 44.235.216.69:

圖片
  • 疑問點:

cbridge-prod2.celer.network 長時間解析到 44.235.216.69,證明這個 IP 應該是屬於 Celer Network 官方服務器的 IP 地址,經過與 Celer Network 團隊進行確認 44.235.216.69 是屬於他們的 IP,但是為什麼會有假證書綁定在這個 44.235.216.69 IP 上呢?

圖片

於是我們開始對 44.235.216.69 的 AS 進行檢查,發現該 IP 對應的 AS 存在異常。

圖片

AS16509 提示 AS16509 announces bogons:

圖片

查閱 bogons 相關資料,這種情況經常出現在攻擊者偽造 IP 進行攻擊的場景中:

https://forum.networklessons.com/t/what-are-bogons/6333
圖片

由於 44.235.216.69 的 AS 出現了異常,初步推測問題可能出現在 BGP 上,於是慢霧安全團隊繼續和 Celer Network 團隊進行溝通獲得攻擊 IP: 54.84.236.100 ,對 IP: 54.84.236.100 進行分析,發現該 IP 所在的 AS14618 也出現了異常(AS14618 也是 announces bogons)。

圖片

並且巧合的是 AS14618 的上游是 AS16509(AS16509 也是 44.235.216.69 所在的 AS),這時候慢霧安全團隊就警惕起來了,這種情況很有可能是一起 BGP Hijacking 的攻擊。

圖片

繼續對攻擊 IP: 54.84.236.100 進行調查,發現該 IP 已被標記為惡意 IP。

圖片

並且我們通過情報社區獲得 54.84.236.100 相關情報,其中有一則情報提到 54.84.236.100 與 2014 年的一起 BGP Hijacking 事件有關,但是由於這起事件的時間太久了,可能暫時不具備時效性。

圖片

(https://www.secureworks.com/research/bgp-hijacking-for-cryptocurrency-profit)

圖片

慢霧安全團隊順著 BGP Hijacking 方向繼續深入的分析,並開始 BGP Trace 記錄追踪:

圖片

追踪攻擊 IP: 54.84.236.100 的 BGP Trace 記錄,發現目前已經無法找到這條路由。

圖片

繼續追踪 Celer 的 IP: 44.235.216.69 的 BGP Router Ttrace 記錄,能夠正常找到路由。

圖片

接著查詢 BGP 節點變動記錄:

北京時間:8/18/2022 2:48 AM - 8/18/2022 7:48 AM UTC+8

圖片
圖片

發現北京時間 8/18/2022 2:48 AM - 8/18/2022 7:48 AM 這個時間點,有大量的節點添加、刪除變動記錄。

我們繼續追踪 AS 變動記錄,發現 AS14618 歷史上包含了 44.235.216.0/24 這條路由信息,但是後面將這條路徑發生了 Withdrawn,這證明:

  • 曾經 AS14618 中的 44.235.216.0/24 是最優路徑
  • 現在 AS14618 中的 44.235.216.0/24 已經不是最優路徑,所以被 Withdrawn。

(BGP Hijacking 發生的時候攻擊者會發布一條最優的路徑將流量引導到自己的服務器上)

圖片
(https://smakd.potaroo.net/cgi-bin/per-as?as=14618)

通過上述的分析其實已經有明顯的 BGP Hijacking 的痕跡了,為了能夠得到更精準的數據,我們使用 bgplay 查看 44.235.216.69 相關路徑在攻擊時間前後的變化:

圖片
(https://stat.ripe.net/special/bgplay#bgplay_fetch.resource=44.235.216.69)

我們可以看到在 2022-08-17 19:19:23 +UTC -- 2022-08-17 23:19:23 +UTC 時間段內,BGP 路由路徑的信息出現較大的波動性變化。

並且這種變化表現為:將 44.235.216.0/24 的流量引導到 AS14618,並在攻擊時間之後 44.235.216.0/24 的流量路徑便從 AS16509 中走。

因此,我們判斷這起事件大概率 BGP Hijacking 問題,AS14618 應該是攻擊者可以控制的節點(AS14618 的 Router 可能存在安全問題導致被攻擊者利用),攻擊持續 4 個小時左右。

攻擊者可以把證書 1(假證書)綁定在 Celer Network 的 IP: 44.235.216.69 上,也是因為攻擊者有相同 IP: 44.235.216.69 的惡意服務器,然後 gogetssl 支持 http 進行驗證,只要在惡意服務器上放一個 gogetssl 提供的 txt 就行,因此可以通過 BGP Hijacking 將流量引導到相同 IP 的惡意服務器上完成證書 1 的綁定,這樣瀏覽器就不會有證書錯誤的提醒。

判斷 AS14618 應該是攻擊者可以控制的理由:

  • 攻擊者先將 44.235.216.69 的流量引導到 AS14618,攻擊結束後 44.235.216.69 的路由回到了 AS16509。
  • 並且攻擊 IP: 54.84.236.100 也在 AS14618 裡面。
  • 攻擊結束後 AS14618 Withdrawn 了 44.235.216.69 的路由。
圖片
  • 疑問點解答:

cbridge-prod2.celer.network 長時間解析到 44.235.216.69,證明這個 IP 應該是屬於 Celer Network 官方服務器的 IP 地址,經過與 Celer Network 團隊進行確認 44.235.216.69 是屬於他們的 IP,但是為什麼會有假證書綁定在這個 44.235.216.69 IP 上呢?

使用 HTTPS 協議進行通訊在沒辦法拿到證書私鑰的情況下是無法加/解密數據(包含客戶端/服務端通訊的數據)的,所以要想保證證書正確並且能夠進行中間人攻擊,攻擊者需要通過在權威機構申請的證書重新綁定在的有相同 IP: 44.235.216.69 的惡意服務器上,這樣攻擊者就能夠解密客戶端的數據了,並且可以往響應包的數據中插入惡意的代碼。

分析結論

本次攻擊事件經過慢霧安全團隊與 Celer Network 團隊共同配合,進行深入的分析,該事件為 BGP Hijacking 攻擊導致的安全事件。這是針對 Celer Network 進行的一次有目的性的 BGP Hijacking 攻擊,攻擊者選的攻擊時間點、證書偽造、AS 控制等操作一氣呵成。

最後需要提醒的是,許多運營商已經很清楚 BGP Hijacking 攻擊的風險,並為此做了充分準備。但不少項目方並不是很清楚,特別是像 AS 變化引起的網絡路徑變化,沒有充分的準備和響應措施,所以將來很有可能會被同一攻擊者或其他攻擊者重複攻擊。因此,慢霧安全團隊建議項目方、互聯網服務提供商和服務器託管商應該認識到這類事件的風險,並一起協同防禦,避免此類事件再次發生,如果你需要協助請聯繫慢霧安全團隊。

附:

【1】BGP Hijacking 科普參考鏈接:

https://www.cloudflare.com/zh-cn/learning/security/glossary/bgp-hijacking/

【2】cbridge-prod2.celer.network DNS 變化圖:

圖片

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。