4-2) 윈도우 아티팩트2
Last updated
Last updated
한번씩 출제되는 문제로 상당히 많은 주요 정보를 가지고 있는 것이 링크파일 입니다. 단순히 바로가기 파일로 볼 수도 있으나, 최근에 실행했던 파일, 기타 USB와 같은 외부 저장장치 사용 흔적 분석에도 많은 도움이 되는 주요 분석 대상 파일입니다.
단순 Link 파일 분석 문제도 있을 수 있으나, 문제를 해결하는 과정에 분석 대상이 되는 주요 파일 유형 중 하나 입니다.
먼저 Autopsy로 Link 파일 분석을 할 때에는 아쉽게도 원하는 내용이 쉽게 표출되지 않는 경우가 많습니다. 따라서 Link 파일을 분석해주는 전용 분석도구를 사용해보도록 합시다. (시험에서도 제공하는 도구 입니다.)
1) Link Parser(DFRC) : 2) Link Parser(4Discovery) 아래 Link Parser.zip 를 통해 다운로드 가능합니다. 프로그램 자체는 매우 간단하기 때문에 분석 과정에서 2가지 도구 모두 사용해보도록 합시다.
우선 Recent Documents를 살펴보겠습니다. 윈도우에서 최근에 실행하거나 접근한 파일의 경우 Recent 폴더에 링크파일 형태로 저장합니다.(실제 시험에서도 꼭 살펴보시길 추천합니다.) Path 부분을 더블클릭하여 정렬한 뒤 C드라이브가 아닌 다른 드라이브 주소로 시작되는 부분이 있는지 살펴보면, 외부저장장치에 저장된 흔적으로 유추해볼 수 있습니다.
F 드라이브에 원본 파일이 있다고 하는 링크파일을 추출하여 링크파일 전용 분석 도구로 살펴봅시다.
[20170327_LinkParser_DFRC] Folder 를 선택 후 link 파일들을 저장한 폴더를 선택하면 여러개의 링크파일을 확인할 수 있습니다.
[LinkParser_4Discovery] -> 시험장 미제공(24년 삭제됨) Folder 아이콘 선택 후 link 파일들을 저장한 폴더를 선택하면 링크파일 정보를 확인할 수 있습니다.
링크 파일의 주요 부분을 한번 살펴보겠습니다. - File Size : 링크파일의 원본 대상 파일의 논리적 크기 - Machine ID : 장치이름(Machine Name / Computer Name) - DriveSerialNumber/Volume Serial Number : 링크파일 대상의 파일시스템 시리얼 넘버 > 링크파일의 볼륨시리얼 넘버와(DriveSerialNumber)값과 저장매체의 볼륨시리얼 넘버가 일치하면 해당 저장매체에 파일이 있었다는 것을 입증할 아티팩트로 볼 수 있습니다. >
추가로 Recent Documents 에 있는 링크 파일을 전체 선택하여 추출하여 하나의 폴더에 저장합시다.
이렇게 도구로 살펴보면 가장 우측에 MAC Address 값이 위치합니다. 이는 링크 파일이 생성될 때 사용된 네트워크 어댑터의 현재 MAC 주소를 나타냅니다. MAC는 해당 PC의 랜카드의 고유값으로 사실상 해당 PC에서 작업하였다는 것을 증명할 수 있는 주요 값으로 볼 수 있습니다. [20170327_LinkParser_DFRC]
[LinkParser_4Discovery]-> 시험장 미제공(24년 삭제됨)
*주의사항 [20170327_LinkParser_DFRC]의 버그로 보이는데 파일 개별로 분석 하면 정상이나 Folder로 하나의 폴더에 많은 링크를 분석 할 경우 MAC Address를 LinkParser_4Discovery와 다른 결과를 보이는 경우가 발생합니다. LinkParser_DFRC가 많은 MAC 주소를 보이나 실제로 해당 값이 없는데도 출력 되는 듯 하네요. 20170327_LinkParser_DFRC를 사용할 경우 MAC를 체크할 때에는 Folder보다는 File을 선택하여 개별 분석하는 것을 추천합니다.
Link 파일의 경우 시험에 나온 유형을 보면 링크 파일이 만들어 질 때 다양한 정보가 함께 저장 됩니다. 1. 원본파일의 이름, 경로, 크기 2. 링크파일이 만들어 지는 파일시스템의 볼륨 시리얼 넘버 3. 링크파일이 만들어 지는 운영체제의 장치이름(Machine Name) 4. 링크파일이 만들어지는 PC의 랜카드의 MAC 주소 시험에서도 종종 출제되고, 출제가 안되더라도 시나리오 관련 문제 해결 과정에서 많이 활용되는 아티팩트 입니다.
휴지통은 윈도우에 있는 아티팩트로 파일을 단순 삭제 할 경우 저장되는 곳입니다. 당연하게도 Autopsy는 Recyle Bin에서 간단히 분석을 해주고 있습니다.
시험에 중요한 것은 아니나 잠깐 살펴보면 휴지통 경로에서 $R ~ 시작하는 것에는 실제로 파일의 내용이(데이터 부분) 있습니다.
$R~ : 삭제된 파일의 데이터가 저장됨 $ I~ : 삭제된 파일 관련 정보 (삭제된 파일 크기, 삭제 시간, 파일 경로 길이, 파일 경로 명) 저장됨 $ I~ 파일에서 Hex 창에서 Launch in HxD를 열어봅시다.(아니면 파일 추출 후 HxD로 열면 됩니다.)
아래 그림과 같이 가장 앞을 "FF FE"로 수정 후 다름 이름으로 저장합니다. 이때 확장자를 txt로 저장합니다.
이후 저장한 txt를 메모장으로 열게 되면 저장되어 있던 경로를 확인할 수 있습니다. Autopsy가 Recyle Bin 에서 간단히 분석 해준 영역이 이것을 참고하여 보여준 것입니다.
최근에는 거의 출제가 되지 않지만 이전에는 휴지통에 파일이 저장될 때의 구조를 물어보는 주관식 문제가 있었습니다. 다만 최근에는 이러한 문제보다는 시나리오 상 파일을 찾는 과정에서 휴지통을 살펴봐야 하는 문제가 출제되는 경향이 있는 듯 합니다!
썸네일 캐시는 Windows 탐색기가 생성하는 데이터베이스 파일로, 사용자가 파일을 미리보거나 탐색할 때 해당 파일의 썸네일 이미지를 저장합니다.
썸네일 캐시는 사용자가 특정 파일이나 이미지를 열거나 탐색한 흔적을 확인할 수 있는 중요한 단서를 제공합니다. 특히나 원본 파일이 삭제되어도 썸네일은 남아있을 수 있기 때문에 포렌식적으로 매우 주요한 가치를 가지고 있다고 볼 수 있습니다.
분석 도구
먼저 윈도우에서 썸네일 캐시를 저장하는 파일을 빠르게 찾아보겠습니다. Tools - File Search by Attributes에서 Name을 체크한 뒤 "thumb" 또는 를 thumbCache를 검색합니다.
thumbcache_~~ 파일을 선택 후 우클릭 View File in Driectory 를 선택하면 해당 파일들이 저장된 경로로 이동합니다.
또는 Users{사용자}\AppData\Local\Microsoft\Windows\Explorer
폴더로 이동합니다.
Size를 클릭하여 정렬 후 용량이 최소 1000 이상인 것들을 선택 한 뒤 파일을 추출해보도록 하겠습니다.
추출한 파일을 드래그 한 뒤 Thumbcache Viewer에 드래그 하여 파일을 열게 될 경우 썸네일 캐시 DB에 저장된 이미지를 확인할 수 있습니다.(Data Size가 0이 아닌 데이터)
[참고 - 필수 아님] ThumbCache 파일내에서 해당 썸네일 이미지 파일을 한 번 직접 추출 해보겠습니다. Cache Entry Hash의 경우 빅엔디안으로 저장되어 있으니, 리틀엔디안으로 변환한 뒤 검색해보도록 하겠습니다. > d5 cd d8 55 47 b3 97 3f (빅엔디안) -> 3f 97 b3 47 55 d8 cd d5 (리틀엔디안)
검색한 Cache Entry Hash로 부터 8byte 뒤에 4바이트는 데이터 길이를 나타냅니다. 리틀엔디안으로 저장된 값을 변환하여 크기를 보겠습니다. 96 90 00 00 -> 00 00 90 96 -> 37014
Data offset에서부터 데이터 크기 만큼 선택하여 HxD에서 블록 선택을 한 뒤 복사합니다.
새로 파일 생성 한 뒤 붙여넣기 하여 저장합니다.
bmp이미지 시그니처이기에 bmp 확장자 수정 후 열어보면 썸네일 이미지를 확인할 수 있습니다.
윈도우에서 프린터 기록이 저장되는 경로가 정해져 있습니다. 그러나 프린터마다 설정이 다르고 구조가 다르기 때문에 내용을 확인 하는 방법은 다를 수 있습니다. 다만 중요한 것은 포렌식 전문가로서 프린터 기록 경로나 많이 알려진 파일 구조 정도는 살펴볼 수 있어야 할 듯 하여 소개 해드리도록 하겠습니다.
먼저 프린터 기록의 경우 정해진 경로가 있습니다. 아쉽게도 Autopsy 에서도, 시험에서 제공하는 도구 중에서는 윈도우 프린터 기록을 전용으로 분석해주는 도구가 없습니다. 따라서 실제 경로를 직접 살펴봐야 할 필요성이 있습니다. 실제 시험에서도 결국 이 경로를 알면 해결할 수 있는 수준으로 출제된 것으로 알고 있습니다.
먼저 아래의 경로를 가보도록 하겠습니다.
> Windows\System32\spool\PRINTERS
해당 경로를 살펴보면 SHD, SPL 파일이 위치합니다. 이는 프린트를 할 경우 생성되는 파일입니다.
이 중에서 SHD 파일을 Text로 살펴보면 프린터명, 파일명, 등이 표시됩니다.
- .SHD: 인쇄 작업의 메타데이터와 상태 정보를 포함 합니다. 즉, 인쇄 작업의 설정, 상태, 인쇄된 페이지 수, 사용된 프린터 드라이버 설정 등과 같은 정보가 이 파일에 저장됩니다.
- .SPL: 실제 인쇄 데이터(프린트 작업의 콘텐츠)를 포함합니다. 즉, 사용자가 인쇄하려고 한 문서, 이미지, 페이지 등의 내용이 이 파일에 저장됩니다.
00004.SPL 파일을 한번 살펴보겠습니다. 우선은 추출 후 HxD로 열거나, Launch in HxD로 열어보도록 하겠습니다.
"EMF"가 보이는 위치에서 두 줄 반 앞쪽에 01 00 이 시작되는데 그 앞 부분을 선택 후 삭제 합니다. 그리고 다른 이름으로 저장해보도록 하겠습니다. (다만 시험에서 이렇게 까지 하지는 않을 가능성이 높으나 한번 정도는 실습 해보시길 추천합니다.)
저장할 때에는 가능하면 그림 파일 확장자로 저장하여 봅시다.(JPG, BMP 등) 그리고 그림판으로 저장한 파일을 열어보겠습니다. (꼭! 그림판으로 열어봅시다.) 그림판 실행 후 드래그를 이용해서 열면 쉽게 열립니다! 즉, SPL에서 EMF 구조의 프린트한 기록을 확인할 수 있습니다. EMF 구조는 Windows에서 사용되는 그래픽 파일 포맷으로, 인쇄된 문서를 정밀하게 저장할 수 있는 형식입니다.
반면 0003.shd, 0003.spl을 살펴보면 구조를 파악하기가 어렵습니다. (spl의 경우 파일을 추출 후 압축파일 형태로 압축을 해제하여 구조를 볼 수는 있으나 내용을 확인하기에는 상당히 어렵습니다.)
그러나 이 파일을 EnCase에서는 내용 확인이 가능할 수 있습니다. EnCase에서 케이스 생성 후 Evidence 에서 SPL 파일을 드래그해서 입력 하면 개별 파일 등록이 가능합니다.
실제 시험에서는 EnCase를 제공하기 때문에 시도 할 만한 방법입니다. 다만 아쉽게도 연습 때는 EnCase를 사용할 수 없을 수 있지만 파일 등록하는 방법은 알고 가면 시험 시간 내에 살펴보는 것은 가능할 것으로 보입니다. (추후에 연습 문제에서 사용 방법에 대한 설명을 간략히 추가하도록 하겠습니다. - 어렵지 않습니다.)
프린터에서 출력 시 데이터 형식을 EMF로도 선택할 수 있으나 필수는 아니며, 프린터마다 데이터 형식이 다양하게 됩니다. 따라서 모든 프린터가 이렇게 저장되는 것이 아닌 상황입니다.
정리하면, EMF 구조는 분석이 가능하나, 프린터 마다 다른 데이터 형식을 시험시간 내에 분석하는 것은 상당히 어려울 수 있습니다. - 00003.shd, 00003.spl의 경우 EMF 구조가 아닙니다. 다만 EnCase에서 분석 가능한 구조의 경우 내용 확인이 가능할 수 있습니다. - 00004.shd, 00004.spl의 경우 EMF 구조로 헤더를 삭제하여 윈도우 그림판에서 열 수 있는 내용까지 확인이 가능합니다. 다만 실제 시험에서는 이렇게 헤더 부분을 삭제하여 EMF 파일의 내용을 확인 하는 식의 문제보다는 해당 경로에 가면 어렵지 않게 프린터 기록을 확인할 수 있는 수준으로 출제될 것으로 보입니다. 실제 기출에서도 프린터 기록이 저장되는 경로를 실제로 가보면 내용을 확인할 수 있는 그림파일 또는 압축파일 등이 저장되어 내용 확인이 가능한 수준으로 출제된 것으로 보입니다.
다만 앞으로 시험에서는 이러한 문제가 출제된다면 SHD, SPL 파일을 분석할 수 있는 도구를 제공하거나 무료 도구와 EnCase 모두에서 확인 가능한 파일로 제공하는 것이 적절할 것으로 보이네요! (EMF 구조도 그렇고 프린터마다 다른 raw 포맷도 그렇고 최근 프린터 관련 문제의 출제 빈도는 매우 낮을 것으로 보입니다. 솔직히 실무에서도 프린터 흔적이 남아 있을 확률은 매우 적을 것이기 때문이죠..)
윈도우 앱의 경우 종류가 매우 많고 모든 앱 별로 다양한 경로를 모두 외울 수는 없습니다. 따라서 시험에 출제된 윈도우 앱 관련된 것만 추가하도록 하겠습니다. (계속 추가할 예정)
기출 문제 중 하나였던 스티커 메모 분석에 대해서 살펴보겠습니다.
먼저 [Win]키를 한번 누른 상태에서 "스티커 메모" 를 검색하여 보겠습니다.
또는 [Win] + R 실행창에서 아래 명령어를 실행 할 수 있습니다. > explorer.exe shell:appsfolder\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App
아래와 같이 간단한 메모 등을 입력 할 수 있는 기능입니다. 좌측 상단에 +를 누르면 새로운 메모를 추가로 할 수 있습니다. 우측 상단의 ... 을 선택하면 메모 배경색 또한 변경도 가능합니다.
이곳에 저장된 내용을 확인 하기 위해서는 Sticky Note 를 분석해야 합니다. 우선 해당 앱의 경로 이동해보도록 하겠습니다. 윈도우가 설치된 파일시스템에서 Users/{사용자}/AppData/Local/Packages/Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe/ 폴더에서 LocalState 폴더를 살펴보면 plum.splite 파일이 발견됩니다. (빨리 찾기 위해서는 단순히 파일명을 plum으로 검색하면 됩니다.) 해당 파일 선택 후 하단의 [Application]을 살펴보면 Table 부분을 [Note]로 선택 후 내용을 보면 값들이 저장되어 있습니다.
이 중에서 Text 부분을 살펴보면 위의 그림에 있는 텍스트를 발견할 수 있습니다.
실제 시험에서도 필요하다면 이 부분도 살펴볼 필요가 있게 된 것입니다.
추가로 Table를 Media로 선택할 경우 파일 경로를 알려주고 있습니다. 해당 경로로 가보면 이미지를 확인할 수 있습니다.
실제 시험에서도 이렇게만 해결할 수 있을까? 사실 스티커 메모를 사용하였다는 어떠한 흔적이 없이 바로 이 경로를 살펴보기는 사실상 어렵습니다. 따라서 검색 기능을 이용해서 한번 찾아보도록 하겠습니다. 먼저 Autopsy에서 검색을 쉽게 하기 위한 작업을 해보도록 하겠습니다. Tools - Run Ingest Modules - 이미지 파일 선택 후 [Keyword Search]를 체크 하고 [Add text to Solr Index] 를 체크 후 Finish 합니다. Index가 선택 되지 않으면 검색이 불편할 수 있기 때문에 체크하는 걸 추천 드립니다.
우측 하단을 클릭하면 진행 상황을 확인할 수 있습니다. 검색 준비는 사실 상당한 시간이 소요됩니다. 실제 시험에서도 Recent Activity, File Type Identification, Extension Mismatch Detector 이 끝나면 저장 후에 키워드 분석을 미리 눌러두는 것을 추천합니다. (키워드 검색에서 다시 안내 예정) 만약 시험 문제에서 전화번호, 휴대폰 번호 같은 것을 검색하라고 할 경우 아래와 같이 키워드 검색을 시도해 볼 수 있을 것 입니다. [Keyword Search] - 키워드 입력 후 Search 클릭 (실제 시험에서는 검색에 상당히 시간이 걸리니 기다려야 합니다.)
추천하는 정규식 검색 방법[Regular Expression] (전화번호) 010[-.][0-9]{3,4}[-.][0-9]{4} > 010-1111-2222 또는 010.1111.1111 이렇게 저장된 것을 같이 찾을 수 있습니다. > 010-111-2222 또는 010-1111-2222 처럼 중간에 3자리 또는 4자리 검색이 가능
참고로 실제 시험에서는 전화번호를 어떻게 표현할지 모르기 때문입니다. 어쩌면 중간에 . 이나 - 없이 전부 숫자일지도 모르겠네요.. 따라서.. 그냥 모두 시도해보시길 추천 드립니다. 1) 010[-][0-9]{3,4}[-][0-9]{4} : 010-111-1111 또는 010-1111-1111 2) 010[.][0-9]{3,4}[.][0-9]{4} : 010.111.1111 또는 010.1111.1111 3) 010[0-9]{7,8} : 0101112222 또는 01011111111 (중간에 표시 없는 것) 기출에서는 010.1111.2222 와 같은 형태의 전화번호를 찾는 문제가 출제되었다고 합니다.
정리하면 스티커 메모의 경우 Sqlite 라는 데이터베이스 구조의 파일에 저장된 데이터를 찾아야 합니다. 실제 시험에서는 키워드 검색 기능을 통해서 찾을 수 있습니다. 다만 Sqlite 파일 구조를 알고 있어야 테이블을 구석구석 살펴보면서 시험에서 요구하는 데이터를 찾을 가능성이 높을 것입니다.
윈도우 아티팩트의 경우 사실상 어느정도 정해진 경로에 특정 파일들이 위치 하기 때문에 다양한 도구가 바로 분석을 해주고 있습니다. 이러한 도구를 활용하여 시험에서 요구하는 답안을 찾아 작성하는 연습을 한다면 어렵지 않게 문제 해결을 할 수 있을 것 입니다.
시험장에서 제공하는 썸네일 분석도구(Thumbcache Viewer 1.0.4.0 / Erickutcher) - 도구 공식 사이트 : - 다운로드