RSS | ディスカッション | アンケート | サイトマップ   




全ての脅威

ウイルス

ハッカー

スパムメール

サイト全体    ウイルスについて
   
ウイルス百科事典
リスクウェア 警告
分析
最新ニュース
用語集
研究者日記(weblog)



 
**** ウイルス検索 ****

 

  ホーム / ウイルス / ウイルス百科事典 / 有害プログラムの説明 / 古典的ウイルス / スクリプト / BAT Viruses

Virus.BAT.Highjaq.1400

別名
Virus.BAT.Highjaq.1400 (Kaspersky Lab) は以下の名称でも知られています:
BAT.Highjaq.1400 (Kaspersky Lab), Bat/hij (McAfee),   BAT.HIGHJAQ.1400 (Symantec),   Highjaq (Sophos),   BAT/Highjack* (RAV),   ARJDROP.402 (Trend Micro),   VGEN/2208.0 (H+BEDV),   BAT/Highjaq (FRISK),   Highjaq-1400 (ALWIL),   BAT.Highjaq.1400 (SOFTWIN),   WinStart.2 (ClamAV),   BAT/Highjaq.1400 (Panda)
登録日 2000年3月7日
動作分類 古典的ウイルス:スクリプト (BAT Virus)

それは、BAT ファイルやデバイスドライバーにそれ自身を置く危険なウイルスワームではありません。ウイルスは、メモリに常駐しなく、感染されたファイルに TSR コードを持ちませんが、デバイスドライバーとして実行されます。ウイルスは、メモリに常駐して、"AreYouHere?" をコールするために INT 21h を横取り、トリガールーチンのために INT 8 を横取ります。

ウイルスは、2つのコードで構成されます。最初の部分は、テキストデータです。それは、ウイルスが BAT ファイルとして実行される時に実行されます。第2の部分は、バイナリーデータで、それは、COM ファイルあるいはデバイスドライバーとして実行される時にコントロールを獲得します。

コードのテキストの部分は、下記(データがバイナリーコードとして実行される時に、ラベルはコントロールをバスします。)のように見えます。

::pFqD
@ctty nul
copy/b %0.bat+%0 c:\q.com
dir \*.arj/s/b|c:\q.com/i
:qlpj
if errorlevel 1 goto qWpU
ren c:\q.com UMKQYGWK.5KA
echo INSTALLHIGH=C:\UMKQYGWK.5KA>>c:\config.sys
:qWpU
for %%a in (%0 %0.bat) do if exist %%a set q=%%a
del c:\q.com
ctty con
@del %q%

ウイルスは、BAT ファイルとして実行されると C:\Q.COM file にそれ自身をコピーします(3番目のライン)。それは、他のファイルを感染させるために使われる COM ドロッパーです。ウイルスは、そのコードをコピーするためにファイル名によってのみ、あるいはウイルスがコマンドを使う完全なファイル名及びその問題を解決することによって感染させられたファイルを実行させます。

COPY %0.BAT+%0

ウイルスは、現在のディスクのディレクトリツリーで全ての ARJ アーカイブを見つけるために DIR コマンドを実行して、それらの名前を Q.COM ファイルに渡します(4番目のライン)。Q.COM ファイル は、ウイルスの TSR コードがメモリーにあることを示すエラーレベルを返します。もしメモリが感染させられていなければ(ウイルスは、デバイス・ドライバーとしてロードされませんでした。)、ウイルスは、その COM ドロッパーから "UMKQYGWK.5KA" の名前にリネームして C:\CONFIG.SYS の終わりに文字列を書きます(7番目と8番目のライン)。

INSTALLHIGH=C:\UMKQYGWK.5KA

結果、ウイルスは、システムデバイスドライバーのリストにその名前を追加します。ウイルスは、その時、ホストファイルと C:\Q.COM ファイルを削除します。

ウイルスは、COM ファイルとして実行されると(3番目のライン参照)、標準のインプットから ARJ アーカイブの名前を得て、アーカイブを調べてアーカイブの終りにデータのブロックを追加します。データのそのブロックは、/WINSTART.BAT ファイルとしてウイルスのコードを含みます。ウイルスは、アーカイブにそれを保存する時にそのコードは圧縮されませんが、「保存された」データとして保たれます。

ウイルスのバイナリーのコードは、幾つかのジャンプの後でファイルヘッダーからコントロールを奪います。

0100  3A 3A                CMP     BH,[BP+SI]          ; text:  ::pFqD
0102  70 46                JO      Jmp_a
0104  71 44                JNO     Jmp_a
....                       . . . . .
0149  3A                   DB      3Ah                 ; text:  :qlpj
014A               Jmp_a:
014A  71 6C                JNO     Jmp_b
014C  70 6A                JO      Jmp_b
....                       . . . . .
01B7  3A                   DB      3Ah                 ; text:  :qWpU
01B8               Jmp_b:
01B8  71 57                JNO     Main_Code
01BA  70 55                JO      Main_Code
....                       . . . . .
0211               Main_Code:
....                       . . . . .

テキスト文字列は、現実のアセンブラーインストラクションとしてプロセッサーによって実行され、どんな場合でも JO/JNO インストラクションは、バイナリーウイルスコードにコントロールを移します。コードが見つかると、ウイルスは、デバイスドライバー(コマンドラインに、引数はありません。)あるいは COM ファイル(引数は、/i。BAT コード参照)として実行され、コントロールを2のうち1つのルーチンに変えます。

ウイルスは、デバイスドライバーとして実行されると、INT 8h と 21h を横取ってメモリに常駐します。デバイスドライバーのウイルスは、システムドライバー(ファイルの先頭に、FFFFFFFFh が無し。)の形式ではありません。ウイルスは、デバイスリクエストによってメモリにそれ自身を保持することが出来ませんが、DOS のコール INT 21h, AH=31h の代わりに使われます。

ウイルスは、INT 8h を横取ることによって、その内部のカウンターを実行し、もしPCが Windows 3.x で稼働していなければ、ウイルスは、システムを再起動します。ウイルスは、INT 21h を横取ることによって、"AreYouHere?" コール(AX=FEFEh, ウイルスのリターン SI=1994h)をインターセプトして、もしファィルの名前が "/W" 付きで開始されれば、"GetFileAttributes" コール(INT 21h, AX=4300)を終結させます。ウイルスは、ARJ アーカイブにそのドロッパーを保護するかも知れません。(それらは、そこに名前が /WINSTART.BAT で保存されます。)

デバイスドライバーや COM ファイルが引数無しに実行されると、ウイルスは、また、ホストファイル名を入手してその属性を「Hidden」と「ReadOnly」に設定します。

ウイルスは、また、システム COM ポートを調べて、それぞれの Scratch Register と Line Status Register からデータを読みます。もし Scratch Register が 'Q' 文字(51h)を返せば、ウイルスは、トリガールーチンを実行します。もし DataSetReady と ClearToSend のビットが Line Status Register に設定されると、ウイルスは、幾つかの固定アドレスに DOS カーネルへのポート番号を書きます。その活動に関していかなる理由も参照しません。

トリガールーチンが実行されると、それは、スクリーンをクリアして、ポートを初期化して、INT 14h コール(それは、0Dh, 0Ah バイトです。)を使って COM ポートに文字列を書きます。

ATL0M0A<cr>

モデムは、正確にモデムに応答するでしょう。しかしウイルスは、モデムスピーカーの音を弱めたり切断するでしょう。その時、ウイルスは、幾つかの方法を使って COM ポートへ出力します。

HIGHJAQ on COMx:38400,N,8,1<cr>

ウイルスは、その時、INT 8h を横取ってパラメータ付きで C:\COMMAND.COM ファイルを実行します。

C:\ COM1 /E:1024/P/F

ハンドラーは、モデムキャリア検出ビットを調べて、もしキャリアが見つけられれば、PCを再起動します。

 

Copyright © 1996 - 2009
Kaspersky Labs Japan
All rights reserved

Email:
  お問い合わせはこちら
  新しいウイルスはこちら