디스크 분석 과정에서 링크 파일의 발견은 중요한 이벤트로 여겨진다. 이는 사용자가 자주 접근한 파일일 가능성이 높으며, 원본 파일의 위치를 파악할 수 있기 때문이다. 링크 파일을 상세 분석하기 위해, 링크 파일의 구조와 링크 파일 분석 도구 사용법을 실습으로 진행했다.
실습을 위해, 100MB 용량의 디스크를 MBR로 초기화한 후, 동일한 크기의 NTFS 파티션을 만들었다. 추가적으로 Root Directory 이하에 'dir_1'과 'dir_2' 폴더를 생성하고, 'dir_1'에 'text.txt'(내용: 'Info'), 'dir_2'에 'test.txt - 바로가기. lnk' 파일을 저장했다.
아래는 Autopsy로 분석을 진행한 결과이다.
'dir_1' 이하에 'test.txt' 파일이 존재하고, Text View에서 txt 파일의 내용인 'Info'를 확인할 수 있고,
'dir_2' 이하에 'test.txt - 바로가기. lnk' 파일이 존재하고, Hex View에서 파일의 헥사 내용을 확인할 수 있다.
Windows Information
링크 파일 분석을 위해 Autopsy에서 링크 파일을 추출한다. 링크 파일을 추출하고, 윈도우에서 기본적으로 링크파일의 속성 정보를 확인하면 해당 링크파일이 어떤 파일을 가리키는지 확인할 수 있다. 아래의 예시에서는 'E:\dir_1\test.txt' 파일로 확인된다.
Link File Structure
아래는 링크 파일을 HxD에 업로드해 구조를 분석해 본 결과이다. 일부 필요한 정보만을 표로 정리해 두었다.
HxD의 Text View를 통해 대상 파일의 이름과 경로를 확인할 수 있다.
Offset | Size | Information |
0x00 ~ 03 | 4 | 해더 시그니쳐 (0x4C 00 00 00) |
0x1C ~ 23 | 8 | Create time |
0x24 ~ 2B | 8 | Access time |
0x2C ~ 33 | 8 | Write time |
0x34 ~ 37 | 4 | Target File Size (Logical) |
0x?? ~ ?? | Dynamic | Target File Location |
Tool - LNK Parser
마지막으로, 링크 파일 분석에 사용되는 도구인 'LNK Parser'를 이용한 분석 방법이다. 'LNK Parser'는 고려대학교에서 개발한 링크 파일 분석 툴로, 링크 파일의 다양한 정보를 추출할 수 있다. 링크 파일 정보 추출 방법으로 'File'항목에 분석할 링크 파일을 업로드하고, 'Start' 버튼을 선택하면 된다. 추가적으로, 추출된 정보를 엑셀 파일로 저장하고 싶다면 'Export CSV'를 선택하여 수행할 수 있다.
아래는 'Export CSV'를 통해 링크 파일의 정보를 추출한 결과이다. 링크 파일 이름, 기기 ID(User ID), 대상 파일 이름, 대상 파일 경로, 대상 파일 크기(논리), 링크 파일 생성, 접근, 쓰기 시간, 대상 파일 생성, 접근, 쓰기 시간, 볼륨 이름, 드라이브 시리얼 넘버, MAC 주소 정보를 확인할 수 있다.
드라이브 시리얼 넘버를 이용해 동적으로 변경될 수 있는 D, E, F... 등의 드라이브를 정확하게 특정할 수 있다.
Reference