暗号化しないランサムウェア「ShinigamiLocker」と、スクリーンロッカー/偽ランサムウェアの脅威

2017.10.18
コンサルティング事業部 サイバーインテリジェンスグループ 吉川 孝志

title1

「ランサムウェア」という言葉はWannaCryの事件以降、一般にもそれなりに広く浸透したものと思われますが、「スクリーンロッカー(Screen Locker)/偽ランサムウェア」(※)という言葉はあまり知られていないのではないでしょうか。


(※:国内で見かける偽ランサムウェアという表現はまるで脅威ではないような印象を受ける可能性を含むため、本記事では以降、国外で一般的に使用されるスクリーンロッカーという表現で統一します)


世の中には「ランサムウェア」と関係・類似していながら「ファイルを暗号化しない」という共通点を持つ脅威が存在します。さらに、ランサムウェアそのものであっても(攻撃者の意図は別として)「ファイルを暗号化しない」種類が存在します。


今回初めにご紹介する「ShinigamiLocker」というランサムウェアは結論からいえば、攻撃者が非常に興味深いミスを犯しており結果的にファイルを暗号化しないランサムウェアとなってしまった事例の一つです。また、後述する「Ransom Prank Ransomware」を始めとする「スクリーンロッカー」と呼ばれる脅威は、まさに「ファイルを暗号化しない」という特徴を持ちながら、脅迫メッセージが表示された閉じられないウインドウを最大画面で表示することでPCの画面をロックし、ユーザーに金銭を要求するタイプのマルウェアです。


こうした脅威を目の当たりにしたとき、被害をそれ以上拡大させないために一番重要なことは、ランサムウェアの関連・類似マルウェアの中に、こうした「ファイルを暗号化しない」が「脅威となる」タイプが存在することを把握しその特徴をしっかりと理解しておくことです。



■ファイルを暗号化して元に戻してしまうランサムウェア「ShinigamiLocker」


「ShinigamiLocker」は実行するとまもなく正規プログラムである「eventvwr.exe」(イベントビューワのプログラム)を実行します。前回の記事(UAC回避機能を複数搭載したランサムウェア「HkCrypt」)の通り「eventvwr.exe」は自動昇格を行う特殊なプログラムのため、「HkCrypt」と同じ手法を利用し、UACを表示させることなく管理者権限へ昇格した状態で自身を起動させます(以下の図参照)。

つまり、「ShinigamiLocker」は前回の記事(UAC回避機能を複数搭載したランサムウェア「HkCrypt」)で言及したUAC回避のテクニックを搭載しており、一般的なランサムウェアと比較してそれなりに熟考されたランサムウェアのように見受けられます。



図1 「ShinigamiLocker.exe」が「eventvwr.exe」を利用して権限昇格を行う様子

また「ShinigamiLocker」は感染すると以下の画像を全画面で表示します(※アニメーションのキャラクターが使用されているため一部モザイク処理を施しています)。



図2 モニターに表示される脅迫メッセージの画面

「ShinigamiLocker」はその後、一般的なランサムウェアと同じくハードディスク内のファイルの暗号化を開始するのですが、その暗号化処理の中で大きなミスを犯しています。


以下の図は、「ShinigamiLocker」がファイルの暗号化処理を行うための暗号化関数となります。

DES暗号によりファイルを暗号化する処理まではいいのですが、各ファイルに対する末尾の処理でFile.Replaceメソッドを利用してファイルを置き換えています。このFile.Replaceというメソッドは第2引数に指定したファイルの「内容」を第1引数に指定したファイルの「内容」に置き換える関数なのですが、「ShinigamiLocker」の作者は第一引数に暗号化対象となる元ファイルを、第二引数に暗号化後のファイルパスを指定してしまっています。

この結果どうなるかというと、せっかく暗号化したファイルを、暗号化する前のファイルの内容で上書きしてしまうことになります。つまり、ファイル名は暗号化後のファイル名に変更されるものの、中身は元のファイルのままとなり、結果的に暗号化されていないに等しい状況となります。

(あくまで個人の印象ですが、File.Replaceメソッドは正直筆者からするとわかりづらい印象を受ける関数であることは否めないため、これは想定しうるミスとも感じます)



図3 末尾の処理を誤り、暗号化ファイルを元のファイルで上書きしてしまうコード


図4 図2の処理結果を概念的に表した図

ただし、「ShinigamiLocker」に感染した環境では、以下のように元のファイル名がランダムな文字列に変更され、「.shinigami」という拡張子が付けられた状態となり、一見、ランサムウェアによりファイルを暗号化されたように錯覚してしまいます。



図5 暗号化されたようにみえる端末上のファイル

しかし上記で解説したとおり、ロジックを考えるとこれらのファイルの内部は決して暗号化されていないはずです。

実際に、一見暗号化されたようにみえるファイルに対し、元のファイルの拡張子をつけてみた結果が以下の図ですが、エクスプローラーにより縮小表示され、中身が画像として機能していることがわかります。念のため、ハッシュ値を確認したところ元のファイルと同一であることを確認しました。



図6 暗号化されたようにみえるファイルに元の拡張子をつけた様子

振り返って考えてみると、「ShinigamiLocker」の作者は、ランサムウェアとしての挙動を遂行したいのであれば、暗号化関数の末尾で本来File.ReplaceメソッドではなくFile.Deleteメソッドを利用して元のファイルを削除すべきでした。おそらく、作者は開発段階でこのミスに気づかず、自身の手元の環境で動作させ、ファイルの見た目が暗号化されたように見えたため安心したのでしょう。


この「ShinigamiLocker」の事例から我々が学べることはなんでしょうか。

それは、一見ランサムウェアに感染してファイルが暗号化されたと思っても、ファイルを取り戻せる「可能性がある」ということです。一般的なランサムウェアは通常の正規アプリケーションと比較して、例外処理や緻密なコーディングはしていないものがほとんどなため、その他のランサムウェアにおいても、こうしたミスが起きる可能性は十分ありえるでしょう。

目の前のランサムウェアが攻撃者の意図した通りに動きファイルが本当に暗号化されているのかどうかは、今回の事例のように見た目だけで判別することは不可能なため、ファイルが一見暗号化されたように見えても、元の拡張子がわかる場合は元の拡張子をつけてみるなどして、ファイルの中身が無事ではないか、本当に暗号化されているのか、確認してみることをお勧めします。



■ファイルを暗号化しない「スクリーンロッカー/偽ランサムウェア」


スクリーンロッカーとは、スクリーンの全画面に閉じられないウインドウを表示させることでPCを使えない状態にし(=スクリーンをロックする)、正常に使える状態に戻すことを条件に金銭を要求するマルウェアです。広義には、一見ランサムウェアであるかのように装い、実際はファイルを暗号化していないにも関わらず閉じることのできない脅迫画面を表示させ、ファイルを元に戻すためという名目で金銭を要求したりするタイプが含まれる場合もあります。

スクリーンロッカーに感染した場合、キー入力もマウス入力も無効にされているケースが多いため、脅迫画面が表示された後は一般のユーザーができることはほとんど何もありません。


PCをロックするマルウェアとなると、一般にはランサムウェアの印象が強いため、PCの画面にロックした旨の脅迫メッセージが突然表示されると、まるでファイルも全て暗号化されてしまったかのように錯覚してしまいがちかもしれませんが、スクリーンロッカーの場合は閉じられないウインドウが全画面に表示されているだけで内部のファイルは無事であるため、ランサムウェアと比較した場合、実質的な脅威としてはあまり大きくはありません。


なお、スクリーンロッカーはその仕組み上、極端にいえば「閉じられないウインドウを表示させるコード」だけで成立するため、明らかに不正と判断できる挙動やコードがランサムウェアよりも遥かに少なく、ウイルス対策製品でマルウェアとして検知できる可能性はあまり高くない印象を受けます。(アグレッシブに検知しようとすればできると思われますが、似たような挙動を持つ一般アプリケーションがないわけではないため、あとは誤警告との戦いとなることが想像できます。)


ここで重要なのは「スクリーンロッカー」という脅威の存在を把握し、ランサムウェアとは異なりPC内のファイルが無事に戻ってくる可能性が高いということを認識しておくことです。知らずに高額な金銭を払ってしまったり諦めて端末を廃棄してしまったりすることがないよう注意が必要です。


ここでは、最近確認したスクリーンロッカーの一例として「Ransom Prank Ransomware」をご紹介します。


「Ransom Prank Ransomware」は、実行(感染)すると以下のような脅迫画面をモニターの全画面に表示します。



図7 「Ransom Prank Ransomware」が全画面で表示する脅迫画面

上記に記載されている脅迫メッセージ(機械翻訳)は以下となります。


あなたのコンピュータはロックされています! 重要なファイルは暗号化されています!
文書、写真、ビデオ、データベースの多くは、暗号化されているため、他のファイルにアクセスできなくなりました。
たぶんあなたはファイルを回復する方法を探しています。あなたの時間を浪費しないでください。
解読サービスなしで誰もあなたのファイルを回復することはできません。
<ファイルを回復できますか?>
もちろん、すべてのファイルを安全かつ簡単に回復できることを保証します。
しかし、あなたはあまり時間がありません。
あなたは支払いを提出するために3日しかありません。その後、価格は2倍になります。
また、7日以内に支払いをしないと、ファイルを永久に回復することができなくなります。
私たちは6ヶ月で払うことができないほど貧しい人々のために無料のイベントを開催します。
<私はどのように支払うのですか?>
お支払いはBitcoinでのみ受け付けています。詳細については、オンラインにアクセスしてください。
Bitcoinの現在の価格をチェックして、ビットコアを購入してください。
そして、この窓に特有のアドレスに正しい金額を送ってください。
支払いが確認されたら、復号化コードを取得してファイルの復号化を開始できます。


「Ransom Prank Ransomware」は、この脅迫メッセージの画面を表示している際、裏では特に暗号化処理を行っているわけではなく、実は何の処理も行っていません。


また、たとえユーザーが画面に表示されたBitcoinのアドレスに支払いを行ったとしても、「Ransom Prank Ransomware」がその支払いを把握するコードも、画面を元に戻すコードも見受けられないため、攻撃者は金銭を騙し取ることのみが目的でありユーザー環境の復旧は考えていない可能性が高いと考えられます。


なお、上記で「脅迫画面が表示された後は一般のユーザーができることはほとんど何もありません」と記載はしましたが、一般のユーザーでもトライしてみる価値のある操作があります。

それはキーボードの「Alt」キーと「F4」キーを同時に押すことです。この「Alt+F4」はWindowsに標準で用意されているショートカットキーであり、フォーカスが当たっているウインドウを持つアプリケーションを終了させることができます。

「Ransom Prank Ransomware」はまさにその操作が有効なスクリーンロッカーであり、「Alt+F4」により上記の脅迫画面を閉じることが可能です。

なお、キー入力を無効にすることにより「Alt+F4」の効果がないタイプは数多く存在するため安心はできませんが、「Alt+F4」は簡単な操作なので覚えておくと良いでしょう。

加えて、画面のロックが解除できた場合、また、ファイルの拡張子が変更されている場合は、実際にファイルの中身を確認してみることもおすすめします。基本的にスクリーンロッカーの場合は閉じられないウインドウを表示するのみで、拡張子やファイル名を変更するなどのファイル操作を行わないケースがほとんどですが、前述の「ShinigamiLocker」のようなケースなどもないとは言い切れません。また感染したユーザー側からすれば、脅迫画面を見ただけでは目の前のものがスクリーンロッカーなのか、ランサムウェアなのか、判別は困難だと思われますので、そうした意味でも、ファイルの中身が本当に暗号化されているのかを確認する作業は必須といえるでしょう。


基本的にスクリーンロッカーは上で記した「Ransom Prank Ransomware」と大差ないのですが、念のため他に最近出現した中から2種類ほど別のスクリーンロッカーをご紹介しておきます。


●「Haze Ransomware」


Haze RansomwareはMBRの暗号化を行うランサムウェア「Petya」を彷彿とさせるかのようなドクロマークを点滅させるようにチカチカと表示させ、その後脅迫メッセージを表示します。

Haze Ransomwareには現在のところ暗号化処理は確認されていないため、Web上でもスクリーンロッカーの部類として扱われています。



図8 Haze Ransomwareが表示するドクロマーク

「Petya」ではなく、ただのスクリーンロッカーなので焦らず対応しましょう。


●「xXLecXx Ransomware」


xXLecXx Ransomwareは感染すると以下のような脅迫画面を全画面に表示します。



図9 xXLecXx Ransomwareが表示させる脅迫画面

xXLecXx Ransomwareは解析の結果、「0000」という数値を上記の画面に入力すれば良いことがわかりました。おそらく金銭を支払った場合、攻撃者から「0000を入力しろ」という回答が来るのでしょう。



図10 xXLecXx Ransomwareが入力された値をチェックするコード

実際にキー入力欄に「0000」と入力した様子が以下です。



図11 xXLecXx Ransomwareに「解除コード」を入力した様子

すると、タスクマネージャーでxXLecXx Ransomwareを終了させる手順(xXLecXx Ransomware はWindowsキーが無効化されていないタイプ)がぶっきらぼうに表示されました。解除キーを入力しても無視するような悪質なタイプからすればまだマシですが、まるで自分で直せといっているようであり、野暮ったい対応に感じます。



■まとめ


今回は、「暗号化しない脅威」という共通点で幾つかの脅威をご紹介しました。

もちろん確率的には、実際に暗号化されてしまう脅威に遭遇する確率のほうが高いかもしれませんが、中には今回ご紹介したように、一見暗号化されたようにみえて実は暗号化されてなかったり、画面をロックされているだけだったりするケースがあることを頭の片隅においておくと良いかもしれません。スクリーンロッカーの場合は、PCに詳しい方であれば対処できる可能性があると思われますので、決して諦めず、まずは周りのPCに詳しい方に相談してみることをおすすめします。


※本記事で使用した検体のハッシュ値は以下となります:


■「ShinigamiLocker Ransomware」
 SHA256:df1bafd922a1b486beb3805ba0588fb89db4b0314ec7bcd14c8ffec9e61eac1d


■「Ransom Prank Ransomware」
 SHA256:64c7d9f709c2e8f059e695db2b1dd84db7b1061ea0a445046603291749fb0920


■「Haze Ransomware」
 SHA256:e5420cde582b0ec38280eccb94cfb889073dd158ada8970bea3cb4f8c4874086


■「xXLecXx Ransomware」
 SHA256:e15d0c7c48f033043403408ead9b7244367f69a9105cf97ca16fb48e05ab85e9



吉川 孝志 の他のブログ記事を読む


関連ブログ記事



ページトップにページトップへ


執筆者一覧 (Authors)


space

執筆者一覧 (Authors)


space

所在地

本店:

〒103-0013
東京都中央区日本橋人形町
1丁目14番8号 郵船水天宮前ビル6階
地図はコチラMapはコチラ

TEL : 03-5649-1961(代表)


赤坂オフィス:

〒107-0052
東京都港区赤坂2丁目17番7号
赤坂溜池タワー9階
地図はコチラMapはコチラ

TEL : 03-6861-5172

三井物産セキュアディレクション株式会社

MBSDロゴ

サイトマップ

所在地

本店:

〒103-0013
東京都中央区日本橋人形町
1丁目14番8号 郵船水天宮前ビル6階
地図はコチラMapはコチラ

TEL : 03-5649-1961(代表)


赤坂オフィス:

〒107-0052
東京都港区赤坂2丁目17番7号
赤坂溜池タワー9階
地図はコチラMapはコチラ

TEL : 03-6861-5172