logging-powershell-detect
Windows PowerShellのスクリプトブロックログ(イベントID 4104)をEVTXファイルから解析して、難読化されたコマンド、エンコードされたペイロード、生活系技術を検出します。python-evtxを使用して複数ブロックのスクリプトを抽出・再構成し、Base64エンコードコマンド、Invoke-Expression悪用、ダウンロードクレイドル、AMSIバイパス試行に対してエントロピー分析とパターンマッチングを適用します。
description の原文を見る
Parse Windows PowerShell Script Block Logs (Event ID 4104) from EVTX files to detect obfuscated commands, encoded payloads, and living-off-the-land techniques. Uses python-evtx to extract and reconstruct multi-block scripts, applies entropy analysis and pattern matching for Base64-encoded commands, Invoke-Expression abuse, download cradles, and AMSI bypass attempts.
SKILL.md 本文
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 の順序で連結します。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- DCx7C5
- ライセンス
- MIT
- 最終更新
- 2026/5/9
Source: https://github.com/DCx7C5/ai-marketplace / ライセンス: MIT