按 Enter 到主內容區
:::

TWCERT-電子報

:::
發布日期:
字型大小:

小心Transmission BitTorrent設計缺陷,暗渡PC主控權

CVE編號 CVE-2018-5702
影響產品 Transmission 2.92以前版本
解決辦法 (1)下載jessie版2.84-0.2+deb8u1與stretch版2.92-2+deb9u1,參考https://packages.debian.org/search?searchon=sourcenames&keywords=transmission

(2)複製改良source code,連結https://patch-diff.githubusercontent.com/raw/transmission/transmission/pull/468.diff

張貼日 2018-01-18
上稿單位 TWCERT/CC

●概述:
Transmission Project採用peer-to-peer的BitTorrent協定,以C語言開發自由工具軟體,經測試Transmission client全體版本搭配相異OS與browser,皆無法避免「domain name system重綁定」攻擊,這弱點肇因於Transmission背景服務處理RPC session-id之機制有破綻,駭客得以竄改Transmission用戶DNS名稱,將HTTP POST命令趁機寫入表頭資訊X-Transmission-Session-Id,後續則能執行受害主機任何程式,開啟任何檔案,此途徑的確有效,但探勘門檻極高,此為Torrent軟體界首例RCE攻擊態樣,目前相關修補code已提供下載。
●編註:
(1)運作原理
儘管在實體單機操作,但Transmission BitTorrent乃典型server-client兩層式架構,需安裝某種daemon服務俾供使用web介面,因為該背景服務程序經由使用JSON RPC request之瀏覽器,使client通過port 9091與web server互動,達成檔案雙向傳輸。
根據HTTP RPC規劃方式,任何網站均可發出請求,由本機背景服務之XMLHttpRequest()接收,理論上client會忽略,畢竟無法查證這些request能否讀寫特定表頭資訊X-Transmission-Session-Id,Transmission的daemon預設僅接受來自localhost的request,其他來源一律排除,然設計遠端程序呼叫session-id機制出現破綻,此漏洞立足於本機運作服務與外部網站相互作用遭擺佈,而針對此漏洞之駭侵技術喚作domain name system rebinding,讓受害者正連線中的惡意網站,得借助daemon service不牢靠的RPC處理過程,從遠端執行localhost內程式碼。
(2)攻擊手法
既然稱作domain name system rebinding,那必有重新綁定的作為,概念為攻擊者事先預備好DNS名稱,且被獲准建立連線,其後令DNS名稱轉成受害電腦的localhost名稱,根據Google研究員模擬攻擊,大致步驟如後:
※受害者正使用Transmission BitTorrent,下載儲存路徑為/user/download;
※受害者造訪惡意網頁http://www.malicious.org,內有關連子網域的iframe受駭客掌控;
※駭客操縱DNS交替回應兩組IP,”本機127.0.0.1”及”惡意199.241.29.227”,Time To Live設定最小值(10秒)\;
※瀏覽器解析199.241.29.227,HTML等候逾10秒;
※然後POST指令注入server;
※瀏覽器可讀取、設定X-Transmission-Session-Id表頭;
※檢查受害者Transmission BitTorrent介面,下載儲存路徑被竄改成/system/tmp。
(3)風險評估
前段所述證明Transmission BitTorrent會讓駭客遠端執行本機現有全部程式,形同自助式後門軟體,在Windows和Linux平台上,Chrome、Firefox皆然,據此判斷,搭配其他作業系統與瀏覽器應無法免疫,且研究指出此為Torrent軟體界首例RCE,不排除其他弱點產品,然未點名特定廠牌。
長期以來Transmission BitTorrent算是被廣泛應用,弱點個體分布面大,駭客若成功實行DNS重綁技術,的確危害甚劇,但探勘條件必須是BitTorrent使用與惡意網站連線二者同時間成立,駭客還必須知情何人符合弱點條件,漏洞攻擊門檻極高,只要簡易的白名單過濾即可解決。

回頁首