디지털 포렌식 및 메모리 분석에서 널리 사용되는 Volatility 2는 Python 2.7 기반으로 동작하며, 오프라인 환경에서는 의존성 패키지를 수동으로 구성해야 합니다.
본 블로그는 인터넷이 차단된 Windows 환경에서 Volatility 2를 설치하고 실행하는 방법을 단계별로 정리합니다.
[환경 구성]
◎ 설치 파일 준비
- 오프라인 환경에서는 사전에 필요한 파일을 모두 다운로드하여 이동식 저장매체 등을 통해 옮겨야 합니다.
- 아래 파일들은 인터넷이 가능한 환경에서 미리 확보해야 합니다.
- 필요한 파일들
- python-2.7.18.amd64.msi
링크 : https://www.python.org/downloads/release/python-2718/
- VCForPython27.msi
- 링크 : https://legacyupdate.net/download-center/download/44266/microsoft-visual-c-compiler-for-python-2.7
- wheel-0.37.1-py2.py3-none-any.whl
- 링크 : https://pypi.org/project/wheel/0.37.1/#files
- distorm3-3.3.4.zip
- 링크 : https://pypi.org/project/distorm3/3.3.4/#files
- pycryptodome-3.4.3-cp27-cp27m-win_amd64.whl
- 링크 : https://pypi.org/project/pycryptodome/3.4.3/#files
- volatility-2.6.zip
- 링크 : https://github.com/volatilityfoundation/volatility/releases/tag/2.6.1
- 이 파일들은 예시 기준으로 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 사용을 권장합니다.
- virtualenv-16.7.12
- 링크 : https://pypi.org/project/virtualenv/16.7.12/#files
| 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를 활용하면 안정적인 분석 환경을 유지할 수 있습니다.
반응형
'DEFENSIVE > Volatility' 카테고리의 다른 글
| [Volatility] Volatility3 2.28.0 release (0) | 2026.05.02 |
|---|---|
| [Volatility] Volatility 3 설치(For offline Windows) (0) | 2026.04.18 |
| [Volatility] Volatility 볼라틸리티 3 설치 (0) | 2025.05.22 |
| [Volatility] Volatility 볼라틸리티 3 공식 Parity 릴리스 발표 (0) | 2025.05.20 |
| [Volatility] Volatility 볼라틸리티 2.1 Plugins - 윈도우#09 (0) | 2021.03.31 |
