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 생성 및 분석 도구

You've successfully subscribed to PLAINBIT
Great! Next, complete checkout to get full access to all premium content.
Error! Could not sign up. invalid link.
Welcome back! You've successfully signed in.
Error! Could not sign in. Please try again.
Success! Your account is fully activated, you now have access to all content.
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.