※本記事は2016年5月6日に米国で掲載されたブログ記事の抄訳を基にしています。

 Bucbiランサムウェア ファミリの出現は2014年初めに遡りますが、大幅に更新されました。最近確認された攻撃において、新しい戦術がシステム侵害に使われていることも判明しました。このマルウェアはこれまでは、伝統的にHTTPダウンロードを介して配信されてきており、エクスプロイト キットまたはフィッシング電子メールを介するものでした。しかし、この何週間か、インターネットに接続しているWindowsサーバのRDPアカウントに対して攻撃者が総当たり攻撃を仕掛けてマルウェアを配信しているのをPalo Alto Networksのリサーチャーたちが確認しました。さらに、このマルウェア自体が改変されていて、もはやインターネット接続を必要としていません。

 侵害を受けたシステムに残された最近の身代金要求文を見るとマルウェアは「ウクライナ右派セクター (Ukrainian Right Sector)」のものであることが判明しています。ウクライナ右派セクターはウクライナの極右民族主義政党であり、ロシアに対抗する準軍事作戦を展開していますがウクライナ政府管轄外で作戦行動を実施しています。しかし、最近見られる攻撃ではロシアとの結びつきを示すものが多数あります。従って、「ウクライナ右派セクター」による犯行だとする主張が正確なものなのかどうか、また仮にその主張通りだとしても、背後にある理由およびロシアとの結びつきを示すものの意義が何であるのか、明らかではありません。

潜入

 他の多くのランサムウェア ファミリとは違い、本件のBucbi亜種はRDP総当たり攻撃を介して配信されました。以下に示す5つのIPアドレスは、2016年3月の終わり頃から被害者のマシンに攻撃を仕掛けているのが確認されました。

  • 184.197.69
  • 44.191.251
  • 117.151.236
  • 161.40.11
  • 101.31.126

 一般的なユーザー名がこの総当たり攻撃でログインの試行に多数使われましたが、販売時点情報管理(POS)独自のユーザー名も多くがその中に含まれていました。おそらく、この攻撃は元々POSデバイスを探し出そうとしている攻撃者が始めたもので、セキュリティ侵害成功後に、侵害を受けたデバイスでは金融取引が行われていないことに気付いた攻撃者が戦術を変更したものと思われます。ログインの試行に使われたユーザー名のリストの一部を以下に示します。

  • Administrator
  • Aloha
  • Admin
  • BPOS
  • FuturePos
  • HelpAssistant
  • KahalaPOS
  • Oracle
  • POS
  • SALES
  • SERVER
  • Sqladmin
  • Staff
  • Администратор [ロシア語で「Administrator」の意]

 攻撃者はこの特定のマシンに対するセキュリティ侵害に成功すると、下記のPDB文字列を含む実行形式ファイルをドロップしました。

C:\inetpub\restartprm\Present\Перед запуском софта\dotNetFx45_Full_setup.exe

 上記のロシア語の文字列をざっと翻訳してみると「ソフトウェアを実行する前に」となります。上記のファイル名を調査した結果、「RDP Brute(作者はz668)」という名前のRDP総当たり攻撃ユーティリティについて意見交換がされている数多くのロシア語のフォーラムにたどり着きました。確かなことは言えませんが、被害を受けたマシンへのアクセス権を得るのにこのツールが最初に使われた可能性があります。このユーティリティのスクリーンショットを以下に示します。

図1 RDP総当たり攻撃ユーティリティ
 

マルウェア分析

 下記のサンプルは2016年4月初めの侵害未遂で発見されました。

MD5: 410E395600C291C59D8C9B93FA82A7F3
SHA1: 2E385E8B8CEB01C9E638F8A95889B571D31AEF41
SHA256: 26F2BF1FC3EE321D48DCE649FAE9951220F0F640C69D5433850B469115C144FE
Timestamp: 2016-04-02 16:40:13 UTC

 本件のサンプルは以下に示す2つのコマンド ライン(CLI)引数のうち1つをとるよう設定されています。引数が与えられていない場合、「FileService」という名前のサービスが存在しているものとしてこのサービスを開始しようとします。

  • /install
  • /uninstall

 「/install」というCLI引数が与えられた場合、マルウェアは以下のプロパティを有するサービスの作成作業に移ります。

サービス名: FileService
表示名: File Service
起動: 自動
パス: [マルウェアのパス]

 サービスの作成に成功すると、マルウェアは「インストールOK」というprintf文を出力します。

 「/uninstall」というCLI引数が与えられた場合、マルウェアはすでに作成済みのサービスを削除し、「アンインストールOK」というprintf文を出力します。

 サービスが実行されている場合、マルウェアはデバッグ文を多数生成します。これらのデバッグ文は%ALLUSERSPROFILE%ディレクトリ内の拡張子「.log」を持つランダムに名前付けされたファイルに書き込まれます。このログ ファイルの例を以下に示します。

図2 マルウェアによって書き込まれたログ ファイル
 

 マルウェアは、まず、被害者の%ALLUSERSPROFILE%ディレクトリ内でファイルを探します。ファイル名は、被害者のボリューム シリアル番号と指定された2つの4バイト シードを組み合わせて使用し、一意の8バイト シーケンスを生成するユニークなアルゴリズムによって生成されます。その後、このシーケンスをアルファベット文字列に変換するために、それに対して検索/置換が実行されます。この関数は、次のように表されます。

 

 上記のアルゴリズムは、GOSTブロック暗号を使用して一意のファイル名を生成します。GOSTは、ソビエト政府によって1970年代に開発されたため、かなり不明瞭です。それは、1994年に機密解除され公開されました。一意のファイル名を生成するためのこの特定の手法は、Bucbi固有であると見られ、それを使用している他のマルウェア ファミリは検出されていません。

 アルゴリズムを使用して、キー ファイルが被害者のマシンに存在するかどうかを判別します。この特定のファイルが存在しない場合、マルウェアはファイルの生成を進めます。2つのファイルが作成されます。1つはサイズが580バイトで、もう1つはサイズが1060バイトです。以下のスクリーンショットに示すように、どちらのファイルも0x60000のDWORDで始まります。

図3 マルウェアによって書き込まれるキー ファイルの例
 

 Bucbiが使用している暗号化は、まだ、Palo Alto Networksによって調査中です。キー ファイルが生成されると、マルウェアはネットワーク リソースの暗号化を担う新しいスレッドを生成します。

 WNetOpenEnumを呼び出して、使用可能なすべてのネットワーク ディスク リソースを列挙します。ネットワーク ディスクが識別された場合は、暗号化ルーチンがこのリソースに対して実行されます。マルウェアは、次のディレクトリは無視しますが、それ以外は検出したすべてのファイルを暗号化します。

  • C:\WINDOWS
  • C:\Windows
  • C:\Program Files
  • C:\Program Files (x86)

 ブラックリスト化されたファイルの種類がないため、この特定のマルウェアは非常に非効率で、通常は、暗号化が完了するまでに数分かかります。

 ファイルは上書きされ、本来存在していたものと同じファイル名で残されます。他のより一般的なランサムウェア ファミリと異なり、Bucbiは暗号化するファイルに特定のファイル拡張子を使用しません。

 本来作成されたキー ファイルが削除されない点にも注意する必要があります。さらに、マルウェアには復号化ルーチンが含まれています。これはマルウェアによって呼び出されることはありませんが、存在し、サンプルに簡単なバイナリ変更を加えることで使用できます。これによって、被害者は最終手段としてランサムに支払うことなく、ファイルを回復できます。

 暗号化が完了すると、README.txtファイルが被害者のデスクトップに配置されます。このファイルには、以下の情報が含まれます。

図4 マルウェアによってドロップされるランサム メッセージ
 

 本執筆時点では、上記のスクリーンショットに記載されたビットコイン アドレスには、0.00896 BTCの1回の支払いがあります。この支払いは、金額が非常に低く、テスト トランザクションとして使用されたようです。電子メール アドレス「dopomoga.rs@gmail.com」は、次の例に示すように、多数の外部公開の中でウクライナ右派セクターに関連付けられています。

図5 2015年11月4日からのFacebookの投稿
 

図6 sectorpravdy.comからの翻訳された投稿
 

 ただし、前述のとおり、マルウェア実行ファイル内にロシアのPEリソースが存在したり、攻撃内にロシア関連のファイルが検出されたりするなど、攻撃者がロシア出身またはロシア語を話すことを示す多数の兆候が見られます。

旧バージョンのBucbiとの類似点と違い

 前述のように、Bucbiマルウェア ファミリはかなり古く、2014年1月にまで遡ります。2014年半ばにMicrosoftによって掲載されたエントリ以外に、Bucbiに関する公開情報はほとんどありません。

 新たに発見されたBucbiのウクライナ版の亜種を古いサンプルと比較すると、多数の類似点があることがわかります。中でも目に付く類似点の1つは、どちらのサンプルにも存在するデバッグ文字列です。

ウクライナ版の亜種: C:\Users\admin\Desktop\FileService\FileCrypt\Release\payload.pdb
古いBucbiのサンプル: C:\FileCrypt\Release\FileCrypt.pdb

 確認されたすべてのBucbiのサンプルに、元々のファイル名である‘FileCrypt’が記述されています。もう1つの明白な類似点は、ファイル名の生成方法にあります。「マルウェア分析」のセクションで説明したように、確認されたすべてのサンプルで同じGOSTブロック暗号関数が使われています。この関数は、これまでBucbiのサンプルでしか確認されていません。

 さらに、各サンプルで使用されている鍵ファイルも一貫しており、サイズと、先頭のDWORD値0x60000の両方が同じです。各サンプルのコーディングのスタイルも、確認されたBucbiの事例すべてで一貫しています。

 こうした類似点がある一方で、変更点も数多く確認されています。最も目を引くのは、サービスのインストール方法と、‘/install’および‘/uninstall’というコマンド ライン引数です。古いBucbiのサンプルもコマンド ライン引数を取っていましたが、代わりに‘-e’パラメータが存在するかどうかを検索していました。

 Bucbiのウクライナ版の亜種では、ネットワーク リソース暗号化関数が初めて実装されたようです。その一方で、この亜種からは、HTTPコマンド アンド コントロール(C2)チャネルが使われなくなっているように見えます。2015年6月に確認された旧バージョンのBucbiはリモート サーバを利用しており、そこに被害者の情報と生成された鍵の情報がアップロードされていました。

 最後に、身代金要求文に変更があることも確認しました。この旧バージョンのBucbiでは、被害者に対して次の身代金要求ページが表示されます。

図 7オリジナルのBucbiの身代金要求ページ
 

結論

 全体的に見て、これは興味深い攻撃であることが判明しました。攻撃者は当初、POSデバイスに対する攻撃で見られる手法と共通する手法によってアクセスを得ているため、一度アクセス権を得ると、攻撃者は非常に古いBucbiランサムウェア ファミリの新しい亜種を導入することに主眼を移します。この特定の亜種は、ウクライナの極右国政政党である「ウクライナ右派セクター」のものであるとされています。もしそれが本当であれば、特定の国政政党が活動資金を集めようとしてランサムウェアに参入したことになります。しかし、ロシアに関係するさまざまな文字列や言及については、この攻撃の背後に実際に誰がいるのかという点において疑問が残ります。背後に潜む人物を断定できる十分な証拠がないため、この特定の攻撃の出所を突き止めるのは困難です。矛盾が多く、明言できないのです。しかし、明らかなのは、攻撃者がランサムウェアの導入方法の戦術を変えつつあること、そしてそのマルウェアを絶えず更新して防御手段を阻止しようと図っていることです。

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

  • WildFireがすべてのBucbiサンプルを有害であると正しく検出します。
  • このマルウェア ファミリを追跡するため、Bucbiに対してAutoFocus タグが作成されています。
  • この攻撃で使用されているすべてのドメイン/IPは悪意のあるものとしてフラグ付けされています。

セキュリティ侵害の兆候

SHA256ハッシュ  – ウクライナ版の亜種

26f2bf1fc3ee321d48dce649fae9951220f0f640c69d5433850b469115c144fe
4c698f5a005a74570a10a69a82317b0c87207934fe82907ee7df3348096cd66c

SHA256ハッシュ – 元のBucbi

ad16c5246675b807cd04c33f5186f26c1c677e7b2f3baea3305b23e7cac34f8e
be63b6a01e57a7a409647bdf221a37a0be0d470d488136228a4c1d1defbd05f4
98e901f362641ae1fc6527215f496c9fd5de2d7f69b136ac610e453469831d07
2f8597a18c24d9c7ee4442f607b518c065bfef376c554ea80b303875bb0f5c4f
713413ee1a008b91a6afb29c52d2beda829778b8072c5ba5171bb50277104ebc
8577216183fc19767788e3d078eaeb754d18141c80c2554f9c3c359cc470c4f6
feb6eccc9d254fb0e1c818be50ec183a472ed064d4071f380ac131c262da0689
0ed72a28ba5bac7f44f9e4519db5f8c8d94076d85a929c2004da1cba99559610
ea7896c06595a261b140f1ce192230e0fc0bdb9213023db0a5d1b07eb91f7af3
27ba82a72339fef306ef6ce83c055c35caa7bf7116eea0edad22966d297661f3
70d59a3f1f508668b1ae214022a140fb96f90c221a192443b87a1fbe621cee0b
feecc0baccecabeddc8f0e07b3a7aa54d7f13d60e232b7a538b10cd773b4c5e5
766b3a58b5ff86b1070c186b72854c69fff6fc11ce384d70c71db66f6c18a8c8
a65293abd10e7c4a306ddfae94c67df2db411c4a29ca71a1ca8169ee640a8ed3
62f199dedfffef4eb71c33bdf22f4a9b3276f8a831999788059163fae43db48e
8988f592efb88b4998b54c9736898339811bda3578b27e0a4a03ed9a4c5ca363
60fb4c67f4fade5b00d1f57810ec379df3c39b546ead0865296a077e6a8b2f42
ce122be2e52159c3e441c43b81a334b49b7763cf6a2265768d8e2df45478fc6a
30645cdf85546f51862c7dc4750016f872683bc060cc34e4b462e01445a8abfd
9b1b25ab5a6e5291a509c4ad94ab16c25925feaf9e6e8b217494596f76888202
558d32c77167d08ab8594c5df99dd162ae975d8ceb1d169108fe0d70ac8df11a
6e279ea746bc4692ff32acb697da0147ec056700fc095f8ff248317548bcbdcb
56da464cd45f17bacf52b6497396e2c801625bd4068790d9d9515a087584f630
14ff3948a11b7469882bda4e8fcf89600aaaf84d5d5b4bfcea1896acc4ed2ca5
63492d05b5bd0fd132dbb92142f6c8911325899c7a1cd9a462edf720ce27d47c
697266cac58ba555fb3d7dd6e0afd08ecfc57702f3e3a9df96e9e4eef8b722d6
b561b91cce444e9dc768bd93e0404e67f79900598ef03f175a10887c7b94c30c
06fee4e154ad90945be70aae671aeefd103fa0947d957fdc973848221ada635c
b497c79c027bab2b9a30c613b2c603296bcb29d63c8f30c27864c860955b3ebd
a1dc73eaaaa11ef3585bf389fcc3301c20c0636a144778d3ffb657110d911d1b
d65593e94ef433a2597cf01591e96067180e548cd418327476931c642e01bdff
4ec6ee80323c2365dfd4cfeba9a64f043df026a98b026ecb1e757c9df532f064
cc7c24dd062e8538984a9d640600b91ff6c3a0404a5caf4f174c513c7f16fba4
5d753520b6c97bace23dbbece93ecd9eb9ac3cea1d8c9b4ccf6dfca43dc47556
f51719dfeac4f52a90d52188c3b3e9145d77f612da784510c968564aa0d46e9e
907d245b8854a8277379fb59d65102c2fd440c0bf850939e2a775a3bebb4cb1d
0957912344ff93cba65088c4aed2bd2631e8a5788604520955104e05dcfb4b0c
7cc35bbd4327a4212069eab5747944c5e8dedb82f02f695b0248d026a733f0c6
56485d996b50610b3c0ab86d7136bde215401c2f30154e818b4b18d3a4457eea
11cc17e5e06f7d5e7c52979b5e7b75ea083e46a59e73ea245872e72084f44099
dfb355d874db6f2d141c2789a041ccfa91775508fae2fedd86c48f0089abe00a
15608834007b61eb4426bf034e8923733100fccf872ffebe2e05aea3d9f63fef
26f2bf1fc3ee321d48dce649fae9951220f0f640c69d5433850b469115c144fe
6edf7c043348efe02d94c97a4d06ec735fb90a77ea290509e03991edadb24716
4c5a0fd976f04c63faa32e1a74edd59c5c39ce0e143e69d464f95872b8357e8e
59e06b077b8ac0472cb95401bf5d99301e0e807ed74d698a3953bc96c0eb568e

コマンド アンド コントロール サーバ – 元のBucbi

bbb.bth.in[.]ua
shalunishka12[.]org
ceckiforeftukreksyxomoa[.]org
87.249.215[.]196
chultolsylrytseewooketh[.]biz

攻撃者のIPアドレス

31.184.197.69
31.44.191.251
79.117.151.236
46.161.40.11
191.101.31.126