Android APK Checklist
Reading time: 5 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
Android 기초 배우기
정적 분석
- 난독화 사용 여부 확인, 모바일이 루팅되었는지, 에뮬레이터가 사용 중인지 및 변조 방지 확인. 자세한 정보는 여기에서 읽기.
- 민감한 애플리케이션(예: 은행 앱)은 모바일이 루팅되었는지 확인하고 그에 따라 조치를 취해야 합니다.
- 흥미로운 문자열 검색 (비밀번호, URL, API, 암호화, 백도어, 토큰, Bluetooth UUID 등).
- firebase API에 특별한 주의.
- 매니페스트 읽기:
- 애플리케이션이 디버그 모드인지 확인하고 "악용" 시도
- APK가 백업을 허용하는지 확인
- 내보낸 활동
- 콘텐츠 제공자
- 노출된 서비스
- 브로드캐스트 수신기
- URL 스킴
- 애플리케이션이 내부 또는 외부에 데이터를 안전하지 않게 저장하고 있는지?
- 하드코딩된 비밀번호가 있거나 디스크에 저장되어 있는지? 앱이 안전하지 않은 암호화 알고리즘을 사용하고 있는지?
- 모든 라이브러리가 PIE 플래그를 사용하여 컴파일되었는가?
- 이 단계에서 많은 도움이 될 수 있는 정적 Android 분석기를 잊지 마세요.
-
android:exported
Android 12+에서 필수 – 잘못 구성된 내보낸 구성 요소는 외부 인텐트 호출로 이어질 수 있습니다. -
cleartextTrafficPermitted="true"
또는 도메인별 재정의를 위해 네트워크 보안 구성(networkSecurityConfig
XML) 검토. - Play Integrity / SafetyNet / DeviceCheck 호출 검색 – 사용자 정의 인증이 후킹/우회될 수 있는지 확인.
-
앱 링크 / 딥 링크(
android:autoVerify
) 검사하여 인텐트 리디렉션 또는 오픈 리디렉션 문제 확인. -
WebView.addJavascriptInterface 또는
loadData*()
사용 식별하여 앱 내 RCE / XSS로 이어질 수 있는지 확인. -
크로스 플랫폼 번들 분석 (Flutter
libapp.so
, React-Native JS 번들, Capacitor/Ionic 자산). 전용 도구: flutter-packer
,fluttersign
,rn-differ
- 알려진 CVE에 대한 서드파티 네이티브 라이브러리 스캔 (예: libwebp CVE-2023-4863, libpng 등).
- 추가 발견을 위해 SEMgrep Mobile 규칙, Pithus 및 최신 MobSF ≥ 3.9 AI 지원 스캔 결과 평가.
동적 분석
- 환경 준비 (온라인, 로컬 VM 또는 물리적)
- 의도치 않은 데이터 유출 (로그, 복사/붙여넣기, 크래시 로그) 여부 확인?
- SQLite db에 기밀 정보가 저장되고 있는지?
- 악용 가능한 내보낸 활동?
- 악용 가능한 콘텐츠 제공자?
- 악용 가능한 노출된 서비스?
- 애플리케이션이 정보를 평문으로 전송하거나 약한 알고리즘을 사용하고 있는지? MitM가 가능한가?
- HTTP/HTTPS 트래픽 검사
- 이 부분은 정말 중요합니다. HTTP 트래픽을 캡처할 수 있다면 일반적인 웹 취약점을 검색할 수 있습니다 (Hacktricks에는 웹 취약점에 대한 많은 정보가 있습니다).
- 가능한 Android 클라이언트 측 주입 확인 (아마도 일부 정적 코드 분석이 도움이 될 것입니다)
- Frida: Frida를 사용하여 애플리케이션에서 흥미로운 동적 데이터를 얻으세요 (아마도 일부 비밀번호...)
- 탭 재킹 / 애니메이션 기반 공격 (TapTrap 2025) 테스트, Android 15+에서도 (오버레이 권한 필요 없음).
- 오버레이 / SYSTEM_ALERT_WINDOW 클릭재킹 및 접근성 서비스 남용을 시도하여 권한 상승.
-
adb backup
/bmgr backupnow
가 여전히 앱 데이터를 덤프할 수 있는지 확인 (백업을 비활성화하는 것을 잊은 앱). - Binder 수준 LPE 탐색 (예: CVE-2023-20963, CVE-2023-20928); 허용되는 경우 커널 퍼저 또는 PoC 사용.
-
Play Integrity / SafetyNet가 시행되는 경우, 런타임 후킹(
Frida Gadget
,MagiskIntegrityFix
,Integrity-faker
) 또는 네트워크 수준 재생 시도. - 현대 도구로 계측:
- Objection > 2.0, Frida 17+, NowSecure-Tracer (2024)
perfetto
/simpleperf
를 사용한 동적 시스템 전체 추적.
일부 난독화/디난독화 정보
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.