반응형

먼저 안드로이드의 Pentesting를 배우기 위해서는 환경을 Setup 해줘야한다.

 

먼저 준비물이다.

 

3가지만 있으면 된다.

 

루팅된 테스트 폰과 PC와 테스트 폰과 PC가 연결 할 수 있는 선만 있으면된다.

 

다른것도 있지만 그건 설치만 하면된다.

 

우선 PC와 테스트용 모바일 폰이 연결이 되어야하며 PC에서 폰으로 명령어를 내리기 위해

 

ADB를 설치해주어야한다.

 

ADB란?

 

Android Debug Bridge의 약자로, Android를 위한 Debugging Tool이다.

 

주로 Debugging 용도로 사용되며 쉽게 설명하자면 PC에서 Android 기반의 Device와 연결하여

 

PC에서 보다 쉽게 Debugging 하기 위해 사용된다.

 

설치는 다음 주소에서 한다. (클릭)

 

 

Windows용을 다운받아 알집을 풀어주자.

 

압축을 풀면 platform-tools 폴더와 함께 다음과 같은 파일이 보일 것이다.

 

 

이제 cmd창에서 adb를 사용하기 위해 환경 변수를 설정해 줄것이다.

 

 

윈도우키를 누르고 "환경" 이라고 검색하면 시스템 환경 변수 편집이 있다.

 

 

여기서 환경 변수를 클릭한다.

 

 

클릭한 후 Path라는 것을 더블클릭하여 아까 설치한 platform-tools 폴더 경로를 입력해주자.

 

 

그 후 cmd 창을 열어 adb라고 입력 해보자.

 

이렇게 adb가 실행되면 PC와 테스트용 단말기가 연결이 가능하다.

 

pc와 테스트용 단말기를 연결하여 adb shell을 입력해보자.

 

이렇게 여러가지 명령어를 cmd 창을 통해 명령 할 수 있다.

 

일단 diva-beta.apk를 설치 해준다. (댓글로 요청시 보내드리겠습니다.)

 

설치 하면 zip 파일 형태인 diva-beta.apk가 보인다.

 

 

해당 경로에서 cmd 창을 열어 adb install diva-beta.apk를 입력해준다.

 

 

위의 명령어는 adb로 apk를 install 설치 한다는 의미이다.

 

이렇게하면 테스트용 단말기에 diva.apk가 설치된다.

 

그리고 pc에서 알집으로 diva-beta.apk를 풀어보자.

 

알집으로 푼 AndroidManifest.xml 파일을 에디터로 열어보자.

 

 

이렇게 알 수 없는 값으로 보인다.

 

그 이유는 APK가 컴파일 된 후 바로 알집을 풀었기 때문에 컴파일된 코드이다.

 

따라서 우리가 눈으로 읽을 수 없다.

 

AndroidManifest.xml 코드를 읽고 싶다면 Decomplie 과정을 진행해야한다.

 

Decomplie 과정을 진행하기 위해서는 apktool이나 JEBDecomplier tool을 사용한다.

 

apktool이란 대표적인 안드로이드 애플리케이션(Android Application) 대상의 리버스 엔지니어링 도구이다.

 

APK 파일을 분석하여 리소스를 뽑아낼 수 있고(디코딩), 코드를 수정하여 다시 재빌드(Rebuild)할 수도 있으며

 

실제로 XML, 이미지 파일, .dex 파일을 포함하여 안드로이드 앱의 주요 소스를 뽑기 위해 가장 많이 사용되고 있는 Tool 중 하나이다.

 

JEB 또한 apktool과 같은 리버스 엔지니어링 도구라고 생각하면 된다.

 

apktool은 여기서 다운로드 받을 수 있다. (클릭)

 

apktool로 Decomplie을 진행 할 때 다음과 같은 명령어를 입력한다.

 

java -jar apktool_버전 d diva-beta.apk

 

 

또한 JEB로 apk를 Decomplie할 때는 JEB에 Decomplie을 원하는 apk를 드래그하면 된다.

 

 

이제 AndroidManifest.xml가 Decomplie 되어 우리가 소스를 다시 분석할 수 있다.

 

 

위의 과정은 우리가 Source Code Level에서 분석할 때 주로 쓰이는 방법이다.

 

이제 App과 서버단에서 통신을 할 때 어떤 데이터를 주고 받는지 분석하기 위해

 

Android Traffic를 잡는 방법을 알아보자.

 

Android Traffic를 잡기 위해서는 Web-proxy를 사용한다.

 

Web-proxy로 대표적으로 burpfiddler가 있다.

 

burp에 대해서는 많은 포스팅이 되어 있으므로 이번에는 fiddler로 기준으로 설명하겠다.

 

fiddler를 설치하고 Tool-Options-HTTPS 탭에가서 밑에처럼 박스를 체크한다.

 

체크할 때 시스템에 인증서를 설치하는데 다 Yes를 눌러주자.

 

 

그 후 Connections 탭에가서 Allow remote computers to connect 박스를 체크를 해주자.

 

그 후 테스트용 폰으로 들어가서 PC의 ip 주소:8888를 입력한다.

 

 

그 후 fiddler 인증서를 테스트 단말기에 설치 해준다.

 

설치 한 후 테스트용 단말기에서 WiFi 항목에서 PC와 같은 네트워크 대역에 있는 WiFi을 클릭 한 후

 

고급탭에서 프록시를 자동에서 수동으로 변경한다.

 

변경 후 프록시 호스트 이름에 PC의 IP를 입력해주고 프록시 포트에는 8888로 입력 후 저장을 누른다.

 

 

 

 

그 후 fiddler에서 보면 테스트 단말기에서 전송되는 패킷을 볼 수 가 있다.

 

여기까지가 DIVA를 풀기 위한 전체적인 Setup 과정으로 보면 되겠다.

반응형

'모바일 해킹 > AoS' 카테고리의 다른 글

[Android] NDK란??  (0) 2022.03.09
[Android] Frida 설치  (0) 2022.01.23
Byte Code & Binary Code  (2) 2021.11.09
Android Penetration Testing - Rooting (Galaxy S6)  (5) 2021.08.27
Android Penetration Testing - Introduction  (0) 2021.01.11

+ Recent posts