RLO(Right-to-left override)とは、双方向のテキストエンコードシステムで使われる特殊文字で、テキストを右から左への表示に切り替える場所を指示するものだ。実行可能ファイルの本当の拡張子を隠蔽する目的で、昨年来Bredolabや高度なトロイの木馬MahdiといったWindowsマルウェアで一般的に使われている。トリックの詳細については、Krebs on Securityのこの投稿を確認してほしい。

 我々はあるMac用のマルウェアがRLOのトリックを用いていることに気付いた。そして先週の金曜日にVirusTotalに投稿した。

RLO character

 ここでの目的は、Krebの投稿で触れられていたものほど複雑ではない。単純に本当の拡張子を隠蔽するだけだ。このマルウェアでは「Recent News.pdf.app」というファイル名を使えたはずだった。しかし、OS Xはすでにこの点を考慮しており、予防措置として実際の拡張子を表示している。

RLO trick in Finder
RLO trick in Terminal

 このマルウェアはPythonで記述され、配布にpy2appを使用している。Hackbackとまったく同様に、Apple社のDeveloper IDで署名されている。

Apple Developer ID

 しかし、OS X上の通常のファイル検疫時に示される通知が、RLO文字のせいでKrebの場合と同様に逆さまになっている。.

OS X file quarantine notification

 このマルウェアを実行するとデコイのドキュメントを置いて、開く。

Decoy document

 続いてマルウェアは起動のためのcronジョブを作成し、さらに感染したユーザのホームディレクトリに、コンポーネント群を格納するための隠しフォルダを作る。

Launch point and drop files

 マルウェアはC&Cサーバのアドレスを取得するため、以下のWebページへ接続する。

  •  http://www.youtube.com/watch?v=DZZ3tTTBiTs
  •  http://www.youtube.com/watch?v=ky4M9kxUM7Y
  •  http://hjdullink.nl/images/re.php

 「just something i made up for fun, check out my website at (address) bye bye(楽しみのためにあるものを作った。私の(アドレス)のWebサイトを確認してね。バイバイ)」という文字列を解析してアドレスを得る。

 YouTubeのページは以下のようになっている。

YouTube page

 この文字列をGoogleで検索すると、上で挙げたもの以外にも悪用しているサイトがあることが分かる。

Google search

 その後マルウェアは継続的にスクリーンショットを撮り、音声を録音し(SoXというサードパーティ製のソフトウェアを使用している)、それをC&Cサーバにアップロードする。また、C&Cサーバに対して、実行コマンドの継続的なポーリングも行っている。

 このマルウェアは、当社ではBackdoor:Python/Janicab.Aとして検出する。

 追記:

 C&Cサーバの場所を示すために使われているYouTubeの動画の1つの統計情報を以下に示す。

Python_Janicab_YouTube_stats

Python_Janicab_YouTube_stats_daily

 この動画の日付はJanicab.Aのバイナリの日付よりも少なくとも1ヶ月前にさかのぼる。統計情報に基づくと、実際にはもっと前からバリアントが存在したようだ。