안드로이드 네트워크 패킷 캡쳐 ( Nox + Burp )
포스팅 시간 기준 macOS Catalina( 10.15.3 ) 에서 테스트 하였습니다.
에뮬레이터 Nox Player (macOS 2.0.0.0)
앱을 설치하고 점검하기 위해서는 루팅된 안드로이드 단말이 있으면 좋지만 보통 개발자나 점검자가 안드로이드 단말을 가지고 있지 않고, 요즘은 루팅도 잘 하지 않는 추세로 변하였습니다.
그래서 단말과 유사한, 모바일게임 자동사냥에 많이 사용되는 Nox 에뮬레이터를 소개하려고 합니다.
중국에서 만들어진 에뮬레이터이기 때문에 중요 정보가 있는 앱 설치는 지양 하시기 바랍니다.
분석하고자 하는 APK 파일을 Nox에 설치하여 정상적으로 작동하는지 테스트를 진행합니다.
만약 정상적으로 작동하지 않는다면 루팅된 폰에서 점검을 진행합니다.
네트워크 모니터링 툴 BurpSuite (Community 2020.2.1)
BurpSuite는 앱에서 외부로 나가는 데이터가 어떤 포맷인지 확인 할 수 있는 툴 입니다.
목적지 URL, IP, Method, 파라미터 등 다양한 정보를 얻을 수 있습니다.
정적 분석 툴 Jadx, UIAutomator, Android Studio
Jadx는 APK 파일을 Java Class 파일로 해석하여 보여주는 툴로
Android Studio를 통해 컴파일된 APK 파일은 Smali 코드로 구성되어 (classes.dex) 쉽게 보기 어려우나
해당툴을 이용해 기존 Java 코드로 복원이 가능합니다 ( 일부 안되는 경우도 있음. )
UiAutomatorViewer
실행되고 있는 앱의 UI Layer를 파악할 수 있도록 도와주는 도구입니다.
기본적으로 안드로이드 스튜디오 설치시 내장된 바이너리며
MacOS기준 ~/Library/Android/sdk/tools/bin/uiautomatorviewer
동적분석툴 Frida, House
DBI(Dynamic Binary Instrumentation) 툴인 Frida와 A runtime mobile application analysis 툴인 House의 조합은 초보자가 동적분석을 좀 더 쉽게 도와줍니다.
Leave a comment