-
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를 이용하면 큰 도움이 될 것 같다.
'Mobile > Frida' 카테고리의 다른 글
Anti-Debugging 우회 ( ptrace 선점 ) (1) 2020.02.29 FRIDA Hooking (OWASP - UnCrackable2) (2) 2019.12.22 Unity Game App Hacking (궁수의 전설) (14) 2019.12.18 Runtime Memory Patch (2) 2019.12.17 [FRIDA] 실행되지 않는 메소드 호출하기 (0) 2019.10.12