« 医療費通知に偽装した攻撃(Backdoor.Emdivi) その後 | メイン | 「Scanbox」が日本を偵察中 »

2015年3月11日 (水)

マルウェア解析奮闘記 ~難読化JScriptを解析せよ~

先日、あるマルウェアを入手しました。フィッシングメールの添付ファイルとして配送されていたもので、拡張子「.js」のJScriptファイルでした。中身は難読化処理が施されておりました。その解読手法および解析した結果を記します。

■JScriptとは

JScriptはスクリプト言語であり、ファイルをダブルクリックした場合はWindows Script Hostがその実行エンジンとなります。そのため、Windows環境は標準でJScriptファイルを実行する事ができます。厳密にはJavaScriptと異なるのですが、JavaScriptが読める方であれば、何をしているかはきっと理解できます。

アイコンは以下の通りです。

Icno

図1、JScriptのアイコン

■検体の調査

検体をテキストエディタで開くと以下の通りとなっておりました。

Original

図2、検体のソースコードの一部

一見すると解析を諦めたくなるような綺麗な模様ですが、まずは整形をします。改行、インデントを追加します。

Pretty

図3、整形後のソースコード

関数(function)はたくさんありますがやっていることは単純です。「evl」変数に文字列を追加し、異なる関数を呼び出す処理がおよそ200回弱繰り返されていました。

Graph



図4、処理のイメージ

調べていくと、ある関数のみ異なることがわかります。

Eval

図5、特殊な関数

関数 hf (赤枠)はeval関数を実行しています。

eval関数は組み込み関数(事前に定義されて用意されている関数)で、受け取った文字列を命令として実行するというものです。上記の例では、evl変数に含まれる文字列が命令として実行されます。

全体像としては下図の通りとなります。

Whole_2

図6、全体像

■悪質なスクリプトの抽出

全体像が掴めたので、組み立てられる「悪質なスクリプト」を調査しました。

eval関数を、標準出力(WScript.Echo)に置き換えます。

Fix

図7、関数hfの改造

その結果得られたevl変数に含まれていたスクリプトが以下になります。

Final図8、最終的に得られたスクリプト(整形済み)

JScriptでファイルをダウンロードして、実行するというものです。

26行目~30行目にあるのがダウンロード用のURLおよびダウンロード後のファイル名になります。見ての通り、実行ファイルをダウンロードしようとしています。

つまり、このJScriptはダウンローダであることが分かりました。

■最後の検体の調査

さらにそれぞれのURLから実行ファイルをダウンロードすると、3つとも異なる検体でしたが、すべてトロイの木馬でした。

わざわざ3つダウンロードさせている理由として、仮に1つのみがウィルス対策製品で検出されても、その他のマルウェアが残り続けることを犯人が狙ったと考えられます。その場合、ユーザおよび管理者はウィルスが駆除できていると思い込んでしまい、他のマルウェアがそのまま放置されてしまうでしょう。

■まとめ

難読化という手法は、ブラウザの脆弱性を突くようなJavaScript/VBScript、PHPなどで作られたWebShellなど様々なところで利用されており、パターンファイルによる検知はますます困難になっています。

サンドボックスやエンドポイント上で動作する振る舞いで検知するタイプのソリューションが必要になります。

« 医療費通知に偽装した攻撃(Backdoor.Emdivi) その後 | メイン | 「Scanbox」が日本を偵察中 »

今年も自作ツールを展示
Macnica Networks Corp.
セキュリティ研究センター

サイバーセキュリティに特化し研究することを目的として2013年4月に開設。

■ミッション

・サイバー攻撃の研究

・海外の最先端セキュリティ技術の発信

・予測的な策略を講じるセキュリティ対策に基づいた包括的なソリューションの提案
 

政本 憲蔵
セキュリティ研究
センター センター長
 
2000 年、(株)マクニカに入社。各種ネットワーク製品、暗号関連製品、WAF、IDS/IPS等の導入設計担当を経て、 セキュリティインシデントの調査・分析に携わる。2008 年より、標的型攻撃に対する対策製品の技術支援に従事し、 2013 年4月より、同社に新設されたセキュリティ研究センターにて、攻撃者の動向を追いながら、世界の最先端セキュ リティ対策技術のトレンドを調査している。

凌 翔太
セキュリティ研究
センター
 
2004年よりクライアントセキュリティ対策製品(HDD暗号化、検疫、DLP等)のテクニカルサポート、プロフェッショナルサービスに従事する。2009年より、IPS/IDSおよびWAFなどのネットワークセキュリティに関する製品を担当する傍ら、マルウェアや脆弱性の研究を実施する。2013年度より同センターにて、最新の攻撃の研究に携わる。

BlackHat