analyzing-powershell-script-block-logging について
SOC アナリスト向けのセキュリティ分析スキルです。PowerShell のスクリプトブロックログを解析し、Event ID 4104 の処理、分割スクリプトの再構成、不審なパターンの評価を支援します。
主な機能
- 01Event ID 4104 ログの解析
- 02複数ブロックのスクリプト再構成
- 03エンコードやダウンロードパターンの検出
- 04AMSI 回避と難読化の特定
- 05リスクと ATT&CK レポートの生成
活用シーン
- 01PowerShell 関連のセキュリティインシデント調査
- 02検出ルールやハンティングクエリの作成
- 03攻撃手法に対する監視範囲の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill analyzing-powershell-script-block-loggingインストール後、Claude Code で/analyzing-powershell-script-block-loggingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEreferences/api-reference.mdscripts/agent.py詳細
PowerShell スクリプトブロックログの分析
使用する状況
- PowerShell スクリプトブロックログの分析が必要なセキュリティインシデントを調査する場合
- この分野の検出ルールや脅威ハンティング用クエリを作成する場合
- SOC アナリストがこの種の分析に関する体系的な手順を必要とする場合
- 関連する攻撃手法に対するセキュリティ監視の網羅性を検証する場合
前提条件
- セキュリティ運用の概念とツールに関する知識
- 安全に実行できるテスト環境またはラボ環境へのアクセス
- 必要な依存関係をインストールした Python 3.8 以降
- テスト活動に対する適切な許可
手順
- 依存関係をインストールします:
pip install python-evtx lxml - PowerShell Operational ログを収集します:
Microsoft-Windows-PowerShell%4Operational.evtx - python-evtx を使用してイベント ID 4104 のエントリを解析し、複数パートのスクリプトを再構築するために ScriptBlockText、ScriptBlockId、MessageNumber/MessageTotal を抽出します。
- 検出ヒューリスティックを適用します:
- Base64 エンコードされたコマンド(
-EncodedCommand、FromBase64String) - ダウンロード用クレードル(
DownloadString、DownloadFile、Invoke-WebRequest、Net.WebClient) - AMSI バイパスのパターン(
AmsiUtils、amsiInitFailed) - 難読化の兆候(高いエントロピー、ティックマークの挿入、文字列の連結)
- Base64 エンコードされたコマンド(
- 再構築したスクリプト、リスクスコア、MITRE ATT&CK のマッピングを含むレポートを生成します。
python scripts/agent.py --evtx-file /path/to/PowerShell-Operational.evtx --output ps_analysis.json
例
エンコードされたコマンドの実行を検出する
import base64
if "-encodedcommand" in script_text.lower():
encoded = script_text.split()[-1]
decoded = base64.b64decode(encoded).decode("utf-16-le")
複数ブロックのスクリプトを再構築する
複数の 4104 イベントに分割されたスクリプトは、同じ ScriptBlockId を共有します。MessageNumber の順にブロックを連結すると、スクリプト全体を復元できます。
コメント
Markdown 対応