Digital Forensics/X-Ways2020. 12. 8. 23:51
반응형

<MBR이 손상된 경우 복원방법>

Bootcode는 깨끗한 MBR Bootcode를 복사하여 붙여넣고,

Partition Table이 깨진 경우 각각의 파티션 정보를 수집하여

직접 Partition Table Layout에 맞춰 입력해준다.

 

Forensics 관점에서는 MBR을 완전히 복원할 필요 없이(부팅이 목적이 아니므로),

Partition Table만 복원하는 것으로 충분하다.

 

 

<VBR의 부트섹터가 손상된 경우 복원방법 - 백업본 있는 경우>

VBR은 수작업으로 복원하기가 어렵다.

각 필드 하나하나를 채우기가 어렵기 때문이다.

일반적인 경우 백업본을 활용하는 것이 좋다.

 

NTFS인 경우 파일 시스템의 맨 마지막 섹터에 백업본이 있다.

파티션 매직 같은 프로그램을 사용했을 경우

백업본을 정상적으로 놔두지 않은 경우가 많아 복원이 어려워진다.

 

FAT인 경우 FAT12 FAT16은 백업본이 없다.

FAT32의 경우 백업본이 존재하나 위치가 고정되어 있지 않으며, 

아이러니하게도 VBR에 백업본의 위치가 기록되어 있다.

 

따라서, VBR이 손상되었을 경우, 

Keyword Search를 하여 VBR 백업본을 찾아보거나,

MS의 경우에 대체로 VBR로부터 6섹터만큼 떨어진 곳에 있으므로 이를 확인해본다.

 

※ Boot Sector 찾는 방법

① NTFS - "NTFS" 검색

② FA32 - "MSDOS5.0" 검색

③ FAT64(exFAT) - "EXFAT" 검색

 

해당 VBR 백업본을 찾은 경우,

Winhex를 이용하여 원래 VBR 위치에 복사하여 붙여넣기 하면 된다.

 

 

<VBR의 부트섹터가 손상된 경우 복원방법 - 백업본 없는 경우>

(백업 VBR 있는 경우, 대부분의 포렌식 프로그램에서 자동복원 기능을 지원함)

 

X-ways Forensics는 Boot Sector 중 BIOS Parameter Block의 다음 정보만 있어도 마운트 가능하다.

(다른 포렌식 프로그램들보다 적은 요건으로도 마운트를 해줌)

OEM ID, Total Sector(디스크 사이즈보다 작아야 함),

Start Cluster for $MFT(또는 Start Cluster for $MFTMirr 중 하나)

 

위의 정보에 해당하는 부분만 수동으로 복원하여(WinHex 활용),

Take New Volume Snapshot 하면 마운트 성공!!

 

① OEM ID : VBR 이후의 데이터 구조를 확인하여 파일시스템 결정

 

② Total Sector : 각 볼륨 구간을 식별(Boot Sector 탐색)하여 할당하거나, 전체 디스크 용량 이하로 할당

// Total Sector는 디스크 크기보다 작아야함! (제일 마지막 섹터에서 역산)

 

③ Start Cluster for $MFT : VBR 이후 "FILE" Signature 찾아서 $MFT 위치 식별

// Unicode로 $MFT를 찾아서 시작위치를 찾아줌 (A0BA000 <- 디스크위치니까, Start Cluster for $MFT로 변환해주면 AAA0)

 

③-1 Start Cluster for $MFTMirr : VBR 이후 "FILE" Signature 찾아서 $MFTMirr 위치 식별

 

④ VBR 수동복원 저장, Take New Volume Snapshot

 

⑤ VBR 복원 Partition 정상 인식(성공!)

- 자동으로 디렉토리 브라우저에 추가된다.

 

 

※ 참고

위와 같이 수동분석 하기 전에,,

물론 분석 프로그램에서 제공하는 모든 기능을 활용해보는게 좋다.

 

X-Ways Forensics 삭제된 파티션 자동 복구 방법

(EnCase - "Partition Finder"와 유사함)

 

 "Option - General - Auto-detect deleted partitions"

디스크 또는 이미지를 열 때,

파티션 사이 혹은 그 뒤에 존재하는 삭제된 파티션을

자동으로 식별해주는 옵션이다.

(효율성 때문에 전체 섹터를  스캔하는 것은 아님)

추가로 식별된 파티션은 삭제된 것으로 표시해준다.

파티션 번호는 순서대로 자동 부여된다.

 

 

 "Scan for Lost Partitions"

추가로 unpartitioned 영역에서 파티션을 찾아 복구하려면,

Tools - Disk Tools - Scan For Lost Partitions

// Tools - Disk Tools - Scan For Lost Partitions

 

// 파티션 식별 기준 : FAT, NTFS 부트섹터 검색, EXT2 등 슈퍼블록 검색, MBR 시그니처 검색, MBR 파티션 테이블 등

 

 

// 디스크 마지막에 있던 'Partition 5' 찾음!

반응형
Posted by CCIBOMB
Digital Forensics/X-Ways2020. 12. 8. 23:01
반응형

VBR 확인

 

Volume Serial Number 확인 (Little Endian)

 

 

※ VBR(Volume Boot Record)

VBR은 NTFS 포맷된 볼륨의 가장 부분에 위치함

부트 섹터, NTLDR 위치정보, 추가적인 부트 코드를 저장함

VBR의 앞에는 MBR(1 sector) + Slack(62 sector 또는 2047 sector : 기본 OS 포맷시)가 있음

FAT 파티션의 예약된 영역과 유사하게

부트 섹터(Boot Sector)와 부트 코드(NTLDR Information & Boot Strap)로 구성됨

일정한 크기를 갖지 않고 클러스터 크기에 따라 가변적임

MBR(Master Boot Record)에서 부팅 가능한 파티션을 찾은 후,

해당 파티션의 VBR을 호출함

 

// 출처 : http://www.invoke-ir.com/

반응형
Posted by CCIBOMB
Digital Forensics/EnCase2010. 11. 25. 01:11
반응형

 

Case  MBR Partition Entry가 전혀 없는 경우

 

-      복원 전 MBR : Partition Table Layout

Bootable Flag

Starting CHS

Partition Type

Ending CHS

Starting LBA

Size in sector

.

 

-      하드 전체 Layout

MBR

Primary 1

Primary 2

 

-      하드디스크 정보 (229,824 Sectors, 112.2MB) 

Type

Name

Status

Start

Stop

Relative

size

07

NTFS

00

000101

073FFE

63

128457

05

FAT32

00

080100

0D3FFE

128520

96390

 

-      인식 오류 발생 원인

MBR Partition Entry가 전혀 기록되어 있지 않다. , Encase에서는 아무런 파티션도 인식하지 못하였다.

  

 

 

-      복원 과정

a.       MBR Partition Entry를 고의적으로 삭제하였을 경우, 실제 파티션의 시작 지점에 위치하는 VBR은 남아있는지를 우선적으로 확인한다. 이때, Primary Partition 63번 섹터에서 시작하게 되므로 63번 섹터를 확인. 

 

           // OEM String 으로 보았을 때, NTFS 파일 시스템을 갖는 파티션이 존재함 확인

  

b.       첫번째 파티션(Primary, NTFS) 추가



 

c.       하지만, 이때 파티션이 여러 개 존재하는지 여부 및 파티션의 크기와 시작 위치 등은 MBR이 삭제 되었으므로 더 이상 알 수 없다.

따라서 다른 파티션을 찾아보기 위하여 Keyword Search 한다.

 

                        c-1. 먼저 OEM String 을 키워드로 등록한다.

 

c-2. Unused Disk Area, OEM String 키워드를 체크하고 Search

 

 

d.       검색 결과 확인

 

// 4개가 검색되었다. 이때, VBR의 백업본도 함께 검색되므로, 선별 작업이 필요하다. 보통 NTFS의 경우 VBR 백업본은 가장 마지막 섹터이고, FAT32의 경우 VBR로부터 6번째 섹터에 기록되므로 이 하드 디스크의 총 파티션 수는 2개이며, NTFS, FAT32 파일 시스템을 사용하고, 각각 파티션 시작 위치(VBR) 63 128520 임을 알 수 있다.

  

e.    두 번째 파티션(FAT32) 인식

e-1.  시작 지점인 128520섹터로 가 본다.

(첫 번째 파티션의 마지막 섹터 바로 다음이다.)

// 바로 VBR이 위치하는 것을 알 수 있다. 첫 번째 파티션이 128519 에서 끝났으므로 두 번째 파티션 또한Primary Partition인 것을 알 수 있다. (BR이 없으므로, MBR에 등록되어있는 Primary임을 의미함)

 

 e-2. Add Partition

 

-      파티션 복원 완료

새로 추가된 E 드라이브의 Messages.txt 파일 내용 확인

 

 

-      추가 연구가 필요한 사항

추가하려는 E 드라이브 외에 D 드라이브(C E전부를 가리킴)가 생성되는 이유와 이를 포렌식적으로 제거하는 방법에 대한 연구가 필요하다.

 

 

c.f) 최종 복구 후 모습

반응형
Posted by CCIBOMB
Digital Forensics/EnCase2010. 11. 25. 00:54
반응형

 

Case ② MBR Partition Table 일부 및 확장 파티션의 BR이 손상된 경우

 

-      복원 전 MBR : Partition Table Layout

Bootable Flag

Starting CHS

Partition Type

Ending CHS

Starting LBA

Size in sector

00

01 01 00

07

FE 3F 07

3F 00 00 00

C9 F5 01 00

 

-      하드 전체 Layout

MBR

Primary 1

BR

Extended 1

 

-      하드디스크 정보 (229,824 Sectors, 112.2MB)

Type

Name

Status

Start

Stop

Relative

size

07

NTFS

00

000101

073FFE

63

128457

05

FAT32

00

080100

0D3FFE

128520

96390

 

-      손상여부 확인

a.       Disk 전체 섹터와 인식된 파티션의 섹터 크기 확인

전체 섹터 크기      : 229824 sector

첫 번째 파티션 크기 : 128457 sector

b.       전체 섹터 중에서 거의 반만 가진 하나의 파티션만을 가졌다고 하기는 의심스럽다. 첫 번째 파티션 후에도 새로운 파티션이 있는지 찾아봐야 한다.

 

 

 

-      인식 오류 발생 원인

MBR 에는 파티션 하나만 기록이 되어 있었으나, Unused Disk Space가 약 52MB로 나타나, 한 개의 파티션이 더 있을 것을 의심. 첫 번째 파티션의 끝 지점을 확인하였더니 다음 섹터(128520)의 마지막 부분에 55 AA Signature가 확인됨. 그로부터 63섹터 떨어진 128583 섹터를 확인하였더니 VBR로 판단됨. , MBR 손상 및 확장 파티션의 BR 손상.


  

-      복원 과정

a.       첫 번째 파티션은 NTFS임을 확인(Signature : OEM String NTFS)

 

b.       마지막 섹터에 VBR 백업본 확인



 

c.       다음 섹터를 확인

c-1.  MBR 정보 확인한 두 번째 파티션 시작위치 : Starting LBA 08 F6 01 00 와 일치

c-2. 새로운 파티션이 시작되어야 함.

MBR확인 결과 2번째 파티션 시작주소(128520 섹터)

d.       마지막 2 Bytes에 “55 AA Signature 뿐으로, OEM String없음

d-1.  2번째 파티션이 Primary partition인 경우, 이 섹터는 VBR로서 OEM String이 삭제되고 File System Meta Data 등이 삭제된 것임

d-2.  2번째 파티션이 Extended partition인 경우, 이 섹터는 BR로서 이 파티션의 시작위치(다음 Container가 존재하는 경우, 다음 Container의 시작위치도 존재)를 가리키는 Partition Table이 삭제된 것임

 



 

e.       Extended Partition 인지 여부를 알기 위해 63 sector 이후 (125883 sector) 확인 :

// OEM String 확인, FAT 확인(File System Meta Data) : VBR

Extended Partition, BR 정보가 조작된 것임

 

f.        2번째 파티션의 시작지점(VBR) 128583sector에서 새로운 파티션 추가(Add Partition)

 

 

-      파티션 복원 완료 : 기존의 C 드라이브 외에 추가로 D 드라이브 생성



 

반응형
Posted by CCIBOMB
Digital Forensics/EnCase2010. 5. 12. 13:35
반응형

-      복원 과정

a.       MBR 정보 확인하여 두 번째 파티션 시작위치(Starting LBA 08 F6 01 00 : 128454 sector)로 이동

 

b.        마지막 2 Bytes에 “55 AA Signature 뿐으로, OEM String이 없음

b-1.  2번째 파티션이 Primary partition인 경우, 이 섹터는 VBR로서 OEM String이 삭제되고 File System Meta Data 등이 삭제된 것임

b-2.  2번째 파티션이 Extended partition인 경우, 이 섹터는 BR로서 이 파티션의 시작위치(다음 Container가 존재하는 경우, 다음 Container의 시작위치도 존재)를 가리키는 Partition Table이 삭제된 것임 

 

 

c.f) Partition Layout (Primary Partition 2, Extended Partition 2개인 경우)

 

  

 

c.       Extended Partition 인지 여부를 알기 위해 63 sector 이후 (125883 sector) 확인

           // OEM String MSDOS5.0이므로 파일 시스템의 유형은 FAT32로 확인

 

 

d.        2번째 파티션의 시작지점(VBR) 128583sector에서 새로운 파티션 추가(Add Partition)

 

//  확장 파티션이므로 ‘Unused Sectors before VBR = 63’

 

 

-      파티션 복원 완료 : 기존의 C 드라이브 외에 추가로 D 드라이브 생성

 

반응형
Posted by CCIBOMB
Digital Forensics/EnCase2010. 5. 12. 13:29
반응형

 

Case ① Boot Record VBR위치 정보 손상된 경우

 

-      복원 전 MBR : Partition Table Layout

Bootable Flag

Starting CHS

Partition Type

Ending CHS

Starting LBA

Size in sector

00

01 01 00

07

FE 3F 07

3F 00 00 00

C9 F5 01 00

00

00 01 08

05

FE 3F 0D

08 F6 01 00

86 78 01 00

 

-      하드 전체 Layout 

MBR

Primary 1 (NTFS)

BR

Extended 1 (FAT32)

 

-      하드디스크 정보 (229,824 Sectors, 112.2MB)

Type

Name

Status

Start

Stop

Relative

size

07

NTFS

00

000101

073FFE

63

128457

05

FAT32

00

080100

0D3FFE

128520

96390

 

-      손상여부 확인

a.       Unused Disk Area의 크기 확인

// 50 MB로 나타나, 파티션이 삭제되거나 인식되지 않았을 가능성 있음

 

b.       MBR 확인

Partition Table 확인 결과 총 2개의 Partition 정보가 수록되어 있으나, Encase에서는  C 드라이브 1개만 인식하고 있음

// Partition Table 해석 : 229824 섹터 중 첫 번째 파티션은 128457개의 섹터의 용량 차지, 시작 LBA 63섹터. 두 번째 파티션은 96390섹터의 용량을 차지, 시작 LBA 128458 섹터.

 

 

 

-      인식 오류 발생 원인

두 파티션 모두 Master Boot Record Partition Table에는 제대로 정보가 나타나 있었고, 첫 번째 파티션 (Primary Partition) VBR 또한 이상 없었지만, 두 번째 파티션의 경우 Extended Partition 으로 보이는데, BR VBR 위치 정보가 기록되어 있지 않아(손상) 인식이 되지 않음.

반응형
Posted by CCIBOMB
Digital Forensics/EnCase2010. 3. 26. 23:19
반응형

0.    Unallocated Cluster

-      Encase가 제대로 파일 시스템을 인식하지 못한 상태

 

1.    MBR의 복원

-      Bootcode는 깨끗한 MBR Bootcode를 복사하여 붙여넣고,

-      Partition Table이 깨진 경우 각각의 파티션 정보를 수집하여 직접 Partition Table Layout에 맞춰 입력해주도록 한다.

-      Forensics 관점에서는 MBR을 완전히 복원할 필요 없이(부팅이 목적이 아니므로), Partition Table만 복원하는 것으로 충분하다.

 

2.    VBR 의 복원

-      VBR은 수작업으로 복원하기가 어렵다. 각 필드 하나하나를 채우기가 어렵기 때문이다.

-      일반적인 경우 백업본을 활용하는 것이 좋다.

-      NTFS인 경우 파일 시스템의 맨 마지막 섹터에 백업본이 있다.

(파티션 매직 같은 프로그램을 사용했을 경우 백업본을 정상적으로 놔두지 않은 경우가 많아 복원이 어렵기도 하다.)

-      FAT인 경우 FAT12 FAT16은 백업본이 없고, FAT32의 경우 백업본이 존재하나 위치가 고정되어 있지 않다. (아이러니하게도 VBR에 백업본의 위치가 기록되어 있다.)

-      따라서, VBR이 손상되었을 경우, 문자열 Search를 하거나(하지만 결국 Reserved영역 안에 있으므로, 섹터 사이즈가 크지 않기 때문에 시간은 얼마 걸리지 않는다.), MS의 경우에 대체로 VBR로부터 6섹터만큼 떨어진 곳에 있으므로 이를 확인해본다.

-      Encase Forensic Training버전의 경우, 복구할 VBR 위치에서 'Add Partition' Option 'Backup Boot Record'를 체크하면 자동으로 VBR 백업본을 활용하여 Partition을 인식하는 기능을 가진다.

-      Encase LE(Law Enforcement) 버전의 경우에는 위의 Option이 존재하지 않으므로, 수작업으로 직접 백업본을 원래 VBR에 덮어써주어야 한다.

-      그러나 Encase는 이미지의 직접 Data 수정이 불가하므로, Encase Prosuite(인증서 필요) PDE 기능을 활용하여 실제 디스크로 인식시키면 된다. 이 또한 없는 경우, 해당 이미지 파일을 Winhex에서 열어 백업본 위치의 Block을 복원할 위치에 복사하면 된다.

 

c.f) Encase Prosuite

- PDE(Physical Disk Emulator, 실제 디스크로 인식시켜서 활용가능),

- VFS(Virtual File System),

- EDS(Encase Decryption Suite) 기능 활성화.

c.f) PDE 활용

- Mount as Emulated Disk : EncaseServer 역할을 하고, Client에서

수정여부 기록 가능 (Disable Caching uncheck)

 

3.    Encase가 인식한 파티션 외에 다른 파티션이 존재하는지 여부 확인 (Keyword Searching)

-      하드 전체를 선택 한 다음 Unused 공간의 Report를 확인하여, 공간이 너무 많이 남은 경우 다른 파티션이 있었는데 삭제 된 경우로 의심해 볼 수 있다. (또는 MBR 손상을 의심할 수 있다.)

-      이 때 Unused space에서 'OEM String' Keyword Searching을 통해 VBR을 찾아서 확인해 볼 수 있다.

-      Keyword Searching 방법

New Keyword           : 키워드 생성

GREP (check)            : 정규식 사용

Search expression       : (NTFS)|(MSWIN4.1)|(MSDOS5.0)

Name                  : VBR OEM String

Case Sensitive (check)    : 대소문자 구별하는 경우

Unused Disk Area (check) : 인식하지 못한 디스크 공간에서 VBR 검색

Selected entries only – Search each entry for keywords.

Selected keywords only (check) : 선택한 키워드만 검색

-      결과는 'Search Hits' 탭에 나오며. Backup Boot Record여부를 섹터 번호를 확인한다. Encase Sector 단위로 검색을 하지 않아 오탐이 많으므로 주의한다.

-      이후 VBR 시작 위치가 확인되면, 직접 해당 위치에 가서 Add partition 을 해주면 된다.

(이때 Unused sectors before VBR 에서 Primary Partition의 경우, 앞에 Boot Record가 없이 바로 붙어있으므로 '0', Extended Partition의 경우, VBR63섹터 앞에 Boot Record가 존재하므로 '63'을 입력한다.)

c.f) Keyword Global Keyword Local Keyword로 나뉜다.

Global Keyword : Case 탭 옆의 Keyword. 모든 케이스에서 사용가능.

Local Keyword : Home 옆의 Keyword. 해당 케이스에서만 사용가능.

반응형
Posted by CCIBOMB