KAK (Kagou Anti Kro$oft) は 1999 年に登場したJavaScriptワームで、 Outlook Expressのバグ(CVE-1999-0668) を利用して拡散します。[ 1 ]
毎月1日の午後6時に、ワームはSHUTDOWN.EXEを使用してシャットダウンを開始し、テキスト「カゴウ反クロフトは今日はだめだと言っている!起動時に「Driver Memory Error」というタイトルの最小化されたウィンドウが表示されることがよくあります。また、「S3 Driver Memory Alloc Failed!」というメッセージが表示されることもあります。このワームは、レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\cAg0uを追加し、 AUTOEXEC.BATを編集して、Windows が起動時にそれを実行するようにします。
このワームはAUTOEXEC.BATに以下のコマンドを追加します。
@ECHO off C:\Windows\Start Menu\Programs\StartUp\kak.hta DEL C:\Windows\スタート メニュー\プログラム\スタートアップ\kak.hta
KAKは、Outlook ExpressがHTMLメールを表示するために使用するMicrosoft Internet Explorerの脆弱性を悪用して動作します。この脆弱性は、通常新しいタイプライブラリ(.tlb)ファイルを作成するために使用されるActiveXコントロール「Scriptlet.Typelib」に関するものです。しかし、このコントロールは、タイプライブラリファイルの内容やファイル拡張子に制限を設けていません。そのため、このコントロールを悪用することで、任意の内容と任意の拡張子を持つファイルを作成することが可能です。
Microsoftは、このような形でこのコントロールが悪用される可能性を予見していなかったため、Internet Explorerの既定のセキュリティ設定で「スクリプト実行に安全」とマークしました。つまり、このコントロールを含むスクリプトは、実行時にユーザーの許可を必要としません。KAKは、このような悪用コードを電子メールの署名に埋め込むことで、Outlook Expressで電子メールを表示またはプレビューした際にコードが実行されるようにします(Outlook ExpressはHTML電子メールの表示/プレビュー機能を提供するためにInternet Explorerを使用しているため)。
KAKは「Scriptlet.Typelib」を使用して、StartUpフォルダに「kak.hta」というファイルを作成します。このファイルには、次回マシン起動時に実行されるコードが含まれています。HTAファイルはInternet Explorerでレンダリングされるのではなく、Windows Scripting Hostを使用して実行されるため、KAKがこのファイルに配置したコードは、メール署名に記述したコードよりもさらに高い権限を持ちます。
次回マシンが起動して「kak.hta」が実行されると、KAKは次のような一連の動作を実行します。