![](https://storage.googleapis.com/gblogs-bucket/sites/2/1477372593-bpfull.jpg)
- 2022 年 8 月、Cisco Talos は Cobalt Strike ビーコンを配布する攻撃を発見しました。今後、このビーコンが他の攻撃で使用される可能性があります。
- 今回のフィッシング攻撃で使用されたドキュメントは、米国の政府機関が発行した文書やニュージーランドの労働組合の求人情報に見せかけられています。
- 攻撃には、複数のステージからなるモジュール化された感染チェーンが含まれていて、ファイルレスの悪意のあるスクリプトが使用されています。
Cisco Talos は最近、モジュール化された攻撃手法を使用して感染したエンドポイントに Cobalt Strike ビーコンを配布する攻撃を発見しました。
最初の感染ベクトルは悪意のある Microsoft Word ドキュメントが添付されたフィッシングメールです。このドキュメントには、Microsoft Office のリモートコード実行の脆弱性 CVE-2017-0199 を悪用しようとするエクスプロイトコードが含まれています。不正ドキュメントを開くと、攻撃者が管理する Bitbucket リポジトリでホストされている、悪意のある Word ドキュメントのテンプレートがダウンロードされます。
Talos は、今回の攻撃で攻撃者が採用した 2 つの攻撃手段を確認しました。1 つは、悪意のある Visual Basic スクリプトが埋め込まれている DOTM テンプレートをダウンロードして実行するというものです。これにより、難読化されている他の VB と PowerShell スクリプトを生成して実行します。もう 1 つは、悪意のある VB を使用して Windows 実行ファイルをダウンロードし、実行するというものです。この実行ファイルは、ペイロードをダウンロードして埋め込むために悪意のある PowerShell コマンドを実行します。
発見されたペイロードは、Cobalt Strike ビーコンの流出バージョンです。ビーコンの構成には、プロセスインジェクションを実行(任意のバイナリのターゲットプロセスを挿入)するコマンドが含まれています。またレピュテーションの高いドメインが設定されているので、ビーコンのトラフィックをマスカレードするリダイレクション機能を使用していることが分かります。
今回の攻撃で発見されたペイロードは Cobalt Strike ビーコンですが、Redline 情報窃取マルウェアと Amadey ボットネットの実行ファイルもペイロードとして使用されていることが確認されています。
今回の攻撃は、被害者のシステムメモリで悪意のあるスクリプトを生成して実行する手法を使った典型的な例です。ファイルレスの脅威から効果的に保護できるよう、組織の防御に動作保護機能を取り入れるようにしてください。
Cobalt Strike ビーコンには常に注意を払い、多層防御機能を実装して、攻撃の感染チェーンの初期段階で攻撃者の試みを阻止する必要があります。
最初の感染ベクトル
最初の感染ベクトルは電子メールです。添付されている Word ドキュメントを受信者に確認させ、個人情報の一部を入力させようとします。
最初の悪意のある電子メールメッセージ
不正ドキュメントの内容は、個人識別情報の提供を求めるものであり、収集した情報は、米国連邦政府の請負業者としての求職者の適格性を判断し、政府の生命保険プログラムへの加入状況を確認するために使用されると騙っています。
文面は、米国連邦政府の最高人事機関および人事政策管理者として機能している米国人事管理局(OPM)の申告用紙の内容に似せたものとなっています。
不正ドキュメントの内容(サンプル 1)
今回の攻撃では、ニュージーランドのウェリントンに本拠を置く Public Service Association(ニュージーランドの有名な労働組合)のオフィスの求人情報に見せかけた別の不正ドキュメントも使用されていました。募集内容は、開発の委任、PSA Plus、事務局の管理業務サポートとなっています。文面は、New Zealand Public Service Association(ウェリントンに本部を置く、ニュージーランドの連邦職員向けの労働組合)の本物の職務記述書に似せたものとなっています。
不正ドキュメントの内容(サンプル 2)
PSA New Zealand が本物の職務記述書を公開したのは 2022 年 4 月のことです。一方攻撃者は、このドキュメントに見せかけた不正ドキュメントを 2022 年 5 月 6 日に作成しています。Talos が観察したところでは、攻撃者はオンラインニュースも定期的にチェックしていると思われます。
攻撃手段
今回の攻撃で攻撃者が採用した方法は高度にモジュール化されており、感染チェーンには複数のステージがあります。
Talos は今回の攻撃で、TTP が多少異なる 2 つの攻撃手段を確認しました。ただし、最初の感染ベクトル、リモート テンプレート インジェクション手法の使用、最終ペイロードには違いはありませんでした。
攻撃手段 1
これはモジュール化された方法であり、感染チェーンの複数のステージで Cobalt Strike ビーコンを埋め込みます。概要は以下のとおりです。
攻撃手段 1 の感染チェーンの概要
ステージ 1 の不正ドキュメント:DOTM テンプレート
悪意のある Word ドキュメントには、https[://]bitbucket[.]org/atlasover/atlassiancore/downloads/EmmaJardi.dotm という URL が、Word の関連コンポーネントである「word/_rels/settings.xml.rels」内に埋め込まれています。被害者がドキュメントを開くと、悪意のある DOTM ファイルがダウンロードされます。
不正ドキュメントの settings.xml.rels の内容
ステージ 2:VBA ドロッパー
ダウンロードされた DOTM は、悪意のある Visual Basic for Applications(VBA)マクロを実行します。VBA ドロッパーのコードには、エンコードされたデータ BLOB が含まれています。この BLOB が復号化され、ユーザープロファイルのローカルアプリケーションの一時フォルダ内にある HTA ファイル「example.hta」に書き込まれます。復号化されて HTA ファイルに書き込まれるのは、その次に実行される VB スクリプトです。このスクリプトは、ShellExecuted メソッドを使用して実行されます。
ステージ 2 の VBA ドロッパー
ステージ 3:VB スクリプト
ステージ 3 の VBS 構造は、ステージ 2 の VB ドロッパーと同様です。エンコードされたデータの配列は PowerShell スクリプトに復号化され、被害者のシステムメモリで生成されてから実行されます。
ステージ 3 の VB スクリプト
ステージ 4:PowerShell スクリプト
被害者のシステムメモリで実行された PowerShell ドロッパーのスクリプトには、AES で暗号化されたデータ BLOB(base64 でエンコードされた文字列)と、復号化キー(base64 でエンコードされた別の文字列)が含まれています。エンコードされた文字列を変換すると、AES 暗号化データブロックと 256 ビットの AES 復号化キーが生成されます。このキーを使用して暗号化されたデータを復号化すると、PowerShell ダウンローダーのスクリプトが生成されます。このスクリプトは、PowerShell IEX 関数を使用して実行されます。
ステージ 4 の PowerShell スクリプト
ステージ 5:PowerShell ダウンローダー
PowerShell ダウンローダーのスクリプトは難読化されています。エンコードされたブロックが含まれていて、復号化されると、ダウンロード URL、ファイル実行パス、ファイル拡張子が生成されます。
スクリプトが被害者のシステムメモリで実行されると、次のアクションが実行されます。
- 攻撃者が管理するリモートロケーション(URL は https[://]bitbucket[.]org/atlasover/atlassiancore/downloads/newmodeler.dll)から、ユーザープロファイルのローカルアプリケーションの一時フォルダにペイロードをダウンロードします。
- ダウンロードされたペイロードファイルの拡張子のチェックを実行します。
- ペイロードの拡張子が .dll の場合、exe を使用してその DLL を実行します(DLL サイドローディングという手法を使用)。
- 拡張子が MSI の場合、コマンド「msiexec /quiet /i <payload>」を使用してペイロードを実行します。
- 拡張子が EXE の場合、PowerShell コマンドレットの Start-Process を使用して、プロセスとして実行します。
- ペイロードの実行時には、ペイロードファイルに「隠しファイル」のシステム属性を設定してペイロードファイルを非表示にし、永続性を確立します。
分析する中で、ダウンロードされたペイロードは Cobalt Strike DLL ビーコンであることが判明しました。
ステージ 5 の PowerShell ダウンローダー
攻撃手段 2
2 つめの攻撃手段もモジュール式ですが、それほど高度ではない Visual Basic スクリプトと PowerShell スクリプトが使用されています。この攻撃チェーンでは、64 ビット Windows 実行ファイルのダウンローダーを使用して PowerShell コマンドを実行していることを確認しました。このコマンドの機能は、Cobalt Strike ペイロードをダウンロードして実行することです。
攻撃手段 2 の感染チェーンの概要
ステージ 1 の不正ドキュメント:DOTM テンプレート
悪意のあるドキュメントを被害者が開くと、Windows は URL「https[://]bitbucket[.]org/clouchfair/oneproject/downloads/ww.dotm」から悪意のあるリモート DOTM テンプレートのダウンロードを試みます。この URL は、Word の関連コンポーネントである settings.xml.rels というファイルに埋め込まれています。
不正ドキュメントの settings.xml.rels の内容
ステージ 2:VB スクリプト
DOTM テンプレートに含まれている VBA マクロが関数を実行し、エンコードされているマクロのデータブロックを復号化します。これにより、PowerShell ダウンローダーのスクリプトが生成され、シェル関数でスクリプトが実行されます。
ステージ 2 の VB スクリプト
ステージ 3:PowerShell ダウンローダー
PowerShell ダウンローダーのコマンドにより、64 ビットの Windows 実行ファイルがダウンロードされ、被害者のマシンでプロセスとして実行されます。
ステージ 3 の PowerShell ダウンローダー
ステージ 4:ダウンローダー実行ファイル
ダウンローダーは 64 ビットの実行ファイルで、被害者の環境でプロセスとして実行されます。これにより PowerShell コマンドが実行され、URL「https[://]bitbucket[.]org/clouchfair/oneproject/downloads/strymon.png」から、ユーザープロファイルのローカルアプリケーションの一時フォルダに Cobalt Strike ペイロードの DLL がダウンロードされます。DLL の拡張子は .png に偽装されていて、DLL をサイドロードするために rundll32.exe が使用されます。
ステージ 4 のダウンローダー実行ファイル
またこのダウンローダーは、IP アドレス 1[.]1[.]1[.]1 に ping コマンドを実行したうえで、削除コマンドを実行して自分自身を削除します。ping コマンドを使用するのは、ダウンローダーを削除する前に遅延を生じさせるためです。
ペイロード
Talos は、今回の攻撃の最終ペイロードが Cobalt Strike ビーコンであることを確認しました。Cobalt Strike はモジュール化された攻撃フレームワークであり、カスタマイズ可能です。攻撃者は、悪意のある意図に応じて機能を追加したり削除したりできます。攻撃の感染チェーンに Cobalt Strike ビーコンを使用すれば、悪意のあるトラフィックを正規のトラフィックに混ぜ込み、ネットワーク検出を回避できます。また、ビーコンの構成でコマンドを設定できるので、感染したマシンで実行中のプロセスに悪意のある他のバイナリを挿入するなど、さまざまな不正操作を実行できます。何らかの別の挿入モジュールが感染チェーンに埋め込まれないようにすることも可能です。
今回の攻撃の Cobalt Strike ビーコン構成から、ビーコンバイナリのさまざまな特徴が見て取れます。
- C2 サーバー
- 通信プロトコル
- プロセスインジェクションの手法
- 適応性の高い C2 命令
- x86 および x64 プロセス用に生成されたターゲットプロセス
- ウォーターマーク:「Xi54kA==」
Cobalt Strike ビーコン構成のサンプル
今回の攻撃で使用された Cobalt Strike ビーコンには、次のような機能があります。
- プロセスインジェクションにより、ターゲットプロセス内で任意のコードを実行。今回の攻撃に関連のあるビーコン構成に記述されているターゲットプロセスには、次のようなものがあります。
x86:
“%windir%\syswow64\dns-sd.exe”
“%windir%\syswow64\rundll32.exe”
“%windir%\syswow64\dllhost.exe -o enable”
x64:
“%windir%\sysnative\getmac.exe /V”
“%windir%\sysnative\rundll32.exe”
“%windir%\sysnative\DeviceParingWizard.exe”
- ビーコン構成の HostHeader コンポーネントでレピュテーションの高いドメインを定義。攻撃者は、このリダイレクタ機能を使用してビーコントラフィックを正当なものに見せかけ、検出を回避しています。
悪意のあるリポジトリ
今回の攻撃者は、悪意のある DOTM テンプレートと Cobalt Strike DLL を Bitbucket でホストするために複数のアカウントを使用しています。攻撃者が管理する 2 つのアカウント「atlasover」(https[://]bitbucket[.]org/atlasover/atlassiancore/downloads)と「clouchfair」(https[://]bitbucket[.]org/clouchfair/oneproject/downloads)が今回の攻撃で使用されていたことを Talos では確認しています。
分析期間中、アカウント「atlasover」は有効だったので、今回の攻撃で使用された悪意のあるファイルの一部のホスティング情報を確認できました。
攻撃者が管理する Bitbucket リポジトリ
また、VirusTotal で、攻撃者が Bitbucket アカウント「clouchfair」を使用していたことも確認しています。このアカウントを利用して、他の 2 つの情報窃取マルウェア(Redline、Amadey)の実行ファイル、悪意のある DOTM テンプレート、Cobalt Strike DLL をホストしていました。
コマンドアンドコントロール
今回の攻撃の C2 サーバーが IP アドレス 185[.]225[.]73[.]238 で運用されていることを確認しました。Ubuntu Linux バージョン 18.04 で実行されており、所在地はオランダで、Alibaba 社のクラウド インフラストラクチャが利用されています。
Shodan の検索結果から、C2 サーバーには 2 つの自己署名 SSL 証明書が含まれていることが分かりました。シリアル番号は 6532815796879806872 および 1657766544761773100 で、有効期間は 2022 年 7 月 14 日から 2023 年 7 月 14 日までとなっています。
C2 サーバーに関連付けられた SSL 証明書
SSL 証明書の情報から、 IP アドレス 43[.]154[.]175[.]230 で運用されている別の Cobalt Strike C2 サーバーの存在が明らかになりました。Ubuntu Linux バージョン 18.04 で実行されており、所在地は香港で、やはり Alibaba 社のクラウド インフラストラクチャが利用されています。今回の攻撃と同じ攻撃者によって運用されている可能性が高いと考えられます。
カバレッジ
今回の脅威は、以下の製品で検出してブロックすることが可能です。
Cisco Secure Endpoint(旧 AMP for Endpoints)は、この記事で説明したマルウェアの実行を阻止するのに最適です。Cisco Secure Endpoint の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。
Cisco Secure Email(旧 E メールセキュリティ)は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。Cisco Secure Email の無料トライアルはこちらからお申し込みください。Threat Defense Virtual、適応型セキュリティアプライアンス、Meraki MX など、
Cisco Secure Firewall(旧次世代ファイアウォールおよび Firepower NGFW)アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。
Cisco Secure Malware Analytics(Threat Grid)は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。
Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。Umbrella の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザーがアクセスする前に疑わしいサイトをテストします。
特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。
Cisco Duo は、ユーザーに多要素認証を提供し、承認されたユーザーのみがネットワークにアクセスできるようにします。
オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.org で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。この脅威に対応するための Snort ルール 60600 が提供されています。
今回の脅威を検出するために、以下の ClamAV シグネチャがリリースされました。
Win.Packed.Generic-9956955-0
Win.Malware.CobaltStrike-9968593-1
Win.Dropper.AgentTesla-9969002-0
Win.Dropper.Swisyn-9969191-0
Win.Trojan.Swisyn-9969193-0
Win.Malware.RedlineStealer-9970633-0
IOC
IOC リストは、こちらにある Talos の GitHub リポジトリから入手できます。
本稿は 2022 年 09 月 28 日に Talos Group
のブログに投稿された「New campaign uses government, union-themed lures to deliver Cobalt Strike beacons
」の抄訳です。