Cybereason GSOC(Global Security Operations Center)では、影響力のある脅威に関する情報をお客様に提供するために、サイバーリーズン脅威アラートを発行しています。同アラートは、影響力のある脅威に関する情報をまとめた上で、それらの脅威から身を守るための実践的な推奨事項を提供するものです。

現在の状況

Cybereason GSOCは、HavanaCryptと呼ばれる新たに発見されたランサムウェアを調査しています。

2022年6月に初めてインターネット上で観測されたHavanaCryptは、正規のGoogle Chromeのアップデートを装うことで、システムへのアクセス権を取得し、端末上にあるファイルを暗号化します。

このランサムウェアは高度な解析回避の手法を採用しており、オープンソースの暗号化ツールを使用して暗号化を実施します。しかし、ランサムノート(身代金を要求する文書)が含まれていないことから、このランサムウェアは、作者にとって利益を生むものではありません。その他の機能としては、データの流出および権限昇格に利用される可能性のある機能や、被害者が攻撃者の要求に応じた際に用いられると思われるファイル復号化機能が確認されています。

主な調査結果

  • HavanaCryptは昨今のマルウェアに多く見られる攻撃手法「正規ツールあるいは正規プロセスへのなりすまし」(この場合はGoogle Chrome Update)を試み、ユーザがファイルを実行するよう誘導します。
  • HavanaCryptは、オープンソースのパスワード管理ソフトであるKeePassの機能を利用して、ファイルを暗号化します。
  • HavanaCryptは、コードの難読化、仮想マシンの偵察、プロセスの強制終了などの解析回避の手法を利用します。これにより、同ランサムウェアは、一般的なセキュリティ対策で検知することが難しく、リバースエンジニアリングも困難なものとなっています。
  • HavanaCryptは、ハッキングされたMicrosoftのホスティングアドレスを悪用してC2通信を確立します。ただし、ランサムノート(身代金を要求する文書)は確認されていません。
  • Cybereasonプラットフォームを使うと、HavanaCryptを効果的に検知した上で実行を防止できます。

分析

VirusTotalから入手したHavanaCryptのサンプル(MD5:220c8e5c43ae9c9fecbb1b1af9e5abbd)は、Googleのソフトウェアアップデートを装うものであり、その実行のためにGoogle Chromeのアイコンを保持しています。


▲正規のGoogleアップデートを装うHavanaCrypt

HavanaCryptは、実行されると、隠しウィンドウで実行を開始し、レジストリエントリ(SOFTWARE\Microsoft\Windows\CurrentVersion\Run, GoogleUpdate)が当該端末上に存在するかどうか、つまりHavanaCryptが端末上に存在するかどうかのチェックが行われます。HavanaCryptのインスタンスが存在する場合、後から実行されたHavanaCryptのインスタンスは実行を停止します。一方、当該端末上にHavanaCryptが存在しない場合には、同プログラムは解析回避の手法を開始します。

解析回避の手法

静的解析の回避

実行ファイル自体には、いくつかの解析回避の手法が含まれています。サンプルは、.NETバイナリ難読化ツールであるObfuscarを通じて難読化されていることが確認されています。さらに、HavanaCryptは、静的な解析を妨げるために、コード全体を通じて使用される文字列を難読化するような、高度な内部関数群を使用しています。


▲難読化されたコードの断片(.decryptおよび.searchの関数に注目)


▲同じコードの断片を復号化したもの

実行時の解析回避

HavanaCryptは、実行時、仮想マシン上での実行か否かをチェックする解析回避の手法を組み入れています。まず、仮想マシンで一般的に使用されるサービス、プロセス、またはファイルが存在するかどうかがチェックされます。


▲HavanaCryptにより照会されたプロセスのリスト

チェックを通過すると、次にHavanaCryptは端末のMACアドレスを参照し、一般的に仮想マシンに関連づけられるOUI(Organizationally Unique Identifier)と比較します。


▲照会されたOUI

これらのチェックの結果、ファイルが仮想マシン上で実行されていることが判明した場合、HavanaCryptは現在の実行を強制終了することで、解析を妨げようとします。そうでない場合は、実行が継続されます。

その後、実行中に、[DebuggerStepThrough]属性は、デバッガがコードにステップインするのではなく、同コードをステップスルーするように強制し、デバッガによる解析を回避しようと試みます。


▲DebuggerStepThrough属性

実行フロー

初期セットアップ

解析回避のチェックが完了すると、HavanaCryptは、MicrosoftのWebホスティングに使用されているIPアドレス「20.227.128[.]33」からファイル「2.txt」をダウンロードすることで、その実行を開始します。このファイルは、20文字のランダムなファイル名を持つ.batファイルとして保存され、/cパラメータを使用してcmd.exe経由で実行されます。このファイルには、「C:\Windows」および「C:\User」ディレクトリ内のアクティビティに対してWindows Defenderの除外設定を行う機能があり、感染の次の段階へ進む準備をします。

これが完了すると、HavanaCryptは下記のプロセスを強制終了しようと試みます。

注目すべきは、OutlookやWinwordなどのデスクトップアプリケーションに関連するプロセスや、データベースやサーバーに関連するいくつかのプロセスが存在していることです。これらのプロセスが強制終了されるのは、関連するファイルからロックを解除し、プロセスハンドルを解放して、これらのプロセスに関連する情報にアクセスできるようにするためだと思われます。

その後、HavanaCryptは、vssadmin.exeを利用してシャドウコピーを削除します。シャドウコピーとは、OSが端末に保存したファイルやボリュームのバックアップであり、復元ポイントとして使用できるものです。続いて、HavanaCryptは、最大ストレージサイズを401MBに設定し、Windows Management Instrumentation(WMI)システムの復元ポイントを削除することで、システムを感染前の状態に戻すことができないようにします。


▲シャドウコピーの削除

さらに、HavanaCryptは、StartUpとProgramDataフォルダに、ランダムなアルファベット10文字の名前で自分自身のコピーをドロップします。ファイルタイプは「システムファイル」、属性は「隠す(Hidden)」に設定されます。また、HavanaCryptは、StartUpフォルダにvallo.batという名前のファイルをドロップします。このファイルには、タスクマネージャーを無効にする機能が含まれています。


▲vallo.batの内容

この時点で、HavanaCryptは感染に成功した端末を特定するための機能を実行することで、下記の情報を収集します。

  • コア数
  • プロセッサー名
  • ソケット指定名(Socket designation)
  • マザーボード識別情報


▲HavanaCryptが収集した情報の一部

続いて、この情報がハッシュ化されます。Index.phpはham.phpに置き換えられ、ユーザーエージェントHavana/0.1からGETリクエスト(20.227.128[.]33/ham.php)がHavanaCryptのC2サーバーに送られることにより、トークンが取得されます。


▲HavanaCryptのGETリクエスト

レスポンスの受信に成功した場合、次のようなAESアルゴリズムを使用してその復号が行われます。


▲Ham.phpの復号化アルゴリズム

最初の配列がトークンとして、2番目の配列が日付として使用されており、「-」で区切られています。続いて、「20.227.128[.]33/index.php」に対してPOSTリクエストが行われ、それに成功すると、HavanaCryptは秘密鍵と暗号化鍵を受け取ります。

暗号化戦略

HavanaCryptは、オープンソースのパスワードマネージャーであるKeePassの暗号化機能を利用して暗号化を行います。このライブラリの呼び出しは、当該コードの全体を通して確認できます。


▲HavanaCryptがスレッド暗号化のために使用する関数(ファイル拡張子.havanaが付加されていることに注目)

これらの関数は、スレッドからファイル、ディレクトリ、ドライブ、ディスクを昇順で暗号化するために使用されます。HavanaCryptは、暗号化に成功したディレクトリを、テキストファイルfoo.txtに記録します。このようにして、HavanaCryptはパーシングが可能なすべてのファイルに対してループ処理を実行することで、.Havana拡張子を付与します。ただし、暗号化に際し、注目すべき例外が観測されました。


▲HavanaCryptが無視するパス


▲HavanaCryptが無視するファイルタイプ

それは、Torブラウザが暗号化対象から除外されていたということです。このことから、マルウェアの作者は、データ持ち出し等を目的としたC2通信にTorブラウザを使用する狙いがあることが考えられます。

サイバーリーズンによる推奨事項

Cybereason Defense Platformを使うことで、HavanaCryptを検知した上で、その実行を阻止できます。サイバーリーズンでは次のことを推奨しています。

  • お使いの環境のポリシーでアンチランサムウェア(Anti-Ransomware)を有効にし、アンチランサムウェアモードをPrevent(実行防止)に設定すること。また、シャドウコピーの検知を有効にして、ランサムウェアに対する最大の防御を確保すること。
  • Cybereason Defense Platformで、アプリケーション制御(Application Control)を有効にし、悪意あるファイルの実行をブロックすること。
  • プロアクティブなハンティングを行う場合、Cybereason Defense PlatformのInvestigation(調査)画面とHunting Queries(ハンティングクエリ)のクエリを使用して、HavanaCryptに感染している可能性がある端末を検索すること。検索結果に基づいて、感染した端末を隔離し、ペイロードファイルを削除するなど、適切な対処を行うこと。

2022年下半期セキュリティ予測 〜4つの脅威から紐解く、 2022年上半期の振り返りと下半期のサイバーセキュリティの展望〜

サイバーリーズンは大きな影響を及ぼす4つの脅威を2022年下半期のサイバーセキュリティ予測として取り上げました。

4つの脅威についてそれぞれ2022年上半期の動向を振り返りながら、2022年下半期のサイバーセキュリティ予測について説明します。
https://www.cybereason.co.jp/product-documents/survey-report/8823/