메모리 이미지에서 원하는 프로세스를 선택하면 바이러스 토탈에 업로드하여 스캔 결과를 출력 해 주는 플러그인이다.


root@kali:~/Desktop# vol -f Windows --profile=WinXPSP2x86 malscan -p 1472

Volatile Systems Volatility Framework 2.1

                                                                                        

------------------------------- --------------- ----------------------------------------


[!] Process to dump in the current directory.


[+] To start a process dump.

Process(V) ImageBase  Name                 Result

---------- ---------- -------------------- ------

0x820f97b0 0x01000000 notepad.exe          OK: executable.1472.exe


[+] Run the file to start uploading.


[+] Run the file upload is complete.


[+] File analysis...(About 3 minutes)

scan_id : 7941806c100d46d8bc0570f27d4d74f5bf3cedced26448d70d76a6590c14549f-1375761931

sha1 : d3333bd45366430fddc52d3ff901fd45bb0bd0d8

resource : c1a52510032fa6a3e16d5c075c5421a6

response_code : 1

scan_date : 2013-08-06 04:05:31

permalink : https://www.virustotal.com/file/7941806c100d46d8bc0570f27d4d74f5bf3cedced26448d70d76a6590c14549f/analysis/1375761931/

verbose_msg : Scan finished, scan information embedded in this object

sha256 : 7941806c100d46d8bc0570f27d4d74f5bf3cedced26448d70d76a6590c14549f

positives : 1

total : 46

md5 : c1a52510032fa6a3e16d5c075c5421a6


 AV Name Detected Result

MicroWorld-eScan                False           None                                    

nProtect                        False           None                                    

CAT-QuickHeal                   False           None                                    

McAfee                          False           None                                    

Malwarebytes                    False           None                                    

K7AntiVirus                     False           None                                    

K7GW                            False           None                                    

TheHacker                       False           None                                    

NANO-Antivirus                  False           None                                    

F-Prot                          False           None                                    

Symantec                        False           None                                    

Norman                          False           None                                    

TotalDefense                    False           None                                    

TrendMicro-HouseCall            False           None                                    

Avast                           False           None                                    

ClamAV                          False           None                                    

Kaspersky                       False           None                                    

BitDefender                     False           None                                    

Agnitum                         False           None                                    

SUPERAntiSpyware                False           None                                    

Emsisoft                        False           None                                    

Comodo                          False           None                                    

F-Secure                        False           None                                    

DrWeb                           False           None                                    

VIPRE                           False           None                                    

AntiVir                         False           None                                    

TrendMicro                      False           None                                    

McAfee-GW-Edition               True            Heuristic.BehavesLi...2.Suspicious-DTR.K

Sophos                          False           None                                    

Jiangmin                        False           None                                    

Antiy-AVL                       False           None                                    

Kingsoft                        False           None                                    

Microsoft                       False           None                                    

ViRobot                         False           None                                    

AhnLab-V3                       False           None                                    

GData                           False           None                                    

Commtouch                       False           None                                    

ByteHero                        False           None                                    

VBA32                           False           None                                    

PCTools                         False           None                                    

ESET-NOD32                      False           None                                    

Rising                          False           None                                    

Ikarus                          False           None                                    

Fortinet                        False           None                                    

AVG                             False           None                                    

Panda                           False           None


플러그인을 동작시키기 전에 바이러스 토탈에 API KEY가 필요하다. 해당 key는 바이러스 토탈에 가입 후 Profile 페이지로 이동하여 API탭을 보면 다음과 같이 자신만의 key를 확인 할 수 있다. 



해당 key를 플러그인 상단에 있는 VT_API_KEY에 넣어주고 플러그인을 동작시키면 된다. 


참고로 플러그인 동작시에는 -p 옵션을 필수적으로 지정해 주어야 한다. 


malscan.py



저작자 표시 비영리 변경 금지
신고

프로세스의 커맨드라인은 침해대응에서 중요한 부분을 차지한다

해당 프로세스가 어떤 일을 하는지 아주 쉽게 파악을 할 수 있게 정보를 제공하는 부분이 커맨드라인이다. 

하지만 현재 볼라틸리티 플러그인 중 커맨드라인만 따로 출력 해 주는 플러그인이 존재하지 않아 한번 만들어 보았다.

(dlllist 플러그인에서는 커맨드라인을 출력 하지만, dlllist와 같이 출력되기 때문에 가독성이 떨어진다.)


현재 볼라틸리티에서는 EPROCESS Scanning으로 숨겨진 프로세스나 죽은 프로세스를 찾아주긴 하지만 숨겨진 프로세스 파악이 목적이어서 PEB 하부 구조체들까지 스캐닝을 하지는 않아 숨겨진 프로세스에 대한 커맨드라인은 아직 구현하지 못하였다.

현재 생각으로는 메모리 전체를 대상으로 커맨드라인을 파싱하거나 숨겨진 프로세스의 PEB영역을 계산 해 추출해야 할 듯 하다.



출력은 23인치 와이드 모니터에 맞추어져 있다. 만약 모니터의 크기와 알맞게 출력하고 싶다면 소스코드 중 다음 부분을 수정하면 된다.


("Command Line", "<150"),


그리고, 너무 많은 프로세스로 자신이 보고 싶은 프로세스의 커맨드라인이 있을지도 모른다. 이때는 -p <PID> 옵션을 통해 프로세스 아이디를 지정 해주면 된다.




proccmd.py



저작자 표시 비영리 변경 금지
신고
  1. kant 2013.08.04 23:56 신고

    아.. 파워쉘로 따라해볼려다가 숨겨진 프로세스 찾는 부분에서 막혀서 멘붕이 왔네요 ㅠ
    간단하게 구현하면 다음과 같습니다 ^^
    Get-WmiObject Win32_Process | Select-Object ProcesId, ProcessName, CommandLine, CreationDate | Sort-Object processid

    ps. 요즘 파이썬으로 구현된 것들을 파워쉘로 구현해 보는데 파이썬에 대한 깊이가 낮아 힘드네요 ㅠ

  2. Favicon of http://malwarelab.tistory.com BlogIcon demantos 2013.08.07 13:36 신고

    volatility 2.3_beta에서는 시간 정보가 깨져서 나오네요...
    문자수를 20글자로 주셔서 30으로 바꿨더니 제대로 나오네요 ㅎㅎ
    좋은 플러그인 감사합니다~
    해볼려고 했던건데 이리 만들어주시니...ㅎㅎ

    • Favicon of http://maj3sty.tistory.com BlogIcon MaJ3stY 2013.08.07 16:05 신고

      아 ㅎㅎ 제가 플러그인 제작 할 때는 2.1 버전으로 했던 터라.. 거기까지 미처 생각을 하지 못했었네요 ㅎㅎ

      알려주셔서 감사합니다 ㅎ

[업데이트 내용]

 - daum 계정 추출 기능 추가

 - -s 옵션 추가


-s 옵션은 추출하고자 하는 계정 사이트명을 지정하는 옵션이다. 만약 해당 옵션을 지정하지 않으면 다음과 같이 플러그인에서 지정하는 모든 사이트의 계정들이 추출되어 출력된다.



-s 옵션으로 페이스북을 지정하면 다음과 같이 페이스북 계정만 추출되어 출력된다.



단일지정뿐만 아니라 복수지정도 가능하다.



userinfo.py


p.s - 네이버도 추가하려 했으나 네이버 로그인 과정에서 암호화 하는 부분 때문에 브라우저별로 메모리에 흔적을 남기는 형태가 각양각색이어서 추가하지 않았다.

저작자 표시 비영리 변경 금지
신고

이전에 작성하여 올렸던 플러그인의 속도 문제를 vaddump 기능을 통해 개선하고 google 계정 정보 추출 기능을 추가 하였다. 다음 이미지는 이전 플러그인과의 속도를 비교한 화면임과 동시에 구글 기능 동작 화면이다.



이전 버전의 플러그인과 마찬가지로 -p <PID> 옵션을 지정 해 주면 해당 프로세스의 VAD 영역만 검색한다.




userinfo.py



저작자 표시 비영리 변경 금지
신고

오늘 아침에 Facebook 뉴스피드를 통해 볼라틸리티 페이스북 플러그인을 접하였다. 그런데 플러그인의 기능이 json포맷으로 된 뉴스피드 또는 메시지 내용을 추출하는 것일 뿐 사용자의 계정정보를 추출하는 기능은 없어 직접 볼라틸리티 플러그인으로 한번 만들어 보았다.


기존 페이스북 플러그인 : https://github.com/jeffbryner/volatilityPlugins


아래는 글쓴이가 직접 만든 플러그인을 동작한 모습이다.



동작 방식은 기존 페이스북 플러그인의 코드를 응용 해 동일하게 브라우저 프로세스의 데이터를 파싱 해 해당 데이터에서 사용자 계정 정보를 추출하였다. 하지만 이 방식은 요즘 같이 브라우저 탭 기능 때문에 프로세스가 여러개로 생길 경우 프로세스 크기에 따라 속도차이가 크게 발생 할 수 있다. 


추후에 procmemdump 등의 기능을 이용 해 속도를 높이고 facebook 뿐만이 아니라 트위터, 구글 등 브라우저에서 추출 할 수 있는 대부분의 데이터를 추출 할 수 있도록 수정 해야 겠다.



facebook_userinfo.py


p.s - -p <PID> 옵션을 사용하면 지정한 프로세스에서만 데이터 검색을 수행한다.

저작자 표시 비영리 변경 금지
신고

+ Recent posts