Winodws Memory Reader

Digital Forensic Wikipedia
둘러보기로 가기 검색하러 가기

소개

Winodws Memory Reader는 ATC-NY의 메모리 획득 도구로써 웹페이지(http://cybermarshal.com/index.php/cyber-marshal-utilities/windows-memory-reader) 에서 다운로드 할 수 있다. 32-bit, 64-bit의 Windows XP이상의 환경에서 실행이 가능하며 덤프 결과를 Raw 파일이나 Windows Crash Dump파일로 저장이 가능하다. [그림 1]은 Windows Memory Reader의 실행화면이다.



[그림 1] Windows Memory Reader 실행화면



사용법

Windows Memory Reader의 기본적인 사용법은 [표 1]과 같다.



[표 1] Windows Memory Reader의 명령어 형식
명령어 비고
wmr.exe [옵션] [-H 해시 유형] [파일명] 관리자 권한의 커맨드창에서 실행



관리자 권한의 커맨드창을 열어 wmr.exe <파일명>의 형식으로 메모리를 RAW 포맷으로 이미징할 수 있다. Windows Memory Reader의 옵션은 [표 2]와 같다.



[표 2] Windows Memory Reader의 옵션
옵션 설명 비고
-l 이미징할 수 있는 모든 메모리 주소를 보여준다.
-L 시스템 드라이버를 로드한다.
-R 시스템 드라이버를 제거한다.
-c Windows Crash Dump 포맷으로 이미징한다.
-p 아무 헤더가 없는 RAW 포맷으로 이미징한다.
-P 메모리 주소사이의 공백을 0(zero)으로 패딩하여 이미징한다.
-r 장치 메모리 영역과 예약영역까지 이미징한다. 시스템 충돌 가능성이 있음
-D 프리패치[1]가 가능한 장치 메모리 영역과 예약영역까지 이미징한다. 시스템 충돌 가능성이 있음. -r 옵션 보다는 충돌 가능성이 적다.
-i 이미징할 수 있는 메모리 주소 영역을 선택하여 이미징한다.
-f 이미징에 실패할 경우 프로그램을 종료한다.
-z 부팅에 쓰이는 영역인 제로 페이지(0x0000-0x1000) 영역을 제외하고 이미징한다.
-H 이미징 후에 선택한 해시 알고리즘으로 계산하여 콘솔화면에 출력한다. MD5, SHA-1, SHA-256, SHA-512 지원
-d 프로그램의 진행 과정을 콘솔화면으로 출력한다.
-g 콘솔 화면에 이미징 진행도를 반복적으로 출력한다.
-h 도움말을 출력한다.



[표 2]의 i옵션은 l옵션으로 확인된 메모리 주소를 선택하여 이미징할 수 있는 기능이다. RAW포맷 이미징인 p옵션 또는 패딩된 RAW포맷인 P 옵션을 필수로 사용해야 하며 i옵션의 명령문은 [표 3]과 같다.



[표 3] Windows Memory Reader의 i옵션
명령어 비고
wmr.exe [-p/-P] [-i] [파일명] 서브 옵션으로 p 또는 P를 필수적으로 선택해야 함.



도구기능

Windows Memory Reader는 상당히 많은 옵션을 제공한다. 부팅시에 쓰이는 제로페이지(0x0000-0x1000)를 덤프할 수 있거나 원하는 해시 타입을 선택하는 것을 그 예로 들 수 있다. 하지만 Windows 운영체제에서 제로페이지는 사용되지 않아 의미가 없으므로 제로페이지를 덤프할 수 있는 기능은 장점으로 작용할 수 없다. 이미징 결과로 Raw 포맷과 Windows Crash Dump 포맷을 얻을 수 있다. 모든 옵션이 정상 작동한다.

제한사항

Windows XP 환경에서 메모리 이미징 속도가 Dump It에 비하여 현저하게 느리다. Cybermarshal.com의 홈페이지 폐쇄로 도구를 확보하기 어렵다.

수사 활용 방안

Windows Memory Reader는 현장에서 여러 가지 옵션을 활용하여 상황에 맞게 메모리 이미징을 할 수 있다는 장점이 있다. 메모리 이미징 후 바로 원하는 타입의 해시 값을 얻을 수 있으며 원하는 메모리 영역만 이미징 할 수도 있다. 오프셋 0x0000-0x1000의 제로 페이지를 이미징할 수 있는 것 또한 장점이다.

주석

  1. 프리패치: 메모리를 사용하기 전에 CPU 캐시 라인에 로드하여 실제 사용시 더 빠르게 하는 작업을 뜻함.