For3nsic/The Art of Memory Forensic

volatility ์‚ฌ์šฉ๋ฒ• 2

๐“›๐“พ๐“ฌ๐“ฎ๐“ฝ๐“ฎ_๐“ข๐“ฝ๐“ฎ๐“ต๐“ต๐“ช 2015. 11. 19.
728x90
๋ฐ˜์‘ํ˜•

kpcrscan

์ด๋Š” Finding Object Roots in Vista ์— ๋ฌ˜์‚ฌ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์ž์ฒด์ฐธ์กฐ ๋ฉค๋ฒ„๋“ค์„ ์ฒดํฌํ•จ์œผ๋กœ์จ ์ž ์žฌ์  KPCR ๊ตฌ์กฐ๋“ค์„ ์Šค์บ”ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

IDT ์™€ GDT ์ฃผ์†Œ, current,idle, ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ ์“ฐ๋ ˆ๋“œ๋“ค, CPU ์ˆซ์ž, ๋ฒค๋”&์†๋„, ๊ทธ๋ฆฌ๊ณ  CR3 ๊ฐ’๋“ค์„ ํฌํ•จํ•˜๋Š” ๊ฐ๊ฐ์˜ ํ”„๋กœ์„ธ์„œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ธ๋ถ€ ์ •๋ณด๋“ค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๋˜ํ•œ ์ด๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด profile์ด๋ž€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”๋ฐ. profile ์€ imageinfo๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์•Œ์ˆ˜์žˆ๋‹ค.


pslist

์ด ๋ช…๋ น์–ด๋Š” ์‹œ์Šคํ…œ์˜ ํ”„๋กœ์„ธ์Šค๋“ค์„ ๋ณด์—ฌ์ค€๋‹ค.  PsActiveProcessHead ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ด์ค‘์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋ฅผ ์ง€๋‚˜๊ฐ€๋ฉฐ ์˜คํ”„์…‹, ํ”„๋กœ์„ธ์Šค ์ด๋ฆ„, ํ”„๋กœ์„ธ์Šค ID, ๋ถ€๋ชจ ํ”„๋กœ์„ธ์Šค ID, ์“ฐ๋ ˆ๋“œ์˜ ์ˆ˜, ํ•ธ๋“ค์˜ ์ˆ˜, ํ”„๋กœ์„ธ์Šค ์‹œ์ž‘ ์‹œ๊ฐ„๊ณผ ์ข…๋ฃŒ ์‹œ๊ฐ„์„ ๋ณด์—ฌ ์ค€๋‹ค 



์ด ๋ช…๋ น์–ด ๋˜ํ•œ profile ๋ช…๋ น์–ด๊ฐ€ ๋“ค์–ด๊ฐ€์•ผ ํ•œ๋‹ค.(์ด๋ช…๋ น์–ด๋Š” ๋Š์–ด์ง„ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณด์—ฌ์ฃผ์ง€ ์•Š๋Š”๋‹ค) => psscan

์ด๋Ÿฌํ•œ ์ •๋ณด๋ฅผ treeํ˜•ํƒœ๋กœ ๋ณด๊ธฐ ์œ„ํ•ด์„œ ์žˆ๋Š” ๋ช…๋ น์–ด๋Š” pstree์ด๋‹ค.





ํ”„๋กœ์„ธ์Šค๊ฐ€์•„๋‹Œ dll์„ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋Š” dlllist์ด๋‹ค.

๋ง๊ทธ๋Œ€๋กœ ์ด๋‹ค. 



dlldump๋ผ๋Š” ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค.

์ด๋Š” ๋ง๊ทธ๋Œ€๋กœ dllํŒŒ์ผ์„ ๋คํ”„ํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

์ด ๋ช…๋ น์–ด๋กœ ์•„๋ž˜์˜ ์ผ์„ ์ˆ˜ํ–‰ํ• ์ˆ˜ ์žˆ๋‹ค.

๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  DLL ์„ ๋คํ”„ ๋œฌ๋‹ค.

ํŠน์ • ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  DLL ์„ ๋คํ”„ ๋œฌ๋‹ค.(--pid=PID ์‚ฌ์šฉ)

์ˆจ๊ฒจ์ง€๊ฑฐ๋‚˜ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„ ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  DLL ์„ ๋คํ”„ ๋œฌ๋‹ค.(--offset=OFFSET ์‚ฌ์šฉ)

ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ์˜ ์•„๋ฌด์œ„์น˜๋กœ๋ถ€ํ„ฐ PE ๋ฅผ ๋คํ”„ ๋œฌ๋‹ค.(--base=BASEADDR ์‚ฌ์šฉ) ์ด ์˜ต์…˜์€ ์ˆจ๊ฒจ์ง„ DLL ๋“ค์„ ์ถ”์ถœํ•˜๋Š”๋ฐ ์œ ์šฉํ•˜๋‹ค.

๋Œ€์†Œ๋ฌธ์ž๊ตฌ๋ถ„(--ignore-case ์‚ฌ์šฉ)๊ณผ ์ •๊ทœํ‘œํ˜„์‹(--regex=REGEX ์‚ฌ์šฉ)์— ๋งž๋Š” ํ•˜๋‚˜ ๋˜๋Š” ๊ทธ ์ด์ƒ์˜ DLL ๋“ค์„ ๋คํ”„๋œฌ๋‹ค.


ํŠน์ • ์ถœ๋ ฅ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด, --dump-dir=DIR ๋˜๋Š” -d DIR ์„ ์‚ฌ์šฉํ•œ๋‹ค 




DLL ๋ชฉ๋ก์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” PE ํŒŒ์ผ์„ ๋คํ”„ ๋œจ๊ธฐ ์œ„ํ•ด ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ์˜ PE ์˜ base ์ฃผ์†Œ๋ฅผ ํŠน์ •ํ•ฉ๋‹ˆ๋‹ค.

$ python vol.py --profile=Win7SP0x86 -f win7.dmp dlldump --pid=492 -D out --base=0x00680000

 

๋˜ํ•œ EPROCESS ์˜คํ”„์…‹์„ ํŠน์ •์ง€์œผ๋ฏ€๋กœํ•ด์„œ ์ˆจ๊ฒจ์ง„ ํ”„๋กœ์„ธ์Šค์—์„œ ์›ํ•˜๋Š” DLL ์„ ์ฐพ์„์ˆ˜๋„ ์žˆ๋‹ค. 

$ python vol.py --profile=Win7SP0x86 -f win7.dmp dlldump -o 0x3e3f64e8 -D out --base=0x00680000 



[์ฐธ์กฐ] [แ„‡แ…ฉแ„‹แ…กแ†ซแ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณ]Volatility_Command 2.1

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€