Android Studio에서 제공하는 AVD Emulator로 모바일 앱 진단 환경을 구축하는 과정과
Web Proxy 환경과 Rooting 절차를 작성
Android Studio 설치
설치 법은 핵심 내용이 아니므로 절차로만 작성하며 가이드는 작성하지 않음
AVD Emulator 설치
AVD Ebulator 설치 전 참고사항으로 본 글은 API 33(Android 13)으로 설치하였음
위 기준으로 Rooting을 진행하므로 참고해야할 사항
1) Android Studio 설치 후 실행하여 Device Manager를 실행
(좌측 상단 메뉴 아이콘 클릭 후 Device Manager 클릭)
2) Create Virtual Device 선택
3) Hardware는 PC 사양에 맞춰 선택
(재설치 시 버벅임 현상을 해결하기 위해 해상도를 가장 낮은거로 선택하여 테스트할 예정)
4) System Image는 API 33으로 설치
(열람 시점에 맞춰 버전은 각 자 선택, 다만 Rooting을 고려하여 버전 선택 해야합니다.)
Burp 인증서 추출
본 내용은 주요 내용이 아니므로 절차만 작성
AVD 실행
Android Studio에서 실행해도 되지만 옵션이 필요해 CLI로 작업 진행
Android Studio 설치 경로에 진입하여 CMD 실행(또는 cd 명령으로 경로 이동)
- 기본 경로 : C:\Users\Administrator\AppData\Local\Android\Sdk\emulator
더 많은 명령어는 아래 공식 문서를 참고해주시기 바랍니다.
명령어
1) 실행 가능 AVD Emulator 조회
(아래 명령으로 작성자 PC 기준 2개의 AVD 에뮬레이터를 확인할 수 있음)
.\emulator.exe -list-avds
2) 에뮬레이터 실행 명령
.\emulator.exe -avd {Emulator name} -http-proxy 127.0.0.1:8080 -writable-system
Ex) .\emulator.exe -avd secu331 -http-proxy 127.0.0.1:8080 -writable-system
3) 옵션
- -avd : 에뮬레이터 선택하기 위한 옵션
- -http-proxy : proxy 설정을 위한 옵션
- -writable-system : 시스템 이미지 사용을 위한 옵션
Burp 시스템 인증서 추가 작업
API 33으로 설치했기 떄문에 시스템 인증서로 변환하는 작업이 필요
OpenSSL을 통한 변환 방법은 간단하게 명령만 작성
Windows
openssl x509 -inform DER -in cacert.der -out cacert.pem
openssl x509 -inform PEM -subject_hash_old -in cacert.pem | head -1
파일명 변경 cacert.pem >> 2번째 명령에서 출력된 문자열로 변경하며 확장자는 .0으로 설정
- 변경할 파일 명 예시 : 9a5ba575.0
ADB
보통 시스템 인증서 설치 시 mount 명령으로 system 디렉토리에 RW 권한을 부여하지만 에뮬레이터 실행 시 설정한 -writable-system 옵션으로 인해 불필요한 것으로 확인됨
만약 문제가 있을 경우 system 디렉토리 쓰기 권한 부여가 필요함
adb push 9a5ba575.0 /system/etc/security/cacerts
adb shell "chmod 664 /system/etc/security/cacerts/9a5ba575.0"
adb reboot
WIFI Proxy 설정
AVD 에뮬레이터는 일반 모바일 WIFI 설정과 다르게 Proxy를 설정
- Emulator 실행 시 -http-proxy 옵션 필수
AVD Rooting
rootAVD 라는 프로그램을 git에서 다운받아 루팅을 진행함
https://github.com/newbit1/rootAVD?source=post_page-----f070a756c499--------------------------------
아래 명령 내용을 수행하게 되면 Magisk가 설치되며 간단하게 루팅이 완료됨
명령어
1) 옵션 확인 명령
.\rootAVD.bat ListAllAVDs
2) Rooting 진행 명령
- 위 작성한 내용과 같이 API 33으로 AVD 에뮬레이터를 설치하였으므로 버전을 맞춰 루팅을 진행
- 그 이상 또는 이하 버전 설치 시 명령 수정 필요
.\rootAVD.bat system-images\android-33\google_apis_playstore\x86_64\ramdisk.img
'취약점 진단 > 모바일_AND' 카테고리의 다른 글
Flutter로 개발된 모바일 앱 HTTP Proxy 환경 구축 (0) | 2023.02.16 |
---|---|
[Android] Frida를 이용한 android 앱 메모리 덤프 (0) | 2022.11.07 |
[Android] 취약점 점검 Drozer 설치 및 사용법 Github (0) | 2022.11.07 |