윈도우 레지스트리, JumpList

Sooboon·2023년 8월 1일
0

Digital Forensic Study

목록 보기
2/4
post-thumbnail

Writer: 수분





윈도우 레지스트리


레지스트리(Registry)란 윈도우계열 시스템에서 사용하는 시스템 구성 정보를 저장한 데이터베이스를 지칭.

즉 윈도우 설정 정보.

하이브(Hive)란 운영체제가 시작되거나 사용자가 로그인 시의 지원파일 집합 메모리, 로드되는 레지스트리키, 하위키 이다.

  • HKEY_CLASSES_ROOT (HKCR) : 파일 확장자 정보 & COM 객체정보
  • HKEY_CURRENT_USER (HKCU) : 현재 로그인된 사용자 프로파일 정보
  • HKEY_LOCAL_MACHINE (HKLM) : 시스템의 하드웨어, 소프트웨어 설정 및 기타 환경정보
  • HKEY_USERS (HKU) : 시스템의 모든 사용자와 그룹에 관한 프로파일 정보
  • HKEY_CURRENT_CONFIG (HKCC) : 레지스트리, 하이브 정보 저장 X, 현재 사용중인 하드웨어 프로파일 정보를 유지하는 레지스트리 키에대한 포인터 or 바로가기 (즉 HKLM 바로가기)



파일위치


HKLM → C: windowsSystem32config

HKU → %userprofile%ntuser.dat

​ → System : 윈도우 시스템과 관련된 모든 설정 정보

EXE → HKLM → Software : 윈도우 시스템에 설치된 모든 응용프로그램 정보

​ → SAM : 윈도우 시스템에 등록된 계정 정보의 접속, 접속 기록

사용자 정보 → HKU → USER_SID : 각 사용자의 설정 정보 (NTUSER.dat)






윈도우 JumpList




점프리스트란?


점프리스트는 응용프로그램 별로 그룹화 하고 최근에 실행한 파일에 대한 링크를 관리하는 파일.

윈도우7부터 새롭게 추가된 아티팩트로 UsserAssist, Recent 등의 아티팩트와 비슷하지만 좀 더 지역성의 원리를 활용한 기능.

응용프로그램 실행 시 작업 표시줄에 표시되는 아이콘을 우클릭 했을 때 최근 항목, 작업 항목, 자주 사용하는 항목, 사용자 고정 목록이 표시되는데 이것이 바로 점프리스트.




점프목록의 종류


  1. Recent : 사용자가 최근 접근한 파일이나 폴더를 의미.
  2. Frequent : 사용자가 빈번히 접근한 파일이나 폴더.
  3. Tasks : 응용프로그램에서 지원하는 작업 목록.
  4. Pinned : 사용자가 고정 시킨 작업 목록.



포렌식적 관점


포렌식 관점에서 보면 사용자가 일부로 삭제하지 않는 이상 계속 관련 로그를 저장한다는 점에서 중요한 아티팩트 중 하나가 될 수 있음.

점프리스트 아티팩트를 포렌식 관점에서 봤을 때 얻을 수 있는 정보는 다음과 같다.

  • 문서, 프로그램 실행 유무

  • 자주 사용하는 문서, 프로그램 정보

  • 최근에 사용한 문서, 프로그램 정보

  • 사용자의 응용프로그램 사용 흔적 및 패턴을 보다 쉽게 파악이 가능

  • 대부분 많이 사용하는 윈도우 7에서 부터 기본 활성화 됨. 그렇기에 대부분 사용하는 컴퓨터에서는 점프목록이 활성화 되어있음

  • 최근 접근 문서(Recent)나 UserAssist 키보다 더많은 정보를 포함

  • 사용자가 직접 삭제 하지 않는 이상 운영체제 설치 시부터 지속적으로 로그를 저장

  • 사용자의 행위를 파악하거나 정보 유출 사건 분석에 큰 역할을 함




점프리스트 경로


  • 파일에 대한 링크를 관리하는 파일

%UserProfile%\AppData\Roaming\Microsoft\Windows\Recent

  • 최근에 사용한 목록(Recent), 사용자가 고정시킨 목록

%UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations

  • 자주 사용되는 목록이나 작업(Task) 목록

%UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations




점프리스트 기본 구조





점프리스트 저장 형식


점프리스트 파일은 '최근 문서'의 하위 폴더에 2가지 형태로 저장됨. 폴더의 이름은 Automatic DestinationsCustomDestinations다.

점프리스트는 모두 16자리 16진수 형식의 값의 이름(응용프로그램 별로 고유 값 소유)으로 저장되며 확장자는 .automaticDestination-ms. 이 때 응용프로그램 별로 고유 값은(AppID)는 CRC-64 알고리즘에 의해 생성됨. 따라서 저장 경로가 달라지면 한 어플리케이션에 대해 여러 개의 JumpLits 파일이 생성될 수 있음.



.automaticDestinations-ms 파일 구조

automaticDestinations-ms 파일은 Microsoft CFB(Compound File Binary) 형식(OLE)을 따른다. 각 파일은 SHLLINK 스트림과 한 개의 DestList 스트림으로 구성되어 있음.



DestList 헤더 구조

DestList 헤더는 점프리스트 파일에 대한 간략한 정보를 포함

필드크기설명
Version Number4 바이트0x00
Total number of current Entries4 바이트0x04
Total number of pinned Entries4 바이트0x08
Unknown value4 바이트0x0C
Last Issued Entry ID number8 바이트0x10
Number of add/delete/re-open actions8 바이트0x14



DestList Entry 구조

DestList 헤더는 점프리스트 파일에 대한 간략한 정보를 포함.

필드크기설명
Checksum8bytes0x00
New Volume ID16bytes0x08
New Object ID16bytes0x18
Birth Volume ID16bytes0x28
Birth Object ID16bytes0x38
NetBIOS Name16bytes0x48
Entry ID number4bytes0x58
8bytes0x5C
MSFILETIME of last recorded access8bytes0x64
Enty pin status4bytes0x6C
4bytes0x70
access count4bytes0x74
0x00000000000000008bytes0x78
length of unicode2bytes0x80
entry string data가변적0x82

profile
디지털포렌식 정복기 '끝까지 처음처럼'

0개의 댓글