[IOS] fridump를 이용한 아이폰 메모리 덤프 (frida)
앱을 사용하면서 메모리에 다양한 데이터가 적재된다.
이 중에는 계정 정보, 개인 정보, 금융 정보 등과 같이 매우 중요한 데이터가 평문으로 저장되어 있는 경우가 있다.
이러한 정보는 외부로 유출될 경우 심각한 문제를 일으킬 수 있기 때문에, 앱의 보안을 검증하기 위해 메모리 덤프 분석이
필요하다. ( 탈옥 필수 )
메모리 덤프란?
메모리 덤프는 특정 시점에서 컴퓨터 메모리의 내용을 추출하는 과정을 말한다. 이를 통해 앱이 실행되면서 메모리에 저장된 정보를 분석할 수 있으며, 보안 취약점이나 민감한 정보의 노출 여부를 확인할 수 있다.
메모리 덤프를 위한 준비
- 필수 조건: 대상 기기는 탈옥 상태여야 하며, 분석하고자 하는 앱이 실행 중이어야 한다.
- 필요 도구:
- Python 3 이상의 환경
- Frida: 프리다는 앱의 동작을 조작하고 분석할 수 있는 동적 분석 도구
- fridump3 (Python 3용) 또는 fridump (Python 3 이하용): 메모리 덤프를 위한 도구
- Python 3용: fridump3 GitHub 페이지
- Python 3 이하용: fridump GitHub 페이지
메모리 덤프 실행 과정
- Frida 설치 및 필요 모듈 설치: 메모리 덤프 도구를 사용하기 전에 Frida를 설치하고 필요한 모듈을 설치한다.
- 프로세스 확인: CMD를 열고 frida-ps -Uai 명령어로 대상 앱의 프로세스 ID (PID)를 확인한다.
- 메모리 덤프 실행: fridump가 있는 디렉터리로 이동한 후 아래 명령어를 실행한다.
python fridump3.py -u -r [PID] -s
결과 확인: 실행이 완료되면 dump 디렉터리가 생성되며, 이 안에는 GB 단위의 다양한 데이터가 저장된다. -s 옵션을 사용하여 텍스트 데이터 추출 및 strings.txt 파일 생성한다.
- -o: 디렉터리 지정
- -u: USB 연결 시 사용
- -H: WiFi 연결 시 사용
- -v: 상세 과정 표시
- -r: Read-only 데이터 덤프 (더 많은 데이터 추출)
- -s: 텍스트 데이터 추출 및 strings.txt 파일 생성
참고 사항
- 중요 정보가 안 나왔다면 2~3번 반복 덤프
- 새 덤프 시 기존 dump 폴더 삭제
- 기기 인식을 못한다면 USB 옵션 및 연결 확인
추가 정보
- Frida 설치 및 모듈 설치: https://frida.re/docs/installation/
Installation
Observe and reprogram running programs on Windows, macOS, GNU/Linux, iOS, watchOS, tvOS, Android, FreeBSD, and QNX
frida.re
참조
https://hyotwo.tistory.com/137
[ios] 프리다[Frida] Fridump를 이용한 메모리 덤프
앱을 이용하면 메모리 내에 데이터들이 적재되는데 그 안에 중요정보들이 평문으로 담겨져있는 경우가 있다. (ex. 계정정보, 개인정보, 금융정보 등) 그래서 메모리 Dump를 통해 분석해볼 필요성
hyotwo.tistory.com
