[Tutorial] 모바일 취약점 진단 시작하기

Mobile

라온화이트햇 핵심연구팀 이삭

1. 개요

모바일 취약점 분석은 웹 취약점 분석과 유사한 부분이 많지만 웹 취약점 분석과 다르게 취약점 분석을 위한 환경 구축이 필요합니다. 본 포스팅에서는 모바일 취약점 분석을 위한 환경 구축 방법에 대해 최대한 간단하고 쉽게 설명하고자 합니다.

2. 준비물

Untitled

모바일 취약점 분석에 필요한 것은 Frida 와 Burp Suite, Fiddler 등과 같은 프록시 툴 그리고 루팅(탈옥)된 단말기입니다. 단말기가 없다면 중고 스마트폰을 구입하시거나 집에 남는 스마트폰 등을 활용하여 루팅(탈옥)을 진행합니다. 루팅(탈옥) 방법의 경우 스마트폰 기종과 OS 버전에 따라 조금씩 다르기 때문에 본 포스팅에서 설명드리기 어렵고 유튜브와 구글을 참고하시기 바랍니다.

3. 프록시 툴 세팅

Burp SuiteFiddler 중 마음에 드는 프록시툴을 선택한 뒤 아래 순서로 세팅을 진행합니다. (*설명은 Burp Suite를 기준으로 진행됩니다.)

  1. 프록시 툴 IP및 포트 설정
  2. 모바일 단말기 Wi-Fi 및 프록시 설정
  3. 프록시 툴 인증서 등록

3-1. 프록시 툴 IP및 포트 설정

이 부분은 그냥 PC에서 프록시 툴 사용할때와 동일합니다. 차이점은 IP를 127.0.0.1이 아니라 자신의 IP(ex. 192.168.137.3)으로 세팅해야 한다는 점입니다.

Untitled

3-2. 모바일 단말기 Wi-Fi 및 프록시 설정

PC와 다르게 프록시와 진단 대상이 같은 단말에 있는게 아니기 때문에 위의 그림과 같이 네트워크를 구성해야합니다. 그리고 모바일 단말에서 Wi-Fi 설정시 위 그림과 같이 프록시 설정을 해주면 모바일 단말에서 오고가는 모든 통신은 BurpSuite를 거치게 됩니다.

Untitled

3-3. [Android] 프록시 툴 인증서 등록

PC의 경우 단순히 인증서를 받고 인증서 등록시 ‘신뢰할 수 있는 인증서’를 선택하고 확인을 누르면 끝이지만, Android의 경우 인증서를 등록하기 위한 방법도 복잡하고 환경에 따라 그 방법이 조금씩 다릅니다. 여기서는 가장 일반적인 방법을 소개합니다.

Untitled

Untitled

Untitled

Untitled

Untitled

mount -o re, remount /
mv /data/local/tmp/9a5ba575.0 /system/etc/security/cacerts/
mount -o ro, remount

Untitled

3-4. [iPhone] 프록시 툴 인증서 등록

아이폰의 경우 안드로이드와 다르게 복잡한 과정이 필요 없습니다. Wi-Fi 및 프록시 세팅을 완료 한 뒤 아래와 같이 인증서 다운로드 페이지에 접근하여 신뢰할 수 있는 인증서로 등록하면 됩니다.

Untitled

Untitled

Untitled

Untitled

4. Frida 세팅

4-1. PC Frida 세팅

Untitled

4-2. [Android] Frida 세팅

4-3. [iPhone] Frida 세팅

iPhone Frida 설정은 3uTools 라는 툴이 있으면 편합니다.

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

Untitled

mobXterm 등을 이용하여 위의 주소와 포트로 접근한 뒤 파일을 옮기시면 됩니다.

Untitled

5. 마무리

기본적인 모바일 취약점 분석 환경 구축 방법은 끝났습니다. 이 후엔 Frida와 Burp Suite(혹은 Fiddler)등을 활용하여 모바일 취약점 분석을 수행하면됩니다. 프록시 툴은 웹 취약점 분석때 사용한 방법과 같으나 Frida의 경우 다소 생소하실 수 있습니다. Frida 활용법에 대한 내용은 현수님이 작성한 Simple Android Mobile App Hook 을 참고하시길 바랍니다.