本サイトは、快適にご利用いただくためにクッキー(Cookie)を使用しております。
Cookieの使用に同意いただける場合は「同意する」ボタンを押してください。
なお本サイトのCookie使用については、「個人情報保護方針」をご覧ください。
新型コロナウイルスの世界的拡大が止まらない中、マルウェアの世界にもそれに便乗する様々な脅威が早い段階から出現しています。今回は新型コロナに便乗するそれらマルウェアの一つであるCoronaVirusランサムウェアの事例を取り上げて解説します。
CoronaVirusランサムウェアは、「WiseCleaner」という(およびそれに付随する)正規アプリケーションを装った偽ダウンロードサイトから配布されている偽インストーラーを実行することで最終的に感染するランサムウェアです。偽サイトは3月末以降すでにアクセス不能になっていますが、少なくとも2月後半頃には存在していたことを確認しています。
上記偽サイトからダウンロードした偽インストーラーは、実行されるとまず初めに様々なパスワードを盗み取るKpotと呼ばれる情報窃取マルウェアに感染させ、その直後にCoronaVirusランサムウェアに感染させます。つまり一連の挙動から、Kpotによる情報窃取を隠蔽するためにCoronaVirusランサムウェアが利用されたとも考えることもでき、これまでのブログ記事でもお伝えしているように、ランサムウェアと情報漏洩は無視できない関連脅威となっている状況がここでも垣間見えます。KpotというマルウェアはVPNやRDPなどを含むPCの中の様々な認証情報を盗み取りますが、新型コロナウイルスの拡大に合わせてリモートワークや在宅が急増する中、そうした認証情報を窃取されることは非常に大きな脅威ともいえるでしょう。
以降では、CoronaVirusランサムウェアを中心にKpotを含めた脅威の全体像とその詳細を解説していきます。
■正規アプリケーションの偽インストーラー「WSHSetup.exe」
CoronaVirusランサムウェアの感染の発端となるのは、wisecleaner[.]bestという偽サイトに配置された正規アプリケーションの偽インストーラー「WSHSetup.exe」から始まります。

「WSHSetup.exe」をユーザーが偽サイトからダウンロードして実行すると、「WSHSetup.exe」はtrynda[.]xyzという不正ドメインからfile1.exe〜file7.exeという7つのEXEファイルをダウンロード試行し、ダウンロードできたものを順に実行していきます。
この際、file1.exeがKpotマルウェア、file2.exeがCoronaVirusランサムウェアとなっており、それらに多重感染することになります。
(※補足) | なおfile3.exe〜file7.exeについては、サーバにファイルが配置されていないことからダウンロード試行されるものの結果的にダウンロードされません。将来的に使用する用途で予め用意している可能性も考えられます。 |
「WSHSetup.exe」は実行されると、アクセス解析を行うiplogger[.]orgという正規サービスのURLに裏でアクセスする事で、感染者の端末に関わる情報(IPアドレスや国情報等)を攻撃者に知らせます。

(wisecleaner[.]bestという偽サイトには調査の結果、他にも別の正規アプリケーションを含む、いくつかのEXEファイルが配置されていることを確認しましたが、今回の一連の攻撃との繋がりはわかっていません。)
以上までの解説を図示したものが以下となります。

上記の図をさらにシンプルにまとめると、以下のような繋がりになります。KpotとCoronaVirusランサムウェアに同じタイミングで感染することになるため、情報漏洩と暗号化の被害が同時に発生してしまうことを意味します。

ダウンロードされた2つの実行ファイルは、%AppData%フォルダ配下にランダムなファイル名で作成されて順に実行されていきます。以下は偽インストーラーの該当処理を示すコード部分です。

「WSHSetup.exe」はファイルの構造やコード上においても一見すると一般アプリケーションのように偽装(パッキング)されていますが、偽装を解いた(アンパッキング)後のメインの処理はシンプルであり、上記のダウンロード&実行の処理が終わると、自分自身を削除して終了します。

以上までの挙動を含む「WSHSetup.exe」のアンパッキング後のメインコードの全体像は以下のようになります。

■「Kpot」情報窃取マルウェア(http[://]trynda[.]xyz[/]file1.exe)
file1.exeは「WSHSetup.exe」によりダウンロード&実行される最初のマルウェア「Kpot」です。
(以下の図では便宜上ハッシュ値のファイル名に変更していますが、実際の感染時は、上で示したように%AppData%フォルダ内にランダム名のEXEファイルとして作成されます。)

Kpotは近年のサイバー攻撃で利用されるケースが目立ってきている情報窃取を目的としたボット型のマルウェアです。
Kpotは感染すると、以下のようなあらゆるパスワードなどの認証情報を感染端末から盗み取ります。
- Outlookの認証情報
- Windows Mailの認証情報
- Jabber(ビジネスチャットツール)の認証情報
- Skypeの認証情報やチャット履歴(main.db)
- VPNクライアントの認証情報
- RDPの認証情報
- テレグラム(Telegram)のセッション情報
- FTPクライアントの認証情報
- ブラウザに保存されたWebサイトの認証情報やCookie
- 様々な仮想通貨の関連ファイル
- Discord/Battle.netのゲーム関連アカウント情報
- その他、Windowsに保存された認証情報など
冒頭にも述べましたが、新型コロナウイルスの拡大に合わせてリモートワークや在宅が急増する中、VPNやRDPなどを含めた認証情報を窃取されることは非常に大きな脅威といえます。
(補足情報) | Kpotの内部で使用される文字列の多くはXORで暗号化されており、以下はアンパック後のKpotに対し、ブルートフォースでXOR復号を試みた場合の結果の一部ですが、上記に挙げた様々な情報窃取に関する情報が確認できます。 |

Kpotは様々な認証情報の情報窃取を行ったあと、以下のC&Cに接続します。
- trynda[.]xyz
- trynda1[.]xyz
- trynda2[.]xyz
その後、自身を終了して削除します。Kpotはシステムに永続的に起動させるような自動起動エントリーは作成しない点から、使い捨ての情報窃取マルウェアとして使用されていることがわかります。
なおKpotは、ロシアのハッカーコミュニティサイトで販売やサポートが以下のように行われており、一つのKpotのEXEファイルにつき85ドルで売買されています。

次の図はKpotを操る攻撃者が操作する管理画面(管理パネル)の様子ですが、一般的なボットと同様に簡単な操作でマルウェアを操ることができるようになっています。

■CoronaVirusランサムウェア(http[://]trynda[.]xyz[/]file2.exe)
ここからがようやく今回の本題となるCoronaVirusランサムウェアの解説となります。
CoronaVirusランサムウェアは、「WSHSetup.exe」によりダウンロード&実行される2つ目の実行ファイルです。

CoronaVirusランサムウェアは実行されると、%Temp%フォルダ内に自身のコピーを作成して実行します。その際、自身が管理者権限で実行されていない場合は管理者権限で実行させようとしますが、その際、cmd.exe を経由させることでcmd.exeに対するUACダイアログとなるため、一見すると署名された正常なアプリケーションである事を示す(警告色ではない)UACが表示され、ユーザーによっては安全であると錯覚する可能性もあります。また、UACダイアログで「いいえ」を押したとしても「はい」を押すまで繰り返しUACが表示されデスクトップに戻れないため、一般ユーザーにとっては結果的に「はい」を押しかねない状況に陥ります。

実行後、感染端末の言語設定がロシア語かどうかをチェックする挙動がありますが、例えロシア語の環境であってもその後の挙動に変わりはありません。(一般にマルウェアの中には特定言語の環境には感染しないような挙動を行うケースがあります。)

次に、CoronaVirusランサムウェアは、システムのドライブ名(ドライブレター)を「CoronaVirus」に改変します。

■ハードディスクの暗号化と復元
続いて、CoronaVirusランサムウェアはメインの活動である暗号化処理に入りますが、はじめにハードディスクを物理的に暗号化します。
一般的な話となりますが、ハードディスク(物理ディスク)はセクタという最小単位(1セクタ=512 byte)で記録されており、先頭セクタ(第0セクタ)を特別にマスターブートレコード(以降、MBR)と呼び、MBRによってその後最終的にOSがロードされWindowsが起動します。CoronaVirusランサムウェアは、感染端末の物理ディスクにダイレクトアクセスし、先頭セクタであるMBRを暗号化し、脅迫文を表示する不正コードで上書きします。
(補足情報) | Windowsにおいて物理ドライブはPhysicalDrive(番号)という名前で内部的に取り扱われており、一般的な環境であれば、例えばCドライブ(論理ドライブ表記)はPhysicalDrive0とという名前で管理されています。Windowsにおいてファイルなどのオブジェクトを開く際に使用するCreateFileというAPIを使用し、開くファイルパスにCドライブではなくPhysicalDrive0を指定することでハードディスクにダイレクトアクセスを行うことができます。 |

CoronaVirusランサムウェアはまず初めに、第0セクタにあるMBRを読み込みメモリ上で暗号化しておきます。

そして物理ディスクの第2セクタと第3セクタに脅迫文の文字列データを書き込みます。

その後、暗号化したMBRを第6セクタに書き込むことで一時的に正規のMBRをバックアップします。

そして最後に、先ほど第2第3セクタに書き込んだ脅迫文を表示させるためのプログラムコード(ブートコード)を先頭セクタに上書きします。

これにより、パソコンの起動時に正常なMBRは読み込めなくなり、代わりにCoronaVirusランサムウェアの不正なブートコードが実行されることで、脅迫文が表示されることになります。
以下は実際にCoronaVirusランサムウェアが物理ディスクを改変している最中の動作ログの一部を示した図です。

不正なブートコードは、脅迫文を数十分間表示させた後、その後MBRを復元して元に戻した上でパソコンを再起動させます。

ここまでの流れで示した物理ドライブの先頭の変化を表したものが以下の図です。

(補足情報) | なお、CoronaVirusランサムウェアはまれにMBRの復号に失敗するケースがあり、復号が失敗した場合は2度と起動できなくなります。 |

どちらにしても、一般的なMBRを暗号化したままにする他のランサムウェアと異なり、しばらく待機すると自らMBRを復元する点がCoronaVirus ランサムウェアの特徴的な点の一つといえるでしょう。
■ネイティブアプリケーションを利用した脅迫文の表示
CoronaVirusランサムウェアにはもう一つ他のランサムウェアと異なる特徴的な挙動があり、それが以降で解説するネイティブアプリケーションを利用した脅迫文の表示です。
CoronaVirusランサムウェアは、%temp%フォルダ内にランダムなファイル名で不正なネイティブアプリケーションを作成し、以下のレジストリキーに登録します。
上記のレジストリキーに存在するBootExecuteという値にネイティブアプリケーションのパスを追加することで、Windowsがシステムにロードされる前に実行させることができます。(より細かくはカーネルによって直接処理されるsmss.exeにより登録されたネイティブアプリケーションが間接的に実行されます)

ここでいうネイティブアプリケーションとは、Windows上で実行可能な一般的なプログラムではなく、Windowsがロードされる前に動かすことができるよりネイティブなアプリケーションを指します。見た目は同じEXEファイルですが、ダブルクリックしてもWindows上では単純に動作させることはできません。

なお、BootExecuteに登録されたネイティブアプリケーションはWindowsのサブシステムがロードされる前に動作するためWindowsが提供するWindows APIが使用できず、Ntdllしかロードされていない状態のため、Ntdllが提供するネイティブAPIしか利用することができません。
以下は、CoronaVirusランサムウェアが作成するネイティブアプリケーションの実際のコードですが、Windows APIを使用すれば1行で済むビープ音を鳴らすだけのコードも、より複雑な処理で実装しなければならない様子がわかります。

上記のコードでも分かる通り、CoronaVirusランサムウェアが作成するネイティブアプリケーションは脅迫文をディスプレイに表示させて、数分間スリープし終了するだけのプログラムとなっており、実際に脅迫文が表示された際の様子が以下となります。

■ファイルの暗号化
CoronaVirusランサムウェアは最後にファイルの暗号化を行いますが、その際、以下の拡張子を持つファイルを暗号化対象とします。

暗号化されたファイルは、ファイル名の先頭に「corona」から始まる攻撃者のメールアドレスが追加されます。

なお暗号化された後も上の図の通り拡張子は変化しないため、一見暗号化されたことがわかりづらいですが、以下の通り、ファイルの内容は暗号化されておりファイルを開くことはできません。

■脅迫文テキストの作成とレジストリ登録
ファイルの暗号化と同時に、感染端末の各フォルダ内に以下のような脅迫文章テキストを作成しますが、一般的なランサムウェアと比較して少額な要求金額が記載されています。

CoronaVirusランサムウェアは上記のテキストファイルを%temp%内にも作成し、レジストリ(HKCU)のRunキーにファイルパスを登録します。

これによって、ユーザーがWindowsにログインした時に自動的にテキストファイルが開き脅迫文が表示されるようになります。

■復旧活動の妨害
CoronaVirusランサムウェアは、システムの復元(ボリュームシャドーコピー)とWindowsバックアップをそれぞれ全て削除し、システムの復旧を妨害する処理を施します。これらの処理はWindowsの正規プログラムを利用して行われ、システムの復元の削除には「vssadmin.exe」を、Windowsバックアップの削除には「wbadmin.exe」をそれぞれ使用します。

■その他の動作
以下のレジストリに攻撃者のビットコインアドレスとメールアドレスを登録します。

■CoronaVirusランサムウェアの全体動作遷移のまとめ
以上までに解説したCoronaVirusランサムウェアの全体動作の遷移をまとめたものが以下の図です。たとえMBRをなんとか修復してシステム起動にこぎ着けたとしても(または数十分間脅迫文が消えるのを待ち続けたとしても)BootExecuteによりさらに脅迫文が強制的に表示され、その先のWindowsのログイン時にも畳みかけるように脅迫文が表示されるようになっており、こうしてみると脅迫文を執拗に表示させランサムウェアに感染したことを誇示しようとしているようにも見えますが、肝心の脅迫文に記載されている要求金額はかなり少額であり、ランサムウェアとしての本来の意図には依然疑問が残ります。まるで金銭を得ること自体に目的を置いていないようにも見える点が、冒頭にも触れたようにKpotマルウェアによる情報窃取の証拠隠滅の目的を推測させる要素の一つとなります。Kpot→CoronaVirusランサムウェアの感染順もそうした推測を補てんする要素と言えます。

■まとめ
今回は事例の一つとしてCoronaVirusランサムウェアを中心に取り上げましたが、その他にも新型コロナウイルスに便乗した脅威は様々なものが出現している状況下にあります。攻撃者はこうして世界中の人々が注目する事件・事故・イベント・報道を敏感に注目しており、それらに便乗した脅威が並行して発生するという流れは昔から変わっていません。リモートワークや在宅などの普及により、これまで以上にPCを利用する機会が増えており、それに従い様々な脅威もまた身近になるともいえ、今後も引き続きこうした脅威に一層注意していく必要があります。
5987a6e42c3412086b7c9067dc25f1aaa659b2b123581899e9df92cb7907a3ed
a08db3b44c713a96fe07e0bfc440ca9cf2e3d152a5d13a70d6102c15004c4240
3299f07bc0711b3587fe8a1c6bf3ee6bcbc14cb775f64b28a61d72ebcb8968d3
おすすめ記事