디지털 포렌식 및 메모리 분석에서 널리 사용되는 Volatility 2는 Python 2.7 기반으로 동작하며, 오프라인 환경에서는 의존성 패키지를 수동으로 구성해야 합니다.

본 블로그는 인터넷이 차단된 Windows 환경에서 Volatility 2를 설치하고 실행하는 방법을 단계별로 정리합니다.

 

[환경 구성]

◎ 설치 파일 준비

  • 오프라인 환경에서는 사전에 필요한 파일을 모두 다운로드하여 이동식 저장매체 등을 통해 옮겨야 합니다.
  • 아래 파일들은 인터넷이 가능한 환경에서 미리 확보해야 합니다.

 - 필요한 파일들

 

 

 

 

 

 

 - 이 파일들은 예시 기준으로 D:\Downloads 경로에 위치한다고 가정합니다.

 

◎ Python 및 기본 환경 구성

 - 먼저 Python 2.7과 C 컴파일 환경을 구성합니다.

  • Python 설치
 D:\Downloads> python-2.7.18.amd64.msi

 

  • Visual C++ for Python 설치
 D:\Downloads> VCForPython27.msi

 

  • wheel 패키지 설치
 "C:\Python27\python.exe" -m pip install wheel-0.37.1-py2.py3-none-any.whl  
  • wheel은 Python 패키지를 빌드 및 설치하는 데 필요한 핵심 도구입니다.

 

◎ 추가 라이브러리 설치

  • distorm3 빌드 및 설치
  • distorm3는 C 기반 라이브러리로, 3.3.4 버전 wheel 파일을 배포하고 있지않아 소스에서 직접 빌드가 필요합니다.
압축 해제
D:\Downloads> distorm3-3.3.4.zip
빌드 수행
D:\Downloads\distorm3-3.3.4> "C:\Python27\python.exe" -m pip wheel .
위 과정은 setup.py를 기반으로 wheel 파일을 생성하는 단계입니다.
생성된 wheel 설치
D:\Downloads> "C:\Python27\python.exe" -m pip install distorm3-3.3.4-cp27-cp27m-win_amd64.whl

 

  • Volatility 실행에 필요한 암호화 라이브러리를 설치합니다.
pycryptodome 설치
D:\Downloads> "C:\Python27\python.exe" -m pip install pycryptodome-3.4.3-cp27-cp27m-win_amd64.whl

 

 

◎ Volatility 2 구성

압축 해제
D:\Downloads> volatility-2.6.zip
  • 압축 해제 후 별도 설치 없이 바로 실행 가능합니다.

 

◎ 실행 테스트

  • 정상 설치 여부를 확인합니다.
도움말 확인
D:\Downloads\volatility-2.6> "C:\Python27\python.exe" vol.py -h
메모리 분석 예시
D:\Downloads\volatility-2.6> "C:\Python27\python.exe" vol.py -f C:\dumps\mem.raw imageinfo

 

 

[가상환경 구성 (권장)]

◎ virtualenv 설치

 - 분석환경을 분리하기 위해 virtualenv 사용을 권장합니다.

D:\Downloads> "C:\Python27\python.exe" -m pip install virtualenv-16.7.12-py2.py3-none-any.whl

 

 

◎ 가상환경 생성

  • C드라이브에 분석환경용 lab 폴더를 생성합니다.
C:\lab> "C:\Python27\python.exe" -m virtualenv venv
  • 명령 실행 후 C:\lab\venv\ 폴더가 생성됩니다.

 

◎ 가상환경 활성화

C:\lab> venv\Scripts\activate
(venv) C:\lab> where python
C:\lab\venv\Scripts\python.exe
  • 이후 설치되는 모든 패키지는 가상환경 내부에만 적용됩니다.

 

◎ 가상환경 종료

(venv) C:\lab> deactivate

 

 

◎ 가상환경에서 Volatility 사용

  • 권장 디렉터리 구조는 다음과 같습니다.
C:\lab
├─ venv
├─ volatility2
│ ├─ vol.py
│ └─ volatility
└─ dumps

 

◎ 구성 절차

  • C:\lab 경로에 volatility-2.6.zip 압축 해제
(venv) C:\lab> cd volatility-2.6
(venv) C:\lab\volatility-2.6> "C:\Python27\python.exe" vol.py -h
  • 이 구조를 사용하면 분석 환경과 데이터(dumps)를 명확히 분리할 수 있어 관리가 용이합니다.

Tip: Python 도 가상환경에 구성

  • C:\python27\ 폴더를  C:\lab\ 폴더 내로 복사합니다.
  • 그 다음 가상환경을 구성합니다.
C:\lab> C:\lab\python27\python.exe -m virtualenv venv
  • 가상환경 폴더 삭제는 일반폴더 삭제하듯이 삭제하면 됩니다.

 

 

[마무리]

  • 오프라인 환경에서 Volatility 2를 구성하는 핵심은 Python 2.7 환경과 C 기반 라이브러리(distorm3)의 수동 빌드입니다. 
  • 특히 wheel 파일을 사전에 준비하거나 직접 생성하는 과정이 중요하며, virtualenv를 활용하면 안정적인 분석 환경을 유지할 수 있습니다.
반응형

+ Recent posts