- 2024/01/25
- 脅威分析レポート
【脅威分析レポート】SkypeやMicrosoft Teamsを悪用するDarkGateマルウェア
Post by : Cybereason Global SOC Team
サイバーリーズンでは、新たな脅威に関する情報をお客様に提供するために、脅威アラートを発行しています。今回の脅威アラートは、最近になって観測されたマルウェアローダーであるDarkGate Loaderに関するものです。新たな脅威に関する情報をまとめた上で、そのような脅威から身を守るための実践的な推奨事項を提供します。
現在の状況
Cybereason Security Servicesは、DarkGate Loaderに関連するインシデントを調査しています。DarkGate Loaderはモジュール式のローダーであり、フィッシングメールを介して配信され、ポストエクスプロイテーション用のペイロードを被害者の端末上に導入します。
脅威アクターは、暗号化されたペイロードを含むAutoItスクリプトとしてDarkGate Loaderを導入します。AutoItスクリプトは、ペイロードを復号化した後、それをさまざまなプロセスにインジェクトします。DarkGate Loaderの実行は、最終的にCobalt StrikeやMeterpreterなどのポストエクスプロイテーションツールの実行につながります。この脅威アラートでは、DarkGate Loaderを使用した攻撃の概要を説明します。
■影響
DarkGate Loaderの目的は、検知を回避しつつ、ポストエクスプロイテーション用のツールを被害者の端末上に導入することです。
▲DarkGate Loaderの攻撃フロー図
■主な調査結果
- PDFを介した感染チェーン: 被害者を騙して悪意あるPDFファイルをダウンロードさせ、悪意あるVBSスクリプトを実行させます。
- AutoItスクリプト形式で配信されるDarkGate Loader:DarkGate Loaderは、暗号化されたペイロードの形式でAutoItスクリプト内に含まれています。AutoItは、実行時に暗号化されたペイロードの暗号を解除した後、自らをリモートプロセスにインジェクトします。
- ポストエクスプロイテーションツールを迅速に配信:観測されたDarkGate Loaderインシデントでは、DarkGate Loaderの実行後6時間以内にMeterpreterやCobalt Strikeなどのポストエクスプロイテーション用ツールが配信されました。ポストエクスプロイテーションツールの導入には、重要インフラへのラテラルムーブメントも含まれており、組織全体により大きな影響をもたらします。
- Cybereasonによるポストエクスプロイテーション活動の検知:Cybereason Defense Platformは、ポストエクスプロイテーション時に、その活動を検知します。
■分析
初期感染
初期感染は、フィッシングメールに添付されたPDFか、またはMicrosoft TeamsやSkypeを介して確立されます。被害者が当該PDFを開くと、下図のような表向きのビジネス紹介ページが表示されます。
▲悪意ある添付ファイルの例
上記の例は英語によるものですが、同様の添付ファイルはフランス語、ポルトガル語、イタリア語でも確認されており、脅威の手口は可能な限り幅広いオーディエンスへのリーチを試みており、これは攻撃者が潜在的な被害者の所在地に合わせてフィッシングをカスタマイズしていることを示唆しています。
被害者が[Open]ボタンをクリックすると、デフォルトのブラウザウィンドウが開き、攻撃者の初期コマンド&コントロール(C2)アドレスへの接続が確立されます。その後、ZIPアーカイブがダウンロードされ、C:¥Users¥[USERNAME] ¥AppData¥Local¥Temp¥ディレクトリに保存さます。このケースでは、初期C2ドメインはhxxp://eventionevents[.]comでしたが、それ以外のドメインも確認されています。
▲初期感染の流れ
続いてアーカイブが解凍されると、最初のペイロードが実行されます。このペイロードは、「Report-[NUMBER].vbs」という命名規則に従った難読化されたVBScriptファイルになります。本校執筆時点で、VirusTotal上において複数の関連ペイロードが観測されていますが、その大半は悪意あるものとしてフラグが立てられていない状態です。これは、難読化されているためだと思われます。
▲悪意あるVBScriptファイルの難読化された部分
■実行
▲AutoItのプロセスツリー
VBScript Report-[NUMBER].vbsは、DarkGate Loaderのダウンローダーとして動作します。このVBScriptを実行するとcmd.exeが実行され、その結果、curlコマンドの悪用により2つの主要コンポーネントがダウンロードされます。
- Autoit3.exe:Windows用のスクリプト言語(フリーウェア)である「AutoIt」のメイン実行ファイルです。
- ymehvz.au3:DarkGate Loaderの暗号化されたペイロードです。
ダウンロードに成功すると、cmd.exeは、Autoit3.exeを使用して、暗号化されたAutoItペイロードであるymehvz.au3を実行します。暗号化されたAutoItペイロードであるymehvz.au3は、メモリ内で自身をシェルコードとして復号し、それを複数のリモートプロセスにインジェクトします。観測された一例として、C:¥Program Files (x86)¥Microsoft¥EdgeUpdate¥に置かれたMicrosoftEdgeUpdate.exeの正規バイナリが挙げられます。このプロセスは、DarkGateをメモリにロードして実行するための一種の「代理人」として使用されます。実行フローは、攻撃の追加ステージを実行するために、他のさまざまなマルウェアをメモリにロードするように進みます。詳細については下記のセクションで説明します。
■ラテラルムーブメント
観測された攻撃者は、迅速かつ意図的にラテラルムーブメントを実行しました。レッドチームのツールであるSnafflerは、コードインジェクションによりgetmac.exeのメモリへとロードされました。Snafflerは、読み取り可能なファイル共有を持つ端末のリストを収集するために使用されます。この後、eternalblueモジュールがgetmac.exeにロードされました。
このモジュールは、「Eternal Blue」としても知られるms17-010を悪用するためのC#による実装のようです。ネットワーク上の振る舞いが記録され、ネットワーク内の複数の端末へのSMB経由の接続試行が示されました。悪用されたホストはなかったものの、これにより、SMBのバージョン、SMBの署名状態、オペレーティングシステムのバージョンなど、応答したネットワーク内のホストに関する重要な情報が攻撃者に提供されたことになります。
ホスト名を収集した後、攻撃者は実際のラテラルムーブメントを実行するために、次のような標準的なルーチンに従いました。
- ホストAはコマンドシェル経由で下記のコマンドを実行します。
‒ query process * /server:[REMOTE HOST]
● このコマンドは、リモートホスト上で実行されているすべてのプロセスのリストを返します。● これにより攻撃者は、ホストがオンラインであること、そしてそのホストに対する認証が行えることを知ることができます。
- 次に、攻撃者はSMBを通じて、リモートホスト上の書き込み可能なADMIN$共有に対して、ランダムな名前が付けられた実行ファイルを転送します。
- CREATE_SERVICEおよびSTART_SERVICEというMS-RPCが、ランダムに命名された実行ファイルに対して呼び出されます。これは、同RCPがSYSTEMレベルの権限でサービスとして実行されることを意味します。
- このサービスの実行により、rundll32.exeの子プロセスが作成され、Cobalt Strike と思われるコードがインジェクトされます。
▲ラテラルムーブメントのプロセスツリー
■認証情報のダンプ
Internal Monologue
インジェクトされたモジュールInternalMonologueを通じて認証情報がダンプされた証拠が、getmac.exe内に見つかりました。モジュールInternalMonologueは、Internal Monologue攻撃のC#による実装です。Internal Monologue攻撃は、NTLMプロトコルの実装に存在する複数の脆弱性を悪用することで、NTLMのセキュリティをダウングレードさせつつ、ユーザーに成り済ましてユーザトークンを収集するものです。これにより、攻撃者は最終的にNTLMハッシュをクラックして、他のプロセスに渡すことで権限昇格を実施することや、同ハッシュをリモートホストに渡すことでラテラルムーブメントを実行できるようになります。
■キーロギング
今回の調査では、ファイル作成イベントは、C:¥ProgramData¥ディレクトリにおけるランダムに名付けられたフォルダ内のファイルとして観測されました。あるファイルは、{DATE OF CREATION}.logという命名規則に基づいて名前が付けられており、DarkGateによりログに記録されたキーストローク(暗号化された上で同ファイルに書き込まれたもの)を含んでいました。AutoIT.exe、au3ペイロード、および暗号化されたマルウェア設定ファイルのコピーも、このディレクトリで見つかりました。
■列挙/検知
感染後のフェーズでは、いくつかのプロセスを使用して、列挙と検知が行われます。これにより、感染した端末に関する情報とラテラルムーブメントに活用できるネットワーク情報の両方が収集されます。前述したように、getmac.exeは、SnafflerやEternal Blueエクスプロイトなどのツールをメモリ上にロードする手段として使用され、これにより、脅威アクターはメモリ内で検知ツールの機能を確保できます。さらに、query process /server:[REMOTE HOST]コマンドを使用して、ラテラルムーブメントのターゲットにおけるプロセス情報が列挙されました。
これに加えて、次のようなWindowsネイティブコマンドを使用して、さらなる検知と列挙が実施されました。
- systeminfo – オペレーティングシステム情報を含む、端末の詳細設定を表示します。
- net group [GROUP NAME] /do:昇格された権限を持つグループの情報を調べるために使用されます。/doパラメータは、このアクションがドメインコントローラ上で実行されることを意味します。
- net user [USERNAME] /do:昇格された権限を持つユーザーの情報を調べるために使用されます。net1.exeも使用されます。
- ping [REMOTE HOST]:リモートホストとの接続をテストするために使用されます。
- nltest /domain_trusts /all_trusts:すべての信頼できるドメインのリストを返します。
- query process /server:[REMOTE HOST]:リモートホスト上のユーザーセッションに関する情報を表示します。
一部の検知と列挙の試行結果は、getmac.exeによって管理されるテキストファイルを経由して、C:¥users¥public¥ディレクトリに保存されるようです。テキストファイルの名前は、その内容に関するヒントを与えているように見えます。たとえば、pc.txtには端末の詳細設定、processs.txtには実行中のプロセスに関する情報が含まれていると考えられます。特に注目すべきはesx.txtというファイルであり、これはVMWare ESXiサーバーの偵察に関連している可能性があります。脅威アクターは脆弱性のあるESXiサーバーを探し、そのようなサーバー上にランサムウェアを導入することで組織のインフラ全体に大きな影響を与えることが知られています。
この段階で、脅威アクターは、攻撃の影響フェーズに移行するために必要な情報をすべて収集しているように見えます。
■パーシステンス
「ラテラルムーブメント」のセクションで述べたように、Cobalt Strikeのペイロードがサービスとして実行されることで、主なパーシステンスメカニズムの1つが観測されました。これらの端末のいずれかが再起動された場合、悪意あるサービスが実行されることで、C2接続が復元されます。
さらにサイバーリーズンでは、前述した「代理人」であるmicrosoftedgeupdate.exeがランダムに名付けられたLNKファイルを作成すること、そして、このファイルが最初の被害者のスタートアップディレクトリにドロップされることも確認しました。このファイルは、初期感染の直後に作成されました。
▲スタートアップディレクトリ内でのLNKファイルの作成によりパーシステンスを確立
■ファイルの分析
初期のAutoITローダーの構成をより深く理解するために、基本的なバイナリ解析を実施しました。
■au3ファイル
au3ファイルは、難読化されたAutoIT V3のスクリプトファイルです。
▲難読化されたAutoIT V3ファイルの出力
私たちは、au3ファイルからAutoIT V3のエンコードされたスクリプトファイル(.a3x)を抽出することに成功しました。
▲AU3ファイルタイプを示す16進ビュー
取得したAutoIT V3エンコード済みスクリプトファイル(.a3x)は64ビットの実行ファイルです。64ビットのAutoIT実行ファイルを32ビットの実行ファイルに変換することで、AutoITオリジナルのスクリプトを抽出できました。
AutoIT V3スクリプト(.au3)⇨ AutoIT V3エンコードされたスクリプト(.a3x)⇨ AutoIT 32ビット実行ファイル(.exe)⇨ AutoITのオリジナルスクリプト
■AutoITのオリジナルスクリプトの分析
AutoITスクリプトには、難読化された別の実行ファイルがbytearray形式で格納されています。
▲難読化された実行ファイルを含むByteArray
AutoITスクリプトは、次の動作を実行します。
- 悪意ある実行ファイルをロードする前に、ユーザーがSYSTEMであるかどうかをチェックします(@UserName <> “SYSTEM”)。
- 悪意ある実行ファイルをメモリにロードしようと試みます。
- VirtualProtect関数を使用して、メモリ領域の保護を変更します。
‒ DllCall(“kernel32.dll”, “BOOL”, “VirtualProtect”, “ptr”, DllStructGetPtr($qFWNonsGSq), “int”, BinaryLen($DMZVZwdRfQ), “dword”, 0x40, “dword*”, $oldprotect) - 指定されたWindowsプロシージャにメッセージ情報を渡します。
‒ DllCall(“user32.dll”, “lresult”, “C”&chr(97)&”llWindowProc”, “ptr”, DllStructGetPtr($qFWNonsGSq), “hwnd”, 0, “uint”, 0, “wparam”, 0, “lparam”, 0) - Sophosが端末にインストールされているかどうかチェックします。
‒ C:¥Program Files (x86)¥Sophos
▲AutoITスクリプトはさまざまなアクションを実行する
侵害の痕跡(IoC):ポストエクスプロイテーションに関するもの
Cybereason Security Servicesは、既知のポストエクスプロイト活動に関連するIoCのリストを提供しています。
これらのIoCは、脅威ハンティングの目的に使用できます。
サイバーリーズンによる推奨事項
サイバーリーズンでは、下記の措置を実施することを推奨しています。
- アプリケーションコントロールを有効化し、悪意あるファイルの実行をブロックすること。
- 「ブロックと実行防止」を使用して、先述したIoCをカスタムレピュテーションリストに追加すること。
著者について
Derrick Masters(SOC主席セキュリティアナリスト、Cybereason Global )
Cybereason Global SOCチームのシニアセキュリティアナリスト。脅威ハンティングとパープルチームに関与。GIAC認定フォレンジックアナリスト(GCFA)、GIAC認定検知アナリスト(GCDA)、GIAC認定ペネトレーションテスター(GPEN)、GIAC Python Coder(GPYC)、GIAC Security Essentials認定(GSEC)などを含む、多くの専門的な認定資格を取得。
Hema Loganathan(セキュリティアナリスト、Cybereason GlobalSOC)
Cybereason Global SOCチームのセキュリティアナリスト。Malop調査、マルウェア分析、リバースエンジニアリング、脅威ハンティングに従事。情報システムの理学修士号を取得。
Ralph Villanueva(シニアセキュリティアナリスト、Cybereason Global SOC)
Cybereason Global SOCチームのセキュリティアナリスト。サイバースペースにおける新たな脅威の発見・対策に取り組んでいる。マルウェアのリバースエンジニアリング、デジタルフォレンジック、APTの研究などに取り組む。フロリダ国際大学ネットワークセキュリティ修士課程修了。
Kotaro Ogino(主席セキュリティアナリスト、Cybereason Global SOC)
Cybereason SOC チームの主席セキュリティアナリスト。脅威ハンティング、SOAR(Security Orchestration, Automation, and Response)システムの管理、XDR(Extended Detection and Response)の管理に従事。情報科学の理学士号取得。
Uma Shukla(Cybereason Global SOCシニアセキュリティアナリスト)
CybereasonグローバルSOCチームのシニアセキュリティアナリスト。脅威ハンティングをはじめ、新たな脅威やエクスプロイトに関するユースケースの作成に従事。インシデント対応コンサルタントやアプリケーションおよび脆弱性管理の分野で経験があり、ECIH、CYSA+、BTL1、BTJA、QRadar Security Professionalなど複数の資格を保有。
2024年サイバー脅威予測 〜2023年の主要な脅威の振り返りと、2024年に警戒すべき脅威の予測〜
2023年は一部のランサムウェア・マルウェアに対して警察など大きな組織による閉鎖や、深刻な脆弱性の発見と悪用などが起きました。
本資料では、2023年に起きたサイバー空間の脅威の傾向を受けて、特に大きな影響を及ぼす5つの脅威を2024年のサイバーセキュリティ予測として取り上げました。2023年の主要な脅威を振り返りながら、2024年のサイバー脅威予測について説明します。
2024年度のご自身が所属する組織におけるサイバーセキュリティ対策の検討にお役立てください。
https://www.cybereason.co.jp/product-documents/survey-report/11608/