01. $MFT
$~~: 시스템 파일
MFT(Master File Table)
NTFS 파일시스템(Windows가 쓰는 파일시스템)에서 파일, 디렉터리를 관리하기 위한 구조
하나의 파일 당 하나의 MFT 엔트리를 가짐
$MFT란 MFT 엔트리들의 집합
MFT 엔트리
파일의 이름, 생성.수정.변경시간, 크기, 속성 등을 가지고 있음
파일의 디스크 내부 위치, 파일의 시스템 경로를 알 수 있음
$MFT Practice
FTK Imager 이용
ㄴ> [root] \$MFT 추출
MFT Explorer 다운로드
http://ericzimmerman.github.io/#!index.md
FTK Imager에서 Logical Drive를 선택한 후
root 에 있는 $MFT파일을 추출해준다.
이를 MFT Explorer로 열면 여러가지 폴더를 볼 수 있다.
02. $LogFile, $UsnJrnl
$LogFile
저널링(Jounaling)
데이터 변경을 디스크에 반영하기 전에 행위를 기록하여 추후 오류 복구에 활용
ㄴ> 데이터를 기록하는 동안 시스템에 문제가 생기면 데이터가 손실됨
ㄴ> 문제가 발생하기 전에 '어떤 데이터를, 언제, 어디에 쓰는지' 기록
ㄴ> 문제가 발생하면 기록을 토대로 작업이 이루어지기 전 상태로 시스템을 복원
트랜잭션(Transaction)
"쪼갤 수 없는 업무 처리의 최소 단위"
파일이나 디렉토리 생성, 수정, 삭제, MFT 레코드 변경 등
$LogFile: 메타데이터의 트랜잭션 저널 정보
$UsnJrnl
파일이나 디렉토리에 변경 사항이 생길 때 이를 기록하는 로그 파일
파일 복원의 목적이 아니라, 단순 파일 작업이 있었다는 사실을 확인하기 위하
시간 순서대로 엔트리를 저장하고, 기본 크기는 32MB
ㄴ> 꽉 찰 시 가장 오래된 데이터부터 새로운 데이터로 덮어씌운다.
$LogFile & $UsnJrnl Practice
https://sites.google.com/site/forensicnote/ntfs-log-tracker
FTK Imager에 들어가서 $Logfile과 $J를 추출한다
NTFS Log Tracker 을 통해 db파일을 만들어 준다
위의 db파일을 열기 위한 도구를 다운로드 받아 파일을 볼 수 있다.
파일에 있는 정보의 양이 워낙 많기 때문에 모든 정보를 다 보기는 어렵다. 다른 곳에서 증거를 먼저 찾은 후 어떤걸 찾을지 생각하여(수상하다고 생각한 부분) 조사하도록 하는것이 좋다.
01. 바로가기 (LNK)
'Windows Shortcut' 이라는 명칭으로도 불림
.lnk 확장자를 가진다.
생성하는 방법
- 사용자가 직접 생성
- 프로그램 설치 시에 생성
- 운영체제가 자동으로 생성
예시로 카카오톡의 바로가기 속성을 확인하여 보면
lnk를 확장자로 가지는 것을 볼 수 있다.
바로가기(LNK)가 저장되는 위치
바탕화면
%UserProfile%\Desktop
시작메뉴
%ProgramData%\Microsoft\Windows\Start Menu
%UserProfile%\Appdata\Roaming\Microsoft\Windows\Start Menu
최근 실행
%UserProfile%\AppData\Roaming\Microsoft\Windows\Recent
빠른 실행
%ProgramData%\Microsoft\Internet Explorer\Quick Launch
%UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
%UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
바로가기(LNK) Practice
FTK Imager를 사용해 바탕화면에있는 바로가기 중 하나를 추출해 준다.
위의 Zimmerman tool에서 LECmd를 다운받아 이를 사용하여 환경변수 등 LNK 정보에 대한 것을 알아 낼 수 있다.
02. Jumplist
점프리스트란?
최근에 사용한 파일/ 폴더에빠르게 접근하기 위한 구조
종류
Automatic: 운영체제가 자동으로 남기는항목
Custom: 응용프로그램이 자체적으로 관리하는 항목
경로
%UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
%UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\CustiomDestinations
Jumplist Practice
마찬가지로 FTK Imager에서 위의 경로에 있는 파일을 추출한다.
Zimmerman tool에서 JumpList Explorer를 다운받아 실행한다.
이런식으로 jumplist를 확인할수 있다.
01. Prefetch
: 응용프로그램의 빠른 실행을 위해서 존재하는 파일
응용프로그램을 실행할 때에 생성
ㄴ>실행파일 이름, 경로
ㄴ>실행 파일의 실행횟수
ㄴ> 실행 파일의 마지막 실행 시간
ㄴ> 실행 파일의 최초 실행 시간
경로
%SystemRoot%\Prefetch
Prefetch Practice
https://www.nirsoft.net/utils/win_prefetch_view.html
위 사이트에서 툴을 다운받는다.
위 도구를 사용하면 자동으로 파일들을 추출하여 준다. 확인해보면 실행횟수, 실행 시간등을 확인 해 볼 수 있다.
삭제된 여부 상관없이 확인이 가능하다.
마치며
윈도우 사용하면서 방문했던 사이트나 사용했던 응용프로그램들에 대한 정보를 전부 볼 수 있다는게 신기했다. 지워진 파일까지도 볼수 있다하니 앞으로 인터넷 이용에 더 주의해야될 것같음..👍
https://www.inflearn.com/course/%EA%B8%B0%EC%B4%88-%EB%94%94%EC%A7%80%ED%84%B8-%ED%8F%AC%EB%A0%8C%EC%8B%9D
섹션 3. $MFT 개념 및 실습 ~ Prefetch 개념 및 실습
'학회_공부해요 > 디지털포렌식' 카테고리의 다른 글
[암호화폐 수사] 01. 암호화폐란 무엇인가? (0) | 2024.03.19 |
---|---|
[디지털포렌식_기초]7주차 윈도우 포렌식 (0) | 2023.05.23 |
[디지털포렌식_기초]5주차 윈도우 포렌식 (0) | 2023.05.08 |
[디지털포렌식_기초]4주차 메모리 포렌식 (0) | 2023.05.03 |
[디지털포렌식_기초]3주차 물리메모리 포렌식 (0) | 2023.04.21 |