- 주어진 파일은 dump1.raw.lzma이다.
- 파일을 보면 확장자가 두 개임을 알 수 있다. 문제에서 vol.py~~~ memdump를 쓴 걸 봐서 메모리 덤프임을 알 수 있다.
- volatility툴은 Python 기반의 메모리 포렌식 툴로 시스템의 장애원인을 파악하고, 이상 프로세스의 행위분석을 한다.
- 먼저 윈도우에서 설치를 하려면 https://www.volatilityfoundation.org/26
- 사이트에서 Volatility 2.6 Source Code (.zip)을 다운 받아 압축해제한다.
- 파이썬은 2.7버전에서 구동하므로 버전 3은 삭제해야 한다.
- 환경변수에서 path를 파이썬으로 설정해야한다.
- volatility를 사용함에 있어서 오류를 최소화 하기 위해 distorm3, PIL, pycrypto를 설치해야 한다.
distorm3 설치
cmd---> "pip install distorm3" 입력
PIL 설치
cmd--> "pip install pillow" 입력
pycrpyto 설치
http://www.voidspace.org.uk/python/modules.shtml#pycrypto 하단에 PyCryto 2.6 for Python2.7 64bit를 다운받는다.
- 설치가 완료되면 cmd창에서 vol.py가 있는 경로에서 vol.py -h를 입력해 정상작동되는지 확인한다.
- 칼리리눅스에서 설치하려면 volatility 사용하기 위해 환경을 구축해야 한다.
$ sudo apt-get install git
$ git clone https://github.com/volatilityfoundation/volatility.git
$ cd volatility/
$ sudo python setup.py install
$ sudo apt-get install yara
$ sudo apt-get install python-pip
$ sudo -H pip install --upgrade pip
$ sudo -H pip install distorm3 pycrypto openpyxl Pillow
- 위의 순서대로 입력하여 설치하면 된다. 만약 칼리리눅스 sudo apt-get update 오류 났다면
sudo nano /etc/apt/sources.list에서 기존 deb~ # 주석처리
deb http://ftp.harukasan.org/kali kali-rolling main non-free contrib
deb-src http://ftp.harukasan.org/kali kali-rolling main non-free contrib 적기
이렇게까지 하면 5번문제를 풀기에 적합한 환경을 갖추었다.
-
파일 확장자가 2개이므로 unlzma로 압축을 해제한다.
-
dump1.raw이미지 파일이 생성되었다.
-
vol.py -f dump1.raw imageinfo 명령어로 메모리 파일에 대한 profile 정보(운영체제)를 확인한다.
-
profile은 Win10x64이다.
-
이제부터 volatility를 활용하기 위한 기본 문구는 "vol.py -f dump1.raw -- profile=Win10x64"이다.
-
기본 문구 뒤에 plugin 명령어를 입력하여 정보를 알아낸다.
-
vol.py -f dump1.raw --profile=Win10x64 pslist 은닉된 정보를 확인한다.
-
힌트에서 pid 값 2012는 notepad.exe이고, 4092은 mspaint.exe로 그림판임을 알 수 있다.
-
해당 프로세스에 대한 메모리 덤프를 저장한다.
-
두 파일을 HxD로 열어보니 4092.dmp파일에 zoom slider라고 적혀 있는걸 볼 수 있다.
-
4092.dmp파일을 4092.data파일로 저장하여 gimp2프로그램에서 열어보았다.
-
알 수 없는 이미지가 나왔고, 오프셋과 너비, 높이를 조정해보았다.
-
offset은 4857023, width는 1093, height는 1000에서 플래그를 찾을 수 있었다.
-
플래그 : CTF{HeRe_GoEs_thE_FLaG}
'#Digital Forensic with CTF > CTF-d_Multimedia' 카테고리의 다른 글
CTF-d_Multimedia #7 Find Key(moon) (0) | 2020.05.18 |
---|---|
CTF-d_Multimedia #6 Find Key(butterfly) (0) | 2020.05.18 |
CTF-d_Multimedia #4 우리는 이 파일에 플래그를... (0) | 2020.05.14 |
CTF-d_Multimedia #3 사진 속에서 빨간색... (0) | 2020.05.14 |
CTF-d_Multimedia #2 저는 플래그를 이 파일에.. (0) | 2020.05.10 |