2年前、我々はJanicabというマルウェアを発見した。MacとWindowsを標的としており、それぞれPythonとVBSスクリプトを使用している。
このマルウェアは、Windows OSではCVE-2012-0158を悪用したドキュメント経由で配信される。さらに2013年あたりから近頃まで、埋め込まれたエンコード済みのVBScriptをドロップする、Microsoft Shell Linkファイル(.lnk)の形式での配信も目にしている。
目的を分かりにくくするため、このドロッパーが用いるトリックはいくつかある。
- 拡張子を二重にしたファイル名(例:.jpg.lnk や .doc.lnk)
- (デフォルトのcmd.exeの代わりに)notepad.exeのアイコンを使用
- センシティブな可能性のあるデータ、たとえばマシンIDや相対パスなどはゼロで潰す
しかしもっとも興味深いのは、コマンドライン引数の文字列をWindowsエクスプローラーから隠ぺいするために、ドキュメントにない方法を使っている点だ。一般的にWindowsエクスプローラーでは、ショートカットアイコンを右クリックすることで、プロパティの中でリンク先とその引数を一つの文字列として見ることができる。だが、今回のシナリオではコマンドラインの引数が見えないのだ。

一連のシェルコマンドを&演算子で結合したものが、隠されたコマンドライン引数としてLNK内に存在している。

以下は、悪意あるVBEのドロップと実行を行う実質的な部分のコマンドのリストだ。

このマルウェアスクリプトはMicrosoft Script Encoderを用いてエンコードされており、LNKファイルの末尾に埋め込まれている。
実行すると、このスクリプトは以下のような囮のファイルをドロップする。


Janicabは以前のバリアントと同様、C&Cサーバを取得するために、YouTubeなどサードパーティーのWebサービスをいまだに利用している。




このバリアントで見つかったもう1つの変更点は、%UserProfile$\SystemFolderにsnapIt.exeをドロップするところだ。このアプリケーションはスクリーンショットをキャプチャし、~PF214C.tmpとして保存するためにJanicabが使用している。
また今では、自身がVirtualBox、Parallels、VMWareといった仮想マシン内で実行されている形跡があるか確認も行っている。同様に、以下のような実行中のプロセスを調べることにより、分析用のマシン上で実行されているかどうか確認している。

今回のバリアントで、これまでに見つけたC&Cサーバの一覧は以下になる。
• 87.121.52.69
• 87.121.52.62
• 94.156.77.182
• 95.211.168.10
C&Cサーバとの通信フォーマットは次のとおりだ。
• [C&C]/Status2.php - C&Cサーバのステータスを確認
• [C&C]/a.php?id=[SerialIDfromCnC]&v=[malware_version]&av=[InstalledAV] - cookieおよび囮ファイルが削除されたことを通知
• [C&C]/gid.php?action=add&cn=[ComputerName]&un=[UserName]&v=[malware_version]&av=[InstalledAV]&an=[notifyName] - Serial IDを取得
• [C&C]/rit.php?cn=[ComputerName]&un=[UserName]&an=[notifyName]&id=[SerialIDfromCnC]&r=[VMorRunningProcessName] - 分析用の実行中プロセスもしくはサンドボックス環境を通知
• [C&C]/sm.php?data=[InstalledAV] - 起動メカニズムを取得
• [C&C]/c.php?id=[SerialIDfromCnC] - コマンド群を取得
• [C&C]/rs.php - スクリーンショットを送信
• [C&C]/rk.php - データを送信
• [C&C]/d.php?f=[Base64EncodedData] - ファイルをダウンロード
このサンプルはTrojan-Dropper:W32/Janicab.Aとして検知される。
SHA1のハッシュ
• 4bcb488a5911c136a2c88835aa06c01dceadbd93
• 41688ef447f832aa13fad2528c3f98f469014d13
Post by — Jarkko and Karmina
このマルウェアは、Windows OSではCVE-2012-0158を悪用したドキュメント経由で配信される。さらに2013年あたりから近頃まで、埋め込まれたエンコード済みのVBScriptをドロップする、Microsoft Shell Linkファイル(.lnk)の形式での配信も目にしている。
目的を分かりにくくするため、このドロッパーが用いるトリックはいくつかある。
- 拡張子を二重にしたファイル名(例:.jpg.lnk や .doc.lnk)
- (デフォルトのcmd.exeの代わりに)notepad.exeのアイコンを使用
- センシティブな可能性のあるデータ、たとえばマシンIDや相対パスなどはゼロで潰す
しかしもっとも興味深いのは、コマンドライン引数の文字列をWindowsエクスプローラーから隠ぺいするために、ドキュメントにない方法を使っている点だ。一般的にWindowsエクスプローラーでは、ショートカットアイコンを右クリックすることで、プロパティの中でリンク先とその引数を一つの文字列として見ることができる。だが、今回のシナリオではコマンドラインの引数が見えないのだ。

一連のシェルコマンドを&演算子で結合したものが、隠されたコマンドライン引数としてLNK内に存在している。

以下は、悪意あるVBEのドロップと実行を行う実質的な部分のコマンドのリストだ。

このマルウェアスクリプトはMicrosoft Script Encoderを用いてエンコードされており、LNKファイルの末尾に埋め込まれている。
実行すると、このスクリプトは以下のような囮のファイルをドロップする。
Janicabは以前のバリアントと同様、C&Cサーバを取得するために、YouTubeなどサードパーティーのWebサービスをいまだに利用している。
実際のC&CサーバのIPアドレスは、YouTube上で示されていた。しかし上図のように、マルウェア作者はC&Cサーバを分かりづらくしようとしてきた。最近のバリアントでは「our (.*)th psy anniversary」という形式のコメント内にある数値を収集する。
実際のIPアドレスを得るには、当該Webサービスで見つけた数値を分割したり変換したりする。
このバリアントで見つかったもう1つの変更点は、%UserProfile$\SystemFolderにsnapIt.exeをドロップするところだ。このアプリケーションはスクリーンショットをキャプチャし、~PF214C.tmpとして保存するためにJanicabが使用している。
また今では、自身がVirtualBox、Parallels、VMWareといった仮想マシン内で実行されている形跡があるか確認も行っている。同様に、以下のような実行中のプロセスを調べることにより、分析用のマシン上で実行されているかどうか確認している。
今回のバリアントで、これまでに見つけたC&Cサーバの一覧は以下になる。
• 87.121.52.69
• 87.121.52.62
• 94.156.77.182
• 95.211.168.10
C&Cサーバとの通信フォーマットは次のとおりだ。
• [C&C]/Status2.php - C&Cサーバのステータスを確認
• [C&C]/a.php?id=[SerialIDfromCnC]&v=[malware_version]&av=[InstalledAV] - cookieおよび囮ファイルが削除されたことを通知
• [C&C]/gid.php?action=add&cn=[ComputerName]&un=[UserName]&v=[malware_version]&av=[InstalledAV]&an=[notifyName] - Serial IDを取得
• [C&C]/rit.php?cn=[ComputerName]&un=[UserName]&an=[notifyName]&id=[SerialIDfromCnC]&r=[VMorRunningProcessName] - 分析用の実行中プロセスもしくはサンドボックス環境を通知
• [C&C]/sm.php?data=[InstalledAV] - 起動メカニズムを取得
• [C&C]/c.php?id=[SerialIDfromCnC] - コマンド群を取得
• [C&C]/rs.php - スクリーンショットを送信
• [C&C]/rk.php - データを送信
• [C&C]/d.php?f=[Base64EncodedData] - ファイルをダウンロード
このサンプルはTrojan-Dropper:W32/Janicab.Aとして検知される。
SHA1のハッシュ
• 4bcb488a5911c136a2c88835aa06c01dceadbd93
• 41688ef447f832aa13fad2528c3f98f469014d13
Post by — Jarkko and Karmina