해당 포스팅 내용은 잊어먹지 않기 위해 간략히 작성한 내용이기 때문에 볼 필요는 없을 것 같고, 

http://codeengn.com/archive/Forensic/Volatility%20command%202.1%20%5B%EB%B3%B4%EC%95%88%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8,%20%EC%9D%B4%EC%8A%B9%EC%A4%80%5D.pdf

PDF 파일을 보시면 자세히 알 수 있습니다.
맨 밑에 cuckoo 연동 부분만 보셔도..


1) VB2016 paper: Open source malware lab(http://kkn1220.tistory.com/115)

2) Cuckoo Sandbox (http://kkn1220.tistory.com/116)

3) Thug (http://kkn1220.tistory.com/117)

4) Bro (http://kkn1220.tistory.com/118)


Volatility


1. Volatility  개념

- 포렌직 메모리 분석에서 많이 사용하고 있는 파이썬 기반 오픈소스
- 은닉되어 있는 프로세스 조사
(1)
pslist: 시스템의 프로세스를 열거하기 위함

(2) psscan: 풀 태그 스캐닝을 사용하여 프로세스들을 열거하기 위해 사용되는데 종료된 프로세스들과 루트킷에 의해 숨겨지거나 연결이 끊어진 프로세스들을 찾을 수 있음

(3) psxview: pslistpsscan으로 숨겨진 프로세스를 찾음

(4) ssdt: System Service Descriptor Table(SSDT)에서 후킹된 것을 찾음


psxview 플러그인은 pslistpsscan을 교차하여 숨겨진 프로세스를 찾는 역할

pslist는 각 프로세스가 더블 링크드 리스트로 연결되어 있는 것을 이용해서 프로세스 목록을 출력하지만 psscan은 메모리 이미지의 처음부터 끝까지 스캔을 하여 프로세스 목록을 출력하는 형식
-> 그러므로 psscan에서는 확인이 가능하지만 pslist에서 확인이 안되는 프로세스는 악성 일 가능성이 높음

Psscanpslist와 유사하지만 pool tag 스캔을 통해 프로세스 목록을 생성하기때문에 DKOM을 통해서 프로세스를 은닉하는 경우에도 출력이되는 차이점이 있음

※DKOM(Direct Kernel Object Manipulation) : 자신의 앞 뒤에 존재하는 EPROCESSActiveProcessLinks를 조작하여 자신을 건너뛰고 서로 직접 연결되도록 조작하는 기법 




2. Volatility 분석 (SSDT 후킹 내용 간략 설명)

1) 메모리 덤프

- Dumpit이나 기타 메모리 덤프 할 수 있는 툴을 사용하여 메모리 덤프


2) 이미지 확인 

- profile 확인


3) 프로세스 목록 확인

pslist, psscan, psxview, ssdt를 통해 목록 확인
- volatility -f
덤프파일 --profile=Win7SP1x86 pslist > c:\usb\pslist.txt

- volatility -f 덤프파일 --profile=Win7SP1x86 psscan > c:\usb\psscan.txt

- volatility -f 덤프파일 --profile=Win7SP1x86 psxview > c:\usb\psxview.txt

- volatility -f 덤프파일 --profile=Win7SP1x86 ssdt > c:\usb\ssdt.txt

4) (ex. ssdt 후킹 사례)

ssdt를 확인 결과 ntoskrnl.exe / win32k.sys 이외에 목적지로 설정 되어있다는 가정 (후킹 된 것임)

(꼭 위에 두개로 owned by <ntoskrnl.exe / win32k.sys> 가 있어야됨  (왼쪽은 시스템쪽 api 오른쪽은 gui 관련 api))

5) ssdt 후킹 확인

type ssdt.txt | findstr /i /v ntoskrnl.exe | findstr /i /v win32k.sys


6) 다음 진행 사항들  

-Sleutkit 와 같은 툴을 사용하여 은닉 악성파일 추출


(본 내용은 해당 내용 범위에 벗어나는 내용이기 때문에 다루지 않음

추후 $MFT, UserJnrl, Log File 을 추출하고, 해당 내용을 분석 하는 방법에 대해 포스팅 할 예정)



3. Cuckoo 연동

Cuckoo는 Volatility 연동을 지원을 하는데

- 시간이 엄청 오래 걸림... 사실 샌드박스는 3~5분에 한 파일에 대해 끝내야 되는데 메모리 덤프 및 분석을

위한시간이 많이 소요됨

- Cuckoo가 뭔가 큰 그림을 보는거 같은데 잘 모르겠음..


설정파일 변경

- cuckoo.conf 변경

- memory_dump = on으로 변경


processing.conf 변경

메모리 분석 기능 활성화

- enabled = yes로 변경

memory.conf 변경

모두 yes 로 변경



반응형

+ Recent posts