SamSaマルウェアの進化から伺える進行中の新たなランサムウェア戦術

By and

Category: Malware, Ransomware, Threat Prevention, Unit 42

Tags: , ,

This post is also available in: English (英語)

概要

ランサムウェアは毎週、新たなファミリが発見されるため頻繁にニュースとして取り上げられています。そして、このファミリには、被害者を限定するのでなく、攻撃者によって広範囲にばら撒かれるという1つの類似点があります。攻撃者は「下手な鉄砲も数撃てば当たる」的な戦術でフィッシング メールおよびエクスプロイト キットを利用してきました。

しかし、この数か月間の新しい傾向として標的型攻撃が台頭しているようです。この攻撃では、組織のネットワークに対して不正アクセスが成功した後で脅威の実行者がランサムウェアを送り込みます。このような攻撃において確認されたマルウェアファミリの1つは「SamSa」、「Samas」、「samsam」、またつい最近では「MOKOPONI」が知られています。このマルウェア ファミリに関してIntel Security および Microsoftの両社が報告をしています。

Palo Alto Networksは当該マルウェア ファミリの20個を超えるサンプルを収集しました。また、70,000ドル(USD)を超える額がビットコインで攻撃者に支払われたことを突き止めました(Cisco Talos の昨日の報告によると、この金額は115,000ドル(USD)に近いそうです)。本ブログでは、このマルウェア ファミリの進化について詳細に解説します。このマルウェア ファミリは2015年12月に初めて知られましたが、セキュリティ コミュニティが利用できる様々なセキュリティ侵害のしるし(IOC)を提供しています。

どのようにしてマルウェアはインストールされるか

MicrosoftおよびIntel Securityの両社が報告した通り、このマルウェアはかなり標的を絞ったやり方でインストールされ、侵入後に利用されます。まず、攻撃者は被害者のネットワークに不正にアクセスし、ネットワークを横断的に移動して餌食となりそうなホストを見つけるためにネットワークを精密にマッピングします。いったん、餌食となるシステムを攻撃者が見つけると、PSExecのようなありふれたシステム管理者ユーティリティを使って、SamSaが手動で送りこまれます。

被害者の様々なホスト上にマルウェアを仕込んだ後、マルウェアは攻撃専用に作成されたRSA公開鍵を使ってインストールされます。さらにバッチ スクリプトが1つ導入されます。このスクリプトは、被害者のマシンから大量のシャドウ コピーを削除してファイルの復元を妨害し、SamSaを実行し、暗号化に成功した後で最後に自分自身を削除する、という作業を担当します。

マルウェアの詳細

もっとも、初期の頃に知られているSamSaサンプルを除いて、このマルウェアはRSA公開鍵がコマンド ライン引数として手動で与えられるのを待っています。この点が、コマンド アンド コントロール サーバから自動的に公開鍵を検索する他のランサムウェア ファミリとの違いが際立っています。実際、初期のSamSaサンプルはマルウェア自身の内部にRSA公開鍵を埋め込んでいました。これらの違いに関する詳細な情報は、下記の「SamSaの進化」に記述しています。公開鍵がコマンド ライン引数として提供されないイベントで、マルウェアは終了します。これにより、サンドボックス環境で動作している場合、残される前後関係の形跡を最小限に抑えます。

図1 RSA公開鍵を探すSamSaコード

続いて、マルウェアはディレクトリを作成します。このディレクトリはその後バッチ スクリプトを保存するのに使われますが、バッチ スクリプトは行動完遂後のSamSa実行ファイルの削除を担当します。

以下のフォルダーには23個を超える解析済みサンプルが確認されています。

%APPDATA%\FontCachedManager
%APPDATA%\MacroReder
%APPDATA%\SystemAccountManager

 これらのフォルダーには埋め込まれたファイルがあります。このファイルはマルウェアによって混入されたものであり、「selfdel.exe」または「del.bat」と呼ばれ、SamSaの削除を担当します。

その後、マルウェアは埋め込まれたファイル拡張子リストを基に多数のファイルを探し出します。おそらくパフォーマンス上の理由から、Windowsディレクトリ、「Reference Assemblies\\Microsoft」が含まれるパス、ごみ箱は無視します。

図2 マルウェアは特定のディレクトリを無視

ファイル拡張子の数は、マルウェアの進化に従って微妙に変わっています。固有のファイル拡張子の数は平均で327~345個です。

指定されたファイルが見つかると、用意されたRSA公開鍵で暗号化され、「.encryptedRSA」というファイル拡張子が追加されます。

図3 SamSaの暗号化ルーチン

続いてマルウェアは、拡張子.htmlまたは.txtが付いた「HELP_DECRYPT_YOUR_FILES」というファイルを書き込みます。このファイルには、どうすれば被害者がファイルを回復できるかについての説明が記述されています。

各サンプルには、被害者が支払いに使用する固有のビットコイン アドレスが記述されています。支払い方法は被害者によって異なります。マシン1台ごとに支払いを要求するケースもあれば、組織に一括払いを要求するケースもあります。各支払いの内訳はこのブログの後半に記述しています。

SamSaの進化

私たちは、最初のサンプル(コンパイル時間は2015年12月9日)を目撃してから、マルウェアの開発者がコード ベースにさまざまな細かい変更を加えている点に注目してきました。次に示すように、最も古いサンプルは実際にはテスト用の実行可能ファイルらしく、開発者は実データではなく明らかに偽物とわかるプレースホルダを多数記述しています。

図4 最初のテスト用SamSaファイルの身代金要求ページのスニペット

この最初の実行可能ファイルがコンパイルされてからわずか1日後には、攻撃者は、実在するビットコイン アドレス、ブログ アドレス、そして37 BTCと50 BTCをそれぞれ要求する旨が記載された固有のサンプルを2つ作成しています。

コードの変更

マルウェアが進化を続ける過程で、開発者は簡単なコード隠蔽ルーチンを組み込みました。たとえば、機密文字列を16進エンコードする、変数名や関数名にアンダースコアを追加する、場合によってはガベージ コードを含める、などです。

図5 マルウェアの開発者が追加したコード隠蔽手段

ファイル拡張子の変更

当初、マルウェアの開発者が組み込んでいたファイル拡張子は344個でした。2015年12月半ばからこの数に変化が見られ、最終的に327個に落ち着きました。この過渡期の間に追加または削除されたファイル タイプは次のとおりです。

追加されたファイル タイプ:

‘.kbx’, ‘.php5’, ‘.phtml’, ‘.xml’, ‘.tif’, ‘.tib’

削除されたファイル タイプ:

‘.vmsn’, ‘.vmsd’, ‘.gif’, ‘.chm’, ‘.nvram’, ‘.vb’, ‘.bin’, ‘.cnf’, ‘.vmem’, ‘.cab’, ‘.dat’, ‘.log’, ‘.vbs’, ‘.data’, ‘.js’, ‘.jse’, ‘.xls’, ‘.vmdk’, ‘.jin’, ‘.vmx’, ‘.vmxf’, ‘.gz’, ‘.conf’

2016年2月半ばにはさらに変更が加えられ、ファイル拡張子「.xls」が追加されました。最終的には2016年3月半ば以降、次の3つの拡張子が追加されました。

‘.config’, ‘.asmx’, ‘.vb’

図6 SamSaのファイル拡張子数の推移

身代金要求通知の変更

SamSaの登場から現在までの間に、身代金要求通知は単純なテキストファイルからHTMLファイルに変わっています。以下でこの変化を確認することができます。

図7 身代金要求ページ バージョン1

図8 身代金要求ページ バージョン2

図9 身代金要求ページ バージョン3

ドメインの変更

過去4か月間、攻撃者は被害者の支払い用Webサイトのホスティング プロバイダを変え続けています。最初は、「www.anonyme[.]com」という匿名のWebサービスを使ったページを作成していました。2016年1月から戦術を切り替え、代わりにwordpress[.]comでホストされたWebページを使うようになります。最終的に2016年2月半ばからは、匿名のTORネットワークを使ってホストされています。

図10 SamSaのドメイン変更の推移

ビットコインの要求

他のランサムウェア ファミリとは異なり、SamSaの背後にいる攻撃者は、組織内のすべての感染マシンを対象とした復号化キーのために多額の一括払いを要求するか、または感染マシンごとにより小額の支払いを要求します。当初、2015年12月には、攻撃者は、多額の一括払いを好んでいました。2016年1月には、攻撃者は戦術を変え、代わりに感染マシンあたり1または1.5ビットコイン(BTC)を要求しました。最終的に、2016年2月以降は、攻撃者は多額のBTCを要求する方法に戻ったようです。分析結果は次のとおりです。

コンパイルのタイムスタンプ 要求された支払い
12/9/15 23:02 50000000000 BTC (テスト ファイル))
12/10/15 0:43 37 BTC
12/10/15 15:31 50 BTC
12/16/15 22:32 50 BTC
1/1/16 19:00 1 BTC マシンあたり
1/6/16 0:14 1 BTC マシンあたり
1/6/16 0:14 1 BTC マシンあたり
1/6/16 0:20 1 BTC マシンあたり
1/6/16 0:22 1 BTC マシンあたり
1/14/16 20:34 1 BTC マシンあたり
1/14/16 20:46 1.5 BTC マシンあたり
2/3/16 21:01 22 BTC
2/5/16 20:51 22 BTC
2/5/16 21:11 22 BTC
2/5/16 21:25 22 BTC
2/12/16 17:13 22 BTC
2/18/16 20:45 22 BTC
2/18/16 20:45 22 BTC
3/10/16 10:01 22 BTC
3/18/16 22:24 45 BTC
3/18/16 23:03 45 BTC
3/18/16 23:06 45 BTC
3/18/16 23:09 45 BTC

内部ファイル名

もう1つの興味深い開発は2016年3月中旬に行われました。その際、マルウェアの作成者は、マルウェアの内部名を「samsam」から、おそらくマルウェアの本来の名前である「MOKOPONI」に変えました。この変更が加えられた理由はわかりません。注目すべきは、「MOKOPONI」という名前のすべてのサンプルが同じC2アドレス「roe53ncs47yt564u[.]onion」と一意のURIを使用していることが検出されている点です。

SamSa攻撃者が得る利益

収集されたすべてのサンプル内で見つかった一意のBTCアドレスを追跡することで、被害者がいつ特定の支払いをしたかを判別することができました。次の表は、さまざまなBTCウォレットへの支払いを示しています。

BTC アドレス 支払われたBTC
1Gmjyb9wd6Ju9phn5tREmLYwPsPFusqEx6 0.0 BTC
1FpZFUGqAkyjAGVgHXhaHrSmThJHxd2a7v 0.0 BTC
1FpZFUGqAkyjAGVgHXhaHrSmThJHxd2a7v 0.0 BTC
19CbDoaZDLTzkkT1uQrMPM42AUvfQN4Kds 2.0 BTC
19CbDoaZDLTzkkT1uQrMPM42AUvfQN4Kds 2.0 BTC
19CbDoaZDLTzkkT1uQrMPM42AUvfQN4Kds 2.0 BTC
1FESb2caoXp27gEgVhyoCGHSkGhGwkzJbF 0.0 BTC
1JnxLRQSHkCw5aEhu5VQptUq4XmxntAvL2 10.0 BTC
1KVvqPi5QivfH3SKFpFWbeRwjdKREPYoAv 0.0 BTC
175wjzT5M7XvYYW447ry4TQmHUfzTrBUcN 0.0 BTC
1Cn4YXWmjARbK459hGQz54g3KTQLB7XYZs 0.0 BTC
1KwgwwWdoL9VFcg9VuCDGBiVZ2LNzGnrov 40.0 BTC
1ETLG9xnFwZ1H9xaHz6u4MX8KYvWJesMab 22.002305 BTC
1D6ScsG2BmZu3VFDEgfnMC6CzjnWtZi6Kj 40.0 BTC
1C9YUWk2iKAxjdvcysyA1C7xzR7evhr2qA 0.0 BTC
1AFoh41i1s56Tc2cRnwvJv1Hx8YfvbWxbh 0.0 BTC
1AFoh41i1s56Tc2cRnwvJv1Hx8YfvbWxbh 0.0 BTC
136hcUpNwhpKQQL7iXXWmwUnikX7n98xsL 3.42 BTC
1KakTJ8dpYFSnBohLakqMHKonZ4HGo3ur5 0.0 BTC
1FDj6HsedzPNgVKTAHznsHUg4pKnGRarH6 45.0 BTC
15HUUDBjLD34XfCu6YtafT7ARSt2TBrLBe 0.0 BTC
1EzpHEojHsLkHTExyz45Tw6L7FNiaeyZdm 0.0 BTC

支払われた金額を加算すると、合計166.422305ビットコインになります。現在のビットコイン為替レートに基づくと、攻撃者は2015年12月以降、総額約70,000ドル(USD)を得ています(Cisco Talosによる昨日のレポートでは、この数値は115,000ドル(USD)にのぼります)。

40 BTCの2回の支払いが特に興味深く、それぞれ2月3日と2月5日に行われています。これらの支払いは米国の医療機関(Hollywood Presbyterian Medical Center)がランサムウェアに40 BTC 請求されたという報道とほぼ同時に行われました。状況証拠になりますが、SamSaがこの特定の出来事に直接関与した可能性があります。

別の興味深い証拠の断片は、1KwgwwWdoL9VFcg9VuCDGBiVZ2LNzGnrovへの支払いに付随する公開メモの形で見つかっています。特に、それぞれ22 BTCと18 BTCの支払いに関して次のメモが存在しています。

公開メモ: For HPMISDTJRTJBM1 and HPMGPS01
公開メモ: For HPMISDTJRTJBM1 AND HPMGPS01 FOR ALL AFFECTED PC

これは推測ですが、確かに、これらの文字列がホスト名で、「HPM」の文字が「Hollywood Presbyterian Medical」の略である可能性があります。 .

結論

概して、SamSaは最近まで気付かれずに存在していた深刻な脅威です。マルウェアは2015年12月から確認されるようになり、多数の組織で発生した大規模なランサムウェアの感染の原因となっている可能性があります。マルウェア自体が高度に精巧なわけではありませんが、コマンド アンド コントロールインフラストラクチャの排除、不正アクセス権を得るために外部接続するシステムを侵害する機能、より難読化させる動向など、攻撃者が用いる戦術によって、SamSaは深刻な脅威となっています。

Palo Alto Networksによって収集されたSamSaのIOCは、こちらで参照できます。

Palo Alto Networksのお客様は、次の方法で脅威から保護されています。

  1. WildFireが、すべてのSamSaマルウェア サンプルを悪意として正確に識別します。
  2. 脅威防御によって、SamSaによって使用されているドメインは悪意としてフラグ付けされています。
  3. AutoFocusユーザーは、SamSaを使用したこの攻撃に関連するマルウェアを確認できます。