이 영역을 누르면 첫 페이지로 이동
포렌식 & 개발 이야기 - Forensics & Development 블로그의 첫 페이지로 이동

포렌식 & 개발 이야기 - Forensics & Development

페이지 맨 위로 올라가기

[ios Forensics] 아이폰 메모리 포렌식 - fridump 사용

포렌식 & 개발 이야기 - Forensics & Development

[ios Forensics] 아이폰 메모리 포렌식 - fridump 사용

  • 2019.12.17 13:36
  • Forensics/Iphone Forensics
글 작성자: pental

필자는 1주일 동안 해매다 드디어 아이폰 메모리 덤프를 성공했다.

[ Requirement  / 요구사항 ]

1. python 3.x ( python2.7 보다 python3.x 버전을 추천한다 ) ( https://python.org // 여기서 다운로드 가능하다)

2. iphone ( 필자는 iphone6 / 12.3.1 을 사용했으며 물론 탈옥이 되어있는 상태이다.)

3. frida

다시 본론으로.

python3 버전을 설치하면 자동으로 환경변수가 등록된다. + pip 도 가능하다.

먼저 pip 로 frida 를 설치해준다.

C:\Users\pental>pip install frida

frida를 설치 했다면, 본인의 아이폰을 컴퓨터에 연결후

C:\Users\pental>frida-ps -U

입력해주면 현재 본인의 탈옥된 아이폰의 프로세스를 보여줍니다.

C:\Users\pental>frida-ps -U
Waiting for USB device to appear...
PID Name
---- -------------------------------------------------
2773 Mail
2793 메모
2807 설정
2777 AppleCredentialManagerDaemon
2769 AssetCacheLocatorService
2761 CMFSyncAgent
2735 CloudKeychainProxy
147 CommCenter
----- 이하생략 -----​

 

 

여기서 문제가 발생할수 있는데, 필자는 itunes 를 설치 하지 않고 frida-ps -U 를 해봤지만, 장치를 찾을수 없다는 

Waiting for USB device to appear... 이구문만 계속해서 반복되었다.

혹시라도 frida를 사용했을때 위와 같은 구문이 나온다면 itunes 를 설치하자. ( 참고 : https://blog.do9.kr/337 ) 

 

프로세스가 정상적으로 보여지면 70%는 성공한 것이다.

https://github.com/Nightbringer21/fridump

 

Nightbringer21/fridump

A universal memory dumper using Frida. Contribute to Nightbringer21/fridump development by creating an account on GitHub.

github.com

위 사이트를 들어가서 아이폰 메모리 덤프에 필요한 파일을 다운 받자.

파일은 간단하게 3개의 파일로 이뤄져 있다. (필자는 python 3.7 을 사용했다. )

C:\Users\pental\Desktop\fridump-master>python fridump.py -h
______ _ _
| ___| (_) | |
| |_ _ __ _ __| |_ _ _ __ ___ _ __
| _| '__| |/ _` | | | | '_ ` _ \| '_ \
| | | | | | (_| | |_| | | | | | | |_) |
\_| |_| |_|\__,_|\__,_|_| |_| |_| .__/
| |
|_|
usage: fridump [-h] [-o dir] [-U] [-v] [-r] [-s] [--max-size bytes] process
positional arguments:
process the process that you will be injecting to
optional arguments:
-h, --help show this help message and exit
-o dir, --out dir provide full output directory path. (def: 'dump')
-U, --usb device connected over usb
-v, --verbose verbose
-r, --read-only dump read-only parts of memory. More data, more errors
-s, --strings run strings on all dump files. Saved in output dir.
--max-size bytes maximum size of dump file in bytes (def: 20971520)

사용 방법은 위와 같이 -h 옵션을 붙여주면 파악 가능하다.

아까 frida-ps -U 구문을 쳤지 않았나? 필자는 메모 앱을 덤프해 보도록 하겠다.

PID 가 2793이지 않는가? 우리는 2793을 기억하고 덤프한다. (물론 메모로 진행하지 않아도 좋다.)

fridump의 사용방법은 python fridump.py -U -r [PID] 이다.

C:\Users\pental\Desktop\fridump-master>python fridump.py -U -r 2793
______ _ _
| ___| (_) | |
| |_ _ __ _ __| |_ _ _ __ ___ _ __
| _| '__| |/ _` | | | | '_ ` _ \| '_ \
| | | | | | (_| | |_| | | | | | | |_) |
\_| |_| |_|\__,_|\__,_|_| |_| |_| .__/
| |
|_|
Can't connect to App. Have you connected the device?

하지만 필자의 기대와는 달리 Can't connect to App. Have you connected the device? 라는 구문을 뿜어낸다.

이 문제로 인해서 몇일을 고생했다. StackoverFlow에서는 3.7말고 더 하위버전을 써라, 어디서는 3.8을 써라 등등 다양한 의견이 맞았지만 필자에게는 해결방법이 맞지 않았다. (도움을 준 pdm0205와 RT께 감사의 말을 전한다.)

https://github.com/rootbsd/fridump3

 

rootbsd/fridump3

A universal memory dumper using Frida for Python 3 - rootbsd/fridump3

github.com

fridump3 버전 전용을 사용하면 정상적으로 덤프를 할수 있다. (다운 받는 방법은 당연히 알거라 서술 하지 않는다.)

C:\Users\pental\Desktop\fridump3-master>python fridump3.py -u -r 2852
______ _ _
| ___| (_) | |
| |_ _ __ _ __| |_ _ _ __ ___ _ __
| _| '__| |/ _` | | | | '_ ` _ \| '_ \
| | | | | | (_| | |_| | | | | | | |_) |
\_| |_| |_|\__,_|\__,_|_| |_| |_| .__/
| |
|_|
Current Directory: C:\Users\pental\Desktop\fridump3-master
Output directory is set to: C:\Users\pental\Desktop\fridump3-master\dump
Starting Memory dump...
Progress: [###############-----------------------------------] 29.9% Completee

( 덤프 과정에서 폰이 꺼지는 바람에 pid가 변경되었다. // 무시해도 좋다.)

여러 오류가 뜨지만 무시해도 좋다.

Oops, memory access violation!#############################--] 96.13% Complete
Oops, memory access violation!#############################--] 96.39% Complete
Oops, memory access violation!#############################--] 96.65% Complete
Oops, memory access violation!#############################--] 96.91% Complete
Oops, memory access violation!##############################-] 97.16% Complete
Oops, memory access violation!##############################-] 97.42% Complete
Finished!

완료가 되면, 해당폴더 내 dump 폴더가 생성되서 거기에 저장이 되었을 것이다.

필자는 총 778개의 data 파일이 생성되었다.

이렇게 fridump 사용법이 끝났다.

다른 추가적인 문의나 오탈자는 pental@kakao.com 로 보내주시면 감사하겠습니다. :)

이 글은 (새창열림) 본 저작자 표시 규칙 하에 배포할 수 있습니다. 자세한 내용은 Creative Commons 라이선스를 확인하세요.
Creative Commons
본 저작자 표시

'Forensics > Iphone Forensics' 카테고리의 다른 글

[ios Forensics] 아이폰 Keychain 포렌식 (KeyChain Forensics)  (0) 2020.01.01
[ios Forensics] 아이폰 문자 포렌식 (SMS Forensics)  (1) 2019.12.20
[ios Forensics] 아이폰 Safari 포렌식 (히스토리, 북마크)  (0) 2019.12.20
[ios Forensics] 아이폰 주요 경로 (Safari, Photo, Mail 등)  (0) 2019.12.20
[ios Forensics] 아이폰 메모리 포렌식 - Safari 프로세스 #1  (0) 2019.12.18

댓글

댓글을 사용할 수 없습니다.

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [ios Forensics] 아이폰 문자 포렌식 (SMS Forensics)

    [ios Forensics] 아이폰 문자 포렌식 (SMS Forensics)

    2019.12.20
  • [ios Forensics] 아이폰 Safari 포렌식 (히스토리, 북마크)

    [ios Forensics] 아이폰 Safari 포렌식 (히스토리, 북마크)

    2019.12.20
  • [ios Forensics] 아이폰 주요 경로 (Safari, Photo, Mail 등)

    [ios Forensics] 아이폰 주요 경로 (Safari, Photo, Mail 등)

    2019.12.20
  • [ios Forensics] 아이폰 메모리 포렌식 - Safari 프로세스 #1

    [ios Forensics] 아이폰 메모리 포렌식 - Safari 프로세스 #1

    2019.12.18
다른 글 더 둘러보기

정보

포렌식 & 개발 이야기 - Forensics & Development 블로그의 첫 페이지로 이동

포렌식 & 개발 이야기 - Forensics & Development

  • 포렌식 & 개발 이야기 - Forensics & Development의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • Category (455)
    • Forensics (105)
      • Magnet AXIOM (28)
      • Digital Forensics Informati.. (9)
      • Iphone Forensics (24)
      • DFC (7)
      • 디지털포렌식전문가2급 자격증 (10)
      • FTK ACE 자격증 (7)
    • 이것저것 (7)
      • Ubuntu (6)
      • 디스코드 봇 (4)
      • Volatility GUI (2)
    • CTF (32)
      • NEWSECU (14)
      • CTF-d (5)
      • Puzzel - Network Forensics (2)
      • Security Traps (2)
      • system32.kr (5)
      • HMCTF (4)
    • Programming (263)
      • C (10)
      • Python (11)
      • 백준 (209)
      • 프로그래머스 (32)
    • 그냥 개발 및 잡담 (16)
      • Docker (2)
      • Google Cloud (3)
      • OS 개발 (3)
    • Best of Best (20)

인기 글

공지사항

태그

  • 디지털포렌식
  • Forensics
  • 프로그래머스
  • pental
  • 백준
  • 포렌식
  • 파이썬
  • axiom
  • 전체 보기…

정보

pental의 포렌식 & 개발 이야기 - Forensics & Development

포렌식 & 개발 이야기 - Forensics & Development

pental

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © pental.

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.