Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
etl-parser — 순수 Python으로 작성된 이벤트 추적 로그 파일 파서 | Kitploit
도구/GitHubGitHub/airbus-cert/etl-parser
Reverse EngineeringForensicsDigital ForensicsLog Analysis
GitHubairbus-cert/etl-parser

etl-parser

순수 Python으로 작성된 이벤트 추적 로그 파일 파서

저장소 보기
15624103개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

etl-parser

순수 Python으로 작성된 이벤트 추적 로그(ETL) 파일 리더

etl-parser는 ETL Windows 로그 파일을 위한 순수 Python 3 파서 라이브러리입니다. ETL은 ETW의 기본 형식이자 커널 로거의 기본 형식입니다.

etl-parser는 시스템 종속성이 없으며 Windows와 Linux 모두에서 잘 동작합니다.

이 형식은 문서화되어 있지 않기 때문에 Geoff Chappel의 블로그 정보와 Airbus CERT 팀의 리버스 엔지니어링 활동을 결합했습니다.

ETL이란 무엇이며 왜 다루기 어려운가요? ETL을 컨테이너로 생각해보세요. 비디오 파일에서 AVI와 같습니다. 적절한 코덱 없이 AVI 파일을 읽는 것처럼 ETL을 읽는 것도 비슷하게 어렵습니다.

etl-parser는 다음과 같은 잘 알려진 로그 형식에 대한 파서를 포함하여 이 문제를 해결하려고 합니다:

  • ETW 매니페스트 기반 공급자
  • TraceLogging
  • 커널 로그용 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):
        """프로세스 ID 및 스레드 ID가 포함된 Mof 커널 메시지"""
        mof = event.get_mof() # MOF 파서 호출

    def on_perfinfo_trace(self, event: PerfInfo):
        """타임스탬프가 포함된 Mof 커널 메시지"""
        mof = event.get_mof() # MOF 파서 호출

    def on_trace_record(self, event: Trace):
        """알 수 없음"""

    def on_event_record(self, event: Event):
        """ETW 이벤트 - 이것이 당신이 찾는 것입니다"""
        # 이벤트에 해당하는 "parse_" 함수를 선택하세요
        message = event.parse_tracelogging() # TraceLogging 파서 호출
        message = event.parse_etw() # 매니페스트 기반 파서 호출

    def on_win_trace(self, event: WinTrace):
        """알 수 없음"""
        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 저장소에 이슈를 열어 주세요.

왜 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에서 광범위하게 사용합니다. etl-parser는 Tracelogging을 지원하며, 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 라이선스로 배포됩니다.

도구 다운로드