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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Winshark — ETWを計装するためのWiresharkプラグイン | Kitploit
ツール/GitHubGitHub/airbus-cert/winshark
パケットスニッフィングと分析フォレンジックネットワークセキュリティログ分析
GitHubairbus-cert/winshark

Winshark

ETWを計装するためのWiresharkプラグイン

リポジトリを見る
593604年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Winshark

Wireshark の Windows イベントトレーシング (Event Tracing for Windows) 用プラグイン

Microsoft Message Analyzer は廃止され、そのダウンロードパッケージは 2019 年 11 月 25 日に microsoft.com サイトから削除されました。 Wireshark は膨大なネットワークプロトコルディセクタライブラリを備えています。 Windows に最適なツールは、あらゆる種類のログを収集・混合できるものです。

Winshark の登場です!!!

Winshark は ETW (Event Tracing for Windows) をキャプチャするための libpcap バックエンドと、マシン上の既知の ETW プロバイダー向けのすべてのディセクタを生成するジェネレーターを基盤としています。 Windows オペレーティングシステム上のほぼすべてのログ手法をカバーするために、Tracelogging サポートも追加しました。

Winshark と Windows のパワーにより、同じツールでネットワークとイベントログの両方をキャプチャできるようになりました。Windows は多くの ETW プロバイダーを公開しており、特にネットワークキャプチャ用のものもあります ;-) 外部 NDIS ドライバーはもう必要ありません。

これは使用面での大きな改善です:

  • あらゆる種類のイベント(システムとネットワーク)を混在させることが可能
  • Wireshark のフィルタリングをイベントログに適用可能
  • プロセス ID でネットワークとシステムログを追跡可能!!!
  • Windows ログとネットワークトレースを単一の pcap ファイルにキャプチャ可能!!!
  • NpEtw ファイルシステムフィルタドライバーによる名前付きパイプのキャプチャ

以下の操作を行いたい場合:

  • Winshark を使用したネットワークトラフィックのキャプチャ
  • プロセス ID によるフィルタリング
  • 名前付きパイプトラフィックのキャプチャ

インストール

事前に Wireshark をインストールしてください。 その後、Winshark をインストールしてください。

現時点では、Wireshark に DLT_USER 147 を ETW として解釈するよう指示する必要があります。これは、新しいデータリンクに libpcap からの真の値がまだ割り当てられていないためです。 専用の DLT 値を取得するためのプルリクエストを提出しましたが、まだ保留中です。 これを行うには、Edit パネルから Preferences タブを開きます。Protocols の下の DLT_USER を選択し、カプセル化テーブルを Edit します:

DLT_USER 設定

そして、DLT = 147 に winshark を設定します:

DLT 147 に ETW プロトコルを設定

お楽しみください!

ビルド

Winshark は cmake を使用します:

root@kitploit:~
git clone https://github.com/airbus-cert/winshark --recursive
mkdir build_winshark
cd build_winshark
cmake ..\Winshark
cmake --build . --target package --config release

動作の仕組み

Winshark の動作を理解するには、まず ETW の仕組みを理解する必要があります。

ETW は 3 つの部分に分かれています:

  • ログを出力し、一意の ID で識別されるプロバイダー (Provider)
  • 1 つ以上のプロバイダーを混合するセッション (Session)
  • セッションから出力されたログを読み取るコンシューマー (Consumer)

プロバイダー

プロバイダーにはさまざまな種類があります。最も一般的で使用可能なのは、登録済みプロバイダーです。登録済みプロバイダー (マニフェストベースのプロバイダー) は、レジストリキー HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Publishers の下に記録されます。 これにより、プロバイダー ID と dll の関連付けが行われます。マニフェストは関連する dll 内のリソース名 WEVT_TEMPLATE に含まれています。

マシンに登録されているすべてのプロバイダーを logman で一覧表示できます:

root@kitploit:~
logman query providers

特定のプロセスにバインドされているすべてのプロバイダーを一覧表示することもできます:

root@kitploit:~
logman query providers -pid 1234

名前なしで表示されるものもあります。これらの種類のプロバイダーは、WPP または TraceLogging ログを生成できます。

セッション

セッションは、複数のプロバイダーからログを収集するために作成されます。 logman を使用して独自のセッションを作成できます:

root@kitploit:~
logman start Mysession -p "Microsoft-Windows-RemoteDesktopServices-RdpCoreTS" -ets -rt
logman update MySession -p "Microsoft-Windows-NDIS-PacketCapture" -ets -rt

管理コマンドラインからアクティブなすべてのセッションを一覧表示できます:

root@kitploit:~
logman query -ets

Data Collector Set                      Type                          Status
-------------------------------------------------------------------------------
...
EventLog-Application                    Trace                         Running
EventLog-Microsoft-Windows-Sysmon-Operational Trace                         Running
EventLog-System                         Trace                         Running
...
The command completed successfully.

ここでは、イベントロガーが Application セッション、System セッション、Sysmon からログをキャプチャするために使用する興味深いセッションを確認できます。

コンシューマー

コンシューマーは、セッションからログを読み取る単純なプログラムです。よく知られているコンシューマーは次のとおりです:

  • イベントロガー
  • logman
  • netsh
  • tracert

そして今度は Winshark です!!! Winshark は単純な ETW コンシューマーです。実際の基盤となるコンシューマーは libpcap (Windows では wpcap.dll) であり、これはパケットキャプチャを担当するプロセス dumpcap.exe によって使用されます。

Wireshark

Wireshark は 3 つの部分に分かれています (これも同様です):

  • Wireshark.exe - プロトコルの解析とディセクションを担当
  • dumpcap.exe - パケットのキャプチャを担当
  • libpcap (wpcap.dll) - dumpcap.exe とオペレーティングシステムとのインターフェースを担当

Winshark は最初と最後の部分に位置します。ETW イベントをキャプチャするための libpcap のバックエンドを実装しています。 Winshark は ETW セッションで動作するため、キャプチャ開始時にネットワークインターフェースの代わりに ETW セッションを選択できます。 次に、Winshark はインストール手順で、コンピュータに登録されている各マニフェストベースのプロバイダー用の lua ディセクタを生成します。 Winshark は、tracelogging ベースのプロバイダーも解析できます。

ネットワークトラフィックのキャプチャ

Winshark を使用してネットワークトラフィックをキャプチャするには、2 つの簡単な方法があります:

pktmon (パケットモニター)

pktmon は、Windows 用の組み込みのクロスコンポーネントネットワーク診断ツールです。パケットキャプチャ、パケットドロップ検出、パケットフィルタリングとカウントに使用できます (RS5 以降でサポート)

(https://docs.microsoft.com/ja-jp/windows-server/networking/technologies/pktmon/pktmon)

root@kitploit:~
pktmon start -c -m real-mode

その他のオプションについては、pktmon -h を実行できます (管理者として)

例: パケットのフィルターを追加する

root@kitploit:~
pktmon filter add -t icmp
pktmon filter add -t tcp -p 80

次に、管理者権限で Wireshark を起動し、Pktmon インターフェースを選択します: ETW インターフェース選択

これでパケットキャプチャが開始されます:

ETW パケットキャプチャ

netsh trace

root@kitploit:~
netsh.exe trace start capture=yes report=no correlation=no

そして、Microsoft-Windows-NDIS-PacketCapture プロバイダーに関連付けられた ETW セッションを作成します:

root@kitploit:~
logman start Winshark-PacketCapture -p "Microsoft-Windows-NDIS-PacketCapture" -rt -ets

次に、管理者権限で Wireshark を起動し、Winshark-PacketCapture インターフェースを選択します:

ETW インターフェース選択

これでパケットキャプチャが開始されます:

ETW パケットキャプチャ

プロセス ID によるフィルタリング

ETW は各パケットに送信者に関するメタデータを含むヘッダーを付加します。 そのうちの 1 つが送信元の プロセス ID です。これは従来の NDIS ドライバーによるパケットキャプチャからの大きな改善点です。 Wireshark のフィルターフィールドに次の式を入力するだけです:

root@kitploit:~
winshark.header.ProcessId == 1234

ETW パケットキャプチャ

名前付きパイプのキャプチャ

@kobykahane は、名前付きパイプで実行されるすべてのアクションに対して ETW を出力するファイルシステムフィルタドライバーを提供しています。

インストール

  • テストモードでドライバー署名チェックをパスする
root@kitploit:~
bcdedit /set testsigning on
  • NpEtwSetup.msi をインストール
  • 再起動
  • C:\Program Files\Wireshark\WinsharkUpdate.bat を管理者権限でダブルクリックして Winshark ディセクタを更新

キャプチャ

  • 管理者モードで cmd.exe を開く
  • ドライバーを起動
root@kitploit:~
sc start NpEtw
  • ETW セッションを作成
root@kitploit:~
logman start namedpipe -p NpEtw -ets -rt
  • Wireshark を起動し、namedpipe セッションを選択。お楽しみください!

ETW 名前付きパイプキャプチャ

SSTIC (情報技術および通信セキュリティに関するシンポジウム)

このプロジェクトは、SSTIC で行われた発表の一部です。

ツールをダウンロード