北京ブルーテクノロジー株式会社
2003 SP3オフィス( CVE-2012から0158 )脆弱性分析
ソフトウェア名:Office 2003のSP3 ソフトウェアバージョン:2.0 脆弱性モジュール:MSCOMCTL.OCX モジュールのバージョン:2.0.0.0 日付をコンパイルします:2003 |
オペレーティングシステム:WindowsのXP / 7分の2003 / 8.1 / 10 脆弱性ID:CVE-2012から0158 ハザードクラス:スーパー・リスクまたは高リスクまたは中等度リスクまたは低リスク 脆弱性のタイプ:スタックオーバーフロー 脅威の種類:ローカル |
アナリスト:ミャオ族甘いです
2019年9月13日
- ソフトウェアの説明
Microsoft Office 2003のはWORD、EXCEL、PowerPoint、および他の3つの主要コンポーネント、広範な使用、および多くの人気オフィスや行政などのオフィススイートソフトの立ち上げのためのMicrosoft Windowsオペレーティングシステムです。Officeアプリケーションは、それが関節のサーバーとインターネットベースのサービスを含んでいるよう。
- 脆弱性の原因
2.1はじめに脆弱性
CVE-2012-0158の脆弱性は、スタックオーバーフローの脆弱性がMSCOMCTL.ListViewでMicrosoftのオフィス生産性ソフトウェアMSCOMCTL.oceが起因するエラーをチェックするために制御されている、慎重に構築プログラムEIP任意のコードの実行を介してデータを制御することができ、攻撃者
マイクロソフトID CVE-2012-0158の脆弱性は、ms02-027です
2.2の脆弱性を再現
準備:脆弱性によって引き起こさ取得 POC、インストールのOffice 2003 SP3を
使用する直接実行POC効果winworld:
2.3デバッグの脆弱性
セットには、異常、追加のWINWORDプログラムをスキップしていない、例外を無視しないOD
2.3.1位置決め脆弱性のトリガーポイント
スタックの近くに流出点を分析した後、スタック以下レイヤ機能スタックオーバーフロー機能ポイントは通常は、オーバーフローと呼ばれ
スタックオーバーフローポイントスタックの上に、破壊された可能性があり、一般的にだけ実行された機能である、あなたは住所を見つけることができます
275C8A0Aは、決意、それによってだけ実行される機能を実行する、このアドレスはMSCOMCTLモジュールのアドレスであることがわかります
ラインコードモジュールのMSCOMCTL
いくつかのデバッグには、ランダム化ベースアドレスは認められませんでした
呼び出しにブレークポイント機能外部関数275C8A0Aを
リターンアドレスが変更された場合の再試運転、観察
リターンアドレスに見ることができるように 275C8A05アドレス、変更後の関数を呼び出すMSCOMCTL.275C876D
次に見つけ、機能を解析 IDAを使用し、MSCOMCTL.OCXファイルを静的に解析する機能を見つけます
これは、コピー機能は、機能を持っていることがわかりました
使用して問題をデバッグODコピーを発見され、ダメージ層スタックのリターンアドレスオーバーライド機能
見つかったバイト数を定義し、関数を呼び出す V7をローカル変数とdwBytesをしています
そして同じ 8282
使用 010ビューファイルは、ファイルに格納された2つのバイトを見つけました
再び試運転、番号を変更します
EDIはパラメータであり、すなわち、最初の番号がデジタルdzbyteに渡され、2番目の数字はV7定義されたバイトの数であります
充填、バッファサイズを変更して自由である、ローカル変数はスタックに、ダメージをいずれかを保存します
参考:
- プロセスを使用します
抜け穴工程の使用:
1.解析と構造的脆弱性シェルコードの設計
2.実行中のプログラムに命令の踏み台アドレスを探します
JMP ESP
使用 ImmunityDebugger + mona.pyを
ディレクトリ内PyCommandsにmona.py ImmunityDebugger
で!モナモジュールトラバースコマンドモジュールで使用ImmunityDebugger
検索システムモジュールのために、真偽やOS DLLにリベース、SafeSEHを、ASLR、NXCOMPATを。(つまり、何も保護されていない、モジュールはシステムを呼び出します)
MSVBVM60.DLL
使用!モナ-sを見つける"\ XFF \ xe4" -m MSVBVM60.DLLのモジュールで見つかったコマンド、JMP ESP命令を見て
読み込み可能な実行可能な検索のJMP ESP命令を、0x729a0535
ファイルバッファに小端部にリターンアドレス位置をカバーします
- PoC
次の書き込みシェルコードとJMP ESP命令アドレス
シェルコードテンプレート:
ポップアップメッセージボックスを、HelloWorldの
- エピローグ
忍耐が必要、雪の教師のビデオに感謝、ワン教師のガイド
- 参考資料