ハードディスクを破壊するマルウェア(Win-Trojan/Agent245760.OX)
本レポートは、アンラボコリアより発表された内容を翻訳したものです。
==================================
分析レポート
ハードディスクを破壊するマルウェア(Win-Trojan/Agent245760.OX)
2013.06.27
1. 概要
最近、ハードディスク情報を破損するマルウェアの発見についての関連情報を共有する。
2. マルウェア解析情報
A. 実行後の症状
(1) ハードディスク破壊機能を実行する「RDPSHELLEX.EXE(245,760バイト)」は、最初に感染したシステム上で
実行される「lsass.exe」ファイルが次のパスに存在するかどうかを確認する。

もし、「lsass.exe」ファイル(このファイルは未だ確保されていない)が感染したシステムに存在する場合、すぐに終了し、
悪意のある機能を追加実行しなくなる。
重複実行を防止するために、以下のMutexをチェックする。

(2) このマルウェアはサービスとして動作し、次の7つの通常サービス名のいずれかを使用する。

(3)このマルウェアは、次のような13個の引数の値を持っており、個々の引数の値の役割については現在分析を進めて
いる 。

現在までに分析された「-r」と「-I」の引数の値に対する分析結果は以下の通りである。

[図1] 特定の引数別マルウェアの機能
(4)次のIPアドレスのシステムに接続を実行して、感染したシステムの情報を送信する。送信される情報は次の通りで
ある。


(5) 同じフォルダの「i18n.nms」ファイルで、0x1200バイト程度を読み追加タスクを実行し、Windowsシステム上で
実行している以下のサービスを強制終了する。

(6) ユーザーアカウントの一時フォルダ(TEMP)に、次のコマンドが書かれた「[任意の文字列] tmp.bat」ファイルを
作成し、下記のコマンドを利用して感染したシステム上に存在する管理者アカウント(Administrator)のパスワードを
変更する。

[図3] ログオンパスワードの変更バッチファイル情報
(7) 「RDPSHELLEX.EXE」のリソース領域に持っているデータを「desktop_image001.tmp」というファイル名で
作成し、そのファイルを感染したコンピュータのデスクトップの背景に変更する。

[図4] 変更されたデスクトップ背景の画像ファイル
B. 破壊現象
(1) ハードディスク破壊
このマルウェアに感染(パッチ)したMBRを起動する場合、MBRコードが実行され、ハードディスクが破壊される。
破壊の症状は、再起動をしなくても直ちに発生することもある。マルウェアはディスクを8つまでMBRに0x60サイズ程度を
感染(パッチ)する。 MBR感染方法は、PhysicalDriveをOpenし、WriteFileする方式である。

[図5] ディスク破壊のための準備
感染(パッチ)したMBRコードの主要コードは次の通りである。
INT 13Hの43 AH(Extended Write)を利用し、ディスクを破壊するという点が核心である。

[図6] MBRのアセンブリコード
上のコードを簡単に整理すると、次のように記述できる。

[表1] MBRの概略コード
感染したMBRは、元のMBRとは異なり、次のコードに変更された。

[図7] MBR感染前後の比較
起動時、最初のループでは、ハードディスクのセクタ0にメモリ0番地にあるデータを40hセクタサイズ(8000h)程度を
書き込む作業を開始する。2番目のループでは、400hセクタ程度のサイズを加えたハードディスクの80000h位置の
同じメモリ領域である0番地データ40hセクタサイズを書き込む方式で駆動される。 (コード上ではハードディスク4つを
対象に行われるが、ここでは単一のディスクがあると仮定して説明する。)
ディスクが破壊されるおおよその位置は、次の通りである。

[図8] 感染MBRコードが破壊するディスク領域の概要
デバッグ時に確認されたメモリ0番地の値は次の通りであり、その内容がディスクに書き込まれる。

[図9] 感染MBRコードがディスクを破壊する時に参照するメモリ0番地
ハードディスクのセクタ0の値が、次のように変更されたことが確認できる。

[図10] 最初のループ時に変更されたハードディスクのセクタ0
2番目のループで変更される領域は、[図10]のように、80000h位置から8000h程度のサイズだけが変更された
ことが分かる。

[図11] 2番目のループ時に変更されたハードディスク40hセクタ
100h程ループを回りながらハードディスクを破壊した後、現在(感染した)MBRが上がってきているメモリ領域である
7C00hオフセットの1 Sectorのサイズ(200h)を、ハードディスクのセクタ0に書き込むコードが実行される。最初の
ループの開始位置にジャンプし、ディスクの最後まで実行される。

[図12] ループ終了時に復元されるMBR領域
ループ終了時に復元されるMBR領域で確認できるように、MBR領域は(感染時と同じように)復元されたが、200h以降の
ディスク領域は、最初のループ時に変更されたデータであることを確認できる。
(2)ファイルの破壊
システムの全ドライブのファイルに対し、「8.3 DoS名の規則」または「*.exe」、「*.dll」、「*.ocx」、「*.sys」の場合、直ちに
ファイルを削除する。それ以外の場合、ファイルの最後に0x80を加え、ファイルの先頭から0xE00(またはファイルサイズ)
程度に特定のコードを上書きする。
「abcdefghijklmnopqrstuvwxyz0123456789」テーブルから、ファイル名程度に乱数を発生させ、ランダムにファイル名を
変更し削除する。まとめると次の通りである。

その他のファイル:最後に0x80、ファイルサイズ程度に下のゴミ値を上書きし、削除

[図13] その他のファイルに書き込まれたゴミ値
3. V3製品の診断情報
6月25日午前、政府機関のホームページを対象に発生したDDoS(Distributed Denial ofService)攻撃を
実行するように設計されたマルウェアは、2013.06.25.04以降の最新エンジンにアップデートしたV3製品群で、
すべて次のように診断する。
Win-Trojan/Agent.245760.OX
Trojan/Win32.Ddkr
C&C
112.217.190.218:8080
20.20.9.21:443
210.127.39.29:80
4. ハードディスク破壊機能の比較
