サイバー脅威
ファイルレスでCobalt Strikeを配備するローダ型マルウェア「Gootkit」の新しい攻撃手口
「Gootkit」は、ファイルレス技術を用いて「Cobalt Strike」やその他の不正なペイロードをドロップすることが知られています。最近の攻撃手段を観察することにより、攻撃手口がアップデートされていることが明らかになりました。
「Gootkit」は、ファイルレス技術を用いて「Cobalt Strike」やその他の不正なペイロードをドロップすることが知られています。最近の攻撃手段を観察することにより、攻撃手口がアップデートされていることが明らかになりました。
トレンドマイクロは、不審なPowerShellスクリプトから始まる検体を詳細に分析した結果、ローダ型マルウェアGootkitに関連する新たな侵入方法を発見しました。これまでGootkitはフリーウェアのインストーラを使用して不正なファイルを隠す方法で侵入していました。今回確認された手法は、法的文書等を使用してユーザを騙し、不正なファイルをダウンロードさせていました。この侵入方法は、トレンドマイクロのソリューション「Managed Extended Detection and Response (MxDR)」によってPowerShellスクリプトの不審点を調査することで明らかになりました。この対応により、システムへの侵害やペイロードのドロップを防ぐことができました。
Gootkitは、ファイルレスの手法を駆使して、SunCrypt、REvil (Sodinokibi)、Kronos、Cobalt Strike など深刻な脅威をもたらすマルウェアとして既に周知されています。トレンドマイクロでは、2020年にもGootkitの機能について報告をしていますが、今回の調査でも前回とほぼ同じ動作が確認され、なおかつこの2年の間に継続的な活動と新たな機能が明らかになりました。
攻撃の概要Gootkitは、さまざなペイロードでの利用が確認されることから、「サービスとしてのアクセス(AaaS, Access as a Service)」のビジネスモデルを活用していると想定され、他のさまざまな攻撃グループが自分たちの攻撃にこのマルウェアを利用しています。そのため、より大規模な攻撃による侵入を防ぐためにも、企業では常に監視を行う必要があります。
図 1 は、今回確認されたGootkitの感染フローを示しています。まず、ユーザが検索エンジンで特定の情報を検索するところから始まります。今回の事例では、ユーザは「不動産取引の情報開示契約」というキーワードで検索しました。そして、Gootkitにより侵害されたWeb サイトが検索結果の中に表示されました。これは、ユーザがこのWeb サイトを偶然開いたのではないことを意味します。実際、Gootkitの攻撃者は、検索エンジンを最適化 (SEO) する手口SEOポイズニングを使用して、この Web サイトを検索結果で上位にランクさせ、ユーザを不正なWeb サイトにアクセスさせることで、ユーザが自己の意思でWeb サイトを開く確率が高くなるように調整していました。これは、分析を行う側としては不正なWeb サイトのURL がすぐに使用できなくなること、またすぐに対策を行わないと完全な分析を行うことが困難になってしまうことを意味します。
不正なWebサイトを開くと、それはユーザ(被害者)の質問に直接答えるオンライン・フォーラムであることが確認できました。このフォーラムには、不正な「.js」ファイルを含むZIPアーカイブが含まれていました。ユーザがこのファイルをダウンロードして開くと、難読化されたスクリプトが生成され、レジストリ・スタッフィングによって暗号化されたコードの塊がレジストリにインストールされます。また、永続化のためにスケジュール化されたタスクに追加されます。レジストリ内の暗号化されたコードは、PowerShellを介して反射的に読み込まれ、メモリ内にてファイルレスで直接実行されるCobalt Strikeのバイナリが再構築されます。
ここで説明した内容の多くは、2020年にトレンドマイクロが報告した動作と一致していますが、いくつかのマイナーアップデートも確認されました。これは、Gootkitが未だ進化を続けており、無防備なユーザ(被害者)を騙すことに成功していることを示しています。
確認されたアップデートは、主に以下の2点となります:
- SEOポイズニングの検索用語としてフリーウェアのインストーラ(アプリケーションのインストールを行なうプログラム)ではなく、法律文書のテンプレートも追加された。
- 暗号化されたレジストリは、「base64」エンコーディングの代わりにカスタム化されたテキスト置換のアルゴリズムが使用されるようになった。
侵害された不正なWeb サイト次に、今回の事例に関するユーザの行動に続いて、攻撃で利用されたWebサイトについて説明します。攻撃者は、不正活動に際して新たなWebサイトを作成や登録するのではなく、既存の脆弱なWebサイトもしくは設定不備のあるWebサイトを侵害して、マルウェアや不正なツールを組み込んでいました。Gootkitの場合は正当なドメインを利用していたため、使用されたWebサイトは不正URLの検知(Webレピュテーションサービス)を通過する可能性がありました。疑いを持たないユーザにとって、これらのサイトは一見無害に見えるため、アクセスしても不信感を持つことはありません。
「不動産取引の開示契約」に関してダウンロードしたファイルに対してGoogle 検索を実行すると、サイトのコンテンツがその所有者やその目的とは無関係であることがわかります。さらに、これらの検索結果のリンク先は、該当するサイトのホームページ自体を確認しても見つかりません。これは、新しく無関係なWebコンテンツを挿入または作成することを攻撃者が行ったためであり、Web サイトが侵害された証拠となります。また、該当するWebサイトのホストであるIP アドレスをShodanで照会したところ、実際に侵害された証拠が確認されました。
この手法はGootkitにとって新しいものではありません。SEOポイズニングを駆使することで、攻撃者はユーザ(被害者)を侵害されたWebサイトへ誘導し、不正なファイルをダウンロードするように仕向けることができます。今回は、ペイロードがドロップされる前に Gootkit を途中で停止することができました。しかし、ユーザはすでにWebサイトにアクセスして不正なZIPファイルをダウンロードして開いていたため、不審なPowerShellスクリプトが検知され、不正活動の可能性が警告されました。では、そのPowerShellスクリプトがもし検知されず、仮に実行が許可されていた場合にどうなるかを以下に検証します。
調査と分析前述のとおり、ユーザは侵害されたWebサイトにアクセスし、Google Chromeを使用してZIPアーカイブをダウンロードしてしまいました。Trend Micro Vision OneTMの記録に基づく、ユーザがアクセスした正確な URL は次のとおりです:
hxxps://www[.]{domain name}[.]co[.]uk/forum[.]php?uktoz=znbrmkp&iepdpjkwxusknzkq=3147417f829ff54ffe9acd67bbf216c217b16d47ac6a2e02c1b42f603121c9ad4b18757818e0bbdd5bab3aa154e5794b
現時点で、この URL にはアクセスできなくなっています。ただし、ユーザがダウンロードしたZIPアーカイブを解析することはできました。前述のとおり、名称は「disclosure agreement real estate transaction(不動産取引の情報開示契約)(8321).zip」でした。別の例では、JavaScriptファイルの名称は「tenancy agreement between family members template(家族間賃貸契約書テンプレート)(98539).zip」 でした。どちらのファイル名も、Gootkitが法的文書のテンプレートを参照するキーワードを利用していることを強く示唆しており、ユーザを該当するファイルのダウンロードに誘導する可能性があります。この検索用語とトピックは、過去のGootkitの戦略からの注目すべき変更点の1つです。
ZIPアーカイブは、以下のダウンロードフォルダに正常に保存されました。
C:\Users\{username}\Downloads\disclosure agreement real Estate transaction (8321).zip
次に、ユーザが ZIPアーカイブ内の「.js」ファイルを開くと、難読化された PowerShellスクリプトが生成されました。検出されたコマンドラインには、Windows オペレーティングシステムのデフォルトのスクリプトインタプリタである「wscript.exe」が含まれていました。このコマンドラインは、不正なJavaScriptファイルを実行します。フォルダファイルパスとファイル名は以下になります:
C:\Windows\System32\WScript.exe
C:\Users\{username}AppData\Local\Temp\Temp1_disclosure agreement real estate transaction(8321).zip\disclosure_agreement_real_estate_transaction 3994.js
Vision OneのAMSIテレメトリを使用することで、調査チームは実行時にデコードされたスクリプトを表示し、生成されたイベントの順序を構築することができました。復号されたスクリプトには、侵害された可能性のある3つのドメインがリスト化されています。ドメイン自体は正当なWebサイトです。Gootkitは 、そのうち1つだけを選択し、完全なURL を構築し、スクリプトを実行するため次の段階に進みます。 3つのドメインは次のとおりです:
- learn[.]openschool.ua – 教育
- lakeside-fishandchips[.]com – レストランとフード
- kristinee[.]com – 個人サイト
スクリプトを解読すると、操作を完了するためにスクリプトの2つの段階が使用されていることも確認できました。第 1 段階のスクリプトは、次の処理を行います:
- レジストリ 「HKCU\PJZTLE」 をチェックし、見つからない場合は作成する。以前のブログで説明したように、これはインフェクション(感染)マーカーとして機能する。
- 次に、現在のユーザが、サンドボックスツールをバイパスするために使用される可能性のあるドメインにログインしているかどうかを確認する。
- さらに、構築したURLに接続し、次に実行するスクリプトを取得する。この場合、以下のパスから第2段階のスクリプトを取得した。
- hxxps://learn[.]openschool[.]ua/test.php?mthqpllauigylit=738078785565141
- その後、取得したコードを実行する前に10秒間スリープさせる。
前述の侵害されたWebサイトから取得された第2段階のスクリプトは以下に列挙されている情報を実行します:
- 環境文字列を介して現在のユーザ名を取得する。
- 対象レジストリをチェックし、存在しない場合は作成する。永続化のためにレジストリ・スタッフィングを実行し、2セットのレジストリが作成される。各レジストリには、後に復号して実行される予定の暗号化されたバイナリが含まれている。
- 以下のパスには、カスタムテキスト置換を使用して暗号化されたバイナリペイロードが含まれている。
- HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Phone\\{loggedOnUser}\\{consecutive numbers}
- 以下のパスには、最初のレジストリをデコードして実行するために使用される16進数でエンコードされたバイナリが含まれている。
- HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Phone\\{loggedOnUser}0\\{consecutive numbers}
上記2段階の後、AMSIテレメトリによって記録された 2つの暗号化された PowerShellスクリプトを最終的に実行します。最初のものは、レジストリ \\Phone\\{loggedOnUser}0\\ のバイナリを復号化し「Test」と命名された機能を作動させるために使用します。
スケジュール化されたタスクは、\Phone\{loggedOnUser}0 レジストリにバイナリをロードします。次に、\Phone\{loggedOnUser} レジストリで見つかった最終的なペイロードを同様に反射的なコード読み込みのテクニックを使用し復号および実行します。
このインスタンスの最終的なペイロードは、Cobalt Strikeのバイナリであることが判明しました。これは、Cobalt Strikeのコマンド・アンド・コントロール (C&C) サーバに接続することも確認されています。
Cobalt Strikeのペイロード
感染端末のメモリに直接ロードされたCobalt Strikeは、IP アドレス 89[.]238[.]185[.]13 に接続されたことが確認されています。社内および社外の脅威に関する知見を使用して、トレンドマイクロでは、IP アドレスがCobalt StrikeのC&Cサーバであることを検証しました。感染端末への侵入後の活動に使用されるツールであるCobalt Strike は、PowerShellスクリプトの実行、キーストロークのログ記録、スクリーンショットの取得、ファイルのダウンロード、およびその他のペイロードの生成を可能にするメインのペイロードとしてビーコンコンポーネントを使用します。
セキュリティに関する推奨事項
この事例から得られる重要事項の1つは、Gootkitが依然としてアクティブであり、その技術を改善していることです。また、他の攻撃者が引き続きその手口を借用することができる中、引き続き、トレンドマイクロの対策が効果的であることが証明されました。今後、さらに新たな手口を繰り出してユーザを狙ってくる可能性が高いため、他の攻撃キャンペーンにおいてGootkit利用のケースに遭遇する可能性が高いと予想できます。
今回の脅威は、SEOポイズニングが「疑いを持たないユーザ」をおびき寄せるための効果的な戦術であることも同時に示しています。SEOポイズニングと侵害された正当なWebサイトの組み合わせにより、通常時であればユーザを警戒させる不正なアクティビティの兆候が隠される可能性があります。このような手口は、ユーザの危機意識の重要性および、サイバースペースを安全に保つためのWebサイト所有者の責任の重要性を浮き彫りにします。
企業や組織側では、従業員向けにセキュリティ意識向上トレーニングを実施することで対策をすることが可能です。これは、従業員自らが最新の脅威を認識して防御できるようにすることを目的としています。今回の例では、ユーザがJavaScriptファイルのダウンロードに注意を払っていれば、脅威を早期に回避できた可能性があります。一方、Webサイトの所有者は、独自のサーバのセキュリティを重視するWebホストプロバイダーを選択し、より安全なWebホスティングの選択を行う必要があります。
あらゆる企業や組織は、多層的なセキュリティレイヤーによって脅威を検出して対応する機能を提供する「Trend Micro Vision One™」を検討することが可能です。これにより、脅威が完全に駆除されるか、調査が完了するまで、感染源となるエンドポイントを隔離することが可能です。
参考記事:
• 「Gootkit Loader’s Updated Tactics and Fileless Delivery of Cobalt Strike」
By: Buddy Tancio, Jed Valderama
翻訳:新井 智士(Core Technology Marketing, Trend Micro™ Research)