<pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
    <pre id="vvttv"></pre>

      <p id="vvttv"></p>

          <p id="vvttv"></p>

                <p id="vvttv"></p>

                <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                  <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                    <p id="vvttv"></p>

                    原文地址:http://drops.wooyun.org/papers/7317

                    原文地址:http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Adobe-s-CVE-2015-5090-Updating-the-Updater-to-become-the-bossman/ba-p/6765412

                    0x01 前言


                    2015年7月,Adobe修補了多個漏洞,其中CVE-2015-5090格外顯眼,值得深究。但是,Adobe對于這些漏洞只是根據威脅程度進行了排名,并沒有給出詳情。事實上,攻擊者可以利用這個bug以系統權限用來執行代碼,即攻擊者能夠完全接管目標機器。因為這個漏洞影響的是Adobe的更新服務,也就是說,該漏洞同時存在于Adobe Reader和Acrobat Pro軟件中。這兩個程序都會安裝ARMSvc服務(更新程序),并且都把 AdobeARM.exe/AdobeARMHelper.exe存放在c:\progra~1\common~1\Adobe\ARM\1.0目錄下面。

                    我們這里的漏洞利用方法是針對acrobat.exe的,不過,稍作修改也是可以用于Reader的。下面的視頻,為大家演示了這個漏洞的利用過程。

                    0x02 Bug信息


                    ARMSvc.exe支持多個由IDA中的HandlerProc函數定義的用戶控件:

                    enter image description here

                    圖1 Handler函數

                    UserControls的內部代碼:

                    enter image description here

                    圖2 控件

                    對于該漏洞利用來說,我們主要感興趣的地方在于:

                    170——創建一段共享內存。

                    179——執行ELEVATE,而ELEVATE又會使用共享內存中的參數來執行AdobeARMHelper.exe。

                    用戶控件170的問題在于它創建了一個帶有弱權限的共享內存段。 由于任何用戶都能讀寫該共享內存段,這就意味著,攻擊者能夠控制傳遞給AdobeARMHelper.exe程序的參數。

                    通過觀察AdobeARMHelper.exe,我們發現了例程sub_42A260,這個例程可用來尋找給定目錄下面的第一個文件。之后,它會檢查該文件是否帶有Adobe的簽名,如果是的話,sub_42A260就會把這個文件復制到AdobeARM.exe程序所在的目錄下面。

                    enter image description here

                    圖3 簽名校驗

                    如果簽名校驗失敗,該例程將退出:

                    enter image description here

                    圖4 簽名校驗失敗

                    如果通過了簽名校驗,該例程就會拷貝該文件:

                    enter image description here

                    圖5 簽名校驗成功

                    該函數沒有考慮到以下幾點:

                    1. 沒有對存放被復制的文件的目錄路徑進行檢查。這樣,攻擊者就能提供自己的路徑,即把這個文件復制到攻擊者指定的路徑下面。
                    2. 找到第一個文件的時候,沒有檢查文件名。
                    3. 第一個文件被發現時,沒有檢查文件的擴展名。

                    函數DOES會進行下列檢查:

                    1. 在指定文件夾下面找到的第一個文件是否帶有Adobe的簽名。利用方法:

                    我們能夠做什么:

                    1. 控制SM傳遞給AdobeARMHelper/AdobeARM的參數。
                    2. 在需要的時候以系統權限來執行AdobeARM.exe。
                    3. 利用任何具有Adobe 簽名的文件來覆蓋AdobeARM.exe。

                    我們需要做什么:

                    1. 讓無Adobe簽名的代碼也能執行。

                    策略:

                    為了利用這個bug,我們可以用具有Adobe簽名的代碼來覆蓋AdobeARM.exe,并通過這些代碼做一些有趣的事情。

                    例如,arh.exe是Adobe AIR的安裝包裝器。理論上,我們可以用arh.exe覆蓋AdobeARM.exe,這是完全允許的,因為它也有Adobe的簽名。之后,我們就可以通過arh.exe安裝任意的AIR應用程序了。這個策略唯一的問題在于,arh.exe不允許向其傳遞參數,所以,我們無法直接通過SM向其傳遞參數。

                    最好的策略是,利用某個可以向其傳遞額外參數的、帶有簽名的二進制代碼來覆蓋AdobeARM.exe。利用方法:

                    如果我們仔細考察Acrobat Pro就會注意到,它含有一個名為AcrobatLauncher.exe的二進制程序,該程序允許通過指定的PDF文件來啟動Acrobat.exe。AcrobatLauncher.exe是個好東西,因為它只會忽略額外的參數,并且既不支聲,也不會退出。 具體的命令行參數為 AcrobatLauncher.exe -open PDF_FILE。

                    0x03 攻擊鏈


                    1. 觸發SM。
                    2. 給SM寫參數。
                    3. 觸發用戶控件ELEVATE,把AcrobatLauncher.exe(作為AdobeARM.exe)復制到c:\progra~1\common~1\Adobe\ARM\1.0\AdobeARM.exe。這基本上把更新程序覆蓋掉了。
                    4. 運行新的adobearm.exe,它將通過我們的PDF漏洞利用代碼來執行acrobat.exe程序。這一步是由ELEVATE控件自動完成的。
                    5. PDF漏洞利用代碼會把32.dll轉儲到c:\progra~1\common~1\Adobe\ARM\1.0目錄下。這是通過我們的一種JavaScript旁路技術完成的。
                    6. 清除臨時文件夾,這樣再次調用ELEVATE時,adobearmhelper.exe就不會從臨時文件夾中復制到任何東西了。
                    7. 重寫SM,這樣,它就會執行我們的新AdobeARM.exe,而不會做任何的修改了。
                    8. 再次執行ELEVATE,這樣就會只用“-open”一個選項來執行AdobeARM.exe,以加載secur32.dll,并以SYSTEM身份彈出計算器。

                    從中可以看出,CVE-2015-5090為攻擊者提供了一種非常可靠的方法使其可以系統權限運行代碼。所以,如果你正在使用Adobe Reader 或Acrobat Pro的話,務必給這個漏洞打上補丁。此外,如果你想了解第5步中的JavaScript旁路技術的更多詳情的話,請關注我們即將到來的Defcon演講。我們拉斯維加斯見!

                      <pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
                      <pre id="vvttv"></pre>

                        <p id="vvttv"></p>

                            <p id="vvttv"></p>

                                  <p id="vvttv"></p>

                                  <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                                    <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                                      <p id="vvttv"></p>

                                      这里只有精品视频