[記事] マルウェア解析奮闘記 ~USBマルウェアを解析せよ~

■概要

本記事はシンガポールの関連会社に勤めるH先輩から、業者が納品したUSBメモリを挿入したらマルウェアが検知されたとの連絡を受け、解析をした記録となります。

先輩Hは子供の卒業式の動画を集めて、記念動画入りUSBメモリの作成をとある業者に発注しました。納品されたUSBメモリをパソコンに挿入するとアンチウィルスソフトにより、以下のポップアップが立ち上がったそうで、調査依頼を受けました。

1.alert.png

駆除されていない納品したての別のUSBメモリを貸してもらい、中身を調査することにしました。USBドライブを開いてみると以下のようになっていました。

2.filelist.png

動画ファイル以外にもいくつかのファイルが見えます。

ショートカットファイルの解析

まずはショートカットファイルを調べます。

  • ショートカットとマルウェア本体

ファイル名

ショートカットのターゲット

Microsoft.lnk

wscript.exe //e:VBScript thumb.db "Microsoft"

New Harry Potter and....lnk

wscript.exe //e:VBScript thumb.db "New Harry Potter and..."

System Volume Information.lnk

wscript.exe //e:VBScript thumb.db "System Volume Information"

Thumb.dbというファイルがwscript.exeで指定されていることがわかります。Wscript.exeはVBScriptを実行するエンジンであるため、Thumb.dbファイルにVBScriptが含まれていることが推測できます。

また、通常Thumb.dbというファイルはWindowsで利用されるサムネイルのキャッシュのシステムファイルです。システムファイルであるため、通常の設定では表示されません。マルウェアはそのファイルに偽装されたということになります。

フォルダオプションの「保護されたオペレーティングシステムファイルを表示しない」を無効にすると、Thumb.dbファイルが確認できました。

3.filelist.png

Thumb.dbをテキストエディタで開くと以下のようになっていました。

4.sourcecode.png

...ということで、解析していきます。

VBScriptの解析

400行ほど長いVBScriptですが、46行以降は難読化されており、以下のような見た目をしていました。

5.obfuscated.png

全体的な構成は以下の通りです。

6.flow.png

準備処理では、引数の数によって発動を抑制する処理およびテンポラリーフォルダのパスの取得をやっていました。

それでは、難読化ルーティングを見ていきます。

7.unobfuscated.png

29行~32行目で自分自身(Thumb.db)を読み込んでいます。

33行目で難読化部分のデリミタ「Yuyun^_^~!~2008"」を探しています。

34行目で変数isiQに難読化部分をロードしています。

36行目から39行目のForループで各文字にXOR 7をしています。

難読化を解くと平文の新たなスクリプトが出てきました。

8.deobfuscated.png

以下は主な関数をざっくりした解析結果です。

関数名

処理内容

rekursif

サブフォルダに対して再帰的にdropf関数を実行する

dropf

以下のファイルをドロップする

1.autorun.inf

USBドライブを挿入した際に自動的にThumb.dbファイルが実行されるようにするためのファイル

※最新のWindowsOSのデフォルト設定では実行されません

2.Thumb.db

3.Baca Aq.rtf および My name is Yuyun.rtf

日付が1月1日、4月1日、7月1日、10月1日の時のみ生成される。中身はインドネシア語のポエムのようなもの。

Autorun.infファイルを生成する

4.ショートカットファイル

UNISKA

日付が1月1日、4月1日、7月1日、10月1日の時、ポエムのような文章を作成し、それをメモ帳で表示する

regQ

マルウェアが自動起動するためにRunレジストリを作る

Hertz

書き込み可能なドライブを探し、存在していれば、recursif関数を呼び出して自分をコピーする

これにより、USBメモリなどの外部メディアにもコピーされる

その他の情報

VirusTotalにThumb.db(VBScript)をアップロードした結果、メジャーなものを含む51個のウィルス対策製品で検知されるようです。同マルウェアが最初にアップロードされたのは2009年1月5日であり、VBScript内のコメントにある2008年と時期は一致しました。

結論および所感

USBメモリなどの外部メディアを利用して増殖するマルウェアであることがわかりました。システム内にもあらゆるところに自分をコピーするものの、特定の日付にポエムをメモ帳で表示する以上の機能はなく、被害はそこまで大きくないと言えます。

しかし、2008年にインドネシア人によって作成されたと思われるこのポエムマルウェアが13年の年月を経て、隣国のシンガポールでいまだに拡散していることを考えると、少しエモいですね。

教訓

  • 第三者からもらったUSBメモリの中で、不審なファイルがあった際は開かないようにしましょう
  • ショートカットファイルも危険です
  • 外部媒体をお客様に納品する場合、隠しファイル、システムファイルを表示させた状態で意図しないファイルが紛れ込んでいないか確認しましょう
  • アンチウィルスは稼働させましょう

前へ

ProxyLogonのまとめとExchange Serverの利用状況について

次へ

Palo Alto Networks社PAN-OSの脆弱性 CVE-2021-3064について