本サービスには一部、Googleの支援により翻訳されたコンテンツが含まれます。Googleは、明示または黙示を問わず、市場性、特定目的への適合性、ならびに非侵害の黙示的保証を含む、翻訳の精度、信頼性、正確性に関連するあらゆる点において保証しません。

Kaspersky Labの本Webサイトは、便宜上、Google Translateを搭載した翻訳ソフトウェアを利用して翻訳されています。正確な翻訳となるよう合理的な努力を払ってはおりますが、自動翻訳の正確性は完全ではなく、翻訳者(人間)による翻訳に代わるものとして意図されているものでもありません。翻訳はKaspersky Labの本Webサイトをご利用の皆様の利便性を図るためのものであり、「翻訳結果をそのまま」ご提供するものです。英語からその他言語への翻訳における精度、信頼性、正確性に関しては、明示または黙示を問わず、いかなる保証もなされません。翻訳ソフトウェアのため、コンテンツの一部(画像、動画、フラッシュ等)は正しく翻訳されない場合があります。

Virus.Multi.Cocaine

クラス Virus
プラットフォーム Multi
説明

技術的な詳細

これは、約22Kbの長さの電子メールの拡散能力を備えた寄生Windows PEファイルとMS Wordの通常のテンプレート感染者です。ウィルスには、Windows PE EXEファイル、Word NORMALテンプレート、電子メールメッセージの添付ファイルの3つのインスタンスがあります。

感染したPE EXEファイルのウイルスコードは、そのメインインスタンスです。実行されると、ウイルスは現在およびWindowsのディレクトリでPE EXEファイルを検索し、感染します。このウイルスは感染したNORMAL.DOTをPE EXEインスタンスからMS Wordディレクトリに落とし、感染した電子メールも送信します。クローズする各文書のNORMALテンプレート内のウイルスインスタンスは、感染したPE EXEファイルを削除して実行し、他の文書やテンプレートに感染することはできません。電子メール内のウイルスコードは添付ファイルとして表示され、PE EXE Windows実行ファイルにランダムな名前または感染したNORMALテンプレートが表示されます。

ウイルスはプロセスごとのメモリ常駐です。これは、感染したアプリケーションが終了するまで、ウイルスコピーが長時間メモリに残っている可能性があることを意味します。 「短命」アプリケーションだけが感染した場合、ウイルスコードはシステムメモリに長時間存在しません。永久使用中のアプリケーションが感染した場合、ウイルスは長い間アクティブであり、Windowsの機能を引き継ぎ、電子メールメッセージにアクセスして送信するPE EXEファイルに感染します。

このウイルスはPEファイルとWord NORMALテンプレートの多型です。このウイルスは、EXEコードに2つの多型エンジンを持っています。最初は感染したPE EXEファイルに多型復号ループを生成し、2つ目はNORMAL.DOTポリモーフィックに感染したウイルスマクロプログラムを作成します。

このウイルスにはペイロードルーチンがあり、感染したファイルが感染してから4か月以内に実行されると実行されます。このルーチンは、ヘッダー "W32 / Wm.Cocaine"と7つの亜種からランダムに選択されたテキストを含むメッセージボックスを表示します。


あなたの人生はより速く燃え、マスターに従ってください…
鏡であなたの朝食をチョップ…
静脈は、恐怖とポンプ、暗いクリアを吸う…
私を味わうことができます、もっと必要なものはもっとたくさんあります…
私は占領する、あなたが死ぬのを助ける…
私はあなたの中を走ります、今も私もあなたを支配します…
人形のマスター、あなたの弦を引っ張っています…

ウイルスはアンチウイルスプログラムに注意を払い、それらを無効にしようとします。感染ファイルが実行され、ウイルスがそのプロセス単位の常駐コピーをインストールするたびに、カレントディレクトリ内のウイルス対策データファイルが検索され、削除されます。これらのファイルの名前は、KERNEL.AVC、SIGN.DEF、FIND.DRV、NOD32.000、DSAVIO32.DLL、SCAN.DAT、VIRSCAN.DAT(AVP、DSAV、NOD、SCANおよびその他のアンチウイルスデータファイル)。このウイルスは、旧バージョンのAVP Monitorオンアクセススキャナも検出して終了します。

既知のウイルスバージョンにはバグがあり、WordのマクロインスタンスからWindowsの実行ファイルに広がることはできません。また、PE EXE感染ルーチンにバグがあり、一部のWinNT実行ファイルが破損します。

ウイルスには「著作権」というテキストがあります。


(c)ヴェクナ

いくつかのウイルスルーチン(特にマクロ)は"Fabi"マルチプラットフォームウイルスに関連しており、感染したファイルの中にはこのウイルスの名前で検出されるものもあります。

技術的な詳細

このウイルスは、アセンブラで書かれたプログラムのサイズがかなり大きい(約22Kb)ので、技術的観点からは非常に興味深いルーチンが多数あります。

感染したEXE実行

感染したファイルが制御されると、多形の解読ループが実行されます。彼らはレイヤーごとにウイルスコードを解読し(ウイルスは複数のループで暗号化されて2つから5つまで)、ウイルスのインストールルーチンに制御を渡します。いくつかのウイルスブロックが暗号化されたままであることに注意する必要があります。ウイルスは必要に応じて復号化してアクセスし、その後暗号化します。これらのブロックは、MS Wordの感染データとルーチン、PE EXE多態性エンジンです。

ウイルスのインストールルーチンは、ウイルスによって後で使用される必要なWindows API関数のアドレスを探します。これらの機能のリストはかなり長いですが、これはウィルスが広がっているもののリストによって引き起こされます。ウイルスの検索機能の一覧は以下のとおりです。


関数リストからエクスポート
———– ————–
KERNEL32.DLL:GetProcAddress GetModuleHandleA CreateProcessA
CreateFileA WinExec CloseHandle LoadLibraryA FreeLibrary
CreateFileMappingA MapViewOfFile UnmapViewOfFile
FindFirstFileA FindNextFileA FindClose SetEndOfFile
VirtualAlloc VirtualFree GetSystemTime
GetWindowsDirectoryA GetSystemDirectoryA
GetCurrentDirectoryA SetFileAttributesA SetFileTime
ExitProcess GetCurrentProcess WriteProcessMemory WriteFile
DeleteFileAスリープCreateThread GetFileSize SetFilePointer
USER32.DLL:MessageBoxA FindWindowA PostMessageA
ADVAPI32:RegSetValueExA RegCreateKeyExA RegOpenKeyExA
RegQueryValueExA RegCloseKey
MAPI32.DLL:MAPISendMail

このウイルスは、標準的なWindowsウイルスのトリックでこれらの機能のアドレスを取得します。WindowsのメモリにKERNEL32.DLLのイメージを配置し、Exportテーブルをスキャンし、GetModuleHandleとGetProcAddressの2つの機能のアドレスを取得します。これら2つの機能を使用することにより、ウイルスは他の必要な機能のすべてのアドレスを容易に見つけることができます。このルーチンの最も興味深い機能は、これがKERNEL32.DLLイメージを探している間にWin95 / 98とWinNTアドレスだけでなく、Win2000アドレスにも注意を払う最初のウイルスであるという事実です。

このウイルスは、MS Wordを探して感染させ、PE EXEファイルを検索して感染させ、さらに多くのファイルの場所を特定し感染させるためのシステムイベント(ファイルと電子メールアクセス)のセットをフックし、ウイルスコピーを添付の電子メールでインターネット。

感染するMSワード

ウイルスに感染した最初の感染ルーチンは、システムにインストールされている場合、ルーチンに影響するMS Wordです。まずここでは、ウイルスはC:ANCEV.SYSファイルの存在を確認します。

C:ANCEV.SYSファイル( "ANCEV" = "VECNA"は後方に書かれています)は特別な目的を持っています。このファイルは、MS Wordのテンプレート感染ルーチンが完了すると作成されます。したがって、このファイルの存在は、MS Wordが配置され、NORMAL.DOTテンプレートが感染したことを意味します。この場合、電子メールを送信しているウイルスはNORMAL.DOTテンプレートを送信しますが、感染したEXEドロッパーは送信しません。

したがって、このウイルスはMS Word感染ルーチンの最上部でこのファイルをチェックします。存在しない場合、ウイルスは感染を継続します。このファイルが見つかった場合は、ウイルスがランダムに1つのケースでは10の感染を継続し、9つのケースでは10つの葉の感染ルーチンがあります。 Thaは、MS Word NORMAL.DOTが10の1つのケースではとにかく再感染することを意味します。

このウイルスは、Wordがその設定を保存するシステムレジストリキーを変更することにより、Word VirusWarning保護を無効にします。


SOFTWAREMicrosoftOffice8.0WordOptions、EnableMacroVirusProtection

ウイルスは、システムレジストリを読み込んでWordテンプレートディレクトリを取得します。


SOFTWAREMicrosoftOffice8.0CommonFileNewLocalTemplates

その中のNORMAL.DOTテンプレートを削除し、新しいNORMAL.DOTテンプレートファイル – 感染したテンプレートファイルを作成します。感染したNORMAL.DOTには小さなマクロが含まれています。このマクロは、 "AutoExec"というWordの自動名を持ち、次のWordの起動時に自動的に実行され、C:COCAINE.SYSファイルからメインのウイルスマクロをインポートします。

C:COCAINE.SYSファイルは、NORMAL.DOTテンプレートを上書きした直後にウイルスによって作成されます。このSYSファイルは、VBAプログラムのソースコードを含むテキストファイルです。このソースは、コードからウイルスによって抽出され、迷惑な(多態的な)VBA命令と混ぜられ、感染したPE EXE dropperがASCII文字列に変換されて追加されます。

したがって、MS Word感染ルーチンは2つのステップで作業を行います。最初に、ウイルスは元のNORMAL.DOTを、C:COCAINE.SYSファイルから完全なウイルスコードをインポートし、PE EXEファイルからその移植ウイルスコードで完了する "AutoExec"マクロプログラム(ローダ)を含む新しいものに置き換えますMS Wordテンプレート。

WordからEXEへ

WordテンプレートインスタンスからPE EXEファイルを削除するには、ウイルスは標準のマクロウイルスのトリックを使用します。 2つのファイルが作成されます。最初は、感染したPE EXEファイルイメージがASCII形式に変換されたC:COCAINE.SRCファイルで、2番目のファイルはランダムな名前のDOSバッチファイルです。このバッチファイルには、ASCIIダンプをバイナリPE EXE形式に変換して実行するDOS DEBUGユーティリティを実行する一連の命令が含まれています。

そのため、ウイルスは感染したWordテンプレートからWindowsにジャンプします。

PE EXEファイルへの感染

MS Wordが影響を受けると、ウイルスはPE EXEファイルの感染ルーチンに行きます。このウイルスは、現在およびWindowsのディレクトリにあるPE EXEファイルを検索し、感染させます。 .EXEまたは.SCRファイル拡張子を持つ唯一のファイルに感染しています。

このウイルスは、インストールされているブラウザとメーラを探して感染させます。ウイルスは、HKEY_LOCAL_MACHINEストレージ内のシステムレジストリキーによってそれらを検索します。


SOFTWAREClasseshtmlfileshellopenコマンド
SOFTWARECメール送信シェルコマンド

ウイルスは、インターネット感染ルーチンを起動するために、これらのファイルを感染させる必要があります。これらのインターネットアクセスアプリケーションが感染すると、ユーザーがインターネットに接続しているときに、ウイルスコピーがメモリ内で長時間アクティブになります。これはウイルスがインターネットの普及能力を実現するために必要です。

PE EXE感染メカニズム

ウイルスはファイルを感染させる前にいくつかの条件をチェックします。 1:ファイルの長さを101で割り切れないようにする必要があります(複数の感染を避けるためにウィルス防御です。すでに感染しているPE EXEファイルにはこのような長さがあります)。第2に、ウイルスが現在およびWindowsのディレクトリ内のEXEファイルを検索して感染させると、ファイルの名前に「V」の文字または数字を含めることはできません。ここでウイルスは最も一般的なウイルス対策スキャナおよび「ヤギファイル」の感染を防ぎます。

最初のセクションに十分な大きさ(2304バイト以上)がある場合、ウイルスはブロックをブロックごとにメインウイルス解読ループに渡すいくつかのブロックのジャンクコードを書き込みます。ウイルスに感染するとファイルに書き込まれるブロックは8つあります。


+ ———— +
| |
| PEヘッダー| ————— +
| ———— | |
| + —– + < – + | |
| | Junk2 | || |
| + —– + – + ||エントリーポイント|
| + —- + ||| <————— +
|| Junk1 | |||
| + —– + —- + |
| | |
| + —– + < – + |
|| Junk3 | |
| + —– + —- + |
| V |
| 。 。 。 |
| + —– + |
| + —- | Junk8 ||
|| + —– + |
| V |
| ———— |
|ウイルスコード|
| |
+ ———— +

この場合、ウイルスはプログラムのエントリポイントアドレスを変更しませんが、元のエントリ手順に戻る制御の前にホストファイルのすべての上書きされたブロックを復元する必要があります。

最初のセクションが短い場合、コントロールは直接ウイルスコードに移動します。この場合、ウイルスはプログラムのエントリアドレスを変更して、感染ファイルの実行時に制御を取得します。

ウイルスコード自体は、複数(2から5まで)の多形ループによって暗号化されています。ウイルスの多型エンジンは非常に強く、およそ2Kbの多形ループを生成します。

このウイルスは、感染実行ファイルが実行されると、GetProcAddress、GetModuleHandle、CreateProcessA、WinExec、およびMAPISendMail関数を取得するために、Importセクションにパッチを適用します。

結局のところ、ウイルスは暗号化されたコードを最後のファイルセクションの最後に書き、PEヘッダーにパッチを当ててセクションサイズを増やします。

インターセプトイベント

WordおよびPE EXEの直接感染ルーチンが完了すると、ウイルスはいくつかのWindows機能をフックし、ホストプログラムの一部としてWindowsメモリにとどまります。このウイルスは、KERNEL32.DLLからホストプログラムによってインポートされた場合、2つのファイルアクセス関数WinExecとCreateProcessAをフックします。これらの機能が制御(プログラムが実行される)されると、ウイルスはプログラムのファイル名を取得し、そのディレクトリを取得し、PE EXEファイルを検索してこのディレクトリに感染させます。

メールを送信する

ウィルスのプロセスごとの常駐コードは、電子メール感染スレッドも実行し、MAPI32.DLLからエクスポートされたMAPISendMailをフックし、WSOCK32.DLLから "connect"と "recv"を、KERNEL32.DLLからGetProcAddressを実行します。

最初のフックは、そのコピーをインターネットに送信するためにウイルスによって使用されます。ウイルスがこのイベントを傍受すると、メッセージに添付されたデータを探します。添付ファイルがない場合、ウイルスは感染したNORMAL.DOTまたは感染したPE EXEファイルに感染します(後者はC:ENIACOC.SYSファイルのディスク上に作成されます)。

"GetProcAddress"、 "connect"、 "recv"フックは、感染した電子メール送信の第2の方法を実現するためにウイルスによって使用されます。メッセージが到着すると、ウイルスは「mailto:」フィールドのヘッダーをスキャンし、そこからアドレスを取得し、それを自身のデータベースに格納します。

感染制御スレッドが「接続」と「recv」フカによって捕捉された電子メールアドレスを探し、そのCRCを計算し、WindowsシステムディレクトリのBRSCBC.DATファイルに格納されている「感染したアドレス」データベースと比較します。このアドレスがまだ送信されていない場合、ウイルスはBRSCBC.DATデータベースに追加し、NORMALテンプレートまたは感染したPE EXEファイルでメッセージを作成し、MAPISendMail機能を使用して送信します。メッセージの件名フィールドは、バリアントからランダムに選択されます。


Kewlページ!
あなたのページへの改善
あなたのページr0x0r!
あなたはこれを見なければなりません…
秘密のもの!

BRSCBC.DATデータベースを使用することにより、ウイルスは重複した送信を防ぎますが、感染したプログラムごとに、ランダムカウンタに応じてウイルスを実行して、このファイルを削除し、それによって「送信しない」データベースをクリアします。

ウイルスTSRコピーによってもフックされる "GetProcAddress"は、アプリケーションがこれらのルーチンを "デフォルトで"インポートしないで "必要な場合にアクティブにする"場合、WSOCK32.DLL関数の "接続"と "recv"をインターセプトするためにのみ使用されます。これを行うために、 "GetProcAddress"ウィルスのフックはWSOCK32.DLL関数のアドレスを "connect"と "recv"するためのアクセスを傍受します。アプリケーションがインターネット接続を使用するようにこれらのルーチンのアドレスを取得しようとすると、ウイルスは自身の "接続"と "recv"フカのアドレスを返し、インターネット接続を傍受します。


オリジナルへのリンク