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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
etl-parser — 純粋なPythonで書かれたイベントトレースログファイルパーサー | Kitploit
ツール/GitHubGitHub/airbus-cert/etl-parser
リバースエンジニアリングフォレンジックデジタルフォレンジックログ分析
GitHubairbus-cert/etl-parser

etl-parser

純粋なPythonで書かれたイベントトレースログファイルパーサー

リポジトリを見る
15624103ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

etl-parser

純粋なPythonで書かれたイベントトレースログファイルリーダー

etl-parser は、ETL Windowsログファイルのための純粋なPython 3パーサーライブラリです。ETL は ETW のデフォルト形式であり、カーネルロガーのデフォルト形式でもあります。

etl-parser にはシステム依存関係がなく、Windows と Linux の両方で問題なく動作します。

この形式は文書化されていないため、Geoff Chappel のブログの情報と、Airbus CERTチームによるリバースエンジニアリング活動を統合しました。

ETL とは何か、そしてなぜ扱いにくいのでしょうか? ETL をコンテナと考えてください。動画ファイルにおける AVI のようなものです。ETL の読み取りは、適切なコーデックなしで AVI ファイルを読み取るのと同じくらいイライラさせられます。

etl-parser は、次のよく知られたログ形式のパーサーを含めることで、この問題を解決しようとしています。

  • ETW マニフェストベースのプロバイダー
  • TraceLogging
  • カーネルログ用の MOF

etl-parser の使い方は?

etl-parser は2つのスクリプトを提供します。 最初のスクリプト etl2xml は、既知のすべてのETLイベントをXMLに変換します。

root@kitploit:~
etl2xml -i example.etl -o example.xml

2番目のスクリプト etl2pcap は、netsh で作成されたネットワークキャプチャを pcap ファイル形式に変換します。

root@kitploit:~
netsh trace start capture=yes
netsh trace stop 

etl2pcap -i NetTrace.etl -o NetTrace.pcap

etl-parser をライブラリとして使用することもできます。

root@kitploit:~
from etl.etl import IEtlFileObserver, build_from_stream
from etl.system import SystemTraceRecord
from etl.perf import PerfInfo
from etl.event import Event
from etl.trace import Trace
from etl.wintrace import WinTrace

class EtlFileLogger(IEtlFileObserver):
    def on_system_trace(self, event: SystemTraceRecord):
        """Mof kernel message with Process Id and Thread Id"""
        mof = event.get_mof() # Invoke MOF parser

    def on_perfinfo_trace(self, event: PerfInfo):
        """Mof kernel message with timestamp"""
        mof = event.get_mof() # Invoke MOF parser

    def on_trace_record(self, event: Trace):
        """unknown"""

    def on_event_record(self, event: Event):
        """ETW event this is what you search"""
        # Choose the "parse_" function which corresponds to your event
        message = event.parse_tracelogging() # Invoke TraceLogging parser
        message = event.parse_etw() # Invoke Manifest based parser

    def on_win_trace(self, event: WinTrace):
        """unknown"""
        etw = event.parse_etw()

with open("example.etl", "rb") as etl_file:
    etl_reader = build_from_stream(etl_file.read())
    etl_reader.parse(EtlFileLogger())

インストール

etl-parser は pip から入手できます。

root@kitploit:~
pip install etl-parser

あるいは、setup.py を使用して etl-parser をインストールすることもできます。

root@kitploit:~
git clone https://github.com/airbus-cert/etl-parser.git
cd etl-parser
pip install -e .

パーサーが不足していますか?

解析エラーが発生した場合は、Airbus CERT GitHub リポジトリで Issue を開いてください。

なぜETLパーサーなのか?

EVTX ログ形式はかなりよく文書化されており、現在多くのライブラリやツールが利用可能です。しかし、ETL についてはそうではありません。開発時点では、既知の重要なオープンソースプロジェクトは存在せず、ETL 形式は十分に文書化されていません。

ETL は、Windows システムプログラマーによって有用なアーティファクトをログに記録するために広く使用されています。

  • C:\Windows\System32\WDI\LogFiles\BootPerfDiagLogger.etl
  • C:\Windows\System32\WDI\LogFiles\ShutdownPerfDiagLogger.etl
  • NetTrace.etl via netsh
  • C:\Windows\System32\WDI\<GUID>\<GUID>\snapshot.etl
  • など。

Tracelogging や WPP などの多くの新しい API は ETW に基づいています。これらの API は、Microsoft の開発者によって Windows で広く使用されています。Tracelogging は etl-parser で対応していますが、WPP は将来のリリースで対応予定です。

Microsoft は、xperf.exe、logman.exe、netsh.exe など、ETL トレースを作成する多くのコンシューマーを提供しています。

DFIR アナリストにとっての宝の山だと私たちは考えています。

クレジット

  • このプロジェクトは Airbus Computer Emergency Response Team (CERT) の著作権下にあり、Apache 2.0 ライセンスの下で配布されています
  • ブログの情報を提供してくれた Geoff Chappel 氏

ライセンス

etl-parser は Apache 2.0 ライセンスの下でリリースされています。

ツールをダウンロード