ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Fridump (메모리 덤프)
    Mobile/Frida 2019. 12. 19. 04:38

    Frida를 이용한 메모리덤프를 소개 하고자 한다.

    'Fridump'라는 툴인데, 프로세스의 모든 메모리영역을 Dump해서 파일로 저장해주는 툴이다.

    메모리를 통째로 가져와서 분석해야할 때 유용하게 사용할 수 있다.

     

    예를 들어, 암호화된 모듈,데이터가 Runtime 중 복호화되어 메모리에 로드되는 시점이 있을 것이다.

    이 때 Fridump를 이용해서 메모리를 통째로 가져오면 복호화된 데이터를 얻을 수 있을 것이다. 

     


    Fridump

    Fridump는 https://github.com/Nightbringer21/fridump 여기에서 다운받을 수 있다.

    그리고 당연히 Frida API를 사용하기 때문에 pip install frida로 모듈을 설치해줘야 한다.

     

    [그림 1] 커맨드 예시

    Known App은 위처럼 Safari로 줘도 되지만, 일반적인 경우는 fridump -U -s PACKAGE_NAME 으로 실행해주면 된다.

     

    http://pentestcorner.com/introduction-to-fridump/

    이 외에 추가적인 옵션은 제작자 홈페이지에서 확인할 수 있다.

    우선 -U옵션은 USB로 기기와 연결되어 있는 경우, -s옵션은 문자열덤프를 추가적으로 진행하여 strings.txt라는 파일을 추가적으로 생성해 준다.

     


    메모리 덤프

    [그림 2] Uncrackable1 - py0zz1입력

    메모리 덤프 테스트는 Uncrackable1 App으로 진행하도록 하겠다.

    먼저 py0zz1라는 텍스트를 입력하고 메모리덤프를 진행하도록 한다.

     

    [그림 3] Fridump 실행

    그리고 python3 fridump.py -U -s owasp.mstg.uncrackable1 커맨드를 입력해서 메모리 덤프를 시작해준다.

    나는 문자열 덤프도 추가적으로 진행하기 위해서 -s 옵션을 추가해줬다.

     

    [그림 4] 메모리 덤프 결과

    약 3분정도 기다려주면 메모리 덤프가 완료되고, Output Directory에 Dump된 메모리 파일들과 strings.txt가 생성된다.

    제대로 덤프가 된건지 확인하기 위해서 strings.txt에 아까 입력한 py0zz1가 있는지 확인해보자

     

    [그림 5] strings.txt

    strings.txt의 내용을 보면 입력한 py0zz1 문자열이 추출된 것을 확인할 수 있다.

     

    이와 같이 메모리를 분석해야할 경우 Fridump를 이용하면 큰 도움이 될 것 같다.

     

    댓글

Designed by Tistory.