Tools/Volatility

#1 Volatility - 플러그인 만들기 Tutorial

geunyeong 2021. 12. 8. 21:30

Table of Contents

    Abstract

    본 글에서는 Volatility3을 사용해 플러그인을 만들기 위한 가장 기본적인 준비 과정을 알아본다. 단순하게 빈 플러그인 파일을 만들어 vol.py가 해당 파일을 플러그인으로 인식하도록 만드는 방법을 알아볼 것이다. 주의할 점은 사용할 수 있는 수준이 아니라 단순히 플러그인 파일이라고 인식만 하게 하는 것이다. 해당 플러그인을 실행하려 하면 에러가 발생한다.

    실행 가능한 플러그인을 만드는 튜토리얼은 아래 링크에 있다.

    https://geun-yeong.tistory.com/59

    How to make a Volatility Plugin

    본 글은 Volatility 3 Framework 1.0.1을 기준으로 작성됐다. Volatility3 레포지토리를 D:\Volatility에 클론했으며 Volatility 경로는 아래와 같다. 즉 아래 경로에 vol.py가 있다.

    D:\Volatility\volatility3

    Where

    볼라틸리티 플러그인은 Volatility 3 기준으로 volatility3/framework/plugins 폴더에 위치한다.

    Volatility3 Plugin 경로

    Write a Test Plugin

    이 곳에 testplugin.py를 하나 만들어보자.

    빈(Empty) testplugin.py 파일 생성

    그 후 testplugin.py 파일을 열어 아래와 같이 작성한다. 플러그인 파일임을 인식시킬 수 있는 최소한의 코드다.

    from volatility3.framework import interfaces
    
    class TestPlugin(interfaces.plugins.PluginInterface):
        """My Test Plugin"""
        pass

    Check that a Plugin can be loaded

    vol.py에 -h 옵션을 주면 사용 가능한 플러그인 목록을 출력한다. -h 옵션으로 testplugin.py의 TestPlugin이 나타나는지 확인하자.

    > python vol.py -h

    testplugin이 인식된 모습

    위 그림에서는 보기 편하게 Test라는 문자열로 출력 결과를 필터링했다. 우리가 만든 플러그인 파일의 이름(testplugin)과 클래스 이름(TestPlugin), 클래스 주석(My Test Plugin)이 모두 잘 나타난다면 플러그인을 만들 준비는 끝난 것이다.

    Close

    다음 글부터는 Windows 플러그인을 응용해 사용하는 방법을 알아보려 한다.