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

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 로 변경



반응형
제목: VB2016 paper: Open source malware lab

https://www.virusbulletin.com/virusbulletin/2017/01/vb2016-paper-open-source-malware-lab/

virus bulletin 2016에서 발표한 페이퍼 내용을 정리하고자 한다.


이 페이퍼에서는 http://kkn1220.tistory.com/113 에서 언급한 Fully-automated/ Static properties Analysis에 초점을 두고 있다.

이들이 언급하는 것은 총 4개로 구성되어 있다.

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

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

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

4) Volatility (http://kkn1220.tistory.com/119)



요약을 하자면 Malware 분석 주요 포인트 대상을 파일, URL, Network Traffic, Memory Image로 보고 있다.

Cuckoo Sandbox에서 파일 분석

Thug에서 잠재적 악성 URL 분석

Bro에서 네트워크 분석

Volatility에서 메모리 이미지 분석
위 4가지를 자동화를 통해 Malware 탐지 및 분석





반응형

+ Recent posts