日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CVE-2017-11882漏洞分析

發布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CVE-2017-11882漏洞分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 分析環境
    • 漏洞描述
    • 漏洞成因
    • 漏洞分析
      • 獲取poc
      • 復現漏洞
      • 漏洞分析
      • 定位漏洞模塊
      • 定位漏洞函數
      • 定位漏洞觸發點
    • 解決方案

分析環境

  • 環境 W7 x64 Office2013
  • 工具 windbg IDA Pro

漏洞描述

CVE-2017-11882是微軟公布的一個遠程執行漏洞,通殺目前市面上的所有office版本及Windows操作系統(包括剛剛停止支持的Office 2007)。該漏洞的成因是EQNEDT32.EXE進程在讀入包含MathType的ole數據時,在拷貝公式字體名稱時沒有對名稱長度進行校驗,從而造成棧緩沖區溢出,是一個非常經典的棧溢出漏洞。上次出現這么典型的office棧溢出漏洞是著名的CVE-2012-0158

漏洞成因

該漏洞出現在模塊EQNEDT32.EXE中, 該模塊為windows的公式編輯器。由于該模塊對于輸入的公式未做正確的處理,攻擊者可以通過刻意構造的數據內容覆蓋掉棧上的函數地址,從而劫持程序流程,執行任意命令

**模塊路徑:**C:\Program Files\Common Files\microsoft shared\EQUATION

文件信息

如圖可以發現,程序發布于2000年,編譯器使用VC++4.2

受漏洞影響的版本

  • Office 365
  • Microsoft Office 2000
  • Microsoft Office 2003
  • Microsoft Office 2007 Service Pack 3
  • Microsoft Office 2010 Service Pack 2
  • Microsoft Office 2013 Service Pack 1
  • Microsoft Office 2016

漏洞分析

獲取poc

https://github.com/Ridter/CVE-2017-11882

復現漏洞

  • 搭建漏洞環境(安裝Office 2003 sp3),執行漏洞poc
  • 由于漏洞出現在EQNEDT32.EXE 進程 首先需要確認是否存在公式編輯器
  • 菜單->插入->對象 找到公式3.0
  • 如果沒有則說明Office安裝不完全

  • 打開exploit.rtf,彈出計算器

漏洞分析

定位漏洞模塊

通過ProcessMonitor查看計算器的父進程,發現是EQNEDT32.EXE,且EQNEDT32.EXE并不會作為WINWORD的子進程創建,而是以單獨的形式存在。這就意味著Office的進程保護機制,無法阻止EQNEDT32.EXE這個進程被利用。

定位漏洞函數

因為彈出計算器的時候創建了新進程,所以我們可以認為是由WinExec或者CreateProcess創建的。用windbg附加EQNEDT32.EXE,然后下API斷點

打開poc,程序斷下,分析WinExec的返回地址和參數

接著查看一下參數的內容

看到了通過cmd命令來開啟計算器

接著查看一下當前的調用堆棧,看是誰調用了WinExec這個函數

接著用ub命令查看這個返回地址之前的匯編代碼,然后在IDA中查看這些函數

在IDA中找到sub_4115A7這個函數,進去F5查看

只有這么一小段代碼,繼續跟進查看sub_41160F

這里的字符串拷貝函數沒有使用安全版本的,會導致棧溢出,那么這個函數就是觸發漏洞的函數了

定位漏洞觸發點

重新運行windbg,在0x4115D3這個觸發漏洞的函數下斷點

此時程序斷下

查看堆棧的參數,參數的內容就是poc中構造的惡意參數

接著進入函數,一直單步到這一條rep指令

此時我們查看ebp+4的內容和edi以及esi的內容,這里可以看到返回地址即將被0x430c12這個地址覆蓋

步過這條指令,再次查看ebp+4的內容,發現此時返回地址已經被覆蓋,這樣我們就確定了漏洞觸發點

解決方案

  • 微軟已經對此漏洞做出了修復

    • 下載https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-11882 更新補丁進行修補
    • 開啟Windows Update功能,定期對系統進行自動更新
  • 由于該公式編輯器已經17年未做更新,可能存在大量安全漏洞,建議在注冊表中取消該模塊的注冊

    • 按下Win+R組合鍵,打開cmd.exe
    • 輸入以下兩條命令:
  • reg add “HKLM\SOFTWARE\Microsoft\Office\Common\COM Compatibility\{0002CE02-0000-0000-C000-000000000046} ” /v “Compatibility Flags” /t REG_DWORD /d 0x400 reg add “HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\Common\COM Compatibility\{0002CE02-0000-0000-C000-000000000046} ” /v “Compatibility Flags” /t REG_DWORD /d 0x400

    總結

    以上是生活随笔為你收集整理的CVE-2017-11882漏洞分析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。