FortiGuard Labs 脅威リサーチ

Ransomware Roundup:Cryptoniteランサムウェア

投稿者 Shunichi Imano および James Slaughter | 2023年2月17日

FortiGuard Labsは隔週で、フォーティネットのデータセットおよびOSINTコミュニティで活発化している特定のランサムウェア亜種に関するデータを収集しています。Ransomware Roundupレポートは、進化を続けるランサムウェアの現状と、ランサムウェア亜種を防御するためのフォーティネットのソリューションについて、読者にわかりやすく解説することを目的としています。

この「Ransomware Roundup」最新版では、Cryptoniteランサムウェアを取り上げていきます。

影響を受けるプラットフォーム: Microsoft Windows
影響を受けるユーザー:     Microsoft Windowsユーザー
影響:             侵害されたマシンのファイルを暗号化し、ファイルの復号と引き換えに身代金を要求する
深刻度:            

Cryptoniteランサムウェアの概要

Cryptonite(Chaosランサムウェアの亜種「Cryptonite」とは混同しないよう注意してください)は、FOSS(フリーアンドオープンソースソフトウェア)として存在するランサムウェアのキットです。珍しいことに、展開するスキルさえあれば誰でもダウンロードすることができます(この点は、犯罪者が違法サイトで販売しているものとは対照的です)。

図1:CryptoniteのWebページとメリット

CryptoniteはPythonでコード化されており、パッケージ化して展開できる状態になる前に、いくつかの設定が必要です。さらに、マルウェアが正常に動作するためには、被害者のマシンで実行される実行ファイルからの入力を受信するサーバーも設定され、実行されている必要があります。

図2:Cryptoniteの構成要件

図1で示されているように、コメント付きのテキストでは、初期設定を容易にするために、提供されているexeGen Pythonスクリプトを使用することが推奨されます。提供する必要があるのは、身代金として支払うビットコインの額を有するビットコインウォレットアドレス、被害者が復号化キーを入手できるように連絡先のEメールアドレス、暗号化されたファイルの設定可能なファイル拡張子など、典型的なランサムウェアの要求事項です。

また、暗号化を避けるためのディレクトリのリストも確認できます。これは、システムが操作不能になってしまい、誰かが身代金を支払う可能性が断たれてしまうのを防ぐために必要です。

図3:Cryptonite実行ファイルのビルドとパッケージングのためのオプションを提供するexeGen.pyスクリプト

exeGenスクリプトは、潜在的な脅威アクターがソースコードを自分で編集する必要がないように、便利なGUIを介して設定を変更できるようにします。

上の図のように、「NGROK URL:」というラベルの付いたフィールドがあります。これは、多くの企業が開発システムのテストに使用している、事実上正規のリバースプロキシサービスである、NGrokを攻撃者がセットアップして使用するための要件を指しています。これにより、ローカルインフラストラクチャは、攻撃者の実際の場所やIPアドレスではなく、「ngrok.com」のサブドメインに接続されているように見せかけることができます。

図4:取得する対象の項目を示すCryptoniteサーバークラスのPythonコード

このNGrokの要件は、Cryptoniteサーバーコンポーネントのためのものであり、SQL Liteデータベースに接続された基本的なPython Webサーバーにすぎません。報告してくる被害者のマシンに対し、被害者の一意のIDなどをIPアドレスや一般的な位置情報とともに取得します。

 

Cryptoniteランサムウェアの実行

Pythonでのコーディングにより、開発が非常に速く容易になります。ただし、Pythonはインタプリタ言語であるため、スクリプトを実行しようとするすべてのマシンにPythonインタプリタをインストールする必要があります。すべてのマシンにインストールされている保証はないため、Cryptoniteは、特定のシステムにPythonコードを展開するのに必要なすべてのファイルを含むPyInstallerを使用してパッケージ化されています。

PyInstallerはまず、被害者のWindowsのTempフォルダ内のランダムな名前のフォルダにこれらのファイルを配置します。

図5:PyInstallerがWindowsのTempフォルダにファイルを配置する様子

 

PyInstallerが必要なファイルを配置し、Cryptoniteプロセスを開始すると、インターネットに接続されているかをチェックし、検知されない場合はプロセスがシャットダウンします。

図6:インターネットに接続されていない場合、Cryptoniteはエラーをスローする

インターネットに接続されている場合、暗号化を開始します。ソフトウェアアップデートをダウンロードしようとしていることを示す画面が表示され、その後、インストールの進捗状況がステータスバーで示されます。ただし、これは単なるデコイ(おとり)であり、ソフトウェアが行っていることを表しているわけではありません。

図7:Cryptoniteは、アップデートの誤ったダウンロードとインストールを示す端末を提示する

実際には、Cryptoniteはシステム内を検索し、暗号化するファイルを探しています。これは、使用されているコードの断片で実証できます。図7のマッチング文字列に注目してください。

図8:Cryptoniteが「アップデートをインストール」している間の実際のアクティビティ

CryptoniteはPython Cryptographyモジュールを介してファイルの暗号化を行います。Fernet(https://cryptography.io/en/latest/fernet/)の実装を使用して、対象となるファイル全体に対して128bitのAESを提供します。

図9:Fernetを示すPythonのインポートセクション

暗号化されたファイルはデフォルトで拡張子が「.cryptn8」に変更されます。ただし、図3で示されているように、攻撃者が変更することを選択すれば、これは任意で設定できます。

図10:被害者のシステム上の暗号化されたファイル

すべてのファイルが暗号化されると、Cryptoniteは「ipinfo.io」を使用してIPアドレスから被害者が世界のどこにいるかを特定し、自宅に電話をかけようとします。前述の「ngrok.io」に接続し、被害者の詳細情報を攻撃者に送り返します。

図11:Cryptoniteのアウトバウンド接続

最終的に、図3で示されているように、攻撃者の詳細情報を含む身代金要求ウィンドウが被害者のデバイス上に作成されます。

図12:身代金要求ウィンドウ

被害者が攻撃者に連絡し、身代金を支払った場合(および攻撃者がキーの提供を選択した場合)、復号キーを入力できます。警告とは異なり、誤ったキーを入力できる回数に制限はないようです。ただし、被害者には次のエラーメッセージが表示されます。

図13:誤った復号キーが入力されると表示されるエラー

フォーティネットのソリューション

フォーティネットのお客様は、FortiGuardのWebフィルタリング、アンチウイルス、FortiEDRサービスによって、上記のマルウェア亜種から以下のように保護されています。

FortiGuard Labsは、以下のアンチウイルスシグネチャでを使用して、このブログで取り上げたCryptoniteランサムウェア亜種を検知します。

  • W32/Filecoder.KY!tr
  • W32/Filecoder.KY!tr.ransom

IOC(Indicators of Compromise:侵害指標)

  • 3b68780719010fc195e6e4f8d1b912030259cb1cddde5a943e44da558222060f
  • 4e86d727ded7ba6c42109262bdf8cb72ae13303769d07995f99e20de3f2ce7ae
  • 7508e8b8054a2f773bb20082460a5e2fb224675c7c5c95a7a7006abf921eaf95
  • 81[.]59[.]117[.]34[.]bc[.]googleusercontent[.]com
  • ec2-3-125-223-134.eu-central-1[.]compute[.]amazonaws[.]com
  • e4c0660414bf[.]eu[.]ngrok[.]io

FortiGuard Labsのガイダンス

頻繁なシステム停止、日常業務への損害、組織の評判への影響、PII(個人情報)の破損や望ましくない公表などを考えると、すべてのアンチウイルスおよびIPSシグネチャを最新の状態で維持することが重要です。

大半のランサムウェアはフィッシングを介して拡散されます。したがって、フィッシング攻撃の理解 / 検知に関するユーザートレーニング向けに設計されたフォーティネットソリューションの活用を是非ご検討ください。

FortiPhishフィッシングシミュレーションサービスでは、実際の攻撃をシミュレーションし、フィッシングの脅威に対するユーザーの認識や備えをテストするほか、フィッシング攻撃を受けた場合の適切な対処方法を訓練および強化できます。

フォーティネットが無償で提供するNSEトレーニングNSE 1 – 情報セキュリティ意識向上には、インターネットの脅威に関するモジュールが含まれ、エンドユーザーは各種のフィッシング攻撃を識別して自らを保護する方法を学習できます。また、このトレーニングは社内のトレーニングプログラムに簡単に組み込むこともできます。

組織はデータバックアップの頻度、場所、およびセキュリティを根本的に見直し、進化を続け急速に拡大するランサムウェアのリスクに効果的に対処しなければなりません。デジタルサプライチェーンの侵害や、リモートワーカーがネットワークに接続することなどを考え合わせると、どこからでも攻撃されるリスクがまぎれもなく存在します。リスクを最小化し、ランサムウェア攻撃の影響を軽減するために、オフネットワークのデバイスを保護するクラウドベースのセキュリティソリューション(SASEなど)、マルウェアの中間者攻撃を阻止できる高度なエンドポイントセキュリティ(EDR:エンドポイントの脅威検知とレスポンス、など)、そして、ポリシーとコンテキストに基づいてアプリケーションやリソースへのアクセスを制限するゼロトラストアクセスやネットワークセグメンテーション戦略の活用を是非ご検討ください。

フォーティネットは、お客様のセキュリティエコシステムにネイティブな相乗効果と自動化をもたらす、業界をリードする完全統合型セキュリティ ファブリックの一部として、テクノロジーとエキスパート人材ベースのSECaaS(Security-as-a-Service)の幅広いポートフォリオも提供しています。これらのサービスを提供しているのは、経験豊富なサイバーセキュリティのエキスパートで構成されたグローバルなFortiGuardチームです。

ベストプラクティスは身代金の支払い拒否

CISA、NCSC、FBI、HHSなどの組織は、ランサムウェアの被害者に対し、身代金を支払わないよう呼びかけています。身代金を支払ってもファイルが復元される保証はない、というのがその理由の一つです。米国財務省外国資産管理局(OFAC)の勧告によると、身代金を支払うことで、別の組織を狙った攻撃や、他の犯罪者によるランサムウェアの配信を助長したり、法律違反の可能性がある非倫理的行為に資金を提供したりする可能性があります。FBIはランサムウェアの被害を受けた組織および個人向けに、ランサムウェア申告ページを開設しており、被害者はインターネット犯罪苦情センター(Internet Crimes Complaint Center:IC3)を通じてランサムウェア攻撃のサンプルを提出することができます。

フォーティネットのサービス

インシデントが検知されると、FortiGuard Labsの緊急インシデント対応サービスが迅速かつ効果的に対応します。フォーティネットのインシデント対応サブスクリプションサービスは、サイバーインシデントへの備えを強化するためのツールとガイダンスを提供します。これには準備態勢の評価や、IRプレイブックの作成およびテスト(机上演習)などが含まれます。

詳しくは、フォーティネットのFortiGuard Labs脅威リサーチ / インテリジェンス部門、およびFortiGuard AI活用セキュリティのサービスポートフォリオをご参照してください。