조금 찾아 봤는데 Volatility 2.5 치트 시트는 찾을 수가 없었다.
Linux와 MAC OS X는 Windows와 플러그인(명령어)이 다르기 때문에 기회가 된다면 나중에 따로 정리하도록 하겠다.
사실 모든 플러그인을 정리하자면 긴 문서가 되어 버린다.
플로그인들을 정리한 문서들은 웹 상에 많이 있으니 자세한 문서를 원하는 사람들은 웹 상에서 찾아보길 바란다.
나는 그냥 블로깅 용으로 메모리를 분석하면서 자주 사용했던 플러그인들을 정리하고자 한다.
1. 이미지 정보
python vol.py -f [target] imageinfo
profile이 없는 경우, https://github.com/volatilityfoundation/profiles에서 필요한 profile을 다운로드 한다.
저장 경로는 volatility-master\volatility\plugins\overlays.
압축파일 통째로 넣으면 됨.
python2 setup.py build
python2 setup.py install
을 해야함.
추가가 잘 됐다면 "python2 vol.py --info"를 통해 추가된 프로필을 확인할 수 있다.
2. 프로세스
python vol.py -f [target] --profile=[OS version] pslist
pslist는 실행중인 프로세스를 출력해주는 명령어이다.
python vol.py -f [target] --profile=[OS version] psscan
psscan은 pslist의 상위 버전 느낌으로 숨겨져 있거나 종료된 프로세스까지도 출력해준다. 만약 종료된 프로세스라면 Time Exited에 종료된 시각이 출력된다.
python vol.py -f [target] --profile=[OS version] pstree
프로세스의 부모 자식 관계를 트리 형태로 출력해준다.
python vol.py -f [target] --profile=[OS version] psxview
pslist와 psscan의 결과를 동시에 보여준다.
3. DLL
python vol.py -f [target] --profile=[OS version] dlllist
특정 프로세스에 대한 DLL 리스트만을 출력하고 싶다면 -p 혹은 -pid 옵션을 추가해주면 된다.
python vol.py -f [target] --profile=[OS version] dlldump
dlldump를 이용하면 dll을 추출해낼 수 있다.
dlllist와 마찬가지로 특정 프로세스에 한정해서 dll을 추출하고 싶다면 -p 혹은 -pid 옵션을 추가하면 된다.
4. cmd
python vol.py -f [target] --profile=[OS version] cmdscan
python vol.py -f [target] --profile=[OS version] consoles
cmdscan과 비슷하지만 위 스크린샷처럼 사용한 명령어(history) 뿐만 아니라 입출력 버퍼들까지 모두 보여준다는 점이 다르다.
5. 프로세스 메모리
python vol.py -f [target] --profile=[OS version] -p [pid] memdump -D [dir]
해당 프로세스의 덤프 파일을 생성한다.
python vol.py -f [target] --profile=[OS version] -p [pid] procdump -D [dir]
해당 프로세스를 .exe로 추출한다.
다만 프로세스가 메모리에 단편적으로 올라와 있을 가능성이 매우 높으므로 완벽한 .exe 파일을 기대하기는 힘들다.
--offset=[offset] 옵션을 사용하면 offset 부터 추출해낼 수 있다.
6. 파일
python vol.py -f [target] --profile=[OS version] filescan
메모리에 있는 파일 오브젝트를 스캔한다. 이는 루트킷이 디스크에 파일을 숨겨도 찾아낼 수 있다.
python vol.py -f [target] --profile=[OS version] dumpfiles -Q [offset] -D [dir]
filescan으로 얻은 파일의 offset으로 메모리 안의 파일을 추출할 수 있다. -Q 옵션은 오프셋을, -p 옵션은 pid를 주면 된다.
7. 네트워크
python vol.py -f [target] --profile=[OS version] connections
활성화된 네트워크 연결 상태를 보여준다.
이미지가 Windows XP, Windows Server 2003일 때만 사용 가능하다.
python vol.py -f [target] --profile=[OS version] sockets
현재 listening 중인 소켓들을 찾아낸다.
sockets 역시 connections와 마찬가지로 이미지가 Windows XP, Windows Server 2003일 때만 사용 가능하다.
python vol.py -f [target] --profile=[OS version] connscan
종료된 연결 정보도 추출해낼 수 있지만 오탐일 가능성 또한 존재한다.
connscan 역시 connections와 마찬가지로 이미지가 Windows XP, Windows Server 2003일 때만 사용 가능하다.
python vol.py -f [target] --profile=[OS version] sockscan
이전에 있던 소켓 정보들까지도 추출 가능하다.
sockscan 역시 connections와 마찬가지로 이미지가 Windows XP, Windows Server 2003일 때만 사용 가능하다.
python vol.py -f [target] --profile=[OS version] netscan
netscan은 Windows Vista, Windows 7, Windows Server 2008에서 네트워크 아티팩트를 얻는데 사용된다.
아마 그 이상의 버전도 되겠지? 안 해봐서 모르겠다.
'포렌식' 카테고리의 다른 글
Windows Memory Compression (1) | 2022.09.11 |
---|---|
Outlook Analysis (1) | 2022.08.12 |
usb packet analysis (0) | 2022.07.18 |
Carving Tool - PhotoRec (0) | 2017.11.11 |
how to install Volatility on windows (5) | 2016.08.30 |
댓글