Kimsuky、GitHub PATベースのLNKキャンペーンでデコイにOpenCode AIを採用
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
Kimsuky脅威グループは、OpenCodeのようなAIエージェントを使用して、大量の説得力のあるデコイドキュメントを生成することで、Operation GitPowerキャンペーンを進化させています。攻撃の流れは、ZIPアーカイブ内に提供される悪意のあるLNKファイルに依存して、難読化されたPowerShellローダーを起動します。これらのローダーは、コマンドアンドコントロール (C2) とペイロード配信のためにGitHub個人アクセストークン (PATs) およびPastebinを悪用します。
調査
調査では13の悪意のあるLNKのバリエーションと、AI生成コンテンツやヘッドレスブラウザの自動化の再利用を明らかにした29のデコイドキュメントを調査しました。さらに、プロセスのブロックリストやサンドボックスのユーザー名チェックなど、いくつかの解析回避技術も特定しました。このキャンペーンはまた、主に外交的な誘因から、金融および企業をテーマにしたデコイドキュメントにシフトしています。
緩和
防御者は、異常なLNKファイルの活動や疑わしいPowerShell実行パターンに対するEDRベースの監視を強化するべきです。また、GitHub PATsの無許可使用や生のコンテンツ配信のためにPastebinへの接続を検出するべきです。隠れたスケジュールされたタスクの監視は、さらなる持続性のリスクを低減することができます。
対応
悪意のある活動が検出された場合、レスポンダーはLNK実行を即座にPowerShellの子プロセスおよびGitHubまたはPastebinへの外向きの接続と関連付けるべきです。コマンドラインは、過度の長さ、異常な先頭の空白、カスタムの算術デコードルーチンを確認する必要があります。影響を受けたエンドポイントは隔離し、無許可のスケジュールされたタスクや %AppData% and %TEMP%.
攻撃フロー
この部分はまだ更新中です。
検知
疑わしいPowershell文字列 (powershell 経由)
LOLBAS Conhost (cmdline 経由)
疑わしいディレクトリでのファイル実行をポリシーバイパス (cmdline 経由)
異常なプロセスによって開始された可能性のあるGitHubファイルダウンロード (network_connection 経由)
IOC (HashMd5) を検出: KimsukyはAIエージェント「opencode」を使用して、GitHub PATベースのLNK攻撃を進化させながらデコイを作成します
IOC (SourceIP) を検出: KimsukyはAIエージェント「opencode」を使用して、GitHub PATベースのLNK攻撃を進化させながらデコイを作成します
IOC (DestinationIP) を検出: KimsukyはAIエージェント「opencode」を使用して、GitHub PATベースのLNK攻撃を進化させながらデコイを作成します
Pastebinを使用したカスタム難読化とコマンドの実行の検出 [Windows Powershell]
GitHubの生のコンテンツへの無許可のPowerShellアクセスとヘッドレス実行の検出 [Windowsプロセス作成]
正規アプリケーションとして偽装したLNKファイル [Windowsファイルイベント]
シミュレーションの実行
前提条件: テレメトリ & ベースラインの事前飛行チェックが合格していること。
根拠: このセクションは、検出ルールを引き起こすために設計された対抗技術手法 (TTP) の正確な実行を詳述しています。コマンドと説明は発見されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的とします。抽象的または無関連な例は誤診を引き起こします。
-
攻撃のシナリオ & コマンド: 攻撃者は「
Google Chrome.lnk」というファイルを含むフィッシングメールを配信します。ユーザーがこれをクリックすると、LNKファイルはコマンドを実行し、powershell.exeを呼び出します。ユーザーを欺き、単純なログ解析からコマンドを隠そうとするため、LNKファイルのターゲットには長い空白文字列が含まれ、正規のChrome実行ファイルパスへの参照、そして最終的に悪意のあるペイロードが続きます。これは、特定の検出ロジックが探しているものであり、powershell.exe、Chromeパス、および巨大な空白ブロックと一致します。 -
リグレッションテストスクリプト:
# シミュレーションスクリプト: 検出を引き起こす悪意のあるLNKファイルを作成 $WshShell = New-Object -ComObject WScript.Shell $ShortcutPath = "$env:TEMPGoogle Chrome.lnk" $TargetDir = "C:Program FilesGoogleChromeApplication" # 難読化されたコマンドラインを構築 # 注: Sigmaルールの「selection_spaces」要件に一致するように多くのスペースを使用 $Spaces = " " * 250 $MaliciousCommand = "powershell.exe $Spaces `"$TargetDirchrome.exe" -Command "Write-Output 'Malicious Payload Executed'"" # LNKファイルを作成 $Shortcut = $WshShell.CreateShortcut($ShortcutPath) $Shortcut.TargetPath = "powershell.exe" $Shortcut.Arguments = "$Spaces `"$TargetDirchrome.exe" -Command "Write-Output 'Malicious Payload Executed'"" $Shortcut.IconLocation = "$TargetDirchrome.exe, 0" $Shortcut.Save() Write-Host "悪意のあるLNKが作成されました: $ShortcutPath" Write-Host "検出を引き起こすためにLNKを実行しています..." # LNKを実行 Start-Process $ShortcutPath -
クリーンアップコマンド:
# クリーンアップスクリプト Remove-Item "$env:TEMPGoogle Chrome.lnk" -ErrorAction SilentlyContinue Write-Host "クリーンアップ完了。"