LNKpokalipsisまたはMSの新しいbagofic(CVE-2010-2568)

Habrで既にWin32 / Stuxnetについて書いており、 脆弱性が明らかになりました。 しかし、何らかの理由で脆弱性自体にはほとんど注意が払われていません。基本的には、Win32 / Stuxnetの周囲のすべてのノイズと、このマルウェアのコンポーネントの署名に使用される有効な証明書です。 一方、この脆弱性はすでにパブリックドメインに現れています。 最初にPoCの形式で、次にMetasploitのモジュールの形式で。 他の場合と同様に、通常、MSはこの脆弱性の重要性を気にしません。8月10日までにパッチをリリースする可能性が高いです。 また、WinXP SP2にはパッチはまったくありませんが、まだユーザーが存在し、私たちが望むほど少なくないことは不思議ではありません。 これの確認は、 シマンテックのウィンドウ化されたバージョン間での脅威の分布であり、まさにWinXP SP2が記録されたインシデントの大部分を占めています。



画像



この脆弱性を悪用するための手段として、USBドライブだけでなく、ネットワークリソースも存在する可能性があります。 たとえば、Metasploitでは、WebDAVを介して悪用が行われます。



この脆弱性は次のように機能します。







これは平凡なオーバーフローや名前のないポインタに関するものではありません。 設計上の脆弱性、いわば(Windowsのすべてのバージョンは脆弱です)。 つまり 開発者は、攻撃者がこのパスを使用してあらゆる種類のマルウェアをインストールできると耳を傾けました。 それははるかに悪くなる可能性がありますが、NSAの要求でシステムに残された別のバックドアですか? 私は真実を恐れています、私たちは決して知りません。 次に、この脆弱性がどのように機能するかの技術的な詳細について直接話しましょう。

CVE-2010-2568-この脆弱性はLNKファイルのハンドラーにあり、より正確には、Explorer.exeプロセスによってメモリに読み込まれたときにコントロールパネルのショートカットを表示するプロセスに関連しています。 不正な処理が発生するshell32.dllライブラリは脆弱です。 次の図は、エクスプロイト中の呼び出された関数間のデータフローを示しています( こちらを参照)。 成功したエクスプロイトは、WinAPI関数LoadLibraryWを使用してサードパーティのダイナミックライブラリをロードしています。



画像



呼び出しのシーケンスは次のようになります。

SHELL32!CRunnableTask::Run

SHELL32!CGetIconTask::RunInitRT

SHELL32!SHGetIconFromPIDL

SHELL32!CFSFolder::GetIconOf

SHELL32!SHGetIconFromPIDL

SHELL32!_GetILIndexGivenPXIcon

SHELL32!CShellLink::GetIconLocation

SHELL32!CExtractIconBase::GetIconLocation

SHELL32!CCtrlExtIconBase::_GetIconLocationW

SHELL32!CPL_FindCPLInfo

SHELL32!CPL_LoadAndFindApplet

SHELL32!_LoadCPLModule

SHELL32!_imp__LoadLibraryW







実際、以下のコードは悪意のあるDLLを実行させます。このコードはCPL_LoadCPLModuleから呼び出される_LoadCPLModule関数にあります。



画像



脆弱性を悪用するMetasploitのエクスプロイトは、「 {webdav} {exploit_base} \\ {exploit_dll} 」のようなURLを生成します。この脆弱性を悪用するこのアプローチは、USBドライブ以外のエクスプロイトの範囲を大幅に拡大します。 ここで 、この脆弱性から何をすべきか、どのように身を守るかを読むことができます 。 この脆弱性に対処する別のトピックは、独立した研究者であるディディエスティーブンスのブログにあります。 説明されている2つの方法があります。

1)外部メディアから自動実行および実行可能モジュールの実行の禁止 。 しかし、これは、ネットワークバルーンとWebDAVリンクによる感染の可能性からあなたを救うわけではありません。

2)ソフトウェア制限ポリシー(SRP) をインストールする



All Articles