본문 바로가기

Information Security/Digital Forensic

[Digital Forensic] Windows Timeline (With DB Browser for SQLite)

반응형

- 혹시나 디지털 포렌식 전문가 2급 시험을 준비하는 사람들은 아래 게시물도 추가로 참조하길 바란다
https://isc9511.tistory.com/182

* Windows Timeline
- Windows 10(1803)부터 새롭게 제공된 기능으로, CDP(Connected Devices Platform) 서비스의 일부
- 사용자의 최근 활동 내역을 최대 30일까지 확인 가능한 기능 (Windows + Tab 버튼 / 작업표시줄의 작업 표시 버튼)
(단, Windows 11에서는 제외되었다. Win11 너무 불편...)

Windows Timeline 기능 (대부분 아실 것으로 예상한다)

- 시간에 따른 사용자 행위 추적과, 구체적인 응용 프로그램의 사용 시간의 확인이 가능하다
- 물론 이 경우는 본인의 로컬 PC나, 물리적으로 PC를 점유한 상태에서 분석하여 확인이 가능하다는 제한점이 있다

 

 

 

* Windows Timeline 활성화
- 해당 기능의 활성화 여부는 [설정] → [개인정보] → [활동기록] -> '이 장치에 내 활동 기록 저장' 체크를 한다

 

 

 

* ActivitiesCache.db
- 기능 활성화 및, 분석하는 PC 자체를 점유해서 분석한다면 위 방식으로 확인 및 분석을 진행하면 된다
- 하지만 포렌식이란게 역시 뜻대로 되지 않는 경우가 많고 그렇다면 별도 로그를 찾아야 한다.
- 관련 로그로 ActivitiesCache.db라는 파일이 있으며, SQLite 포맷의 DB 파일이다
- 저장 위치 : %UserProfile%\Appdata\Local\ConnectedDevicesPlatform\FOLDER(Account)\ActivitiesCache.db

폴더 경로는 'L.계정명'으로 구성

- 위 이미지에서도 알 수 있듯이, 폴더 경로는 'L.계정명'으로 Windows 10 Local 계정을 의미한다

- 단, 16자리 영문 숫자 혼합인 폴더는 MS 계정을 의미하니 차이에 유의할 것

  • ex) …\AppData\Local\ConnectedDevicesPlatform\a1b2c3d4e5f6h8\ActivitiesCache.db
  • AAD.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx : MS Azure AD ID / Office365 계정

 

 

 

* DB Browser for SQLite
- SQL로 작성된 DB 파일 탐색 및 편집과 쿼리 실행 등을 지원하는 프로그램
- 해당 툴은 .db 파일 뿐 아니라, 웹 History 파일 또한 업로드해도 확인 가능함
- 테이블에 각각 정보들이 직관적이라 확인이 수월한 편
1) 포렌식 소프트웨어에서 해당 경로의 ActivitiesCache.db 파일 추출

2) 분석 대상 DB 파일 열기

3) 분석할 테이블 선택
- 대부분 Activity Table의 분석에서 대다수의 정보가 확인 가능함
(이런 이유에서, 아래 예시는 Activity Table만 열거함)

4) Activity Table의 각 요소 및 설명

구성 요소 설명
AppID * 실행됐던 Application과 Platform을 JSON 포맷으로 기록



* Platform 유형
- host : 특정 행위가 Host 머신에서 이루어진 경우
- x_exe_path : 독립 실행 파일(무설치)인 경우
- windows_win32 : 설치된 응용 프로그램인 경우
- windows_universal : UWP(Universal Windows Platform) 응용 프로그램인 경우
- 그 외, Android, ios, web 등
AppActivityId * 실행됐던 파일명 (응용 프로그램이 아닌, 사용자가 작성하고 열어본 파일을 의미)

- Edge 브라우저에 한해서는, 접속했던 URL 주소의 확인도 가능
Activity Type * 파일과 프로그램의 실행 등 활동 유형을 숫자별로 기록

- Activity Type 5 : 파일 및 프로그램을 실행함
- Activity Type 6 : 응용 프로그램이 활성화 되어 사용중(종료 X)
- Activity Type 16 : 복사(Copy)/붙여넣기(Paste) 작업
(Type 16은 Group 칼럼에 Copy 등으로 기록됨)
Activity Status * 타임라인의 타일의 상태 정보 기록

- Activity Status 1 : 응용 프로그램이 열려있음
- Activity Status 2 : 이전의 Active Entry가 업데이트 됨
- Activity Status 3 : 타임라인에서 타일이 제거됨
Start Time * 프로그램 시작 시간을 의미(출력 값은 Dcoding 하거나, 출력 방식을 변경해야 함)

- Activity Type 5인 경우 : 응용 프로그램을 실행한 시간(단순 프로그램 실행만 된 상태)
- Activity Type 6인 경우 : 응용 프로그램이 활성화된 시간(직접 사용자가 제어하는 상태)


* Dcode를 통한 값 확인


* DB Browser의 출력 시간 형식의 변경
- 단순히 우클릭해서 속성을 찾아 변경하면 된다
End Time * 프로그램 종료 시간을 의미 (출력 값은 Dcoding 하거나, 출력 방식을 변경해야 함)

- Activity Type 5인 경우 : 응용프로그램 종료 시각 (Last Modified Time과 동일)
- Activity Type 6인 경우 : 응용프로그램이 비활성화된 시각
(사용자가 커서로 직접 컨트롤 하지 않게 비활성화 된 상태 / 다른 프로그램 사용으로 이동 등)
LastModifiedTime * 마지막 프로그램 수정 시간
즉, 활동이 마지막으로 기록된 시간으로 End Time과 일반적으로 동일함
Expiration Time * 타임라인의 작업 기록이 만료되는 시간
- 즉, Last Modified Time + 30일
Payload * 실행한 응용 프로그램 및 파일에 대한 세부 정보를 기록
1) Activity Type 5인 경우 : 타임라인에 보여지는 정보 확인

- Displaytext : 열었던 파일명 또는 URL 주소
- appDisplayName : 응용 프로그램 이름
- Description : 열었던 파일 / URL의 전체 경로 / URL


2) Activity Type 6인 경우 : 실행한 응용프로그램 및 파일에 대한 세부 정보를 기록

- Type : 활동 유형
- activeDurationSeconds : 활동 지속 시간(초)
- userTimezone : 타임존 정보

- 이외, 분석 예시는 다양하게 있으나 보통 시간 정보, 사용한 응용 프로그램, 경로, 파일명 등을 파악하는 용도로 주로 확인된다

 

 

 

반응형