[지금 무료] 기초부터 따라하는 디지털포렌식 | 훈지손 - 인프런
훈지손 | 기초부터 따라하는 디지털포렌식 강의입니다. 강의를 따라하다보면 "물 흐르듯, 자연스럽게" 실력이 늘어가는 강의를 추구합니다., 초보자 눈높이에 딱 맞춘, 원리를 이해하는 디지털
www.inflearn.com
해당 영상 참고하여 작성한 글입니다.
$MTF, $LogFile, $UsnJrl : 윈도우 artifact
$ : 시스템 파일
$MTF : 윈도우즈의 전반적인 구조. 파일과 폴더 디렉토리와 같은...
$LogFile, $UsnJrl : 변경 및 생성, 수정, 삭제하는 등 사용자의 동작을 기록해둔 구조. 사용자 행위의 세밀한 분석이 가능.
$MTF 개념 및 실습
MFT(Master File Table) 란?
• * NTFS 파일시스템에서 파일, 디렉터리를 관리하기 위한 구조
• 하나의 파일이나 디렉터리가 하나의 MFT 엔트리를 가짐
• $MFT = MFT 엔트리들의 집합
* NTFS 파일시스템이란?
윈도우즈가 사용하는 파일 시스템.
NTFS 파일시스템 > $MFT > MFT 엔트리 > 각 파일 정보
MFT 엔트리
운영체제는 수없이 많은 파일들을 어떻게 불러올 수 있는가?
파일들은 디스크 전반에 분포되어있는데.. 이를 $MFT라는 파일 한 곳에 모아 관리하는 것
각각의 파일들에 대한 정보가 하나의 MFT 엔트리에 들어오게 되는 것.. 이 구조를 통해 각 파일의 정보를 담고 있는 것
어떠한 정보를 담고있는가?
• 파일의 이름, 생성·수정·변경시간, 크기, 속성 등을 가지고 있음
• 파일의 디스크 내부 위치, 파일의 시스템 경로를 알 수 있음
필요한 도구 : MFTExplorer
1) MFTExplorer 다운로드
Ctrl+F 'MFT' -> MFTExplorer 다운로드
(영상에서는 0.5.1.0을 다운로드 하시던데.. 없는 관계로 2.0.0.0을 다운받는다.)
MDwiki
ericzimmerman.github.io
2) [root]\$MFT 추출
[ FTK imager 실행 -> 상단 맨 좌측의 add evidence item -> Local Drive -> C drive -> Finish ]
[root]\$MFT 파일 확인
바탕화면에 'MFT' 파일 생성
[ $MFT 파일 우클릭 -> export files -> 추출 경로 선택 ]
추출한 파일을 NFT Explorer 에서 확인해준다.
좌측 구조가 C드라이브 아래의 구조와 동일한 것을 확인할 수 있다.
장점 : hex 값을 바로 볼 수 있음. 윈도우에서 지원하는 ADS라는 특별 기능이 지원됨.
단점 : 얻을 수 있는 정보가 많지는 않음.
$LogFile, $UsnJrl 개념 및 실습
$LogFile
저널링(Jounaling)
• 데이터 변경(e.g.,수정,삭제)을 디스크에 반영하기 전에 행위를 기록하여 추후 오류 복구에 활용
장점 : 데이터를 기록하는 동안 시스템에 문제가 생기면 데이터가 손실됨
문제가 발생하면 기록을 토대로 작업이 이루어지기 전 상태로 시스템을 복원
( 저널링을 통해 문제가 발생하기 전에 “어떤 데이터를, 언제, 어디에 쓰는지” 기록)
트랜잭션(Transaction)
• "쪼갤 수 없는 업무 처리의 최소 단위”
• 파일이나 디렉토리 생성, 수정, 삭제, MFT 레코드 변경 등
• $LogFile : 메타데이터의 트랜잭션 저널 정보 (저널링을 위해 이용하는 데이터)
* 메타데이터 : 파일의 속성 데이터 (e.g., 생성시간, 권한...)
$UsnJrl (UsnJernal)
• 파일이나 디렉토리에 변경 사항이 생길 때 이를 기록하는 로그 파일
• 파일 복원의 목적이 아니라, 단순 파일 작업이 있었다는 사실을 확인하기 위함
• 시간 순서대로 엔트리를 저장하고, 기본 크기는 32MB (용량이 차면 덮어쓰는 방식)
• 하루 8시간 사용시 4~5일 정도의 데이터를 저장하고 있음
1) NTFS Log Tracker 다운로드
NTFS Log Tracker v1.71.zip
drive.google.com
2) [root]\$LogFile , [root]\$Extend\$UnnJrnl\$J 추출 & DB 생성
• FTK Imager를 이용하여 두 개의 파일 추출
파일이 끝났으면 아래 사진과 같이 파일 경로 설정해준다.
생성할 DB의 이름을 설정하고 한국시간(UTC+9)에 맞춰 DB 생성
<파일 확인을 위한 설정>
점 세개 -> 옵션 -> 보기 -> '보호된 운영 체제 파일 숨기기(권장)' 해제, '숨김 파일, 폴더 및 드라이브 표시' 선택, '알려진 파일 형식의 파일 확장명 숨기기' 해제
3) DB Browser for sqlite 설치 후 실행
Downloads - DB Browser for SQLite
(Please consider sponsoring us on Patreon 😄) Windows Our latest release (3.12.2) for Windows: Free code signing provided by SignPath.io, certificate by SignPath Foundation. Windows PortableApp Note - If for any reason the standard Windows release does n
sqlitebrowser.org
실행하고 데이터베이스 열기를 통해 아래와 같은 정보들을 확인할 수 있다.
$LogFile
$UsnJrl
(일반적으로는 모든 파일을 다 보지 않고, 특정 파일들을 추린 후 원하는 기준으로 정보를 확인하는 데 사용하곤 함)
수없이 많은 파일들을 관리하고 분류하는 방법 또한 몹시 복잡하고 앞으로 배워나가야 할 부분들이 많은 것 같다. 한 파일의 정보를 통해 사용자의 많은 부분을 추측할 수 있는 것 또한 흥미로운 부분인 것 같다.
참고
2강 자료.pdf
drive.google.com
'SWLUG > forensic' 카테고리의 다른 글
[디지털포렌식] 7. Prefetch, MUICache, AmCache&ShimCache (0) | 2024.05.18 |
---|---|
[디지털포렌식] 6. 바로가기(.LNK) & Jumplist 개념 및 실습 (1) | 2024.05.11 |
[디지털포렌식] 4(2). Windows registry 실습 (1) | 2024.04.28 |
[디지털포렌식] 4(1). Windows registry 이론 (0) | 2024.04.28 |
[디지털포렌식] 0. 디지털 포렌식의 이해 (1) | 2024.04.26 |