wivern ロゴ

サイバーセキュリティ&人工知能研究所

サイバーセキュリティや人工知能(機械学習等)を中心に、最新技術を研究しています。


FLARE VM:ずっと欲しかった Windows マルウェア解析ディトリビューション!

[拙訳]FLARE VM: The Windows Malware Analysis Distribution You’ve Always Needed!

FLARE VM

先日、FireEye がブログで公開した「FLARE VM」の紹介ページを自分の勉強用に翻訳しました。
今回、(翻訳と)インストールをしてみてわかったのは、

「FLARE VM」というネーミングではあるが、VM (仮想イメージ)ではない。
Windows の仮想イメージにインストールすることを想定したマルウェア解析環境である。

ということです。
ですので当然と言えば当然ですが、日頃使っている仮想環境ではないネイティブな Windows にインストールしてしまうと、スナップショットが取れません。
私はまんまとこの地雷を踏みました。


July 26, 2017 | by Peter Kacherginsky | Threat Research

FLARE チームのリバース・エンジニアとして私はマルウェア解析をするためにカスタマイズした仮想マシン(VM)を頼りにしている。仮想マシンは、私の解析の助けとなる多くの微調整とツールのある Windows インストレーションである。不幸にもこのようなカスタム VM を維持する試みはとても面倒である:ツールはしばしば古くなり、変更したり新しい物を追加するのが難しい。VM が破損したら何年もかけて構築した設定やツールの全てを再現するのは超退屈であるという不変の恐怖もある。これと多くの関連する変更に対処するために、私は FLARE VM と呼ばれる標準化した(しかし容易にカスタマイズできる) Windows ベースのセキュリティ・ディストリビューションを開発した。

FLARE VM は、リバース・エンジニア、マルウェア解析者、インシデント対応する人、フォレンジックする人、ペネトレーション・テスタのために考案された、無償で利用可能なオープン・ソースの Windows ベースのセキュリティ・ディトリビューションである。Kali Linux や REMnux 等のようなオープン・ソースの Linux ベースのセキュリティ・ディストリビューションに触発されて、FLARE VM は、デバッガ、逆アセンブラ、デコンパイラ、静的動的解析ユーティリティー、ネットワークの解析と操作、ウェブ診断、エクスプロイト、脆弱性診断アプリケーション、その他大勢のような、Windows のセキュリティ・ツールの総合的なコレクションで完全に構成されたプラットフォームである。

ディトリビューションはまた FLOSS や FakeNet-NG のような、FLARE チームの公開マルウェア解析ツールも含む。

入手方法


Windows 7 かそれ以降がインストールされていることが求められます。これは、正しい Windows のバージョン、パッチのレベル、アーキテクチャと仮想環境を自分で選ぶことを可能にする。

利用可能であれば、Internet Explorer(他のブラウザは動かない) で次の URL を訪れて FLARE VM 環境を素早くデプロイすることができる:

http://boxstarter.org/package/url?https://raw.githubusercontent.com/fireeye/flare-vm/master/flarevm_malware.ps1

Internet Explorer で上の URL を閲覧したら、Boxstarter WebLauncher のダイアログが現れる。図 1 に示すようにインストールを続けるために Run を選択する。

FLARE VM 図 1:FLARE VM のインストール

Boxstarter WebLauncher のインストール成功に続けて、コンソール・ウィンドウが現れて、図 2 に示すように Windows のパスワードを入力するようにもう一度促される。インストールの間、ログインのたびに促されることなく何度もマシンを再起動するために Windows のパスワードが必要である。

FLARE VM 図 2: Boxstarter のパスワード入力

処理の残りは完全に自動で行われるので、コーヒーかお茶を一杯自分で用意する。接続速度によっては、最初のインストールに 30-40 分かかる。マシンは多くのソフトウェアのインストールのせいで何度も再起動する。デプロイ処理中、たくさんのパッケージのインストール・ログを見ることになる。

インストールが終わると、マルウェアの検体がうっかりインターネットやローカルのネットワークに接続しないように、仮想マシンのネットワーク設定をホスト・オンリー・モードに切り替えることを強く推奨する。また、このクリーンな状態が保存されるように未使用の仮想マシンのスナップショットを作成すること!
最終的な FLARE VM のインストールは図 3 のようになる。

FLARE VM 図 3:FLARE VM のインストール

注意:大量のエラー・メッセージに遭遇した場合は、単純にインストールをやり直してみる。全ての既存のパッケージはそのままで、新しいパッケージがインストールされる。

始める


VM の設定と含まれるツールは、開発されたものか、マルウェアのリバース・エンジニアリング、エクスプロイトや脆弱性の解析、10 年に渡るマルウェア解析講座の教育をしてきた FLARE チームのメンバーに注意深く選ばれたものである。全てのツールは、図 4 に示すディレクトリ構造にまとめられている。

FLARE VM 図 4:FLARE VM のツール

FLARE フォルダ内のショートカットでツールが利用可能になるようにしているが、コマンド・ラインだけから利用可能なものがいくつかある。最新のリストは http://flarevm.info にあるオンラインのドキュメントを参照すること。

解析の例


マルウェア解析作業で FLARE VM がどのように役立つかを一番良く説明するために、我々の Malware Analysis Crash Course で使っている検体のひとつで基本的な解析をしてみよう。

最初に、バイナリ内の文字列を見ることでいくつかの基本的な識別子を手に入れよう。この演習では、強化された文字列ユーティリティである FLARE 自身の FLOSS ツールを実行しようとしている。ツールに関する追加情報のために、http://flosseveryday.info を訪れる。タスクバーの FLOSS アイコンをクリックすることで起動でき、図 5 に示すように検体に対して実行する。

FLARE VM 図 5:実行中の FLOSS

不幸にも、図 6 の結果文字列をながめるとたったひとつの文字列しか実際には目につかず、どのように使われているかが不明である。

FLARE VM 図 6:文字列の解析

検体のインポート、リソース、PE ヘッダ構造体を解析するために、CFF Explorer を開いてバイナリをもう少し掘り下げよう。CFF Explorer とたくさんの他のユーティリティが、図 7 に示すように Desktop や Start メニューからアクセスできる FLARE フォルダ内で利用可能である。

FLARE VM 図 7:ユーティリティを開く

PE ヘッダの解析をしていると、バイナリが追加のペイロードに格納するリソース・オブジェクトの数個の識別子があった。例えば、Import Address Table は LoadResource、FindResource、最終的には WinExec のような関係のある Windows API 呼び出しを格納していた。不幸にも、図 8 を見ればわかるように、埋め込まれたペイロード "BIN" は暗号化されたようなジャンクを格納している。

FLARE VM 図 8:PE リソース

この時点で、静的解析を続けるか、基本的な動的解析テクニックに切り替えることで少しばかり"ズル"をする。FakeNet-NG と呼ばれる他の FLARE ツールを使って手早く基本的な識別子を集めてみよう。FakeNet-NG は、DNS、HTTP、FTP、IRC 他多数のような偽のサービスを示すことで、マルウェアを欺いてそのネットワーク機能を暴露する動的ネットワーク・エミュレーション・ツールである。ツールについての追加情報は、http://fakenet.info を訪れてください。

また、同様に全てのファイル、レジストリ、Windows API アクティビティを監視するために、Sysinternals Suite から Procmon を起動しよう。図 9 に示された、これらのよく使われるツールは両方、タスクバーで見つけることができる。

FLARE VM 図 9:動的解析

管理者権限で検体を実行した後は、手早く優れたネットワークやホスト・ベースの識別子を見つける。図 10 に、FakeNet-NG が HTTP プロトコルを使って evil.mandiant.com と通信しようという試みに応答しているのを示す。ここで、完全な HTTP ヘッダ、URL、潜在的に固有な User-Agent 文字列のような有用な識別子を捕捉する。また、FakeNet-NG は正確なプロセス通信 level1_payload.exe を識別する能力があることに注意する。このプロセス名は、静的解析で識別したがどのように使われているかがわからない固有の文字列に対応する。

FLARE VM 図 10:FakeNet-NG

図 11 で我々が見つけたものと Procmon の出力を比べると、マルウェアは確かに実行形式 level1_payload.exe を生成する原因であることを確認することができる。

FLARE VM 図 11:Procmon

マルウェア解析プロセスの一部として、逆アセンブラに検体をロードしてもっと掘り下げたり、デバッガ内でもっと解析をすることを継続してもよい。しかしながら、ここで全ての答を共有することで Malware Analysis Crash Course の学生にこの楽しみを台無しにしたくない。そんな訳で、そのような解析をするための IDA Pro、Binary Ninja 逆アセンブラ、デバッガの素敵なコレクションと数個のプラグイン、あなたのリバース・エンジニアリングの作業を可能な限り便利にする他の多くのもののような、全ての関連ツールは既にディトリビューションに含まれている。

お好きなように


FLARE VM は常に成長して変化しているプロジェクトである。 我々が可能な限り多くの使用事例のシナリオを網羅しようとしても、プロジェクトの性質上単純に不可能である。幸運にも、FLARE VM は Chocolatey プロジェクトの一番上で構築されたので、極めてカスタマイズが簡単である。Chocolatey は何千ものパッケージが伴う Windows ベースのパッケージ管理システムである。リストはここで見つけることができる:https://chocolatey.org/packages。公式の Chocolatey レポジトリに加えて、FLARE VM は常に成長して現在約 40 パッケージを含む、自分自身の FLARE レポジトリを使っている。

これが意味する全ては、なんらかのパッケージ、言ってみれば Firefox、を素早く追加したければ、もはやソフトウェアの開発者のウェブサイトを閲覧する必要はないということである。単純にコンソールを開いて、図 12 のコマンドをタイプしてどんなパッケージでも自動的にダウンロードしてインストールする:

FLARE VM 図 12:パッケージのインストール

ちょっとすると、Firefox のアイコンがユーザの相互作用なしで Desktop に現れるようになる。

最新に保つ


最初に述べたように、アンマネージドな仮想マシンのもっとも困難なチャレンジのひとつは、全てのツールを最新に保とうとすることである。FLARE VM はこの問題を解決する。単純に図 13 のコマンドを実行することで、システム全体を完璧に更新できる。

FLARE VM 図 13:最新に保つ

インストールされたパッケージに新しいバージョンがあれば、自動的にダウンロードされてインストールされる。

注意:更新したシステムのクリーンなスナップショットを別に撮ってネットワークをホスト・オンリーに設定を戻すのを忘れないようにする。

結論


この新しい無償のツールを楽しんで、リバース・エンジニアリングやマルウェア解析の作業をするための新たな信頼できるリソースとして導入して欲しい。新しくマルウェア解析環境をセット・アップする必要があるときは、FLARE VM を試してください!

この数ページでは、FLARE VM にできる全ての表面をこすったに過ぎないが、気軽にコメント、ツールのリクエスト、バグをこの Github のイシュー・ページ:https://github.com/fireeye/flare-vm か http://flarevm.info/ に残して欲しい。

このエントリは、Wed Jul 26 12:31:00 EDT 2017 にポストされ、FLAREFakenet最近のブログ・ポストマルウェアPeter Kacherginsky脅威研究脅威研究オープン・ソースオープン・ソース・ツールの適用を申請した。


記述に際しては、細心の注意をしたつもりですが、間違いやご指摘がありましたら、こちらからお知らせいただけると幸いです。


←「OllyDbg チートシート」


« 戻る



↓ Now Translating...



↑ Now Translating...

↓ Now Reading...

↑ Now Reading...

↓ Recommending...

↑ Recommending...