kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

DFIR

메모리 덤프 개념 및 도구

까마기 2015. 5. 31. 16:43
728x90
반응형

1. 메모리의 이해

* 기본 지식

- 프로세스는 CPU를 점유하면서 작업을 수행한다.

- 연산에 필요한 데이터는 메모리로부터 CPU 내부에 있는 레지스터로 가져온다. (만일 CPU 사용을 위해 프로세스에 할당된 시간이 종료되면 프로세스는 컨텍스트 스위칭 과정을 거쳐 다른 프로세스에 CPU 자원을 양보한다.)

- 프로세스는 메모리에 데이터를 올려 놓고 작업을 한다. 메모리에는 주소, 변수 , 객체, 반환 값 등 다양한 데이터가 저장된다. 

- 프로세스 실행 관점에서 메모리 관리는 가상 메모리 관리 기능과 프로세스 메모리 할당 기능으로 나눌 수 있다.

- 가상 메모리

: 프로그램을 실행하려면 모든 데이터를 메모리로 가져와야하는데 물리 메모리의 크기가 한정되어 있기 때문에 보조기억장치(HDD)의 공간을 사용한다. 

: 다양한 관리 기법(반입기법, 배치 기법, 교체 기법, 할당 기법)을 사용하여 관리한다.

* 참고 

- 32비트 운영체제에서 메모리에 접근할 수 있는 크기는 4GB이다. 32비트 주소를 표현할 수 있는게 4GB 까지 밖에 안되기 때문이며, 32비트 운영체제에서 4GB 이상의 메모리를 사용하고 싶을 경우 물리주소확장 기술(PAE)을 들 수 있다.

 

2. 메모리 포렌식

: 분석 대상 컴퓨터의 메모리에서 정보 또는 증거로서 가치가 있는 데이터를 찾기 위한 분석 행위

 

3. 메모리 덤프 실습

* 순서

- 메모리 덤프 진행 > 분석도구를 이용한 분석 (Volatility 등)

* 메모리 덤프 종류

- 하드웨어를 이용한 덤프

- 소프트웨어를 이용한 덤프

- 크래시 덤프

- 콜드부트 덤프

- 가상화 시스템 덤프

- 절전 모드 덤프

 

* 메모리 덤프 분석에 사용되는 프로그램

- MemoryzeSetup3.0.msi  

- Volatility 

 

1) FTK Imager 

save image

 

save image

 

save image

 

2) DumpIt.exe 

save image

 

save image

 

 

 

3) Mandiant Memoryze

맨디언트에서 제공하는 메모리 덤프 도구이며, MemoryzeSetup3.0.msi 파일을 통해 PC에 설치하면 아래와 같이 C드라이브에 관련 도구들이 생성된다. 해당 도구들만 따로 복사하여 침해사고 현장에서 메모리 덤프 수집이 가능하다(스크립트 이용)

* Memoryze.exe 또는 MemoryDD.bat를 이용하여 메모리 덤프를 진행한다. (이 둘의 차이는 나중에 확인해보자)

3-1) MemoryDD.bat / Memoryze.exe 를 이용한 덤프

 

 

 C:\Program Files (x86)\MANDIANT\Memoryze>MemoryDD.bat -output ./

- 메모리 덤프 파일은 현재 디렉터리에 생성

-> Audits 폴더 생성 -> 컴퓨터 이름으로 폴더 생성 -> '덤프 생성한 시간'으로 폴더 생성 (UTC-0 기준)

- 물리메모리 덤프 파일 ( memory.2034161b.img 파일 ) -> 이 파일가지고 분석도구를 이용하여 덤프

 

 

4) windd 사용 (win32dd.exe / win64dd.exe) - moonsol

moonsols.zip 압축해제

> win32dd.exe /f <저장할 메모리 덤프 파일의 전체 경로 혹은 파일 이름

> win32dd.exe /f E:\Memory_dump.dmp

 

4-1) 개요

- Mattthieu Suiche가 개발, mdd 처럼 메모리 덤프 전용으로 개량된 버전

- dd 중에서 많은 기능을 제공, 지원하는 윈도우 버전의 폭이 넓음

- dd가 만드는 덤프 파일은 기본적으로 "로우 포맷(raw format)"을 지원

- 추가적으로 windbg에서 읽을 수 있는 크래시 덤프 포맷과 하이버네이션 파일 포맷으로도 만들 수 있다.

 ex) 크래시 덤프 포맷 (/d 옵션, Window XP 이후 버전에서만 가능)

      하이버네이션 파일 포맷(/e 옵션, 재부팅해야함)

- 지원 해시 알고리즘 : SHA1, SHA-256, MD5 등

> win64dd.exe /f 덤프파일명

> win64dd.exe /l /f 덤프파일명

 

반응형

'DFIR' 카테고리의 다른 글

[윈도우 포렌식 실전 가이드] 1장_라이브 리스폰스 스크립트  (0) 2017.06.30
Cuckoo Sandbox 2.0설치 - for Windows 7  (0) 2017.02.23
cuckoo update error  (0) 2016.01.20
스테가노그래피란  (0) 2015.10.03
tcpdump  (0) 2014.09.19