FAT32 파티션 복구

 

섹터               물리적 디스크 최소 단위, 512byte

클러스터         섹터 그룹 단위 4096byte(512byte * 8)

 

  MBR              512 byte 

  • 부트코드          446byte         부팅에 필요한 코드 정보  
  • 파티션 테이블    64byte           주 파티션 4개에 대한 정보, 각각 파티션은 16byte로 구성
  • 시그니처            2byte            55   AA

80 01 01 00 0B FE 3F F4 3F 00 00 00 C0 3F 3C  (446byte 이후 파티션 테이블)

 

1byte   부트플래그             80          (0x80: 부팅 가능, 0x00 : 부팅 불가능)

3byte   CHS 시작 주소        01 01 00    현재 사용 x

1byte   파일 시스템 타입     0B           (0x0B: FAT32, 0x07: NTFS , 0x05: 확장파티션 ,0xEE : GPT 파티션)

3byte   CHS 끝 주소           FE 3F F4     사용 x

4byte   LBA(VBR) 시작주소  3F 00 00 00      리틀 엔디안 -> 00 00 00 3F = 63 섹터

4byte   총 섹터 개수           C0 3F 3C 00      리틀 엔디안 -> 00 3C 3F  C0 = 3948480개

                                                             512 * 3,948,480 = 2,021,621,760byte 개

 

 

 

 

 

63 섹터 쓸데 없는 값으로 채워져 있다. 여기에 +6 한곳이 백업본이 존재하는 곳이다.

 

69 섹터에 있는 복구값으로 변경해 저장하면 복구된다.

 

복구가 된것을 확인.

                                          

 


다중파티션 복구

파티션 시작부분

 

1. 첫번째 파티션 분석

 

00 04 01 00 07 03 20 32 80 00 00 00 00 90 01 00

 

1byte   부트플래그             00          (0x80: 부팅 가능, 0x00 : 부팅 불가능)

3byte   CHS 시작 주소        04 01 00    현재 사용 x

1byte   파일 시스템 타입     07          (0x0B: FAT32, 0x07: NTFS , 0x05: 확장파티션 ,0xEE : GPT 파티션)

3byte   CHS 끝 주소           03 20 32     사용 x

4byte   LBA(VBR) 시작주소 80 00 00 00    리틀 엔디안 -> 00 00 00 80 = 128 섹터

4byte   총 섹터 개수          00 90 01 00      리틀 엔디안 -> 00 01 90 00 = 102400개

                                                             512 * 102,400 = 52,428,800byte 개

 

2. 두번째 파티션 분석

 00 04 01 32 07 03 20 64 80 90 01 00 00 90 01 00

1byte   부트플래그             00          (0x80: 부팅 가능, 0x00 : 부팅 불가능)

3byte   CHS 시작 주소        04 01 32    현재 사용 x

1byte   파일 시스템 타입     07          (0x0B: FAT32, 0x07: NTFS , 0x05: 확장파티션 ,0xEE : GPT 파티션)

3byte   CHS 끝 주소           03 20 64    사용 x

4byte   LBA(VBR) 시작주소 80 90 01 00    리틀 엔디안 -> 00 01 90 80 = 102,528‬ 섹터

4byte   총 섹터 개수          00 90 01 00      리틀 엔디안 -> 00 01 90 00 = 102,400‬개

                                                             512 * 102,400 = 52,428,800byte 개

 

3. 세번째 파티션 분석

00 04 01 64 07 03 20 96 80 20 03 00 00 90 01 00

1byte   부트플래그             00          (0x80: 부팅 가능, 0x00 : 부팅 불가능)

3byte   CHS 시작 주소        04 01 64    현재 사용 x

1byte   파일 시스템 타입     07          (0x0B: FAT32, 0x07: NTFS , 0x05: 확장파티션 ,0xEE : GPT 파티션)

3byte   CHS 끝 주소           03 20 96    사용 x

4byte   LBA(VBR) 시작주소 80 20 03 00    리틀 엔디안 -> 00 03 20 80 = 204,928‬ 섹터

4byte   총 섹터 개수          00 90 01 00      리틀 엔디안 -> 00 01 90 00 = 102,400‬개

                                                             512 * 102,400 = 52,428,800byte 개

 

4. 네번째 파티션 분석

 00 04 01 96 05 03 60 FE 80 B0 04 00 00 40 0B 00

1byte   부트플래그             00          (0x80: 부팅 가능, 0x00 : 부팅 불가능)

3byte   CHS 시작 주소        04 01 96    현재 사용 x

1byte   파일 시스템 타입     05          (0x0B: FAT32, 0x07: NTFS , 0x05: 확장파티션 ,0xEE : GPT 파티션)

3byte   CHS 끝 주소           03 60 FE    사용 x

4byte   LBA(VBR) 시작주소 80 B0 04 00    리틀 엔디안 ->00 04 B0 80 = 307,328‬‬ 섹터

4byte   총 섹터 개수          00 40 0B 00      리틀 엔디안 -> 00 0B 40 00= 737,280 개

                                                             512 * 737,280 = 377,487,360byte 개

 

 

 

확장파티션 위치 -> 307328 섹터 위치

5. 확장 파티션 분석 1번째

00 08 01 96 07 07 20 C8 80 00 00 00 00 90 01 00

 

1byte   부트플래그             00          (0x80: 부팅 가능, 0x00 : 부팅 불가능)

3byte   CHS 시작 주소        08 01 96    현재 사용 x

1byte   파일 시스템 타입     07          (0x0B: FAT32, 0x07: NTFS , 0x05: 확장파티션 ,0xEE : GPT 파티션)

3byte   CHS 끝 주소           07 20 C8    사용 x

4byte   LBA(VBR) 시작주소 80 00 00 00    리틀 엔디안 ->00 00 00 80 = 128‬‬ 섹터

4byte   총 섹터 개수          00 90 01 00      리틀 엔디안 -> 00 01 90 00= 102,400 개

                                                             512 * 102,400 = 52,428,800‬byte 개

 

네번째 파티션의 위치 = 현재 VBR 위치 + 128 = 307328 + 128 = 307456

 

6. 확장 파티션 분석 2번째

00 08 01 C8 05 0B 60 FC 80 90 01 00 80 A0 09 00

 

1byte   부트플래그             00          (0x80: 부팅 가능, 0x00 : 부팅 불가능)

3byte   CHS 시작 주소        08 01 C8    현재 사용 x

1byte   파일 시스템 타입     05          (0x0B: FAT32, 0x07: NTFS , 0x05: 확장파티션 ,0xEE : GPT 파티션)

3byte   CHS 끝 주소           0B 60 FC    사용 x

4byte   LBA(VBR) 시작주소 80 90 01 00    리틀 엔디안 ->00 01 90 80= 102,528‬‬ 섹터

4byte   총 섹터 개수          80 A0 09 00      리틀 엔디안 -> 00 09 A0 80= 630,912개

                                                             

 다섯번째 파티션 정보의 위치 = 현재 VBR 위치 + 102528 = 307328 + 102528 = 409856

 

7. 다섯번째 파티션

00 0C 01 C8 07 0B 60 FC 80 00 00 00 00 A0 09 00

파티션 부트 플래그(1byte) 00
CHS 시작 주소(3byte) 0C 01 C8 
파일시스템 타입(1byte) 07 NTFS
CHS 끝 주소(3byte) 0B 60 FC
LBA/VBR 시작 주소(4byte) 80 00 00 00 00 00 00 80 -> 128
총섹터 개수(4byte) 80 A0 09 00 00 09 A0 80 -> 630912
용량 512 x 630912 = 323026944

 - 다섯번째 파티션 위치 = 현재 VBR 위치 + 128 = 409856 + 128 = 409984

 


GPT 파티션

 

- 2TB 이상의 파티션을 구성할 경우 사용하는 방식

- GPT 디스크로 부팅할 경우에는 BIOS 방식이 아닌 EFI 방식을 사용해야 한다.

- 이론적으로는 8ZB 까지 가능하지만 , 실제는 18EB로 제한되어 있음

- 파티션 엔트리를 128byte를 사용하며,  최대 128개 파티션 구성할 수 있음

- GPT는 1번 섹터(Primary GPT)에 GPT 헤더(92 byte) 

           2번 섹터(Secondary GPT)에 파티션 정보(각각 128byte)

 

00 FE FF FF EE FE FF FF 01 00 00 00 AF C2 E7 0E

 

00                    부트 플래그

EE                    파일 시스템 유형        0xEE       GPT(EFI 디스크)

01 00 00 00       LBA 시작 주소           리틀 엔디안 -> 00 00 00 01 = 1 섹터

 

 

GPT 헤더 (92byte)

 

Signature(8Byte)

 영역

 내용

 45 46 49 20 50 41 52 54

 'EFI PART' 기록

 

Revision(4Byte) 

 영역

 내용

00 00 01 00

버전 1.0

 

Header 크기(4Byte) 

 영역

 내용

5C 00 00 00

 GPT 헤더 크기(92byte)

 

CRC32 of Header(4Byte) 

 영역

 내용

16 88 44 50

 Header 시작부터 끝에 대한 무결성 체크

 

Reserved(4Byte) 

 영역

 내용

00 00 00 00

 예약된 영역이며 사용하지 않는다.

 

Current LBA(8Byte) 

 영역

 내용

01 00 00 00 00 00 00 00

현재 LBA 주소

 

Backup LBA(8Byte) 

 영역

 내용

AF C2 E7 0E 00 00 00 00

GPT Header 정보를 백업한 Sector 위치

 

First usable LBA for Partition(8Byte) 

 영역

 내용

22 00 00 00 00 00 00 00

파티션 구성을 할 수 있는 영역의 시작 위치

Primary Partition Table Last LBA + 1

 

Last usable LBA for Partition(8Byte) 

 영역

 내용

8E C2 E7 0E 00 00 00 00

파티션 구성을 할 수 있는 영역의 마지막 위치

Secondary Partition Table Last LBA - 1

 

Disk GUID(16Byte)

 영역

 내용

E2 83 B4 33 56 08 73 4E A8 C9 96 BC 37 64 81 69

 장치 UUID 번호

 

Partition Entries Starting LBA(8Byte) 

 영역

 내용

02 00 00 00 00 00 00 00

Partition Entry 시작 위치

각 파티션 정보가 저장되어 있음

 

Number of Partition Entries(4Byte) 

 영역

 내용

80 00 00 00

지원하는 GPT Partition Entry 개수

 

Size of Partition Entry(4Byte) 

 영역

 내용

80 00 00 00

GPT Partition Entry 크기(128Byte)

대부분 128Byte 사용

CRC32 of Partition Array(4Byte) 

 영역

 내용

FC B9 1A E4

파티션 CRC32

 

 

Reserved(420Byte) 

 영역

 내용

 

전부 0

0x25C ~ 0x3FF

사용하지 않는 영역


Secondary GPT Sector(128byte)

Partition Type GUID(16Byte) 

 영역

 내용

28 73 2A C1 1F F8 D2 11 BA 4B 00 A0 C9 3E C9 3B

파티션 타입 고유 번호

파티션 파일 시스템과 OS/서비스 확인 가능

 

Unique Partition GUID(16Byte) 

 영역

 내용

2B 80 26 60 4D AD 05 47 B9 B1 BF 81 BD D2 CA C7

파티션마다 할당하는 고유한 값을 저장

 

First LBA(8Byte) 

 영역

 내용

28 00 00 00 00 00 00 00

파티션 시작 주소

(0x28 = 40)

 

Last LBA(8Byte) 

 영역

 내용

27 40 06 00 00 00 00 00

파티션 마지막 주소

(0x64027 = 409639)

 

Attribute Flags(8Byte) 

 영역

 내용

00 00 00 00 00 00 00 00

파티션 속성을 나타내는 값

 

Partition Name(72Byte) 

 영역

 내용

45 00 46 00 49 00 20 00 53 00 79 00 73 00 74 00 65 00 6D 00 20 00 50 00 61 00 72 00 74 00 69 00 74 00 69 00 6F 00 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0x438 ~ 0x47F

파일 시스템 이름

UTF-16 사용

 

 

'디지털 포렌식' 카테고리의 다른 글

윈도우 포렌식  (0) 2019.07.23
침해사고포렌식  (0) 2019.07.18
네트워크 포렌식  (0) 2019.07.15
안티 포렌식  (0) 2019.07.11
디지털 포렌식 개요  (0) 2019.07.11

범위

- 레지스트리 , 웹 브라우저 , $MFT , 휴지통 , 프리패치, 웹 로그 , 쉘백 

- 점프리스트 , 링크파일 ,메모리 파일 ,스케쥴러

- 이벤트로그 , 썸네일, 아이콘 캐시 , 서비스

 

레지스트리
- 운영체제와 응용프로그램 운영에 필요한 정보를 저장하기 위한 계층형 데이터베이스 - 부팅 과정, 로그인, 서비스 실행, 응용프로그램 실행, 사용자 행위와 관련된 모든 것들을 기록하여 관리함 - 이때, 레지스트리 정보는 하이브 파일로 관리한다.

 


레지스트리

- 시스템 정보와 사용자 다양한 정보를 확인할 수 있다. 

- 최근 열람한 문서 파일 목록, 실행 파일 목록, 시스템 정보 등을 확인할 수 있다. 

- 레지스트리 확인 명령어 : Ctrl+R -> ‘regedit’ 명령 실행

 

레지스트리 구성(Root Key 구성)


- HKEY CLASS ROOT : 파일 연관성과 COM 정보

HKEY CURRENT USER : 현재 시스템에 로그인된 사용자 정보 

- HKEY LOCAL MACHINE : 시스템 하드웨어 및 소프트웨어 정보

- HKEY USERS : 모든 사용자 정보

- HKEY CURRENT CONFIG : 시스템 시작시 사용되는 하드웨어 정보

 

HKEY LOCAL MACHINE은 다음 경로에 다시 하위 하이브 파일로 구성된다.
    C:\Windows\System32\config

SAM 파일 : 로컬 계정 정보와 그룹 정보

SECURITY : 시스템 보안 정책과 권한 할당 정보

SOFTWARE : 시스템 부팅에 필요 없는 시스템 전역 구성 정보

SYSTEM : 시스템 부팅에 필요한 전역 구성 정보

 

C:\Windows\System32\config\systemprofile

C:\Windows\ServiceProfiles\LocalService

C:\Windows\ServiceProfiles\NetworkService

//win10에서는 이 경로.

 

ntuser.dat 파일 : 사용자 프로파일 정보

 

위의 5개의 파일은 실제 분석시 필요한 레지스트리의 하이브 파일이다.


5개 하이브파일 위치.

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist

시스템 정보

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

 

설치된 프로그램 정보
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

- 설치된 프로그램 이름, 버전, 게시자, 설치 날짜/시간, 설치 경로 확인 가능

컴퓨터 이름

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName

- 컴퓨터 이름 확인 가능

 

SID 정보

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 

- 계정에 대한 보안 식별자(권한 관련 정보를 담고 있는 ID) 정보 확인 가능

사용자 계정 기본 폴더

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders

 

마지막 로그인한 사용자 정보

- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

 

시스템 마지막 종료 시간

- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Windows

 

표준 시간대

- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\TimeZoneInformation

 

이벤트 로그 정보

- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog

 

응용 프로그램 사용 흔적

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist

- {CE ~ : 실행시킨 응용프로그램 정보 - {F4 ~ : 시작 메뉴에 저장되어 있으며, 실행시킨 응용프로그램 정보

 

그림판으로 열어본 파일 흔적

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Paint \Recent File List 

- File번호 : 번호가 낮을 수록 최근에 열어본 파일

 


워드패드로 열어본 파일 흔적

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Wordpad \Recent File List

- File번호 : 번호가 낮을 수록 최근에 열어본 파일

 

 

MS 오피스 사용 흔적

- HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\File MRU 

- HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\PowerPoint\File MRU

- HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\File MRU

 

한글 사용 흔적

- HKEY_CURRENT_USER\Software\HNC\Hwp\8.0\HwpFrame\RecentFile

곰플레이어 사용 흔적

- HKEY_CURRENT_USER\Software\GRETECH\GomPlayer\OPTION - 마지막 접근 폴더 및 파일 정보 확인 가능

PDF(Adobe) 사용 흔적

- HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\11.0\AVGeneral\cRecentFiles

 

 

 

검색기를 이용한 키워드 사용 흔적

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer \WordWheelQuery


최근 열어본 파일 흔적

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs


최근 실행창에 실행/검색한 명령 흔적

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU


저장 매체 연결 흔적

- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR - C:\Windows\inf\setupapi.dev.log
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses
- HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices

 

외부시스템 연결 정보 (원격데스트탑 ‘mstsc’를 이용하여 접속할 경우 정보 저장)


- HKEY_USERS\S-1-5-21-2128383417-2113153026-2455313902-500\Software\Microsoft \Terminal Server Client\Default


사용한 프로그램의 창 제목

- HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft \Windows\Shell\MuiCache

 

알림 영역 아이콘

- HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft \Windows\CurrentVersion\TrayNotify

 

작업표시줄 고정 리스트 정보

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband

 

탐색기 주소 창에 입력한 경로 리스트

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths

 

최근 읽기 또는 저장한 파일 흔적

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer \ComDlg32\OpenSavePidlMRU

 

최근에 접근한 폴더 흔적

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer \ComDlg32\LastVisitedPidlMRU

 

서비스 및 드라이버 목록

- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services

 

네트워크 카드 관련 정보

- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards

 

네트워크 정보 관련

- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces

 

무선랜 관련 정보

- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList \Profiles

 

IE 다운로드 디렉토리 및 설정 정보

- HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer - HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main

 

타이핑한 URL 목록

- HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs

 

즐겨찾기 목록

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder \Favorites\Links

 

응용프로그램 호환성 캐시 (호환성 문제가 발생했던 응용 프로그램 정보 저장)

- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager \AppCompatCache

 

부팅시 자동 실행되는 소프트웨어 정보

- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon \shell
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion \Run
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
- C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup 

- C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs \Startup


명령 프롬프트 실행시 자동으로 시작되는 소프트웨어 정보

- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor

 

레지스트리 편집기에서 마지막으로 접근한 키에 대한 정보

- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit

 


REGA

 

이렇게 일일이 찾는건 매우 귀찮은 일이다. 따라서 도구를 사용하여 쉽게 찾을 수 있다.

REGA_1.5.3 이란 프로그램이다.

분석을하기위해선 하이브파일 5개가 모두 들어있어야 한다.
간단하게 키워드 검색을 통해 원하는 것을 찾을 수 있다.

 


프로파일 및 파일 다운로드 분석

 

실습.

- 사용 도구 : AccessData FTK Imager, BEncode Editor, NTFS Log Tracker
 - 분석 파일 : Download
 - 코리아 고객사는 회사 내규로 토렌트 사용을 금지하고 있으며, 사용시 진급 누락 또는 퇴사 조항이 있는 상태이다.
 - 코리아 고객사로 파견 나간 김대리는 이 사실을 모르고 토렌트를 통해서 불법 다운로드를 실시하였다. 
 - 코리아 담당자가 이 사실을 알고, 김대리에게 회사 내규를 알려주며 추궁하자 김대리는 토렌토에 '토'도 모른다고 한다.
 - 김대리가 토렌트를 사용한 흔적이 있는지를 분석하도록 한다.

 

[힌트] 토렌트 프로그램은 'setting.dat' 파일에 토렌트 기본 설정과 배포를 위한 시드 파일 정보를 관리한다.

 

1. AccessData FTK Imager을 통해 디스크 이미지파일 을 실행

 

2.  setting.dat 찾은 후 , 파일을 추출.

3. BEncode Editor를 통해 setting.dat를 연다.

저 위치에 토렌트에 관련된 파일이있다.

 

4. 직접 저 경로로 들어가 파일을 찾은 후 , 추출

5. root에있는 Log file과 MFT파일을 추출

 

6. 추출한 파일을 NTFS Log Tracket을 통해 엑셀파일로 추출

logfile이다.

7. 이곳에서 아까 추출한 052b585f1808716e1d12eb55aa646fc4984bc862 이이름을 검색하여 있는지 확인

증거 확인.


실습 2 

 - 사용 도구 : IE10Analyzer
 - 분석 파일 : WebCacheV24.dat
 - 김대리는 저번 사건에 의해서 진급이 누락되었다. 
 - 짜증났던 김대리는 경쟁 업체로 이직을 계획하며, 코리아 고객사 기밀 정보를 경쟁 업체에게 제공하기로 마음을 먹었다.
 - 그래서 김대리는 경쟁 업체 사이트를 통해서 코리아 고객사 기밀 정보를 유출하고, 회사를 퇴사하였다.
 - 퇴사 날짜 : 2012-08-30 18:00
 - 뒤늦게 코리아 고객사 기밀 정보가 유출된 사실을 알게된 본사 담당자가 김대리를 추궁하자 또 그런적이 없다고 한다. 
 - 김대리가 가장 많이 접속한 사이트의 URL과 해당 사이트에 마지막으로 접근한 시간 정보를 이용하여 기밀 정보를 유출한 증거를 찾을 예정이다.

 

 

1. \Users\7ester\AppData\Local\Microsoft\Windows\WebCache 에서 WebCacheV24.dat를 IE10Analyzer통해 실행

win10은 -> 위치 C:\Users\gb\AppData\Local\Microsoft\Windows\WebCache

 

가장 많이 접속한 url을 확인

저 사이트에서 유출한 것으로 알 수 있다.

'디지털 포렌식' 카테고리의 다른 글

파일시스템 포렌식  (0) 2019.07.29
침해사고포렌식  (0) 2019.07.18
네트워크 포렌식  (0) 2019.07.15
안티 포렌식  (0) 2019.07.11
디지털 포렌식 개요  (0) 2019.07.11

메모리 분석

 

1. 메모리 덤프

AccessData FTK Imager 을 통해 메모리 덤프를 만든다.

 

 

 

volatility

 

distorm3-3.3.0.win32

PIL-1.1.7.win32-py2.7.exe

pycrypto-2.6.win32-py2.7.exe 

위의 exe를 다 설치

 

 

 

vol.py -h   //도움말

1. 프로파일 확인(Win7SP1x64)

-플러그인 : imageinfo

vol.py -f memdump.vmem imageinfo   //메모리 정보보기.

 

 

vol.py -f memdump.vmem imageinfo >> imageinfo.txt //파일로 저장.

 

2. 프로세스 확인.

-플러그인 : pstee , psscan , pslist

 

3개중  pstree , psscan 만 돌려도 상관 없음.   psscan은 루트킷도 발견가능

 

vol.py -f memdump.vmem --profile=Win7SP1x64 pstree >> pstree.txt  

.은 자식정보이다.
SkypeC2AutoUpd는 악성코드를 다운시키는 다운로더이다.

 

 

vol.py -f memdump.vmem --profile=Win7SP1x64 pslist >> pslist.txt

 

vol.py -f memdump.vmem --profile=Win7SP1x64 psscan >> psscan.txt 

Offset이 나와있다.
여기에도 역시 SkypeC2AutoUpd가 있다.

 

 

3. 네트워크 확인

- 플러그인 : netscan

 

vol.py -f memdump.vmem --profile=Win7SP1x64 pstree netscan >> netscan.txt

SkypeC2AutoUpd가 현재 연결되 있는것을 확인

4. 사용한 명령어 확인

- 플러그인 : cmdscan

 

vol.py -f memdump.vmem --profile=Win7SP1x64  cmdscan >> cmdscan.txt

명령어를 친 것이 없기 때문에 나오지 않는다.

5. IE 확인

- 플러그인 : iehistory

vol.py -f memdump.vmem --profile=Win7SP1x64  iehistory >> iehistory.txt

인터넷 등 캐시에 저장된 내용을 확인하는 명령어

 

6. MFT 파서 확인

MFT : 실제 가지고 있는 정보에 메타데이터(수정 삭제, 접근 시간 등을 의미, 속성정보)

- 플러그인 : mftparser

vol.py -f memdump.vmem --profile=Win7SP1x64  mftparser >> mftparser.txt

 

$STANDARD_INFORMATION

//파일의 생성, 수정시간

//파일을 수정하게 되면 수정 시간이 변한다.

 

$FILE_NAME   

//파일의 생성 , 수정 시간, 파일 이름과 확장자의 정보가 있다.

// 생성시간을 수정 해도 바뀌지 않는다.

 

$DATA

//700바이트 보다 작은 데이터들이 들어간다.

 

 

 

 

 

 

7. 특정 프로세스에 대한 메모리 덤프

- SkypeC2AutoUpd 프로세스 ID : 1364    //pstree를 통해 확인

 

vol.py -f memdump.vmem --profile=Win7SP1x64  memdump -p 1364 -D ./

 

 

strings을 사용해  텍스트 파일로 저장 시켜 연다.

strings 1364.dmp >> 1364.txt

 

악성코드를 분석한다.

 

Temp 폴더 안에 SkypeC2Auto를 이용해 다운 받은 파일들이 저장되게 된다.
teamviewer 나 avicap32.dll 등 다운 된것을 확인.

8. 파일 검색 및 복구

 

-'png' 파일 검색

vol.py -f memdump.vmem --profile=Win7SP1x64  filescan | findstr "png" >> png.txt

-'png' 파일 복구

vol.py -f memdump.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007d40f400 -D ./      //offset주소

file.None.0xfffffa8004260240.dat 로 나오는데 png로 변환해서 열면 된다.

복원을 해도, 날짜가 복원한 날짜로 나오므로, 증거자료로 쓰기에는 조금 부적절하다.

 

8. 'SkypeC2AutoUpd' 파일추출

-'SkypeC2AutoUpd' 파일 검색

 

vol.py -f memdump.vmem --profile=Win7SP1x64 filescan | findstr "SkypeC2AutoUpd" >> SkypeC2AutoUpd.txt

 

offset주소를 통해 추출

-'SkypeC2AutoUpd' 파일 추출

vol.py -f memdump.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007dbb69b0  -D ./

 

확장자를 .exe로 변경

 

virustotal 사이트를 통해 바이러스 인지 확인.

 

2군데에서 바이러스라고 판단함.

PE파일 이란?  windows에서 실행하는 파일들을 의미한다.

 

PEview를 통해 img 파일을 연다.

SECTION.rdata -> IMPORT Directory Table에서 사용중인 dll파일을 알아낸다.

 

 

PeStudio842.exe 을 통해 img파일 연다.

Indicators

1등급으로 위험한 내용들이 많다고 알려준다.

Sections

위험한 API임을 알려주는 Blacklisted

Imported Libraries

WS2_32.dll

iphlpapi.dll

COMCTL32.dll

AVICAP2.dll

MSVFW32.dll

WINMM.dll

KERNEL32.dll

USER32.dll

GDI32.dll

ADVAPI32.dll

SHELL32.dll

들이 위험하다는 것을 알려줌

 

WS2_32.dll

iphlpapi.dll

COMCTL32.dll

AVICAP2.dll

MSVFW32.dll

WINMM.dll

KERNEL32.dll

USER32.dll

GDI32.dll

ADVAPI32.dll

SHELL32.dll

 

\AppData\Local\Temp\에서 위의 dll 파일과 매칭되는 파일을 찾는다.

많이 보이는애도 찾는다.

 

AVICAP32.dll tv_x64.exe tv_x64.dll 이 가장 많이 보인다. 이들을 각각 파일 검색한다.

 

AVICAP32.dll

vol.py -f memdump.vmem --profile=Win7SP1x64  filescan | findstr "avicap32.dll" >> AVICAP32.dll.txt

 

tv_x64.exe

vol.py -f memdump.vmem --profile=Win7SP1x64  filescan | findstr "tv_x64.exe" >> tv_x64.exe.txt

tv_x64.dll

vol.py -f memdump.vmem --profile=Win7SP1x64  filescan | findstr "tv_x64.dll" >> tv_x64.dll.txt

 

위의 offset 번호를 통해 복구한후 , virustotal로 확인.

tv_x64.dll     //바이러스 x

vol.py -f memdump.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007d8b4c90  -D ./

tv_x64.exe   ////바이러스 x

vol.py -f memdump.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007e379340  -D ./

AVICAP32.dll  //temp 파일에 있는 offset을 가져옴.  //바이러스o

vol.py -f memdump.vmem --profile=Win7SP1x64 dumpfiles -Q 0x00000000059f8bd0   -D ./

 


윈도우 서버분석

 

1.OTL by OldTimer를 통해 

Processes Modules

Services Drivers

Standard Registry

Extra Registry

을 2000일 동안 분석.

2.추출하면 메모장으로 뜬다. 거기서 mtsfocom.exe을 검색

 

3.FTK Imager 실행

 

4.add 를 통해  위의 windows7.vmdk 을 추가 한다. (img file을 통해 출력)

 

5.root -> $LogFile $MFT 를 export file을 통해 추출

 

6.NTFS Log Tracket 는 위의 로그파일을 읽을 수 있게 해준다.

입력한 후 Parsing을 클릭

7.db저장

db이름 아무렇게나 하구 확인

8. 저장한 것을 엑셀파일로 변환.

CSV를 통해 엑셀파일로 변환하여 저장

9.  LogFile.scv에서 mtsfocom.exe 파일을 검색

 

10. mtsfcom.exe 를 디버거로 실행

위의 주소에서 다운이 된것을 확인.

 

 

 

'디지털 포렌식' 카테고리의 다른 글

파일시스템 포렌식  (0) 2019.07.29
윈도우 포렌식  (0) 2019.07.23
네트워크 포렌식  (0) 2019.07.15
안티 포렌식  (0) 2019.07.11
디지털 포렌식 개요  (0) 2019.07.11

+ Recent posts