목차
- 리버싱 frida-ps 활용 현재 실행중인 앱 패키지 목록 구하기 예제 이전 포스팅 링크 및 설명
- 리버싱 apktool 도구 설치 예제 이전 포스팅 링크 및 설명
- 리눅스 frida 클라이언트 및 서버 설치 예제 이전 포스팅 링크 및 설명
- 리버싱 Frida 도구의 Fridadump3 모듈 다운로드 예제
- 리버싱 Fridadump3 모듈을 이용하여 특정 앱 메모리 덤프 실행 및 결과 출력 예제
리버싱 frida-ps 활용 현재 실행중인 앱 패키지 목록 구하기 예제 이전 포스팅 링크 및 설명
안녕하세요. 오늘 포스팅의 주제는 Frida 도구에서 지원하는 Fridadump3 모듈을 이용하여 현재 핸드폰의 특정 앱이 사용중인 메모리를 덤프하는 예제를 알아보겠습니다. fridadump3는 깃허브를 통해 다운로드 받을 수 있는 모듈입니다. Frida 서버 프로그램과 연계하여 휴대폰에서 실행중인 앱의 메모리 상태를 덤프하도록 도와줍니다. 이를 통해 앱의 보안 취약점 등을 손쉽게 확인할 수 있습니다. 오늘 포스팅을 알아보기에 앞서 이전 포스팅에서는 frida-ps 명령을 이용하여 현재 휴대폰에서 실행중인 앱들의 패키지명을 확인하는 예제를 알아보았습니다. 이기능을 오늘도 사용할 예정입니다. 아직 패키지명 확인 방법에 대해 잘 모르신다면 아래의 포스팅 링크를 참고하여 학습해주세요.
2024.04.18 - [Reverse Engineering] - [리버스 엔지니어링] Frida 서버 실행 및 설치된 앱 목록 구하기 예제(frida-ps)
리버싱 apktool 도구 설치 예제 이전 포스팅 링크 및 설명
다음으로 이전 포스팅에서는 apktool을 설치하는 방법에 대해 알아보았습니다. apktool은 고전적으로 안드로이드 앱을 디컴파일하여 비즈니스 로직을 확인하기위한 역공학 도구입니다. 이전에는 많이 사용하였지만 최근에는 gd-gui, jeb, ida 등 정적, 동적 분석 유용한 도구들이 많이 출시됨에 따라 사용을 많이 안하는 추세입니다. 하지만 리소스, smali 등을 디컴파일하여 추출할 수 있다는 기능은 아직도 강력한 기능입니다. 만약 apktool 리버스 엔지니어링 도구 설치 방법에 대해 아직 잘 모르신다면 아래의 포스팅 링크를 참고하여 학습해주세요.
2020.07.07 - [Reverse Engineering] - Linux Apktool 설치(Apktool Install)
리눅스 frida 클라이언트 및 서버 설치 예제 이전 포스팅 링크 및 설명
마지막으로 이전 포스팅에서는 리눅스에서 frida 클라이언트 모듈을 설치하는 방법에 대해 알아보았습니다. frida는 파이썬 모듈로 제공되며 서버 프로그램에 명령을 전달하는 클라이언트와 클라이언트의 명령 요청을 받아 결과를 반환하는 서버 프로그램으로 구성되어있습니다. 서버 프로그램은 휴대폰의 아키텍처에 맞는 프로그램을 설치해야합니다. 만약 아직 Frida 클라이언트 및 서버 프로그램 설치 방법에 대해 잘 모르신다면 아래의 포스팅 링크를 참고하여 설치를 진행해주세요.
2024.04.18 - [Reverse Engineering] - [리버스 엔지니어링] Frida PC 클라이언트 및 안드로이드 서버 설치 예제
리버싱 Frida 도구의 Fridadump3 모듈 다운로드 예제
아래는 리버싱 Frida 도구의 기능중 fridadump3 모듈을 이용하기위해 깃허브에서 소스를 다운로드 하는 예제입니다. frida를 이용한 메모리 덤프 스크립트가 포함된 모듈로서 다른 개발자가 공개한 모듈입니다. 이를 통해 특정 앱이 실행되면서 메모리에 어떤 취약한 문자열 혹은 보안성이 필요한 값들을 저장하는지 확인할 수 있습니다. 보통은 앱의 보안성을 체크하기 위해 QA 단계에서 자주 사용합니다. 아래와 같이 깃허브 홈페이지에 접속하여 fridadump3 모듈을 다운로드하여 컴퓨터에 저장합니다.
1. 아래 경로에서 fridadump3 모듈 다운로드
https://github.com/rootbsd/fridump3/archive/refs/heads/master.zip
2. 압축 해제
$ cd ~/Downloads
$ unzip fridump3-master.zip
$ cd fridump3-master/
$ ls
3. 휴대폰에서 frida-server 프로그램 실행
$ adb shell
$ su
# chmod 755 frida-server-16.2.1-android-arm64
# ./frida-server-16.2.1-android-arm64
리버싱 Fridadump3 모듈을 이용하여 특정 앱 메모리 덤프 실행 및 결과 출력 예제
아래는 리버싱 Frida 도구의 하위 모듈인 Fridadump3 모듈을 이용하여 특정 앱이 메모리에 저장하고 있는 값들을 확인하는 예제입니다. 앱 패키지명을 이용하여 메모리 덤프 명령 실행시 해당 앱이 사용하면서 남긴 메모리의 값들이 화면에 출력됩니다. 직접 아래의 명령을 실행하여 메모리 상태를 확인해보세요. 특히 앱 패키지명 혹은 pid를 확인하기위해 frida-ps 명령을 활용하면 좋습니다.
1. 메모리 덤프를 위한 프로세스 pid확인
$ frida-ps -U
$ python3 fridump3.py -u -r 13600 -s
$ cd dump
$ ls
$ cat 0x12c00000_dump.data