Digital Forensics/X-Ways2021. 1. 7. 19:54
반응형

[X-Ways Forensics] 25 E-mail 분석

 

  • X-ways에서 pst 분석 -> eml 첨부파일 압축해제 분석 가능

 

  • raw mode에서 email header 분석 가능

 

AXIOM 같은 기능 제공한다.

 - 헤더를 보여주고, Sender 분석 용이하다.

 

메일의 내용이 중요한 경우에는, e-Discovery 툴을 사용한다.

ex. Nuix(국내에서 가장 많이 사용함) 이용해 Processing ,

     Relativity 이용해 분석, 리뷰한다.(관련 유사 이메일 분석해줌)

 

 

※ 아이디어 - 

일명 '나이지리안 스캠'을 방지하기 위해서는,

결제시 2 인증을 의무화 하면 예방 가능하다고 생각된다.

중소기업뿐 아니라 대기업도 같은 수법으로 큰 금액의 사기를 당하기도 하니..

ex. LG화학 200 사기당함(2016)

www.kita.net/cmmrcInfo/cmmrcNews/cmmrcNews/cmmrcNewsDetail.do?pageIndex=1&nIndex=59733&sSiteid=1&searchReqType=detail&searchCondition=TITLE&searchStartDate=&searchEndDate=&categorySearch=1&searchKeyword&logGb=A9400_20200831

 

언택트 시대 이메일 무역 사기 급증… “예방이 최선”-무역뉴스

무역 관련 주요 국내 및 해외 뉴스, 최신 환율 전망 업데이트.

www.kita.net

 

반응형
Posted by CCIBOMB
Digital Forensics/X-Ways2021. 1. 6. 20:46
반응형

[X-Ways Forensics] 24 Timeline 분석

 

  • Extract internal metadata, browser history and events -> meta data 컬럼에 추가

 

  • 모든 Event들을 시간순서에 따라 타임라인 분석

 

※ Plaso(log2timeline) -> AXIOM에서 구현됨, X-ways Timeline 분석기능 있음

반응형
Posted by CCIBOMB
Digital Forensics/X-Ways2021. 1. 6. 19:42
반응형

[X-Ways Forensics] 23 Signature Analysis

 

Signature Analysis는 확장자가 변경된 파일 식별이 주 목적이다.

대부분의 프로그램에서 확장자를 보고 파일 타입을 결정하는 것이

문제의 소지가 될 수 있으므로, 

기록된 확장자와 파일의 실제 Signature 를 분석하여 일치하는 지를 확인하는 작업이다.

 

Signature

어떠한 파일타입인지를 나타내는 코드

보통 파일의 앞 부분

JPG 의 경우 FF D8 , MP3 의경우 ID 3 로 시작한다.

 


수사과정에서는 음란물 검색, 웹쉘 검색(업로드 취약점 이용) 등에서 주로 활용한다.

 

 

Signature 분석

 

Signature 분석 수행

 

Signature 분석 결과

// not verified : 삭제된 파일로, 검증 불가, hard link인 경우도 굳이 반복하여 검증 불요

 

// newly identified : ascii, xls 등으로 새로 확인함

 

 

※ EnCase를 활용한 Signature 분석과 비교 : ccibomb.tistory.com/358

반응형
Posted by CCIBOMB
Digital Forensics/X-Ways2021. 1. 3. 20:32
반응형

FuzZy 해시(FuzZyDoc)

문서 (워드, PPT, Excel, Email, TXT ) 텍스트 내용을 통해 일치여부를 식별할 있는 기능이다.

내용이 대체로 동일한 문서 (예 : 동일한 레터 헤드로 동일한 회사에서 생성 한 송장)는

동일한 텍스트의 양에 따라 중요한 세부 정보 (청구 지 주소, 가격)가

변경 되더라도 알고리즘에 의해 유사한 것으로 간주한다.

동일한 내용의 파일의 형식(.doc -> .pdf, .hwp ) 변경된 경우에도 유사한 것으로 간주한다.

 

 

Hwp 파일은 default 설정이 아니므로 간단히 추가만 해주면 가능함

1) 기본 default 세팅으로 Fuzzy 검색하면 hwp은 탐지 안됨

 

2) X-ways hwp viewer 내장되어 있으므로, 간단히 hwp 추가해주면 확인 가능

 

3) hwp 파일도 FuzzyDoc 통해 유사도 100% 확인됨

 

 

(실습) NTFS Image.e01에서 RC4.pdf 파일의 FUZZY 해시를 계산하고 해시셋을 만들고,

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

 

1) FUZZY 해시셋 만들기

 

2) FUZZY 해시 검색

 

3) 유사도 확인

// 크기 차이가 나지만 FUZZY 해시값은 100% 동일함을 확인(Analysis 탭에서 확인 가능)

반응형
Posted by CCIBOMB
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/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