brunch

You can make anything
by writing

C.S.Lewis

by Jyoo Sep 11. 2024

[디지털 포렌식]06. Window Artifact 2

shell link, jumplist, thumbnail, icon

01. Shell Link (LNK)

1. Shell Link (LNK)란?

다른 데이터 객체에 접근할 수 있는 파일이다. (예: 파일, 폴더).   

쉘 링크 파일은 다른 데이터 개체(파일, 폴더) 등에 접근하는 데 사용

대상 객체에 대한 정보를 저장 (전체 경로, 크기, 속성, 타임스탬프 등).

확장자: .lnk.

LNK의 다른 이름으로는 '바로가기(Shortcut)'와 '쉘 링크(Shell Link)'가 있음


2. LNK 파일이 생성되는 상황   

     Windows OS 설치 시: 시스템이 생성한 LNK 파일     ex:) 데스크톱, 시작 메뉴, 빠른 실행


     응용 프로그램 설치 시(: 시스템이 생성한 LNK 파일.     앱에 의해 생성된 LNK파일. 바탕화면, 시작 메뉴, 빠른 실행 등


     파일을 열 때 (시스템 생성 LNK) : 문서를 열면 'Recent' 폴더에 자동으로 LNK 파일이 생성.


     바로 가기 수동 생성 시: 사용자가 직접 생성한 LNK 파일.


3. LNK 파일이 있는 잘 알려진 폴더   

Recent Items

  %UserProfile%\\AppData\\Roaming\\Microsoft\\Windows\\Recent\\ (최대 파일 개수 : 150)       %UserProfile%\\AppData\\Roaming\\Microsoft\\Office\\Recent       %UserProfile%\\AppData\\Roaming\\HNC\\Office\\Recent\\  


Start Menu    

%UserProfile%\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\       %ProgramData%\\Microsoft\\Windows\\Start Menu\\Programs\\  


Desktop

%UserProfile%\\Desktop\\


Quick Launch

%UserProfile%\\AppData\\Roaming\\Microsoft\\Internet Explorer\\Quick Launch\\

4. Shell Link 파일 포맷   

ShellLinkHeader: 링크 대상의 메타데이터 (속성, 타임스탬프 등). 디폴트            첫번째 4바이트는 항상 0000004C (76) → 헤더 사이즈  

LinkTargetIDList: 링크 대상의 item identifier 목록 (존재하는 경우).  옵셔널

LinkInfo: 링크 대상의 위치 정보 (존재하는 경우). 옵셔널

StringData: 링크 대상과 관련된 Strings (상대 경로, 작업 폴더, 명령줄 인수, 아이콘 위치 등). 옵셔널

ExtraData: 링크 대상에 대한 추가 데이터 (콘솔 속성, 메타데이터 속성 등). 옵셔


5. Shell Link와 디지털 포렌식   

ShellLinkHeader

  링크 대상의 속성: 읽기 전용, 숨김, 시스템, 디렉토리 등 링크 대상 파일/폴더의 속성 정보       
  
  링크 대상의 생성, 수정, 액세스 타임스탬프: 링크 대상 파일/폴더의 생성, 수정, 액세스 시간  


LinkInfo            

드라이브 유형 : fixed, removable, remote (고정, 이동식, 원격 드라이브유형)       
드라이브 시리얼 넘버       
볼륨 라벨       
전체 경로: local storage, removable storage, network drive, etc.  


ExtraData            

NetBIOS name : 컴퓨터 이름       
MAC주소 (네트워크 인터페이스, Wi-Fi, 블루투스 중 하나)       
TrackerDataBlock (Droid File/Volume GUID, DroidBirth File/Volume GUID)  


6. 도구:   

KAPE : LNKFileandJumpList

LECmd: https://github.com/EricZimmerman/LECmd


02. Jump List

1. Jump List란?

: 작업 표시줄 기능 → 최근/자주 접근한 항목 관리 (Windows 7 이상).   

점프리스트의 구조
     Jump List 파일 위치:     %UserProfile%\\AppData\\Roaming\\Microsoft\\Windows\\Recent\\       

AutomaticDestinations: Windows에서 관리하는 Jump List 파일.
CustomDestinations: 애플리케이션에서 관리하는 Jump List 파일.      



2. Jump List 항목 유형   

Recent: 최근에 접근한 파일과 폴더.

Frequent: 자주 접근한 파일과 폴더.

Pinned: 사용자가 고정한 항목.

Tasks: 애플리케이션이 지원하는 작업. (경우에 따라 미디어 재생, 새 문서 작성 등의 기능을 빠르게 이용하기 위한 파일)

기타: 상위 사이트, 최근에 닫은 항목 등.


3. Jump List 파일 포맷   

AutomaticDestinations: Recent, Pinned            
복합 파일 이진 형식 (CFBF).       
각 Jump List 항목은 CFBF의 스트림에 저장.       
"DestList" 스트림에는 가장 최근/자주 사용된(MRU/MFU) 목록이 포함됨  


CustomDestinations: Frequent, Tasks            
Shell Link (LNK) 파일 형식 세그먼트로 구성.       
LNK 세그먼트는 고정된 길이의 헤더와 LNK GUID를 포함.         


4. Jump List와 디지털 포렌식   

활용 방법
실행된 애플리케이션, 열린 문서       
방문한 URL       
최근/자주 사용된 앱과 문서       
애플리케이션 사용 패턴       
외부 저장소에 접근한 흔적을 추적.  


관심 포인트: Jump List 항목은 삭제되지 않으면 계속 누적됩니다.


5. 도구

KAPE : 점프리스트 파일 수집 LNKFilesAndJumpLists

JumpListView

https://www.nirsoft.net/utils/jump_lists_view.html


JumpListExplorer

https://ericzimmerman.github.io/


03. Thumbnail & Icon Cache

1. Thumbnail Cache   

     중앙 집중식 저장소: 문서, 이미지, 비디오의 썸네일을 저장.     
ex:) JPG, BMP, PNG, AVI, MP4, PDF, PPTX, DOCX 등 다양한 파일 유형의 썸네일 저장


     빠른 액세스 지원: 썸네일에 대한 빠른 접근 지원     
ex:) Explorer의 미리보기 기능


     위치: %UserProfile%\\AppData\\Local\\Microsoft\\Windows\\Explorer\\thumbcache_*.db     (각 파일은 여러 개의 BMP, PNG, JPG 파일로 구성됨)


2. Thumbnail과 디지털 포렌식   

파일 존재 확인            
해당 파일을 미리 볼 때 썸네일이 자동으로 저장되므로 특정 파일의 존재 여부 확인에 유용       
원본 파일이 삭제되어도 썸네일은 삭제되지 않음       
디스크 정리에 의해 자동으로 지워질 수 있음  


파일 내용 확인           
멀티미디어 파일 : 무작위 프레임이 썸네일로 캐시       
문서 파일 : 첫 페이지가 썸네일로 캐시  


3. Tool   

KAPE : 썸네일 캐시 수집 ThumbCache

Thumbcache Viewer:

https://thumbcacheviewer.github.io/


4. Icon Cache   

     중앙 집중식 저장소: 아이콘 이미지를 저장.

     빠른 액세스 지원: 아이콘의 빠른 표시를 지원.

     아이콘 캐시 위치     
%UserProfile%\\AppData\\Local\\IconCache.db (아이콘이 있거나 연결된 파일의 전체 경로)     %UserProfile%\\AppData\\Local\\Microsoft\\Windows\\Explorer\\iconcache_*.db (각 파일은 여러 개의 BMP, PNG, JPG 파일로 구성됨)


5. 아이콘 캐싱 메커니즘:   

아이콘 자원 실행 파일의 리소스, Windows 기본 아이콘(파일, 폴더 등), 서드 파티 아이콘(실행 파일에 저장됨)

아이콘 캐시 DB 작동 Windows 부팅 시 메모리에 로드, 재부팅 시 업데이트. 삭제된 경우 재부팅 시 생성. (재부팅 전에는 새로 캐시된 이미지 확인 불가)

아이콘 캐시의 지속성 저장된 아이콘은 관련 파일이 삭제되어도 남아 있음


6. 아이콘 캐시와 디지털 포렌식:   

알려진 아이콘 또는 고유 아이콘을 가진 애플리케이션의 흔적 확인

상용/무료 소프트웨어

안티포렌식 도구 (와이핑, 암호화, 아티펙트 제거 도구)

악성코드 등.


7. 도구:   

IconCacheViewer:


https://thumbcacheviewer.github.io/


매거진의 이전글 [디지털 포렌식]05. Window Artifact 1
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari