일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #SQLi #TimeBaseSQLi #sqlinjection
- c언어malloc #동적할당 #c언어동적할당 #c언어malloc사용하기
- 포렌식 #사이버포렌식 #Forensic #정보보안 #IT
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터 #c언어포인터연산
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #CSRF #
- XSS #ReflectedXSS
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #포인터 #포인터변수 #c언어주소 #주소
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터와문자열 #c언어문자열
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #bruteFource #무차별공격
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #로또번호생성 #로또번호만들기 #중복제거 #중복제거알고리즘
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #SQLi #sqlinjectioon
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #선택정렬 #선택정렬알고리즘
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터의포인터 #c언어2중포인터
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #commandinjection
- 사이버포렌식 #포렌식 #FAT
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT
- c언어문자열처리방법 #c언어문자열
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c배열포인터 #c언어포인터 #c언어배열포인터 #배열포인터
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #PUT메소드 #PUT #HTTP메소드 #취약점
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c언어포인터배열 #c언어포인터 #포인터 #c포인터
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #BrokenAuthentication
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #C동적메모리할당 #malloc #메모리
- C언어 #C #C프로그래밍 #프로그래밍 #언어
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #phpcodeinjection #injection
- #FAT파일시스템 #파일시스템구조 #파일시스템 #Forensic #정보보안 #IT
- 파일시스템과파티션 #포렌식 #사이버포렌식 #Encase #Forensic #파티션 #파일시스템 #정보보안
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #IT #robots.txt #검색엔진노출
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #c2차원배열동적할당 #c언어동적할당 #c동적할당 #c언어동적할당2차원배열
- C언어 #C #C프로그래밍 #프로그래밍 #언어 #Call by value #Call by reference
- beebox #bWAPP #webhacking #web #웹해킹 #정보보안 #xss #storedxss #CrossSiteScripting
- Today
- Total
Hello Security World
Digital Forensic [NTFS 파일 시스템] 본문
NTFS 소개
Windows NT에서 사용하기 위한 파일시스템으로 서버로 가기 위해 서는 FAT는 적절치 못해서 새롭게 개발된 파일 시스템
NTFS 1.0 : WinNT 3.1에서 지원. 최초의 버전
NTFS 1.2 : WinNT 4.0에서 지원. 주로 NTFS라 하면 이 버전을 의미함 (NTFS 4.0이라고도 함)
NTFS 3.0 : Win2K에서 지원. 암호화 및 보안이 개선. (NTFS 5.0이라고 도 함)
NTFS 3.1 : 윈도 XP, 윈도 서버 2003, 윈도 비스타, 윈도 서버 2008, 윈도 7
NTFS 특징
데이터 복구 기능: 모든 작업을 트랜잭션(Transaction) 단위로 기록 하고 시스템 장애로 인한 문제 발생시 복구
암호화: EFS(Encryption File System), NTFS 5.0 이후 지원
압축: ZIP 형식의 LZ77 변형 압축 기술 사용
디스크 쿼터: 디스크 사용량 제한, NTFS 5.0 이후 지원
ADS (Alternate Data Stream): 다중 스트림으로서 하나의 파일이 여 러 이름의 데이터를 가질 수 있음
Sparse 파일: 파일 내용이 0으로 채워진 경우 해당 영역을 표시만 하고 실제 데이터 영역을 할당하지 않음
대용량 지원: 이론적으로 2 64(Exa Byte)까지 표현 가능
NTFS 기본 구조
Boot Record : 1’st 섹터에 위치하며 해당 볼륨의 여러가지 설정 값, 부팅을 위한 실행 코드 포함
Master File Table(MFT) : 존재하는 모든 파일과 폴더에 대한 정보 저 장
Data 영역: MFT를 포함하고 파일 또는 폴더 등의 데이터가 저장되며 Cluster 단위로 접근
Boot Record 구조
MFT (Master File Table)
메타 데이터 파일(Meta Data File)과 일반 파일 또는 디렉터리에 대 한 정보를 저장 하고 있는 MFT Entry (Metadata)로 구성
Meta Data File (1/2)
NTFS 파일시스템 관리 파일로 예약되어 있으며 MFT Entry Number 0부터 15번까지 총 16개가 존재.
Meta Data File (2/2)
Base MFT Entry와 non-base MFT Entry
어떤 파일에 대한 정보가 너무 많아서 하나의 MFT Entry에 담기가 불가능할 경우 여러 개의 MFT Entry 사용
Base MFT Entry: 첫번째 MFT Entry
Non-base MFT Entry: 두번째 이상의 MFT Entry
Cluster Runs
Non-Resident 방식으로 속성의 내용이 저장되어 있는 경우 MFT Entry의 Attribute Content에 Cluster Runs 구조를 통해서 실제 속 성 내용의 클러스터 위치 확인
LCN (Logical Cluster Number): 볼륨에서의 클러스터 번호
VCN (Virtual Cluster Number): 파일내에서 클러스터 번호
Sparse
$DATA 속성 (실제 파일의 내용 저장)에서 사용
클러스터의 데이터가 모두 0일 때 해당 클러스터를 실제 할당하지 않음
파일과 속성
파일의 생성 (1/2)
$MFT Entry(Entry Num 0)의 $BITMAP 속성 처리: Free MFT Entry 검색
앞서 검색한 Free Entry에 대한 MFT Entry 할당 (Set to 1)
할당된 MFT Entry에 $STANDARD_INFORMATION, $FILE_NAME 속성 추 가
할당된 MFT Entry에 $DATA 속성 추가
- $Bitmap 파일의 $DATA 속성을 Read하여 할당되지 않은 클러스터 검색
- 할당되지 않은 클러스터를 할당($Bitmap 파일 내용 변경: set to 1)
- 저장할 Data를 해당 클러스터에 Write
- $DATA 속성 Update (Data 저장 클러스터 정보 Update)
$INDEX_ROOT, $INDEX_ALLOCATION 처리 (계층 구조 형성)
Quotas 기능이 활성화되어 있을 경우 “\$Extend\$Quota”에 사용 량 update
저널링: $LogFile, \$Extend\$UsrJrnl
파일의 생성 (2/2)
파일의 삭제 (1/2)
Index에서 파일 관련 entry 삭제 (re-sorted)
파일에 대한 MFT Entry 삭제 (cleaning in-use flag: set to 0)
삭제된 MFT Entry에 대하여 $MFT Entry $Bitmap 속성 변경: set to 0
파일에 할당된 Cluster에 대한 $Bitmap 파일 변경 (Set to 0): 파일 에 할당된 Cluster를 Unallocated로 변경
\$Extend\$Quota 변경
저널링: $LogFile, \$Extend\$UsrJrnl
파일의 삭제 (2/2)
파일의 복구 (1/2)
Index는 파일이 삭제되면 재정렬이 수반되어 Index에서 파일 명과 Path를 얻을 수 없음
파일이 삭제되는 경우 해당 파일의 MFT Entry의 flags 값이 0으로 설 정됨 (MFT Entry의 모든 항목을 삭제하지 않음)
Windows는 MFT Entry를 allocate할 때 “first-available allocation strategy”으로 동작하기 때문에 삭제보다 추가가 많은 경우 복구 실패 가능성이 많으나 그렇지 않은 경우 복구 성공 가능성 이 높음
$FILE_NAME 속성의 “File reference address of the parent directory”를 이용하여 Path 획득
$DATA 속성을 통하여 파일 Data 복구
- 파일이 Resident인 경우 완전 복구 가능
- 파일이 단편화되어 있어도 복구 가능
- 단, Non-Resident인 경우 overwritten될 수 있음
파일의 복구 (2/2)
Boot Sector와 $MFT 사이에 Data 은닉 가능성 분석
6 Sectors에서 일부 Sectors만 사용
여부의 Sector에 대해서 Data 은닉 가능성 존재
Filesystem과 Volume의 Size 차이 분석
Filesystem 내에서의 Volume Size를 조작하여 여분의 Space에 데 이터 은닉 가능성 존재
Boot Record의 Total Sector 수와 MBR의 Partition Table에서 얻 은 Size를 비교하여 판별 가능
$MFT내 Data 은닉 분석
$MFT는 파일이 많아져 그 크기가 증가하면 줄어들지 않음
따라서 임의로 다수의 파일 생성과 삭제 후 여분의 영역에 데이터 은 닉 가능성 있음
$MFT Size의 적정성 및 은닉 Data 검사
$MFT Entry의 Attribute 악용 가능성
MFT Entry는 1024byte이고 Attributes로 구성되며 End Marker(0xFFFFFFFF) 이후의 여분의 공간이 존재
MFT Entry에 임의의 Attribute를 추가하여 Data 은닉 가능성
MFT Entry Header의 Signature 값을 “BAAD”로 표시 후 데이터 은닉
폴더(Directory)에 대한 $DATA 속성
폴더의 경우 $DATA 속성을 가질 필요가 없음
그러나 시스템에서 이러한 폴더에 대한 $DATA 속성 존재에 대해서 오류를 리턴하지 않는다는 것을 이용하여 데이터 은닉 가능성 존재
NTFS Partition 복구 (Partition Table에 관련 정보가 없는 경 우)
Boot Record Signature Search (0xAA55)
Volume의 시작 Sector에 존재하고 Offset이 510~511에서 검색
일반적으로 Disk에 Data가 존재한다면 False Positive한 결과를 포함하 여 검색됨 (Backup Boot sector 포함)
0ffset 3에 OEM Name (“NTFS ”) 검사
Boot Record의 $MFT 위치를 확인하고 $Boot (MFT Entry #7)를 이 용하여 Boot Sector 확정
Bad Clusters 분석
NTFS에서 Bad Cluster를 $BadClus (MFT Entry 8) 파일에 저장
시스템이 Bad Cluster를 발견하면 해당 Cluster를 $BadClus에 할당
따라서, 파일을 은닉하고자 할 때 해당 Cluster를 $BadClus에 할당 되도록 조작 가능
$BadClus에 대한 size 제한 없음
'정보보안 > Forensic' 카테고리의 다른 글
Digital Forensic [FAT 파일 시스템] (0) | 2020.05.03 |
---|---|
Digital Forensic [파일 시스템 과 파티션] (0) | 2020.05.03 |
Digital Forensic [파일 시스템] (0) | 2020.05.03 |
Digital Forensic [Windows Artifact 분석] (0) | 2020.05.03 |
Digital Forensic [Windows 레지스트리 증거 수집] (0) | 2020.05.03 |