디지털포렌식

[디지털포렌식] Windows 이벤트 로그와 EvtxECmd 사용법

junpal2 2024. 9. 24. 19:01

1. 이벤트 로그란?

Windows artifact 중 하나로 시스템 활동이 기록되어 있는 로그를 말한다. 운영체제와 앱은 로그를 기록함으로써 소프트웨어 및 하드웨어에서 발생한 중요한 이벤트들을 효과적으로 저장할 수 있다.

 

이벤트 로그에 저장되어 있는 기록들은 아래와 같은 내용들을 담고 있다.

  • 시스템 부팅/다운 기록
  • 로그인/로그아웃 기록
  • 네트워크 연결 추적
  • 스토리지 디바이스 사용 내역
  • 시스템 시간 변경 이벤트
  • OS 및 앱에서의 경고 및 알림 등

이벤트 로그의 분석은 시스템 및 애플리케이션에서의 이상 징후를 식별하거나 사고 발생 이후 관련 악성 활동의 흔적 분석 및 사용자 행동 분석에 이용 될 수 있다.

 

이 중 핵심적인 역할을 하며 가장 잘 알려진 것에는 Security, System, Application 이벤트 로그가 있다.

 

2. 이벤트 로그의 종류(Security/System/Application)

Security(보안 이벤트) 보안 중 발생한 이벤트 ex) 로그인 성공 및 실패 기록 등
System(시스템 이벤트) 운영체제 내에서 일어나는 이벤트 ex)드라이브 오류 등
Applicaiton(어플리케이션 이벤트) 운영체제 내에서 실행되는 어플리케이션에서 기록된 이벤트 ex)경고, 비정상적인 작동 기록 등

 

  • 시스템 부팅/다운 기록
부팅 System 12 "The operating system started at system time ..."
System 6005 "The Event log service was started."
다운/잠자기 모드 System 13 "The operating system is shutting down at system time ..."
System 42 "The system is entering sleep."
System 1074 "The process OOO has initiated the restart (or the power off)."
System 6006 "The Event log service was stopped."
  • 계정 생성/변경/삭제 기록
계정 관련 동작 Security 4720 사용자 계정 생성
4722 사용자 계정 활성화
4723 계정 패스워드 변경 시도
4724 계정 패스워드 초기화 시도
4725 사용자 계정 비활성화
4726 사용자 계정 삭제
4738 사용자 계정 변경
4740 사용자 계정 잠금
4781 사용자 계정 이름 변경
  • 계정 로그인/로그아웃 기록
로그인 Security 4624 로그인 성공
Security 4625 로그인 실패
Security 4648 명시적 인증을 통한 로그인
*로그인 Security 4672 특별권한 할당
로그아웃 Security 4634 로그아웃
Security 4647 사용자가 시작한 로그아웃
  • 시스템 시간 변경
시스템 시간 변경 Security 4616 시스템 시간 변경
System 1 시스템 시간 변경

3. 이벤트 로그 분석

이벤트 로그를 분석하는 툴은 Windows Event Viewer, Microsoft Message Analyzer, FullEventLogView, EvtxECmd 등이 있다.

이 중 EvtxECmd가 무엇인이 알아보고 사용법에 관해 이야기해보자.

 

EvtxECmd는 이름에서 알 수 있듯, cmd에서 이용할 수 있는 툴이다. 설치 후 cmd를 켜 EvtxECmd를 실행시키면 cmd 창 내에서 이벤트 로그에 관한 정보들을 확인할 수 있다.

https://github.com/EricZimmerman/evtx

 

GitHub - EricZimmerman/evtx: C# based evtx parser with lots of extras

C# based evtx parser with lots of extras. Contribute to EricZimmerman/evtx development by creating an account on GitHub.

github.com

위 github 링크에서 무료로 다운로드 받을 수 있다.

github에서 다운로드 받는 법을 잘 모르겠으면 아래 링크에서 다운로드하면 된다.

https://ericzimmerman.github.io

 

MDwiki

 

ericzimmerman.github.io

 

관리자 권한으로 cmd를 켜서 EvtxECmd를 실행시켜주면 아래 화면과 같이 프로그램 내에서 사용할 수 있는 명령어에 관해 설명해주며 프로그램이 실행된다.(관리자 권한으로 cmd를 켜지 않아도 실행은 되나 나중에 특정 기능들을 수행함에 있어 권한이 제한될 수 있음.) 이를 참고하거나 구글링을 통해 본인이 원하는 기능에 맞춰 명령어를 입력해 이용해주면 된다.

실습 예시

- 로그 파일 파싱

EvtxECmd에서 가장 많이 사용되는 기능 중에 하나는 로그 파일을 파싱하는 것이다. 이를 위해서는 위의 옵션 중 -f 옵션을 사용하면 된다.

>>./EvtxECmd -f "파싱하려는 파일의 경로"

분석한 결과는 cmd 화면에 출력되며, 이는 EvtxECmd.exe가 위치하고 있는 폴더 속 result.csv 폴더에 또 저장된다. 이벤트명, 이벤트가 발생한 시각, 이벤트 ID 등이 저장되어 있으며 필드가 나누어져 있기 때문에 필요한 것을 찾아야 하는 경우 유용하게 이용할 수 있다. (Ctrl+f 이용 시 더 빠르게 검색 가능)

만약, 이렇게 저장되는 csv 파일을 다른 형태로 저장하고 싶다면 위의 옵션들 중 세번째 이하 옵션들을 이용해주면 된다. 예를 들어, json 형태로 저장하려고 한다면 아래와 같이 입력하면 된다.

>>./EvtxECmd -f "파싱하려는 파일의 경로" --json "결과 파일을 저장할 경로"

 

 

 

감사합니다!

 

 

 

*Windows 가상머신을 이용한 실습법입니다.