Digital Forensics/X-Ways2021. 1. 2. 20:25
반응형

블록 해시(Block Hash)

블록(섹터: 512) 단위의 해시값으로 블록 존재여부를 식별할 수 있다.

완전한 파일은 아니지만 특정파일의 조각(블록) 여전히 존재하는지 검사하고 싶을때 사용 가능하다.

 

(실습) NTFS Image.e01에서 2 파일의 블록 해시를 계산하여 해시셋을 만들고,

만들어진 블록 해시와 동일한 블록을 Ext2 Image.e01에서 검색하자

 

1. 블록 해시셋 만들기

// 빠른 해시 비교를 위해 MD5로 해봄

 

2. 블록 해시 검색(Block Hash Search)

 

3. 일부라도 확인된 블록의 시작과 끝을 지정해서 카빙

// 시작위치로부터 파일크기만큼 뒤로 가서 End of block 지정

 

// 카빙한 파일 혹시나 하고 열어봤지만 열리지는 않음 ㅜ

 

반응형
Posted by CCIBOMB
Digital Forensics/X-Ways2021. 1. 1. 17:15
반응형

RAID (Redundant Array of Inexpensive/Independent Disk)

1. 하드웨어 RAID : 별도 RAID 카드를 통해 구현

2. 펌웨어(드라이브) RAID : 메인보드 RAID BIOS에서 설정 가능

3. 소프트웨어 RAID : OS 디스크 관리에서 구현(Windows Dynamic Disk, Linux LVM)

 

실무에서 많이 사용하는 RAID Level : RAID 0, 1, 5, 6

1. RAID 0 (Striping)

 

2. RAID 1 (Mirroring)

 

3. RAID 5

제일 사용 빈도가 높은 RAID Level이다. 

Block 단위로 striping을 하고, error correction을 위해 패리티를 1개의 디스크에 저장하는데,

패리티 저장 하는 디스크를 고정하지 않고, 매 번 다른 디스크에 저장한다.

최소 3개의 디스크로 구성 가능하다.

1개의 디스크 에러 시 복구 가능하다.

(2개 이상의 디스크 에러 시 복구 불가능)

RAID 0에서 성능, 용량을 조금 줄이는 대신 안정성을 높인 RAID Level이다.

 

4. RAID 6

RAID 5에서 성능, 용량을   줄이고, 안정성을 높인 RAID Level이다.

Block 단위로 striping을 하고, error correction을 위해 패리티를 2개의 디스크에 저장하는데,

패리티 저장 하는 디스크를 고정하지 않고, 매 번 다른 디스크에 저장한다.

최소 4개의 디스크로 구성 가능하다.

2개의 디스크 에러 시 복구 가능하다.

(3개 이상의 디스크 에러 시 복구 불가능)

 

 

(실습) RAID 0 재구성

1. DISK 1~3 확인, DISK 1에서 MBR 확인되므로 첫번째 디스크임을 있다.

 

2. Reconstruct RAID system

 

3. RAID 0 재구성 성공!

 

4. Case 추가

 

반응형
Posted by CCIBOMB
Digital Forensics/X-Ways2020. 12. 31. 21:04
반응형

섹터 중첩하기(superimposition)

읽기 전용으로 열린 디스크 또는 해석된 이미지 위에 섹터를 중첩하는 기능이다.

디스크나 이미지 자체의 데이터는 변경하지 않고 일시적으로 가상의 데이터를 해석할 수 있다.

부분 섹터가 아닌 완전한 섹터만 중첩이 가능하다.

 

1. 중첩할 섹터 생성 혹은 복사

Ex. 더미 섹터 생성

 

 

2. 이미지에서 Superimpose sectors

(Edit - Superimpose sectors)

 

3. 섹터 중첩 결과

반응형
Posted by CCIBOMB
Digital Forensics/Windows2020. 12. 31. 20:00
반응형

레지스트리 분석도구

  • RegRipper (by keydet89) : 텍스트 형태로 출력 (국내 도구)

github.com/keydet89/RegRipper3.0

 

keydet89/RegRipper3.0

RegRipper3.0. Contribute to keydet89/RegRipper3.0 development by creating an account on GitHub.

github.com

 

  • Registry Explorer (by Eric Zimmerman) : 세계에서 가장 많이 사용함. GUI

ericzimmerman.github.io/#!index.md

 

Eric Zimmerman's tools

 

ericzimmerman.github.io

 

  • REGA (업데이트X)

forensic.korea.ac.kr/DFWIKI/index.php/REGA(Registry_Analyzer)

 

REGA(Registry Analyzer) - Digital Forensic Wikipedia

REGA는 4&6Tech에서 개발한 레지스트리 분석 도구로 유료이다. 마지막 업데이트는 2013년 10월 22일이며, 최신 버전은 1.5.0.4버전이다. REGA는 GUI기반이며 Windows운영체제에서 사용 가능하다. REGA는 [표 1]

forensic.korea.ac.kr

 

  • X-ways : 기본적인 분석 가능. 특히, 사용자 정의 포맷으로 레포트를 내보낼 있다는 점이 장점

 

 

Windows 10에서 새로 봐야하는 Registry

  • Windows 10부터는 Registry Transaction 수행함 (.log 파일도 수집해서 분석해야함!)

c.f) https://www.fireeye.com/blog/threat-research/2019/01/digging-up-the-past-windows-registry-forensics-revisited.html

 

Digging Up the Past: Windows Registry Forensics Revisited

Learn about using Windows registry data when performing forensic analysis of computer networks.

www.fireeye.com

 

  • bam (=background application manager)

c.f) BAM/DAM

Description Windows Background Activity Moderator (BAM) Location Win10: SYSTEM\CurrentControlSet\Services\bam\UserSettings\{SID} SYSTEM\CurrentControlSet\Services\dam\UserSettings\{SID} Investigative Notes Provides full path of the executable file that was run on the system and last execution date/time

 

  • Shimcache

SYSTEM\ControlSet001\Control\Session Manager\AppCompatCache

(윈도우10 호환성 문제로 대체 API 실행한 흔적 -> Malware 흔적을 확인할 있음)

Description • Windows Application Compatibility Database is used by Windows to identify possible application compatibility challenges with executables. • Tracks the executables file name, file size, last modified time, and in Windows XP the last update time

Location XP: SYSTEM\CurrentControlSet\Control\SessionManager\AppCompatibility Win7/8/10: SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache

Interpretation: Any executable run on the Windows system could be found in this key. You can use this key to identify systems that specific malware was executed on. In addition, based on the interpretation of the time-based data you might be able to determine the last time of execution or activity on the system. • Windows XP contains at most 96 entries - LastUpdateTime is updated when the files are executed • Windows 7 contains at most 1,024 entries - LastUpdateTime does not exist on Win7 systems

 

c.f) Windows 10 Timeline

Description Win10 records recently used applications and files in a “timeline” accessible via the “WIN+TAB” key. The data is recorded in a SQLite database.

Location C:\Users\\AppData\Local\ConnectedDevices Platform\L.\ActivitiesCache.db

Interpretation • Application execution • Focus count per application

 

  • RecentApps

Description GUI Program execution launched on the Win10 system is tracked in the RecentApps key

Location Win10: NTUSER.DAT\Software\Microsoft\Windows\Current Version\Search\RecentApps

Interpretation Each GUID key points to a recent application. AppID = Name of Application LastAccessTime = Last execution time in UTC LaunchCount = Number of times executed

반응형
Posted by CCIBOMB
Digital Forensics/X-Ways2020. 12. 30. 22:59
반응형

[X-Ways Forensics] 18 인덱스 슬랙(Index Slack)까지  확인하기

 

c.f) NTFS의 인덱스 구조는 B Tree임

빠르게 검색이 필요한 데이터는 인덱스 구조로 관리함

(디렉토리의 MFT Entry, Non-Resident 인덱스 노드 등)

 

 

X-ways에서 인덱스 슬랙까지 확인하는 방법

(파일시스템에 대한 지식이 충분하면, 당연히 수동으로 확인하면 제일 좋음)

 

// 옵션 'Particularly thorough file system data structure search'

(EnCase 'Lost Folders' 유사함)

 

// List earlier names/paths

(NTFS 인덱스 슬랙의 정보까지 모아서 목록화해줌)

 

인덱스 슬랙 포렌식을 통한 삭제된 파일 정보 확인

(참고: http://koreascience.kr/article/JAKO201520448048465.pdf)

반응형
Posted by CCIBOMB
Digital Forensics/X-Ways2020. 12. 30. 22:55
반응형

[X-Ways Forensics] 17 NTFS MFT Record 속성

(※ 참고 : forensic-proof.com/archives/1769, forensic-proof.com/archives/590)

 

 

1. MFT Record - File Record Header

MFT Record Header 中 다음의 정보들이 중요함

Signature - MFT Record 시그니처(“FILE”)

Sequence Number - 순서번호로MFT Record 생성후할당/해제시마다1씩증가

Flags - MFT Record 상태정보

(0x01 : 사용중, 0x02 : 디렉토리, 0x04 : 분석안됨, 0x08 : 분석안됨)

 

일반적인 파일의 경우, MFT 엔트리에는 기본적으로 3개의 속성($STDINFO, $FNA, $DATA)이 존재함

MFT 엔트리는 NTFS의 각 파일마다 하나씩 존재함

따라서 각 파일의 File Record 확인하면, 삭제여부 확인 가능함

 

2. $FILE_NAME

File Reference Addr of parent directory 필드 :

부모 디렉토리의 주소를 가리키며,

Sequence 남겨서 삭제/교체 여부를 확인함

만약 부모 디렉토리가 삭제된 경우, 고아 파일이

EnCase에서는 Lost Files, X-ways에서는 Path Unknown 폴더에 고아 파일을 모아서 보여줌

// 파일이름이 2바이트를 넘는 경우, POSIX 규칙에 따라 속성정보가 2개로 저장됨

첫번째는 POSIX 규칙에 맞게 2바이트로 줄여서 저장, 두번째는 풀네임을 저장함

 

3. $DATA

$DATA 속성 中 Resident, Non-resident 속성이 있음

파일 데이터가 MFT 엔트리 저장공간보다 큰 경우,

별도의 클러스터를 할당받아 저장됨. 이를 Non-resident 속성이라고 함

이와 반대로, Resident 속성은 헤더 바로 뒤에 위치함

 

(실습) Resident와 Non-resident 직접 살펴보기

(1) Resident.txt, non-resident.txt 생성하기

Resident.txt(100 bytes) : 파일내용 "AAAAAAAAAA"

Non-resident.txt(1,000 bytes) : 파일내용 "AAAAAAAAA * 10"

 

(2) Resident.txt, non-resident.txt 삭제하기

 

(3) X-ways에서 확인하기

// resident.txt resident이기 때문에 data unchanged 확신할 있음

그러나 Non-resident 확신할 수가 없음

(참고로, X-ways 삭제된 파일을 3가지로 나누어서 표시함)

반응형
Posted by CCIBOMB
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/X-Ways2020. 12. 8. 22:58
반응형

1. .txt 확장자를 가지는 파일 1MB ~ 2MB 크기를 가지는 파일은 몇 개인가요?

// 파일이름 중 확장자 '.txt'로 필터링
// 파일크기를 1MB~2MB로 필터링

 

// 필터링 결과

 

 

2. 파일명에 "AMOLED" 들어가는 파일 삭제된 파일은 개인가요?

// 파일이름 중 AMOLED가 포함된 파일 필터링방법 -1 

 

// 파일이름 중 AMOLED가 포함된 파일 필터링방법 -2

 

// 삭제된 파일로 필터링

 

// 필터링 결과

 

 

3. 전체 파일 이메일 파일만 필터링하세요

// 파일타입 중 Email 관련 선택하여 필터링

 

// 필터링 결과

 

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

Navigation

파일시스템에서 관련 데이터 구조를 직접 찾을 수 있도록 지원함

(예. NTFS의 파일 레코드, Ext2/Ext3/Ext4의 inode, FAT의 디렉토리 항목 등)

 

1. List Clusters

선택 객체(파일/디렉토리)에 할당된 모든 클러스터 목록을 표시함

클러스터 목록을 텍스트 파일로 추출 가능함

 

2. Seek File Record

파일의 $MFT Record 이동 가능함

 

Xways $MFT 구조 파일시스템 정보를 자동으로 분석해줌

 

3. Seek parent object

선택 객체의 부모 객체로 이동함

백스페이스 키를 누를것과 동일함

하위 객체는 디렉토리의 일반파일 또는 Email 아카이브의 메시지 또는 첨부파일일 수 있음

 

4. See selected item from volume root

동일한 볼륨의 다른 모든 팡리 중에서 선택한 파일을 표시함

파일시스템의 루트에서 재귀적으로 탐색함

동일 파일시스템에서 동일한 이름, 동일한 ID(볼륨 Shadow copy의 이전버전 등),

동일한 소유자, 동일한 sender 또는 유사한 타임스탬프를 가진 파일이 있는지

확인하는데 유용함(by 정렬 기능 활용)

반응형
Posted by CCIBOMB