Cisco Japan Blog
Share

LockyDump – 君たちの構成は全ていただいた


2016年10月18日


(原題: All Your Configs Are Belong To Us – 2000 年初期の流行語のパロディ)

執筆/投稿者Warren Mercerpopup_iconMatthew Molyettpopup_icon

サマリー

Locky は 2016 年 2 月の出現以来、進化し続けており、拡散方法やさまざまなマルウェア自体の特性の変化によって、追跡が困難になっています。Locky の運営陣は、ランサムウェアを使用するアフィリエイト(提携団体/個人)の追跡に関して、運用セキュリティ(OPSEC)の改善に取り組み続けています。この記事では、Talos が新しくリリースする Locky 構成抽出ツール「LockyDump」について説明します。これは、現時点でわかっている Locky の構成パラメータ(例:.locky、.zepto、.odin など)をベースとしたランサムウェアをダンプすることができる最初のオープン ソース ツールです。

仮想環境内で LockyDump を使って Locky 事例を実行すると、AffilID などを含む、すべての構成情報を抽出/取得できます。しかし、Locky の最新亜種では、この抽出プロセスが難しくなっています。Talos はすべての AffilID 関連情報を得るため、Locky サンプルのさらなるリバース解析を行いました。個々のサンプルの情報を取得することで、Locky アフィリエイトの追跡履歴から、それぞれのアフィリエイトの傾向やその他の特性が特定できます。例えば、よく使われる拡散方法がエクスプロイト キットなのか、スパム/フィッシング電子メールなのか、などです。

構成抽出の詳細

Talos は、Locky(Zepto/Odin など現時点でのすべてのバージョン)をサポートする構成抽出ツールを作成しました。悪意のあるバイナリにハードコードされた、以下の構成パラメータを抽出できます。

image01

LockyDump 要件

LockyDump は Locky マルウェア ファミリに組み込まれた構成を抽出する、E32 Windows バイナリ アプリケーションです。メモリからこれらの値を抽出するには、マルウェアの実行が必要となります。そのため、解析環境は Locky 侵害が可能な Windows システムに制限されます。

LockyDump プロセス方法

Locky は Win32 実行可能ファイルや DLL などで拡散されているので、2 つの別個の解析方法を使用する LockyDump を作成しました。DLL ファイルは LoadLibrary によって開始され、Unpacker で Locky コードを開示し、初期化コードが構成の復号化を実行します。復号化された構成が公開されると、LockyDump に検出され、標準出力に表示されます。

実行可能ファイルのバージョンには異なる解析アプローチが必要だったので、デバッグ構成された LockyDump でマルウェアの実行を行うことで対応しました。マルウェアは True コードが検出されるまで実行され、検出された時点で LockyDump がマルウェア実行を凍結します。そして構成情報を検出し、標準出力に表示します。

オプション機能

以下はオプション機能の一覧で、LockyDump ランタイム時に有効にしておくと、Locky サンプルから追加情報を取得することができます。これらは Windows 環境変数を使用して、LockyDump の実行前に設定できます。

set LOCKY_DUMP_VERBOSE=1

set LOCKY_DUMP_SAVE=1

Verbose Output – 構成には 2 つのテンプレートが含まれます。1 つはランサムノート画像、もう 1 つはランサムノート HTML です。出力のサイズが大幅に増加するので、LockyDump でこの 2 つのフィールドはデフォルトで表示されません。環境変数 LOCKY_DUMP_VERBOSE が設定されていれば、両方のランサムノート テンプレートが標準出力に表示されます。

Locky Unpacking – Locky バイナリはさまざまなパッカーで保護されているので、静的解析が困難です。環境変数 LOCKY_DUMP_SAVE が設定されていれば、アンパック(開梱)された Locky ファイルは作業中のディレクトリに DUMPED_IMAGE.DLL として保存されます。以降のファイルは常に「DUMPED_IMAGE.DLL」となります。

実行手順

まず Microsoft Windows の仮想例を解析し、その中に Locky の既知サンプルを組み込み、LockyDump を実行します。LockyDump は、メモリから構成情報を抽出するために Locky の実行を行う必要があるので、仮想環境での実行を強く推奨します。

LockyDump は次のシンタックスを使用してコマンドラインから実行できます。

LockyDump.exe sample.exe [args to sample]

これで指定したサンプルに対して LockyDump を実行することができます。上記のオプション機能は、「set」コマンドラインを使用してローカル環境変数を設定できます。適用するオプション機能を設定して、以前と同様に LockyDump を実行します。

ソース

LockyDump ソースは、弊社の GitHub popup_icon から利用できます。ソースおよびコンパイル済みバイナリ両方を提供しています。

LockyDump.10122016.exe SHA256:
d49fd9fb7d290a530c292f451c32e558f6f5797944ecb2d6b73e151f450fc43c

実行前にハッシュを検証してください。

まとめ

Talosは、オープン ソース コミュニティの他の研究者たちが Locky の履歴解析を各自で実行できるようにソースをリリースしています。Fortinet の構成抽出ツールが一般公開されるかどうか明確ではなかったのですが、Virus Bulletin での Fortinet からの情報によると、このリリースを保証する十分な情報がありました。

このツールのリリースは、この一週間のスパム ベース Locky の大幅な減少と合致しています。しかし、常に進化を続ける Locky は手法を変えて戻ってくるので、いつでもこのツールが使えなくなることも念頭に入れておいてください。その際にはアップデート版をリリースして、意図通りの正しい運用を続けられるよう目指しています。

 

本稿は 2016年10月13日に Talos Grouppopup_icon のブログに投稿された「LockyDump – All Your Configs Are Belong To Uspopup_icon」の抄訳です。

Tags:
コメントを書く