PowerShellロギングのイベントログのXMLファイルからマルウェアが実行された痕跡を検出するスクリプトです。
git clone https://github.com/Sh1n0g1/z9
cd z9
pip install -r requirements.txt
usage: z9.py [-h] [--output OUTPUT] [-s] [--no-viewer] [--utf8] input
positional arguments:
input Input file path
options:
-h, --help show this help message and exit
--output OUTPUT, -o OUTPUT
Output file path
-s, --static Enable Static Analysis mode
--no-viewer Disable opening the JSON viewer in a web browser
--utf8 Read scriptfile in utf-8 (deprecated)
python z9.py <入力ファイル> -o <出力JSONファイル名>
python z9.py <入力ファイル> -o <出力JSONファイル名> --no-viewer
パラメータ | 意味 |
---|---|
入力ファイル |
イベントログからエクスポートしたXMLファイル |
-o 出力JSONファイル名 |
z9の出力結果のファイル名 |
--no-viewer |
ビューワを起動しない |
例)
python z9.py util\log\mwpsop.xml -o sample1.json
python z9.py <入力ファイル> -o <出力JSONファイル名> -s
python z9.py <入力ファイル> -o <出力JSONファイル名> -s --utf8
python z9.py <入力ファイル> -o <出力JSONファイル名> -s --no-viewer
パラメータ | 意味 |
---|---|
入力ファイル |
PowerShellスクリプト(*.ps1) |
-o 出力JSONファイル名 |
z9の出力結果のファイル名 |
-s |
静的解析を実行する |
--utf8 |
入力ファイルがUTF-8 の時に指定する |
--no-viewer |
ビューワを起動しない |
例)
python z9.py malware.ps1 -o sample1.json -s
util/enable_powershell_logging.reg
を対象端末で右クリックし、「結合」を選択する- 再起動をする
- 以降、PowerShellスクリプトを実行するとすべてイベントログに記録される
util/collect_psevent.bat
を実行するutil/log
下にログが生成される- いずれのXMLファイルも本ツールにて精査が可能である
PowerShellのイベントログはどんどん蓄積されるため、特定のスクリプトのみのログが見たい場合は、一旦過去のログを削除する必要がある。
util/collect_psevent.bat
を管理者権限で実行する