重要なポイント
- Elasticユーザーは、3CXユーザーを標的としたサプライチェーン攻撃から保護されます
- 実行フローがどのように動作するかは、Elastic Security Labsや他の研究チームによって積極的に調査されています
- 使用しているマルウェア対策テクノロジーに関係なく、3CXのシェルコードとプロセスインジェクションアラートを例外リストに追加しないでください
前文
On March 29, 2023, CrowdStrike reported a potential supply-chain compromise affecting 3CX VOIP softphone users as detailed in a Reddit post. Elastic Security Labs continues to monitor telemetry for evidence of threat activity and will provide updates as more evidence becomes available. The earliest period of potentially malicious activity is currently understood to be on or around March 22, 2023 as reported by Todyl.
3CXは 、600,000社以上の企業と12,000,000人以上のユーザーによって使用されていると述べているため、Elastic Security Labsは、3CXのお客様がSUDDENICONの初期検出を支援するトリアージ分析をリリースし、その後のマルウェアと侵入分析を後日リリースする予定です。
このアップデートでは、Elastic Security Labsは以下を提供します: - マルウェアアクティビティに関連する可能性のある悪意のあるドメイン - 影響を受ける可能性のある3CX WindowsおよびMacOSクライアントのファイルハッシュ - このアクティビティに関連する可能性のあるElasticクエリと事前構築済みの保護 - SUDDENICONマルウェアを特定するためのYARAルール
SUDDENICONトリアージ分析
3CXDesktopApp インストーラーMSI には、インストール後7日間待機してから GitHub から追加のファイルをダウンロードし、悪意のあるコマンドアンドコントロールドメインと通信する悪意のあるコードが含まれているようです。 クライアント アプリケーションは ffmpeg.dll
と d3dcompiler\_47.dll
をディスクに書き込み、後者には SUDDENICON と呼ばれるペイロードが含まれています。 私たちのサンプリングでは、両方のライブラリがバックドア化されているようです。 ffmpeg.dll
と d3dcompiler\_47.dll
はどちらも正当なファイル名であり、ルールを単独で作成してはならないことに注意してください。
ffmpeg.dll
バイナリは、FEEDFACE バイト シーケンスをシークし、静的な RC4 キー (3jB(2bsG#@c7
) を使用して復号化することにより、d3dcompiler\_47.dll
から SUDDENICON を抽出します。結果として得られるペイロードは、第 2 段階のペイロードとしてメモリにロードされます。 ペイロードの先頭に付加されたシェルコードスタブは、それをメモリにマッピングするために使用されるもので、 DPRKに関連付けられたAPPLEJEUSローダースタブと類似しています。 正常に実行されると、このシェルコードスタブは、新しいファイル( manifest
)をディスクに書き込み、タイムスタンプが 7 日後にディスクに書き込まれ、マルウェアがC2インフラストラクチャに接続するためのタイマーを実装するために使用されます。
C2ドメインは、 IconStorages Githubリポジトリ (このリポジトリはGithubによって削除されています)にステージングされたアイコンファイルに追加された末尾のバイトをダウンロードしてbase64デコードすることで取得されます。 このリポジトリは、2022 年 12 月 8 日に GitHub ID 120072117
によって作成され、最後に更新されたのは 2023 年 3 月 16 日でした。 マルウェアは、アクティブなC2サーバーに最初に接続した後、マシン識別子を含むPOSTを実行します。 次に、新しい実行可能ファイルをダウンロードして復号化します。
新しい実行可能ファイルの初期分析は、情報窃取型のようです。 分析が完了したら、アップデートをリリースします。
3CXのCEOは 、ソフトウェアのアンインストールを推奨しています。 コミュニティフォーラム の投稿の中には、潜在的なマルウェアの動作に対するセキュリティツールがどのように対応しているかが概説されており、 CrowdStrike と SentinelOne は初期情報を公開しています。 この脅威は、アップデートチャネルを介して敵対者が作成した悪意のあるソフトウェアを導入し、3CXDesktopAppの無害なコンポーネントを上書きすることができたと思われます。 また、ユーザーが誤って自己感染する可能性もあります。
検知のロジック
予防
- メモリ脅威検出アラート:シェルコードインジェクション
- Windows.Trojan.SuddenIcon
ハンティングクエリ
KQL と EQL の両方のイベントは、Elastic Defend 統合を使用して Elastic Agent で提供されます。 ハンティング クエリは、高いシグナルまたは誤検出を返す可能性があります。 これらのクエリは、疑わしい可能性のある動作を特定するために使用されますが、結果を検証するには調査が必要です。
KQL クエリ
次の KQL クエリを使用して、raw.githubusercontent.com の名前解決を実行する 3CX 署名済みソフトウェアを識別できます。 この脅威に関連する悪意のあるアプリケーションがステージングされている場所:
process.name : "3CXDesktopApp.exe" and dns.question.name : "raw.githubusercontent.com"
次の KQL クエリを使用して、このアクティビティのいくつかのホストベースのインジケーターを識別できます。
dll.hash.sha256 : "7986bbaee8940da11ce089383521ab420c443ab7b15ed42aed91fd31ce833896" or dll.hash.sha256 : "c485674ee63ec8d4e8fde9800788175a8b02d3f9416d0e763360fff7f8eb4e02"
EQL クエリ
Kibanaのセキュリティソリューションの「Timeline」セクションの「Correlation」タブを使用すると、以下のEQLクエリを使用して同様の動作をハンティングできます。
次の EQL クエリを使用して、3CX ソフトウェアと子ソフトウェアをプロファイリングできます。
any where process.code_signature.subject_name == "3CX Ltd" or process.parent.code_signature.subject_name == "3CX Ltd"
次の EQL クエリを使用して、raw.githubusercontent.com の名前解決を実行する 3CX 署名付きソフトウェアを識別できます。 この脅威に関連する悪意のあるアプリケーションがステージングされている場所:
network where process.code_signature.subject_name == "3CX Ltd" and dns.question.name == “raw.githubusercontent.com”
次のEQLクエリを使用して、3CXDesktopAppクライアントによって書き込まれたファイルを識別できます。
file where event.type == "creation" and (host.os.type == "windows" and file.path : "*:\\Users\\*\\AppData\\Local\\Programs\\C3XDesktopApp\\app\\*" and file.name : ("manifest")) or (host.os.type == "macos" and file.path : "*/Library/Application Support/3CX Desktop App/" and file.name : ("UpdateAgent", ".main_storage", ".session-lock")
次のEQL問合せを使用して、このアクティビティのホストベースのインジケータをいくつか識別できます。
sequence by host.name, process.entity_id[process where process.code_signature.subject_name:"3CX Ltd"][library where dll.hash.sha256:"c485674ee63ec8d4e8fde9800788175a8b02d3f9416d0e763360fff7f8eb4e02","7986bbaee8940da11ce089383521ab420c443ab7b15ed42aed91fd31ce833896"][network where dns.question.name:"raw.githubusercontent.com"]
次のEQLクエリを使用して、DLLが更新された場合にこのアクティビティを識別できます。
library where process.code_signature.subject_name : "3CX Ltd" and not dll.code_signature.trusted == true and not startswith~(dll.name, process.name) and /* DLL loaded from the process.executable directory */ endswith~(substring(dll.path, 0, length(dll.path) - (length(dll.name) + 1)), substring(process.executable, 0, length(process.executable) - (length(process.name) + 1)))
ヤラ
Elastic Security Labsは、この悪意のあるシェルコード(SUDDENICON)に対する 2つのYARAシグネチャ をリリースしました。
防御のための推奨アクション
シェルコード保護を防止モードで有効にしているElastic EndgameおよびElastic Endpointのお客様は、SUDDENICONの実行をブロックしましたが、侵害されたクライアントソフトウェアを削除する必要があるかもしれません。 シェルコードの取得と挿入が遅れるため、3CXDesktopAppのユーザーは、スリープ間隔(約 7 日)が経過するまでアラートが表示されない場合があります。 検出のみのモードでシェルコード保護を使用しているお客様は、感染のリスクを軽減するために予防を有効にする必要があります。 これらのアラートの例外は作成しないでください。
参照資料
The following were referenced throughout the above research: - https://www.reddit.com/r/crowdstrike/comments/125r3uu/20230329_situational_awareness_crowdstrike/ - https://www.sentinelone.com/blog/smoothoperator-ongoing-campaign-trojanizes-3cx-software-in-software-supply-chain-attack/ - https://www.todyl.com/blog/post/threat-advisory-3cx-softphone-telephony-campaign
インディケーター
悪意のある可能性のあるドメイン
太字のドメインは、分析で観察されたことを示しています。
- akamaicontainer[.]com
- akamaitechcloudservices[.]com
azuredeploystore[.]com
- azureonlinecloud[.]com
- azureonlinestorage[.]com
- dunamistrd[.]com
- glcloudservice[.]com
- journalide[.]org
msedgepackageinfo[.]com
- msstorageazure[.]com
msstorageboxes[.]com
officeaddons[.]com
officestoragebox[.]com
- pbxcloudeservices[.]com
- PBX電話ネットワーク[.]コム
- pbxsources[.]com
- qwepoi123098[.]com
- sbmsa[.]wiki
sourceslabs[.]com
visualstudiofactory[.]com
zacharryblogs[.]com
影響を受ける可能性のある3CXDesktopAppのバージョンとハッシュ:
クライアント ハッシュ: dde03348075512796241389dfea5560c20a3d2a2eac95c894e7bbed5e85a0acc
OS: Windows インストーラー ハッシュ: aa124a4b4df12b34e74ee7f6c683b2ebec4ce9a8edcf9be345823b4fdcf5d868
インストーラー ファイル名: 3cxdesktopapp-18.12.407.msi
クライアント ハッシュ: fad482ded2e25ce9e1dd3d3ecc3227af714bdfbbde04347dbc1b21d6a3670405
OS: Windows インストーラー ハッシュ: 59e1edf4d82fae4978e97512b0331b7eb21dd4b838b850ba46794d9c7a2c0983
インストーラー ファイル名: 3cxdesktopapp-18.12.416.msi
クライアントハッシュ: 92005051ae314d61074ed94a52e76b1c3e21e7f0e8c1d1fdd497a006ce45fa61
OS:macOSインストーラーハッシュ: 5407cda7d3a75e7b1e030b1f33337a56f293578ffa8b3ae19c671051ed314290
インストーラーファイル名: 3CXDesktopApp-18.11.1213.dmg
クライアントハッシュ: b86c695822013483fa4e2dfdf712c5ee777d7b99cbad8c2fa2274b133481eadb
OS:macOSインストーラーハッシュ: e6bbc33815b9f20b0cf832d7401dd893fbc467c800728b5891336706da0dbcec
インストーラーファイル名: 3cxdesktopapp-latest.dmg