728x90
반응형
1편에서는 MobSF 설치 및 기본 설정 방법에 대해 다뤘습니다. 이번 편에서는 MobSF의 동적 분석 기능을 원활하게 사용하기 위한 루팅된 에뮬레이터 환경을 구축해 보겠습니다.
🔑 루팅된 에뮬레이터가 왜 필요할까?
MobSF에서 제공하는 동적 분석 기능을 100% 활용하려면 다음 조건들이 필요합니다.
- 시스템 수준의 권한(루트 권한)으로 앱 내부를 분석
- 앱 내부에서 루팅 탐지를 우회하여 숨겨진 기능이나 보안 위협을 탐지
- Frida와 같은 후킹 도구를 통해 앱의 내부 동작을 실시간으로 모니터링
이러한 조건을 충족하려면 일반적인 에뮬레이터가 아니라, 루팅이 되어 있는 에뮬레이터 환경이 필수입니다.
🛠️ 환경 구성하기 (AVD + Rooting)
이번 튜토리얼에서는 AVD(Android Virtual Device) 를 루팅하여 사용합니다.
- OS: Windows 11
- Android Studio 최신 버전
- Android SDK 및 Platform-Tools 설치 필수
✅ 1단계: AVD 생성
먼저 루팅할 에뮬레이터 환경을 준비해야 합니다.
- Android Studio 실행 → Tools → AVD Manager
- Create Virtual Device 선택 후 기기 스펙 선택 (예: Pixel 4)
- Android OS 이미지 선택 (추천: Android 9 (API 28, Google APIs 버전))
- AVD 이름 설정 후 Finish로 에뮬레이터 생성 완료
✅ 2단계: AVD 루팅
기본 AVD는 루트 권한이 없습니다. 다음 절차로 간단하게 루팅할 수 있습니다.
📌 (1) AVD 시스템 이미지 찾기
- AVD 시스템 이미지가 설치된 경로로 이동:
- 이 경로에서 ramdisk.img 파일을 찾습니다.
%LOCALAPPDATA%\Android\Sdk\system-images\android-30\google_apis\x86\
📌 (2) 루팅용 수정된 ramdisk 이미지 다운로드
아래 링크에서 미리 루팅된 ramdisk.img를 다운로드합니다.
👉 SuperSU 루팅 이미지
📌 (3) 기존 이미지 백업 후 교체
기존 ramdisk.img 파일을 백업한 뒤, 다운로드한 루팅된 이미지로 교체합니다.
예시 명령어:
cd %LOCALAPPDATA%\Android\Sdk\system-images\android-30\google_apis\x86\ rename ramdisk.img ramdisk_original.img copy C:\path\to\downloaded\ramdisk.img ramdisk.img
📌 (4) AVD 실행 후 루트 확인
변경 사항을 적용하려면 반드시 에뮬레이터를 Cold Boot로 실행합니다.
- Android Studio에서 AVD Manager → 에뮬레이터 옆의 ▼ 아이콘 클릭 → Cold Boot Now
에뮬레이터 부팅 후, CMD에서 다음 명령으로 루트 권한을 확인할 수 있습니다.
adb shell su
- 명령 실행 후 프로프트가 $에서 #으로 변경되면 루팅 성공입니다.
🚧 3단계: 루팅 탐지 우회 환경 구성
앱들은 종종 루팅된 환경을 감지하고 기능을 제한합니다. 이를 피하려면:
- Frida를 통한 루팅 탐지 우회 스크립트 사용
- 후킹을 통해 앱이 호출하는 루팅 관련 API 차단
(MobSF에서 Frida 자동 후킹 스크립트를 제공합니다. 이후 편에서 구체적으로 다룹니다!)
🔗 4단계: MobSF와 에뮬레이터 연결
이제 루팅된 에뮬레이터와 MobSF를 연결합니다.
- MobSF 웹 페이지에서 Dynamic Analyzer 메뉴로 이동
- 에뮬레이터가 연결되었는지 확인 (adb devices 명령 사용)
MobSF 내부에서 자동으로 에뮬레이터 연결이 확인되며, 분석 시작 시 MobSFy (Frida, Proxy 설정 등) 구성을 자동 수행합니다.
🚨 발생할 수 있는 오류 및 해결 방법
📍 에뮬레이터 부팅 실패
- Cold Boot가 아닌 Quick Boot로 부팅된 경우, 루팅 변경 사항이 적용되지 않을 수 있습니다.
- 반드시 Cold Boot Now 옵션을 통해 재부팅하세요.
📍 ADB 연결 오류
adb kill-server adb start-server adb devices
명령어를 통해 다시 연결을 시도하세요.
728x90
반응형
'프로젝트' 카테고리의 다른 글
🎯 [6편] 실제 Exploit 시나리오로 보는 Android 앱 취약점 분석 (0) | 2025.03.26 |
---|---|
🛡️ [5편] MobSF 분석 리포트 해석과 활용법 (0) | 2025.03.26 |
⚙️ [4편] Python을 활용한 MobSF APK 분석 파이프라인 자동화 (0) | 2025.03.26 |
📱 [3편] MobSF로 Android 앱 동적 분석 및 Frida 후킹 기법 활용하기 (0) | 2025.03.26 |
📱 [1편] MobSF 설치 및 환경 구성하기 (0) | 2025.03.26 |