Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/olafhartong/sysmon-modular
Defensive ToolsDigital ForensicsIntrusion DetectionIncident ResponseLog Analysis
GitHubolafhartong/sysmon-modular

sysmon-modular

A repository of sysmon configuration modules

リポジトリを見る
3.1k65311日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

sysmon-modular | 誰でもカスタマイズできるSysmon設定リポジトリ

license Maintenance GitHub last commit Build Sysmon config with all modules Twitter Discord Shield

これは、モジュール式に構成された、Microsoft Sysinternals Sysmon ダウンロードはこちら の設定リポジトリで、特定の設定をより簡単に保守・生成できるようにしたものです。

これらの設定はすべて出発点と考えるべきであり、環境ごとのチューニングを強く推奨します。

注記: FileExecutableイベントからさらに価値を引き出すには、最新版のLOLdrivers設定も設定にマージすることを検討してください。ファイルを取得して29_file_execute_detectedフォルダに追加し、新しい設定を生成するだけで簡単に行えます。

リポジトリ内のsysmonconfig.xmlは、PowerShellスクリプトによるマージが成功し、Azure Pipelineの実行でSysmonによる読み込みが成功した後に自動生成されます。独自のモジュールを組み込んだカスタム設定の生成方法についてはこちら

生成済み設定


目次

  • 必要なアクション
    • カスタマイズ
    • 設定の生成
      • PowerShell
    • カスタム設定の生成
  • 使用方法
    • インストール
    • 既存設定の更新
  • Pythonジェネレータツール
  • Sysmonコミュニティ
  • 貢献
  • 詳細情報

以下のドキュメントに加えて、このプロジェクトの使用方法に関するビデオもあります。

このプロジェクトの使用方法


注意; 15より前のSysmonはこの設定と完全には互換性がありません

古いバージョンはブランチで引き続き利用できますが、現在のブランチほど完全ではありません

  • V8.x >> こちら
  • V9.x >> こちら
  • V10.4 >> こちら
  • V12.x >> こちら
  • V13.x / 14.x >> こちら

各バージョンの追加機能を理解するには、私の小さなブログ記事や新しい記事を参照するか、DerbyConのトークをご覧ください

注記: 保守、出力の均一性、管理容易性など、複数の明白な理由から、環境内で使用する設定の数を最小限にすることをお勧めします。ただし、ドメインコントローラー、サーバー、ワークステーションには調整した設定を作成してください。


必要なアクション

本番環境に導入する前に設定を確認することを強くお勧めします。これにより、可能な限り実用的なログを取得し、ノイズを可能な限り減らすことができます。

カスタマイズ

広く展開する前に、ご自身の環境にインストールして設定結果を確認する必要があります。たとえば、ウイルス対策ソフトウェアの動作を除外する必要があります。そうしないと、ログが役に立たない情報で埋め尽くされる可能性があります。

設定の生成

PowerShell

root@kitploit:~
$> git clone https://github.com/olafhartong/sysmon-modular.git
$> cd sysmon modular
$> . .\Merge-SysmonXml.ps1
$> Merge-AllSysmonXml -Path ( Get-ChildItem '[0-9]*\*.xml') -AsString | Out-File sysmonconfig.xml

カスタム設定の生成

以下の関数は mbmy に多大な感謝を捧げます

新しい関数: Find-RulesInBasePath - ベースパス(例: C:\folder\sysmon-modular)を受け取り、正規表現パターンに基づいて候補となるすべてのXMLルールファイルを検索します

例: PS C:\Users\sysmon\sysmon-modular> Find-RulesInBasePath -BasePath C:\users\sysmon\sysmon-modular\ -OutputRules | Out-File available_rules.txt

Merge-AllSysmonXml の新しいパラメータ:

-BasePath - 指定されたパスから正規表現パターンに基づいて候補となるすべてのXMLルールファイルを検索し、マージします

例: PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\

-ExcludeList - -BasePathと組み合わせて、ルールのリストを受け取り、マージ前に見つかったルールから除外します

例: PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -ExcludeList C:\users\sysmon\sysmon-modular\exclude_rules.txt

-IncludeList - -BasePathと組み合わせて、ベースパスから利用可能なすべてのルールを検索しますが、リストで定義されたもののみをマージします

例: PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -IncludeList C:\users\sysmon\sysmon-modular\include_rules.txt

注記 BasePathはsysmon-modularファイルへのフルパスである必要があります(例: c:\tools\sysmon-modular)。そうしないと、PowerShellがそれらを特定できず、デフォルト設定になってしまいます。

Include/Excludeリスト形式の例:

root@kitploit:~
3_network_connection_initiated\include_native_windows_tools.xml
12_13_14_registry_event\exclude_internet_explorer_settings.xml
12_13_14_registry_event\exclude_webroot.xml
17_18_pipe_event\include_winreg.xml
19_20_21_wmi_event\include_wmi_create.xml
2_file_create_time\exclude_chrome.xml
3_network_connection_initiated\include_native_windows_tools.xml
3_network_connection_initiated\include_ports_proxies.xml
8_create_remote_thread\include_general_commment.xml
8_create_remote_thread\include_psinject.xml
9_raw_access_read\include_general_commment.xml

特定のイベントIDに対してすべてのsysmon-modularルールを含む設定を構築し(ディレクトリ全体を含める)、インポートされたルールのないすべてのイベントIDを無効にする

例:

root@kitploit:~
# generate the config
$sysmonconfig =  Merge-AllSysmonXml  -BasePath . -IncludeList $workingFolder\include.txt -VerboseLogging -PreserveComments

# flip off any rule groups where rules were not imported
foreach($rg in $sysmonconfig.SelectNodes("/Sysmon/EventFiltering/RuleGroup [*/@onmatch]"))
{
    $ruleNodes = $rg.SelectNodes("./* [@onmatch]")

    if(     $ruleNodes -eq $null `
        -or $ruleNodes.ChildNodes.count -gt 0)
    {
        # no rule nodes found (unlikely) or more than one rule found
        continue
    }

    # RuleGroup with only one rule node
    $ruleNode = $ruleNodes[0]

    if($ruleNode.onmatch -eq "exclude" -and $ruleNode.ChildNodes.count -eq 0 )
    {
        $message = "{0} {1} has no matching conditions.  Toggled to 'include' to limit output" -f $ruleNode.Name,$rg.Name
        Write-Warning $message

        $ruleNode.onmatch = "include"
        $comment = $sysmonconfig.CreateComment($message)
        $rg.AppendChild($comment) | Out-Null
    }
}

Include/Excludeリスト形式の例(ルール/イベントファミリ全体の場合):

root@kitploit:~
1_process_creation
5_process_ended
11_file_create
23_file_delete
7_image_load
17_18_pipe_event

使用方法

インストール

管理者権限で実行してください

root@kitploit:~
sysmon.exe -accepteula -i sysmonconfig.xml

既存設定の更新

管理者権限で実行してください

root@kitploit:~
sysmon.exe -c sysmonconfig.xml

Pythonジェネレータツール

これはcnnrshdによって作成された新機能です。

優先度ベースのルールソート

  1. 既存のIncludeリストと同様の形式に基づいてマージできるシンプルなPythonスクリプト - 唯一の違いは、filepathとpriorityの2列を持つCSVを受け取ることです
  2. csvファイルを使用してフォーマットされた設定
  3. シンプルなテンプレート
  4. Schemaversionは動的で、提供されたルールの最高スキーマバージョンに基づきます。

このスクリプトを使用して生成された設定はコメントを維持し、適切なXMLインデントが適用されるため、読みやすさが向上し、ルールファイルの相互参照が容易になります。

実行例:

root@kitploit:~
python merge_sysmon_configs.py config_lists/default_list/default_list.csv -f csv -b templates/sysmon_template.xml  -o test.xml

この設定生成方法はまだ新しく実験的なものです。MDE拡張や除外のみバージョンなどのカスタムバージョンにはまだ対応していません。


Sysmonコミュニティ

主要なSysmon設定は3つあります:

  • @SwiftOnSecurity: 多くの設定に関する優れた入門解説。1つのコマンドで始められます https://github.com/SwiftOnSecurity/sysmon-config/.

  • @cyb3rops: SwiftOnSecurityのフォークで、最先端かつ積極的です。**https://github.com/Neo23x0/sysmon-config

  • @olafhartong: このリポジトリ。詳細なルールノートによるガイド付きレスポンスとSIEMのために、非常に保守しやすいことに焦点を当てています。

  • @Carlos_Perezによる優れたコミュニティガイド: https://github.com/trustedsec/SysmonCommunityGuide

貢献

プルリクエスト / イシューチケット、新しい追加は大いに歓迎します!

詳細情報

このリポジトリに関する一連のブログ記事を開始しました;

  • 安価なエンドポイント検出のスーパーパワー - パート1 - MITRE ATT&CK、Sysmon、そして私のモジュラー設定

  • 安価なエンドポイント検出のスーパーパワー - パート2 - 展開とメンテナンス

  • 安価なエンドポイント検出のスーパーパワー - パート3 - Sysmon改ざん

  • SysmonとMicrosoft Defender for Endpointの比較

MITRE ATTACK

Sysmonが検出できる場合は常に、すべての設定をATT&CKフレームワークにマッピングするよう努めています。これは検出につながる可能性のある可能性のあるログエントリであり、そのテクニックに対する唯一のテレメトリではない場合があることに注意してください。さらに、そのルールに関連するテクニックが他にもある可能性がありますが、マッピングしたものは私が最も可能性が高いと判断したものです。

ツールをダウンロード
種類設定説明
デフォルトsysmonconfig.xmlバランスの取れた設定で、最も使用されています。詳細はこちら
デフォルト+sysmonconfig-with-filedelete.xmlバランスの取れた設定で、最も使用されています。FileDeleteファイルの保存を含む詳細情報
冗長sysmonconfig-excludes-only.xml非常に冗長な設定で、すべてのイベントが含まれ、除外モジュールのみが適用されます。検証なしに本番環境で使用しないでください。大量のデータを生成し、パフォーマンスに影響を与える可能性があります。詳細はこちら
超冗長sysmonconfig-research.xml極度に冗長な設定です。このファイルから期待されるログ量は非常に多く、本当に本番環境では使用しないでください! この設定は研究専用であり、CPU/メモリを大幅に消費します。調査対象のテクニックを実行する前のみに有効にし、完了したら軽量な設定を読み込んでください。
MDE拡張sysmonconfig-mde-augmentation.xmlDefender for Endpointを拡張するための設定で、情報を補完し、重複を可能な限り少なくすることを意図しています。これはデフォルト/バランス設定に基づいており、Sysmonのすべてのイベントを生成するわけではありません。設定内にコメントがあります。IRの利点のため、除外のみの設定を使用し、補完となるイベントのみを取り込むことを検討してください。(詳細な根拠を説明するブログは近日公開予定)