安卓開發/反編譯工具中多存在嚴重漏洞
作者: @Darmon
終於,我們有了一個面向安卓開發者和逆向工程師而不是面向用戶的漏洞。
安全研究人員已經發現了一個在安卓應用開發工具中的很容易利用的漏洞,可以是基於本地或者雲端,都能使攻擊者達到竊取文件和遠程執行惡意代碼的目的。
這個問題是由 Check Point 研究團隊的人員發現的,他們還發布一款稱為 ParseDroid 的 POC 工具。
這個漏洞位於一個著名的 XML 解析庫 DocumentBuilderFactory 中,它被用於一些常見的安卓集成開發環境,比如 Google 的 Android Studio、JetBrains 的 Intellij IDEA 以及 Eclipse,同時也被用於一些針對安卓 APP 的主流逆向工具,比如 APKTool、Cuckoo-Droid 等等。
ParseDroid 攻擊會在當一個可攻擊的安卓開發工具或者逆向工具試圖去解碼安卓應用程序並且解析其中的惡意 AndroidManifest.xml 文件時觸發,這種漏洞技術被稱做XML外部實體(XML External Entity, XXE )漏洞,
,
換句話說,任何一個攻擊者只需要誘騙開發者或逆向工程師去載入惡意製作的APK文件,就能觸發這個漏洞。
研究人員說:「通過簡單地載入這個惡意 AndroidManifest.xml 文件到安卓項目的一部分,開發工具就開始彈出攻擊者配置的任何文件。
示例:XML External Entity(XXE)遠程代碼執行
https://youtu.be/w8Lg8ptpVpQ
除此之外,XXE 漏洞也可以通過向目標計算機注入任意遠程文件從而達到遠程代碼執行(RCE),這將使攻擊變得更加寬泛和多樣。
此外,攻擊者可以不用直接面向受害者,研究人員解釋說:「通過腳本把包含我們的 XXE payload 的惡意 Android 檔案庫(Android Archive Library, AAR)注入到庫(repositories)中就可以攻擊很大範圍的安卓開發者。」
出於教育和演示的目的,研究人員已經開發了一個在線的APK解碼工具,可以從 APK 文件中提取惡意文件(示例中他們使用了一個PHP WebShell 文件),如視頻所示:它可以允許攻擊者在 Web 應用伺服器中執行系統命令。
「當然,我們在示例中所用的攻擊方法僅僅是眾多可能達到遠程命令執行方法的一種」,Check Point 的研究人員寫到,「的確,通過目錄遍歷複製任意文件到本地文件系統,會讓攻擊更加寬泛和多樣。」
Check Point 的研究者 Eran Vaknin, Gal Elbaz, Alon Boxiner and Oded Vanunu 在 2017 年 5 月發現了這個問題,並且彙報給了所有主要的 IDE 和工具開發人員,包括 Google,JetBrains,Eclipse 和 APKTool 的開發者。
大多數開發人員,包括 Google,JetBrains 和 APKTool 的開發者,都已經解決了這個問題並發布了修補版本。
由於研究人員示例的所有攻擊方法都是跨平台的,所以強烈建議那些沒有更新版本的開發人員和逆向工程師更新他們的工具。
原文地址:https://thehackernews.com/2017/12/android-development-tools.html
推薦閱讀:
※Linux PIE/stack 內存破壞漏洞(CVE–2017–1000253)預警
※Intel處理器漏洞Meltdown(熔毀)和Spectre(幽靈)應急處置建議
※如何批量找SQL注入(工具+資源都打包)
※從這兩年的雲計算行業安全黑板報來看看雲安全現狀