📱 [2편] MobSF와 연동할 루팅된 에뮬레이터(AVD) 환경 구축하기

2025. 3. 26. 01:45·프로젝트
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
'프로젝트' 카테고리의 다른 글
  • 🛡️ [5편] MobSF 분석 리포트 해석과 활용법
  • ⚙️ [4편] Python을 활용한 MobSF APK 분석 파이프라인 자동화
  • 📱 [3편] MobSF로 Android 앱 동적 분석 및 Frida 후킹 기법 활용하기
  • 📱 [1편] MobSF 설치 및 환경 구성하기
IgoYamewrong
IgoYamewrong
    반응형
    300x250
  • IgoYamewrong
    Yame-is-Wrong
    IgoYamewrong
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 정보보안기사
      • 보안뉴스
      • 프로그래밍
        • 백준-파이썬
        • 프로그래머스-파이썬
        • DP
        • DFS,BFS
        • GREEDY
        • 개념
      • 안드로이드
      • Wargame
      • 웹 개념
      • 시스템 개념
      • 리버싱 개념
      • CTF
      • 프로젝트
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준
    programmers
    코테
    포너블
    syscall
    파이썬
    location.href
    Python
    코딩테스트
    CTF
    네트워크 스캐닝
    알고리즘
    mobsf
    XSS
    Web
    쿠키
    프로그래머스
    x86
    pwntools
    자료구조
    카나리 우회
    pwn
    document.cookie
    wargame
    rao
    케이쉴드주니어
    rao.c
    드림핵
    DreamHack
    SECCON
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
IgoYamewrong
📱 [2편] MobSF와 연동할 루팅된 에뮬레이터(AVD) 환경 구축하기
상단으로

티스토리툴바