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 링크에서 무료로 다운로드 받을 수 있다.
github에서 다운로드 받는 법을 잘 모르겠으면 아래 링크에서 다운로드하면 된다.
https://ericzimmerman.github.io
관리자 권한으로 cmd를 켜서 EvtxECmd를 실행시켜주면 아래 화면과 같이 프로그램 내에서 사용할 수 있는 명령어에 관해 설명해주며 프로그램이 실행된다.(관리자 권한으로 cmd를 켜지 않아도 실행은 되나 나중에 특정 기능들을 수행함에 있어 권한이 제한될 수 있음.) 이를 참고하거나 구글링을 통해 본인이 원하는 기능에 맞춰 명령어를 입력해 이용해주면 된다.
실습 예시
- 로그 파일 파싱
EvtxECmd에서 가장 많이 사용되는 기능 중에 하나는 로그 파일을 파싱하는 것이다. 이를 위해서는 위의 옵션 중 -f 옵션을 사용하면 된다.
>>./EvtxECmd -f "파싱하려는 파일의 경로"
분석한 결과는 cmd 화면에 출력되며, 이는 EvtxECmd.exe가 위치하고 있는 폴더 속 result.csv 폴더에 또 저장된다. 이벤트명, 이벤트가 발생한 시각, 이벤트 ID 등이 저장되어 있으며 필드가 나누어져 있기 때문에 필요한 것을 찾아야 하는 경우 유용하게 이용할 수 있다. (Ctrl+f 이용 시 더 빠르게 검색 가능)
만약, 이렇게 저장되는 csv 파일을 다른 형태로 저장하고 싶다면 위의 옵션들 중 세번째 이하 옵션들을 이용해주면 된다. 예를 들어, json 형태로 저장하려고 한다면 아래와 같이 입력하면 된다.
>>./EvtxECmd -f "파싱하려는 파일의 경로" --json "결과 파일을 저장할 경로"
감사합니다!
*Windows 가상머신을 이용한 실습법입니다.
'디지털포렌식' 카테고리의 다른 글
[디지털포렌식] NTFS Log Tracker 사용법 (0) | 2024.11.25 |
---|---|
[디지털포렌식] Jumplist(점프리스트)와 Jumplist Explorer 사용법 (4) | 2024.11.11 |
[디지털포렌식] Thumbnail Cache(썸네일 캐시), Icon Cache(아이콘 캐시)와 Thumbcache Viewer 사용법 (1) | 2024.10.12 |
[디지털포렌식] 웹 아티팩트 분석 BrowsingHistoryView, Hindsight 사용법 (1) | 2024.10.12 |
[디지털포렌식] Windows Prefetch와 PECmd, WinPrefetchView 사용법 (4) | 2024.10.12 |