티스토리 뷰

◎ Kernel Memory and Objects : 커널 메모리와 오브젝트 분석
 > modules : System에 load된 kernel driver들을 보여주는 명령어입니다.
  - PSLoadedModuleList가 가리키는 LDR_DATA_TABLE_ENTRY를 통해 doubly-linked 형태로 동작하며 hidden/unlinked kernel driver는 출력해 주지 않습니다.
  - 기본적으로 Virtual address 로 출력하며, Physical address 를 보고 싶다면 -P Option 을 추가하면 됩니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 modules
 # python vol.py -f image.vmem --profile=Win7SP1x64 modules -P

 

 > modscan : Kernel module 을 Physical address 로 보여주는 명령어입니다.
  -  pool 태그로 물리적 메모리 스캐닝을 함으로써 LDR_DATA_TABLE_ENTRY 구조들을 찾을 수 있습니다.
  -  이전에 load 되었던 driver, Rootkit 에 의해 hidden/unlinked 된 Driver 도 출력해 줍니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 modscan

 

 > moddump : Kernel driver 를 File 로 dump 해 주는 명령어입니다.
  - 정규 표현 식과, Physical Offset 을 이용한 Filter 를 지원해 줍니다.
  - 모든 driver 들을 dump 하고 싶다면 아무런 Filter 를 적용하지 않으면 됩니다.
  - 명령어 라인에 -D 또는 --dump-dir=DIR 로 출력 디렉토리를 제공합니다.
  - dlldump 와 비슷하게, PE 헤더의 중요한 부분이 메모리 상주가 아니라면 드라이버의 재구축 또는 추출은 아마 실패 할 것입니다.(2.1버전)

 # python vol.py -f image.vmem --profile=Win7SP1x64 moddump -D folder_name/

 

 > ssdt : Native 와 GUI SSDT 의 함수들을 list 시켜주는 명령어입니다.
  - index, function name, SSDT 에서 각각의 entry 를 소유하고 있는 driver owner 를 출력해 줍니다.
  - Windows 는 4 개의 SSDT 를 가지고 있으나 NT module 의 Native Function, win32k.sys module 의 GUI function 만을 사용하고 있습니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 ssdt

 

 > driverscan : Memory 의 DRIVER_OBJECT 를 pool 태그 스캐닝하는 명령어입니다.
  - 모든 kernel module 이 DRIVER_OBJECT 와 관련된 것은 아닙니다.
  - DRIVER_OBJECT : 드라이버를 나타내는 데이터 구조체입니다. DEVICE_OBJECT를 포함하고 있으며, 하나의 드라이버가 동일한 장치 여러 개를 관리 할 수 있습니다.
  - DEVICE_OBJECT : 드라이버를 통해서 관리되는 장치를 표현하는 구조체입니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 driverscan

 

 > filescan : pool 태그 스캐닝을 사용하여 물리적 메모리에서 FILE_OBJECT를 스캐닝하는 명령어입니다.
  - Rootkit 이 디스크에 File 을 hiding 하였거나, 실제 System 의 open handle 을 hooking 하였더라도 open File 을 찾을 수 있습니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 filescan

 

 > mutantscan : Memory 에서 KMUTANT 객체를 pool 태그 스캐닝을 사용해 스캐닝하는 명령어입니다.
  - 모든 오브젝트들을 보여주지만 mutexexs 로 명명된 것만 볼 수 있도록 -s 또는 --silent 를 사용할 수 있습니다.
  - CID column 은 Process ID 와 Thread ID 를 보여줍니다.
  - Volatility 는 mutexes 들이 random 한 이름을 가지기 때문에 의심 가는 mutexes 를 판단하는 것이 어렵다는 것을 알고, sqlite3 database 를 통해 해당 Memory dump 에 이미 DB 에 존재하는 이름이 있으면 강조해주는 기능을 가지고 있습니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 mutantscan -s

 

 > symlinkscan : Symbolic link 객체들을 pool 태그 스캐닝을 사용해 스캐닝하는 명령어입니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 symlinkscan

 

 > thrdscan : Memory 의 ETHREAD 객체를 pool 태그 스캐닝을 사용해 스캐닝하는 명령어입니다.
  - ETHREAD 는 부모 process 를 식별할 수 있는 정보를 가지고 있기 때문에 이는 hidden Process 를 찾는데 도움을 주기도 합니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 thrdscan

 

Volatility 볼라틸리티 2.1 Plugins - 윈도우#01

◎ Image Identification : 이미지 식별

Volatility 볼라틸리티 2.1 Plugins - 윈도우#02

◎ Processes and DLLs : 프로세스와 DLLs 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#03

◎ Process Memory : 프로세스 메모리 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#04

◎ Kernel Memory and Objects : 커널 메모리와 오브젝트 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#05

◎ Networking : 네트워크 정보
Volatility 볼라틸리티 2.1 Plugins - 윈도우#06

◎ Registry : 단지 Registry data를 추출하는데 도움을 줍니다.
Volatility 볼라틸리티 2.1 Plugins - 윈도우#07

◎ Crash Dumps, Hibernation and Conversion : 크래쉬 덤프, 하이버네이션 정보확인 및 파일변환
Volatility 볼라틸리티 2.1 Plugins - 윈도우#08

◎ Malware and Rootkits : 맬웨어와 루트킷 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#09

◎ Miscellaneous : 기타 등등

댓글
공지사항