-
Volatility ์ค์น ๋ฐ ์ฌ์ฉ๋ฒ (Windows)SECURITY/FORENSICS 2020. 11. 3. 16:10
1. Volatility ์ค์น
Volatility ์ค์นํ๋ ๋ฐฉ๋ฒ์๋ ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์๋ค.
1.1 vol.py 1.2 standalone ์ผ๋ก ์ค์น
์ฝ๋๋ฅผ ๋ค์ด๋ฐ์์ ์ค์ ํ๊ฑฐ๋, ์คํํ์ผ์ ๋ค์ดํด์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค.
1.2 ๊ฐ ์ค์ ํ๋ ๊ฒ ์ ์ด์ ๋ ํธ๋ฆฌํ ์ ์์ง๋ง,,
๋ค์ํ ๊ธฐ๋ฅ๊ณผ ์์ ์ ์ํด์ 1.1 ๋ก ํ๋ ๊ฒ์ด ํธ๋ฆฌํ๋ค.
(๋๋ 1.2 ๋ก ํ๋ค๊ฐ ๋ถํธํด์ ๊ฒฐ๊ตญ 1.1 ๋ก ์ค์นํ์๋ค)
1.1 vol.py
์ฝ๋๋ก ๋ค์ด๋ฐ์์ ์ค์ .
1) Python 2.7.x ์ค์น
Python ํํ์ด์ง์์ 2.7.x ๋ฅผ ๋ค์ด๋ฐ์์ฃผ๋ฉด ๋๋ค. (www.python.org/downloads/release/python-2718/)
์ด๋ Add pyton.exe to Path ๋ฅผ ์ค์ ํด์ค์ cmd ์์ ๋ฐ๋ก python ์ ์คํํ ์ ์๋๋ก ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํด์ค๋ค.
2) Pycrypto 2.6 ์ค์น (www.voidspace.org.uk/python/modules.shtml#pycrypto)
PyCrypto 2.6 for Pyton 2.7 64 bit ๋ฅผ ์ค์นํด์ฃผ๋ฉด ๋๋ค.
3) distorm3-3.3.3 ์ค์น (github.com/gdabah/distorm/releases)
4) PIL (Python Imaging Library) 1.1.7 ์ค์น (www.pythonware.com/products/pil/)
Python Imaging Library 1.1.7 for Python 2.7 ์ ํ
ํน์ cmd ์ pip install Pillow ๋ฅผ ์ ๋ ฅํ์ฌ๋ ๋๋ค.
5) Volatility ์ค์น (www.volatilityfoundation.org/)
source code ๋ฅผ ์ ํํ๋ค.
*์ฌ๊ธฐ์ standalone ์ผ๋ก ๋ค์ด๋ฐ์์ ์ค์นํ๋ ๊ฒ 1.2 ์ด๋ค. ๋๋ ๊ทธ๋ ๊ฒ ํ๋ค๊ฐ ํ๋กํ์ผ ์ค์ ๋ฑ์ด ๋ถํธํด์ 1.1 ์ ์ ํธํ๋ค. ๋ํ ์คํํด๋ณด๋ 1.2 ๋ก ์ค์นํ์ ๋๋ณด๋ค ์๋๋ ๋น ๋ฅธ ๊ฒ ๊ฐ๋ค.
6) ์ต์ข
5)์์ ๋ค์ด๋ฐ์ ํ์ผ์ python27 ํด๋์ Lib\site-packages ๋ก ์ฎ๊ฒจ์ฃผ๊ณ , ํด๋น ๊ฒฝ๋ก(C:\Python27\Lib\site-packages\volatility-2.6\volatility-master) ์์ ๋ค์ ๋ช ๋ น์ด๋ค์ ์คํํ๋ค.
C:\Python27\Lib\site-packages\volatility-2.6\volatility-master> python setup.py build
C:\Python27\Lib\site-packages\volatility-2.6\volatility-master> python setup.py install
์ ์ค์น๋์๋์ง python vol.py -h ๋ก ํ์ธํ๋ค.
1.2 standalone ์ผ๋ก ์ค์น
: Volatility 2.6 Standalone Windows Program ์ฌ์ฉ
1) ํํ์ด์ง ์ ์ (www.volatilityfoundation.org/)
2) Releases -> 2.6 ์ ํ (๋ฒ์ ์ ์ฐจ์ด. ํ์์ ๋ฐ๋ผ ์ ํํ๋ฉด ๋๋ค) (www.volatilityfoundation.org/26)
3) Volatility 2.6 Windows Standalone Executable (x64) ์ ํ
4) ์์ถ ํ์ด์ฃผ๊ณ , path ์ค์ ํด์ฃผ๊ธฐ
(์์คํ ๊ณ ๊ธ ์ค์ -> ํ๊ฒฝ ๋ณ์ -> path ์ถ๊ฐ -> volatility ์ค์นํ ํด๋ ์ถ๊ฐ)
5) cmd ๋ฅผ ํตํด ์ฌ์ฉ
2. ์ฌ์ฉ๋ฒ
volatility ๋ ๊ธฐ๋ณธ์ ์ผ๋ก CLI ๊ธฐ๋ฐ ํ๋ก๊ทธ๋จ์ด๋ผ Windows ์์ cmd ๋ฅผ ํตํด ์คํํด์ผ ํ๋ค.
์ค์นํ ๋ ํ๊ฒฝ๋ณ์ ์ค์ ์ ํด์คฌ๊ธฐ ๋๋ฌธ์, ํด๋น ํ์ผ์ ์ด๋ฆ์ ๋ช ๋ น์ด๋ก ์คํํ๋ฉด ๋๋ค.
(์ฌ๊ธฐ์ ํด๋น ํ์ผ ์ด๋ฆ์ volatility ๋ก ์ค์ ๋์ด ์๋ค๊ณ ๊ฐ์ ํ๊ณ ์์ฑํฉ๋๋ค. ๋ณธ์ธ์ ์ค์ ์ ๋ฐ๋ผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.)
2.0 ์ฃผ์ ์ต์
-h, --help ๋์๋ง ๋ณด๊ธฐ --profile= ๋คํ๋ ํ์ผ์ ํ๋กํ์ผ ์ง์ (์ด์์ฒด์ , ๋ฒ์ ๋ฑ) --info ๋ฑ๋ก๋์ด์๋ ๋ชจ๋ ์ค๋ธ์ ํธ์ ์ ๋ณด ํ์ธ --output=text ์ถ๋ ฅ ํฌ๋ฉง txt ๋ก ์ค์ -v, --verbose ์์ธ ์ ๋ณด ํ์ธ -d, --debug volatility ๋๋ฒ๊ทธ -f, --filename ๋ฉ๋ชจ๋ฆฌ ์ด๋ฏธ์ง์ ๊ฒฝ๋ก ์ค์ 2.1 ๊ธฐ๋ณธ ๋ช ๋ น์ด ํ์
volatility -f [๋คํ ํ์ผ] [ํ๋ฌ๊ทธ์ธ]
volatility -f [๋คํ ํ์ผ] --profile=[์ด์์ฒด์ ] [ํ๋ฌ๊ทธ์ธ]
๋๋ถ๋ถ์ ํ๋ฌ๊ทธ์ธ๋ค์ ์ด 2.1 ์ ๊ธฐ๋ณธ ๋ช ๋ น์ด ํ์์ ๋ฐ๋ผ ์ฌ์ฉํ๋ฉด ๋๋ค.
์๋์์ ์๊ฐํ๋ ํ๋ฌ๊ทธ์ธ ์ธ์๋ ์๋ง์ ํ๋ฌ๊ทธ์ธ์ด ์กด์ฌํ๊ณ , ์ง์ ๋ง๋ค์๋ ์๋ค.
2.2 ์ด์์ฒด์ ๋ถ์
volatility -f [๋คํ ํ์ผ] imageinfo
(๋คํ ํ์ผ์ ์ด๋ฏธ์ง ์ ๋ณด ๋ถ์)
--> ์์ ์ด์์ฒด์ , ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ๊ณต๊ฐ, DTB ์ KDBG, KCPR ์ ์ฃผ์ ์ถ๋ ฅ
2.3 ํ๋ก์ธ์ค ๋ถ์
- psscan : ์คํ ์ค์ธ/์ข ๋ฃ๋ ํ๋ก์ธ์ค ์ ๋ณด ๋ถ์
volatility -f [๋คํ ํ์ผ] --profile=[์ด์์ฒด์ ] psscan
- psxview : pslist, psscan ๋ฑ ์ฌ๋ฌ ๋ฐฉ๋ฒ์ผ๋ก ํ์ธํ ํ๋ก์ธ์ค ์ ๋ณด ๋น๊ต
volatility -f [๋คํ ํ์ผ] --profile=[์ด์์ฒด์ ] psxview
- pstree : ํ๋ก์ธ์ค์ ๋ถ๋ชจ/์์๊ด๊ณ ๋ถ์
volatility -f [๋คํ ํ์ผ] --profile=[์ด์์ฒด์ ] pstree
2.4 ๋คํธ์ํฌ ๋ถ์
- connections : ํ์ฑํ ์ํ์ ๋คํธ์ํฌ ์ฐ๊ฒฐ ์ ๋ณด(์๋์ฐ xp/Vista)
volatility -f [๋คํ ํ์ผ] --profile=[์ด์์ฒด์ ] connections
- connscan : ํ์ฑํ ์ํ์ ๋คํธ์ํฌ ์ฐ๊ฒฐ ์ ๋ณด/ ์ด๋ฏธ ์ข ๋ฃ๋ ๋คํธ์ํฌ ์ฐ๊ฒฐ ์ ๋ณด
volatility -f [๋คํ ํ์ผ] --profile=[์ด์์ฒด์ ] connscan
- netscan : ํ์ฑํ ์ํ์ ๋คํธ์ํฌ ์ฐ๊ฒฐ ์ ๋ณด(์๋์ฐ7 ์ด์)
volatility -f [๋คํ ํ์ผ] --profile=[์ด์์ฒด์ ] netscan
2.5 ์๊ฐ์ ๋ณด ํ๋
volatility -f [๋คํ ํ์ผ] timeliner --output-file result.csv
--> ์ํฐํฉํธ๋ฅผ ์๊ฐ๊ณผ ํจ๊ป csv ํ์ผ๋ก ์ถ๋ ฅ
2.6 ํ์ผ ๋ถ์
- filescan : ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ ๋ ํ์ผ์ ๋ณด ์ค์บ, ํน์ ํ์ฅ์ ๋ฐ ํ์ผ ์ ๋ณด ์ฐพ๊ธฐ
(Windows) volatility -f [๋คํ ํ์ผ] --profile=[์ด์์ฒด์ ] filescan | findstr [ํ์ธํ๊ณ ์ ํ๋ ํ์ผ์ ๋ฌธ์์ด]
(Linux) volatility -f [๋คํ ํ์ผ] --profile=[์ด์์ฒด์ ] filescan | grep [ํ์ธํ๊ณ ์ ํ๋ ํ์ผ์ ๋ฌธ์์ด]
(ex. findstr ".jpg)
2.7 ์คํํ์ผ ์ถ์ถ ๋ฐฉ๋ฒ
volatility -f [๋คํ ํ์ผ] procexedump -D [์ ์ฅ๊ฒฝ๋ก] -p [PID]
Ref.
[1] www.slideshare.net/youngjunchang14/memory-forensics-with-volatility
[3] velog.io/@jjewqm/%EB%A9%94%EB%AA%A8%EB%A6%AC-%ED%8F%AC%EB%A0%8C%EC%8B%9D
[5] blog.naver.com/i1004yu/221973880923
.
'SECURITY > FORENSICS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ