https://itinformation.tistory.com/568
1편(세팅)에서 이어서 진행합니다.
이번 포스팅은 안드로이드 모바일 앱 메모리 덤프하는 방법입니다.
모바일 앱에 대한 메모리 덤프 방법(ex : adb사용, frida 사용, 덤프 tool 사용 등)은 다양하게 있지만 이번에는 frida를 이용한 모바일 앱 메모리 덤프를 해보도록 하겠습니다.
전자금융기반시설에서도 "메모리 내 중요정보 노출 여부" 진단 항목 진단을 위한 부분도 있습니다.
* 다작성하고 한번 날려서 다시 쓰는중인데.. 멘탈잡고 쓰지만 놓친부분이 있을수도..
일단 모바일 앱 메모리 덤프를 하기 위해서는 기본세팅이 필요합니다.
테스트 환경 -> Nox 에뮬레이터를 사용한 진단
로컬 PC - Nox 설치, python 설치, frida 설치, hxd, 바이너리 파일 분석 툴
Nox(모바일) - Frida-server 설치, 진단앱 준비
* frida와 python 버전이 맞아야 사용이 가능합니다... 이거때문에 꽤나 고생..
- 이번진단은 최신버전을 이용해서 테스트합니다.
- Frida server 실행
1. 다운받아 이동한 /data/local/tmp 폴더로 이동 후 frida-server 실행
- "./frida-server &
2. 실행 후 프로세스에서 실행 확인
- "ps | grep frida"
3. frida server 실행 후 로컬 cmd에서 녹스 및 모바일에서 실행 중인 패키지 확인
- "frida-ps -U"
- frida dump 다운로드 및 실행
https://github.com/rootbsd/fridump3
1. 다운로드 후 다운로드 폴더 이동
2. 이동 후 덤프 실행
- "python fridump3.py -u -r 2598 -s
-> 2598 : 원하는 앱 PID 입력
-> -s : string 값을 따로 저장 해줌
3. fridump 폴더 내 dump 폴더 생성된 것을 확인
- strings 텍스트 파일은 그냥 읽을 수 있고
- 나머지 파일들은 바이너리 파일로 특정 툴이 필요 (ex. Hxd)
4. 해당 파일을 한번에 검색 하기 위해서 특정 툴을 사용 (지금은 "ultraEdit"를 사용)
============================================================================
위와같이 잘~~ 흘러가면 좋겠지만 여러 트러블들이 발생했었는데 발생한 트러블들에 대해서 정리해보겠습니다.
1. fridump 실행 시 "device not found" 발생
- fridump 파이썬 파일내 frida.get_usb_device() -> frida.get_usb_device(1)로 변경
2. device(1)로 변경했는데 "unable to connect to remote frida-server: Connection closed" 오류 발생
- 해당 오류는 frida와 python 버전이 안맞아서 발생하더라구요. 해당 오류는 python과 frida 설치를 최신 버전으로 다시 설치하니까 해결됐습니다.
3. "unable to inject library into process without libc" 에러 발생
- frida server 설치 시 모바일 기기에 대한 버전 비트를 맞춰서 설치를 하지 않아서 발생, 64비트-32비트 확인 후 재설치
'보안 공부 > 모바일 보안' 카테고리의 다른 글
[iOS 취약점 진단] iOS 자체 보안 (0) | 2022.04.30 |
---|---|
intend-filter 속성 (0) | 2022.04.14 |
안드로이드 모바일 앱 메모리 덤프 뜨기-Frida 사용(1) (0) | 2022.04.11 |
iOS 취약점 진단 앱 복호화 및 디렉터리 탐색, 함수 탐색 (1) | 2021.10.19 |
iOS 취약점 점검/진단 세팅 및 방법 (0) | 2021.10.18 |