Data+

Volatility 튜토리얼

by Qerogram

* 2.4 버전으로 작성되었고, 주관적인 사용법 내역이다.

* Image 버전은 Win7SP0x86 기준이다.


1. 이미지 수집

vol.exe -f [dump파일] imageinfo

=== 결과 === 

Suggested Profile(s) : Win7SP0x86, Win7SP1x86

Image Type (Service Pack) : 0

============

위와 같이 정보가 나오고 ImageType에서 서비스팩 버전을 알려준다. 왼쪽에 있을 수록 정확.

즉, Win7SP0x86으로 추정.


2. 프로세스 정보 수집.

vol.exe -f [dump파일] --profile=Win7SP0x86 psscan

- 프로필 인자는 1에서 수집한걸 쓴다.

psscan의 경우 죽은 프로세스들도 나온다.

pslist의 경우 죽은 프로세스는 나오지 않는다.

psxview의 경우 두 경우를 모두 대조하여 은닉된 프로세스까지 볼 수 있다.

pstree의 경우 부모와 자식을 식별하기 아주 좋다.


3. 네트워크 정보 수집

vol.exe -f [dump파일] --profile=Win7SP0x86 netscan

- win7부턴 connections나 그외 명령어가 안되므로 netscan을 이용해서 검색가능.


4. 이상행위 있는 파일 식별

vol.exe -f [dump파일] --profile=Win7SP0x86 malfind > malfind.txt

================================================

Process: svchost.exe Pid: 852 Address: 0x1000000

Vad Tag: VadS Protection: PAGE_EXECUTE_READWRITE

Flags: CommitCharge: 2, MemCommit: 1, PrivateMemory: 1, Protection: 6

=================================================

-  위와 같이 프로세스별로 나열된다. Vad Tag가 VadS인것, PAGE_READWRITE권한이 있다면 악성코드로 의심을 해야한다.


dll로 추출하려면

vol.exe -f [dum파일] --profile=Win7SP0x86 dlldump -p852 -b 0x1000000 -D 추출경로

하면 되겠다. 그러나 이렇게되면 그 코드 부분만 꺼내기 때문에 악성코드 분석시엔 유용하나 전체로직을 알기는 어렵다.


전체 exe를 추출하려면 psscan으로 프로세스의 오프셋 값을 구한뒤.

vol.exe -f [dump파일] --profile=Win7SP0x86 dlldump -p852 --offset=오프셋값 -D 경로 하면 EXE밑 하위 DLL을 덤프뜨는 것 이 가능하다.


* 그외에도 volshell을 통해 셸을 띄운 뒤

dis(주소, 범위) 를 통해 어셈코드로 확인도 가능하며,

db(주소, 범위)를 통해 헥사값 또한 알 수가 있다.

'보안 > 디지털 포렌식' 카테고리의 다른 글

윈도우에서 바로가기와 Symbolic Link의 차이  (0) 2019.03.25
MFT  (0) 2017.06.02
ADS를 통한 Data Hiding.  (0) 2017.05.28

블로그의 정보

Data+

Qerogram

활동하기