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

Читатель файлов Event Trace Log на чистом 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 manifest base provider
  • TraceLogging
  • MOF for kernel log (MOF для журнала ядра)

Как использовать etl-parser?

etl-parser предлагает два скрипта. Первый скрипт, etl2xml, преобразует все известные события ETL в XML:

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

Второй скрипт, 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

Кроме того, вы можете установить etl-parser с помощью setup.py:

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

Отсутствует парсер?

Если вы столкнулись с ошибкой парсинга, пожалуйста, создайте issue в репозитории Airbus CERT на GitHub.

Зачем нужен парсер ETL?

Формат журналов EVTX довольно хорошо задокументирован, и сегодня доступно множество библиотек и инструментов для работы с ним. Этого нельзя сказать о ETL: на момент разработки не было известно ни одного значимого проекта с открытым исходным кодом, и формат ETL плохо задокументирован.

ETL широко используется системными программистами Windows для записи полезных артефактов:

  • C:\Windows\System32\WDI\LogFiles\BootPerfDiagLogger.etl
  • C:\Windows\System32\WDI\LogFiles\ShutdownPerfDiagLogger.etl
  • NetTrace.etl через netsh
  • C:\Windows\System32\WDI\<GUID>\<GUID>\snapshot.etl
  • и т.д.

Многие новые API, такие как Tracelogging или WPP, основаны на ETW. Эти API широко используются разработчиками Microsoft в Windows. Tracelogging поддерживается etl-parser, WPP будет добавлен в будущих версиях.

Microsoft предлагает множество потребителей, создающих трассы ETL, таких как xperf.exe, logman.exe, netsh.exe и т.д.

Мы считаем, что это настоящая золотая жила для аналитиков DFIR.

Благодарности

  • Этот проект находится под авторскими правами Airbus Computer Emergency Response Team (CERT) и распространяется под лицензией Apache 2.0
  • Geoff Chappel — за всю информацию в его блоге

Лицензия

etl-parser выпускается под лицензией Apache 2.0.

Скачать инструмент