티스토리 뷰

◎ Miscellaneous : 기타 등등
 > strings : <decimal_offset>:<string> line 형식으로 된 주어진 Image와 File에서 해당 문자열을 찾을 수 있는 Process와 Virtual Address를 출력해 주는 명령어입니다.
  - 해당 명령의 입력은 Sysinternals의 Strings Utility 또는 유사한 Tool 들의 출력(offset:string)이며, 입력 Offset 은 File/Image의 시작 지점의 물리 Offset입니다.
  - Sysinternals 의 Strings는 Linux/MAC 에서 Wine을 이용하여 사용 가능하며, 이에 대한 출력은 File 형식으로 Volatility에게 Redirect 되어야 합니다. 
  - GNU 의 Strings 명령어를 사용한다면 -td Option을 통해 Offset을 10 진수로 출력 가능합니다.(GNU strings는 십육진 오프셋 미지원) 
  - File/Image 를 Sysinternals의 Strings Utility를 수행하면 많은 시간이 걸리며, -q와 -o는 Header 출력의 생략(-q)과 각 줄의 Offset(-o)을 구하기 위해 필수적인 Option입니다

 # wine strings.exe -q -o -accepteula image.vmem > image.vmem.txt
 # python vol.py -f image.vmem --profile=Win7SP1x64 strings -s export.txt

  - Default 로 PsActiveProcessHead를 이용해 Double-linked 형태로 Process 들을 출력하며, -S Option을 통해 Hidden Process 들도 출력 가능합니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 strings -s export.txt --output-file=export_strings.txt -S

  - EPROCESS Offset 도 지원해 줍니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 strings -s export.txt --output-file=export_strings.txt -o 0x00000000

 

 > volshell : 메모리 덤프 파일 분석 시에 Windbg와 유사한 명령 형식으로 분석 할 수 있습니다.
 ※ 제공 기능
  - 프로세스들의 목록화(List processes)
  - 프로세스들의 문맥 교환(witch into a process's context)
  - 구조체와 객체들의 형식 출력(Display types of structures/objects)
  - 주어진 주소에 타입 덮어씌우기(Overlay a type over a given address)
  - 링크드 리스트 순회(Walk linked lists)
  - 주어진 주소의 코드 디스어셈(Disassemble code at a given address)
  - db, dd, dt, dis 명령어는 특정 주소 공간을 인자로 전달 가능하며, 사용하는 주소 공간에 따라 다른 결과를 출력하는 것을 확인 가능합니다.

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

 

 > bioskbd : Memory 의 BIOS 영역에서 Key 입력을 읽을 때 사용하는 명령어입니다.
  - Lenovo 의 BIOS와 SafeBoot, TrueCrypt, BitLocker에 입력한 비밀 번호를 확인 가능합니다.
  - 메모리 덤프 툴에 따라서 필요한 BIOS 영역을 포함할 수도 있고 아닐 수도 있습니다.

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

 

 > patcher : Patches memory based on page scans
  - patcher 플러그인을 실행할때, 명령줄에 쓰기 옵션(-w) 지정하지 않으면 수정이 안됩니다.

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

 

 > pagecheck : pagecheck 플러그인은 커널 DTB (System/Idle 프로세스로부터)을 사용하고 페이지들(pages)이 위치하고 있는 메모리(AddressSpage.get_avaliable_pages 메서드를 사용) 정보를 출력하는 명령어입니다.
  - 각 페이지별로 그 페이지 데이터에 접근하는 것을 시도하고 자세하게 결과를 출력합니다. 만약 그 시도한 것이 실패되면 PDE, PTE 주소 정보들도 나타냅니다.
  - 이 플러그인은 기본적으로 지원되지 않고, contrib 디렉터리 안에 위치하고 있으며 non-PAE x86 주소 공간들에서 작동이 됩니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 --plugins=contrib/plugins/ -f pat-2009-11-16.mddramimage pagecheck

 

 > mftparser : 파일이 디스크에 있는지 확인하는 명령어입니다.

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

  - 내용이 상당히 길기 때문에 --output-file 옵션을 사용하여 파일에 저장하는 것이 좋습니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 mftparser --output=body -D folder_name/ --output-file=mft.body
 # cat mft.body

 

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 : 기타 등등

 

댓글
공지사항