ETL File analysis in live

* TIP 글은 Case 분석 시 참고할만한 내용 혹은 분석 과정에서 발견한 흔적에 대해 실험하고 연구한 내용을 간단히 작성한 글입니다.
This post is related case study or DFIR artifacts research.

* 본 글에서 상세한 내용은 언급되지 않습니다. 자세한 내용은 junhyeong.lee@plainbit.co.kr 메일로 연락 주시면 감사하겠습니다.
This post is so simple, If you are interested contact to me(junhyeong.lee@plainbit.co.kr)

TIP!

ETL(Event Tracing Log)는 ETW(Event Tracing for Windows) 기능에 의해 생성되는 로그이다. 이벤트 로그(Event Log) 보다 더 원자(atom) 단위에 가까운 로그로 이벤트 로그에 기록되지 않는 유용한 정보들이 ETL 로그 파일(.etl)에 기록되어 있다.

ETW Structure (from MSDN)

ETL 로그 파일 목록

ETL Log file list

ETL 로그 파일을 분석할 수 있는 도구는 Microsoft Analyzer Windows Event Viewer 등 많지만 별도의 도구를 설치하지 않고 윈도 운영체제 명령어인 tracerpt 명령을 이용해 분석할 수 있다.

C:\Users\PUSER>tracerpt /?

Microsoft ® TraceRpt.Exe (10.0.22621.1)

사용법:
  tracerpt <[-l] <value [value [...]]>|-rt <session_name [session_name [...]]>> [옵션]

옵션:
  -?                            상황에 맞는 도움말 표시
  -config <filename>            명령 옵션을 포함하는 설정 파일
  -y                            모든 질문에 대해 확인 절차 없이 yes로 답합니다.
  -f <XML|HTML>                 보고서 형식입니다.
  -of <CSV|EVTX|XML>            덤프 형식이며 기본값은 XML입니다.
  -en <ANSI|Unicode>            출력 파일 인코딩. CSV 출력 형식의 경우에만 허용됩니다.
  -df <filename>                Microsoft 특정 계산/보고 스키마 파일입니다.
  -import <filename [filename [...]]> 이벤트 스키마 가져오기 파일입니다.
  -int <filename>               해석된 이벤트 구조를 지정된 파일로 덤프합니다.
  -rts                          이벤트 추적 헤더에 있는 보고서 원시 타임스탬프입니다. -o에 한해 함께 사용할 수 있고
                                -report 또는 -summary와는 함께 사용할 수 없습니다.
  -tmf <filename>               추적 메시지 형식 정의 파일입니다.
  -tp <value>                   TMF 파일 검색 경로이며 ';'으로 구분하여 경로를 여러 개 지정할 수 있습니다.
  -i <value>                    공급자 이미지 경로를 지정합니다. 일치하는 PDB는 기호 서버에 배치됩니다. ';'으로 구분
                                하여 경로를 여러 개 지정할 수 있습니다.
  -pdb <value>                  기호 서버 경로를 지정합니다. ';'으로 구분하여 경로를 여러 개 지정할 수 있습니다.
  -gmt                          WPP 페이로드 타임스탬프를 GMT 시간으로 변환합니다.
  -rl <value>                   1에서 5까지의 시스템 보고서 수준이며 기본값은 1입니다.
  -summary [filename]           요약 보고서 텍스트 파일로 기본값은 summary.txt입니다.
  -o [filename]                 텍스트 출력 파일. 기본값은 dumpfile.xml입니다.
  -report [filename]            텍스트 출력 보고서 파일로 기본값은 workload.xml입니다.
  -lr                           낮은 제한 수준; 이벤트 스키마와 일치하지 않는 이벤트를 찾기 위해 최상의 노력을 기울이
                                십시오.
  -export [filename]            이벤트 스키마 내보내기 파일입니다. 기본값은 schema.man입니다.
  [-l] <value [value [...]]>    처리할 이벤트 추적 로그 파일
  -rt <session_name [session_name [...]]> 실시간 이벤트 추적 세션 데이터 원본

예:
  tracerpt logfile1.etl logfile2.etl -o logdump.xml -of XML
  tracerpt logfile.etl -o logdmp.xml -of XML -lr -summary logdmp.txt -report logrpt.xml
  tracerpt logfile1.etl logfile2.etl -o -report
  tracerpt logfile.etl counterfile.blg -report logrpt.xml -df schema.xml
  tracerpt -rt "NT Kernel Logger" -o logfile.csv -of CSV

tracerpt /help

tracerpt 도구를 이용해 csv evtx 파일 포맷으로 로그 내용을 변환할 수 있다. 이벤트 로그나 ETL 로그 파일은 레코드별로 가지고 있는 내용의 메시지 포맷이 로컬 dll 파일에 저장되어 있기 때문에 정확한 이벤트 로그 메시지를 확인하기 위해선 로컬에서 이벤트 로그를 분석해 그 목록을 획득해야 한다. 별도로 파일을 가져와 분석할 때는 정확한 메시지를 얻지 못할 수 있다.

C:\Users\PUSER\Desktop>tracerpt energy-trace.etl -o engergy-trace.csv -of CSV

입력
----------------
파일:
     energy-trace.etl

100.00%

출력
----------------
덤프 파일:           engergy-trace.csv

명령이 올바르게 실행되었습니다.

Export etl log to csv file

Export result

ETL 생성 및 분석 도구