일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- XSS
- C언어
- 자라나는 새싹
- 디지털 포렌식
- command
- 풀이
- Programmers
- Algorithm
- dreamhack
- 웹해킹
- 파이썬
- BaekJoon
- 스터디
- injection
- 인프런
- Python
- 프로그래머스
- 알고리즘
- 문제풀이
- Web
- 백준
- WHS
- WarGame
- c
- 워게임
- 포렌식
- CSRF
- 드림핵
- 자라나는새싹
- hacking
- Today
- Total
Hoin's security
디지털 포렌식 스터디 $MFT개념 및 실습, $LogFile, $UsnJrnl 개념 및 실습 본문
[지금 무료] 기초부터 따라하는 디지털포렌식 | 훈지손 - 인프런
훈지손 | 기초부터 따라하는 디지털포렌식 강의입니다. 강의를 따라하다보면 "물 흐르듯, 자연스럽게" 실력이 늘어가는 강의를 추구합니다., 초보자 눈높이에 딱 맞춘, 원리를 이해하는 디지털
www.inflearn.com
본 스터디는 위 강의를 학습한 후 작성된 블로그 입니다.
보통 앞에 $표시가 있으면 윈도우의 시스템 파일이라는 뜻.
$MFT: : 윈도우의 전반적인 구조, 윈도우 파일과 폴더 디렉토리 구조를 알 수 있는 아티팩트.
$LogFile, $UsnJrnl: : 유저가 변경하고 생성, 수정, 삭제 등 기록들을 전부 담고 있는 아티팩트. 이것들을 통해 유저의 행위를 세세하게 분석 가능.
$MFT (Mater File Table)
• NTFS 파일시스템에서 파일, 디렉터리를 관리하기 위한 구조
-> windows가 사용하는 파일 시스템
• 하나의 파일당 하나의 MFT 엔트리를 가짐
• $MFT란 MFT 엔트리들의 집합
왜 필요?
: 각 데이터나 파일이 어디에 어떻게 저장되어있는지 알 수 있음.
MFT 엔트리
• 파일의 이름, 생성·수정·변경시간, 크기, 속성 등을 가지고 있음
• 파일의 디스크 내부 위치, 파일의 시스템 경로를 알 수 있음
FTK Imager를 이용
• [root]\$MFT 추출
MFTExplorer 다운로드
• https://ericzimmerman.github.io/#!index.md
MDwiki
ericzimmerman.github.io
위 링크에서 도구 다운 받기.

mft검색하고 mft explorer 를 다운받아준다. 강의에서는 0.5.1.0 버전을 다운받으라고 했지만 버전이 업데이트 되어있는거 같다.

다운받고 압축해제 한 뒤 MFTExplorer.exe를 눌러 실행시킨다.

오.. 예를 누르면

Microsoft Windows Desktop Runtime 가 다운로드 되고 이를 실행시켜준다.
설치가 되었으니 다시 MFTExplorer.exe를 눌러 실행시킨다.

그럼 실행이 된다. (다행

FTK 이미저를 켜주고 Logical Drive로 생성해준다.

드라이브는 C로 해준다.

Scanning MFT
: MFT를 스캐닝해서 폴더 구조를 파악한다는 뜻.
- why?
: 이미지 안에 MFT라는 파일을 분석한 것이기 때문

root안에 파일을 보면 MET이라는 파일이 있다. 이걸 추출해줄 것.

바탕화면에 MFT라는 폴더 하나 만들어주고 여기에 추출해준다.

쨘.

MFT 익스플로어에서 File -> Load MFT를 눌러 추출한 MFT 파일을 열어준다.

매우 오래걸린다..


원래는 이렇게 구조화 잘된 결과가 보여야한다.
좋은점
: ADS라는 윈도우에서 지원하는 특별 기능인데 이것도 분석이 되고 헥스값도 바로 볼 수 있으며 스탠다드 인포, 파일, 네임 등 MFT 엔트리에서 얻을 수 있는 정보들을 얻을 수 있다.
$LogFile,
저널링(Jounaling)
• 데이터 변경을 디스크에 반영하기 전에 행위를 기록하여 추후 오류 복구에 활용
• 데이터를 기록하는 동안 시스템에 문제가 생기면 데이터가 손실됨
• 문제가 발생하기 전에 “어떤 데이터를, 언제, 어디에 쓰는지” 기록
• 문제가 발생하면 기록을 토대로 작업이 이루어지기 전 상태로 시스템을 복원
파일 시스템이 해주는 복구 기능
디스크의 영역을 유저가 변경할텐게 그 전에 행위를 먼저 기록해두는것. (데이터가 온전히 남도록 하기 위함)
트랜잭션(Transaction)
•"쪼갤 수 없는 업무 처리의 최소 단위”
• 파일이나 디렉토리 생성, 수정, 삭제, MFT 레코드 변경 등
• $LogFile: 메타데이터의 트랜잭션 저널 정보
메타데이터: 파일이 가지고 있는 속성 데이터 - 생성시간, 수정시간 등
$UsnJrnl
• 파일이나 디렉토리에 변경 사항이 생길 때 이를 기록하는 로그 파일
• 파일 복원의 목적이 아니라, 단순 파일 작업이 있었다는 사실을 확인하기 위함
• 시간 순서대로 엔트리를 저장하고, 기본 크기는 32MB
• 하루 8시간 사용시 4~5일 정도의 데이터를 저장하고 있음
• FTK Imager를 이용
• [root]\$LogFile 추출
• [root]\$Extend\$UnnJrnl\$J 추출
• NTFS Log Tracker 다운로드
• https://sites.google.com/site/forensicnote/ntfs-log-tracker
blueangel's ForensicNote - NTFS Log Tracker
NTFS Log Tracker v1.71
sites.google.com

위 링크로 접속해서 스크롤을 쭉 내리다 보면 파일들이 보이는데 NTFS Log Tracker v1.71.zip을 다운받아 준다.
(CMD 버전 아님!!)
다운받고 실행해준다.

FTK 이미저에서 아까 MFT 파일을 추출한것과 동일하게 로그 파일을 추출해준다.
root -> Extend -> UsnJrnl ->j 추출.
총 2개의 파일을 MFT 폴더에 추출해준다.

각각의 파일을 NTFS Log Tracker 항목에 알맞게 넣어주고 result라는 이름으로 MFT 폴더에 저장해준다.

잘 생성되었다.
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
위와 같은 DB 브라우저를 통해 열어준다. 없다면 위 링크로 접속하여 사양에 맞는 걸 다운로드 해준다.
나는 기본 세팅 그대로 설치해주었다.

result 파일을 넣어주면 위와같이 뜬다.
원하는 파일을 원하는 기준으로 볼 때 유용.
'스터디 > 디지털 포렌식' 카테고리의 다른 글
Prefetch, MUCache, AmCache & ShimCache (0) | 2024.05.22 |
---|---|
[디지털 포렌식] 바로가기(.LNK), Jumplist 개념 및 실습 (0) | 2024.05.15 |
[3주차] 디지털 포렌식 스터디 정리 (0) | 2024.04.02 |
[2주차] 디지털 포렌식 정리 (0) | 2024.03.27 |
[1주차] 디지털 포렌식 기초 (0) | 2024.03.20 |