hacktricks/mobile-pentesting/android-checklist.md

94 lines
7.8 KiB
Markdown

# 안드로이드 APK 체크리스트
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)를 통해 제로에서 히어로까지 AWS 해킹을 배우세요</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* **사이버 보안 회사**에서 일하시나요? **회사를 HackTricks에서 광고하고 싶으신가요**? 또는 **PEASS의 최신 버전에 액세스하거나 HackTricks를 PDF로 다운로드**하고 싶으신가요? [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 저희의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 얻으세요
* **[💬](https://emojipedia.org/speech-balloon/) Discord 그룹**에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **트위터**에서 저를 팔로우하세요 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **해킹 트릭을 공유하려면 [hacktricks 저장소](https://github.com/carlospolop/hacktricks) 및 [hacktricks-cloud 저장소](https://github.com/carlospolop/hacktricks-cloud)로 PR을 제출하세요**.
</details>
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### [안드로이드 기초 학습](android-app-pentesting/#2-android-application-fundamentals)
* [ ] [기초](android-app-pentesting/#fundamentals-review)
* [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali)
* [ ] [진입점](android-app-pentesting/#application-entry-points)
* [ ] [액티비티](android-app-pentesting/#launcher-activity)
* [ ] [URL 스키마](android-app-pentesting/#url-schemes)
* [ ] [콘텐츠 제공자](android-app-pentesting/#services)
* [ ] [서비스](android-app-pentesting/#services-1)
* [ ] [브로드캐스트 수신기](android-app-pentesting/#broadcast-receivers)
* [ ] [인텐트](android-app-pentesting/#intents)
* [ ] [인텐트 필터](android-app-pentesting/#intent-filter)
* [ ] [기타 구성 요소](android-app-pentesting/#other-app-components)
* [ ] [ADB 사용 방법](android-app-pentesting/#adb-android-debug-bridge)
* [ ] [Smali 수정 방법](android-app-pentesting/#smali)
### [정적 분석](android-app-pentesting/#static-analysis)
* [ ] [난독화](android-checklist.md#some-obfuscation-deobfuscation-information) 사용 여부 확인, 루팅된 모바일인지, 에뮬레이터를 사용 중인지, 안티 탐지 확인. [자세한 정보는 여기를 참조하세요](android-app-pentesting/#other-checks).
* [ ] 민감한 애플리케이션(은행 앱과 같은)은 모바일이 루팅되었는지 확인하고 그에 따라 대응해야 합니다.
* [ ] [흥미로운 문자열](android-app-pentesting/#looking-for-interesting-info) 검색 (비밀번호, URL, API, 암호화, 백도어, 토큰, 블루투스 UUID 등).
* [ ] [파이어베이스 ](android-app-pentesting/#firebase)API에 특별히 주의하세요.
* [ ] [매니페스트 읽기:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
* [ ] 애플리케이션이 디버그 모드인지 확인하고 "악용"을 시도하세요
* [ ] APK가 백업을 허용하는지 확인하세요
* [ ] 내보낸 액티비티
* [ ] 콘텐츠 제공자
* [ ] 노출된 서비스
* [ ] 브로드캐스트 수신기
* [ ] URL 스키마
* [ ] 애플리케이션이 내부적 또는 외부적으로 [보안 취약하게 데이터를 저장](android-app-pentesting/#insecure-data-storage)하고 있는지 확인하세요.
* [ ] 디스크에 하드 코딩된 비밀번호나 저장된 비밀번호가 있는지 확인하세요. 앱이 [보안되지 않은 암호 알고리즘을 사용](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)하고 있는지 확인하세요.
* [ ] 모든 라이브러리가 PIE 플래그를 사용하여 컴파일되었는지 확인하세요.
* [ ] 정적 안드로이드 분석기가 많은 도움이 될 수 있는 것을 잊지 마세요.
### [동적 분석](android-app-pentesting/#dynamic-analysis)
* [ ] 환경을 준비하세요 ([온라인](android-app-pentesting/#online-dynamic-analysis), [로컬 VM 또는 물리적](android-app-pentesting/#local-dynamic-analysis))
* [ ] [의도하지 않은 데이터 누출](android-app-pentesting/#unintended-data-leakage)이 있는지 확인하세요 (로깅, 복사/붙여넣기, 충돌 로그)?
* [ ] SQLite 데이터베이스에 저장된 [기밀 정보](android-app-pentesting/#sqlite-dbs)가 있는지 확인하세요.
* [ ] [악용 가능한 노출된 액티비티](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)가 있는지 확인하세요.
* [ ] [악용 가능한 콘텐츠 제공자](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)가 있는지 확인하세요.
* [ ] [악용 가능한 노출된 서비스](android-app-pentesting/#exploiting-services)가 있는지 확인하세요.
* [ ] [악용 가능한 브로드캐스트 수신기](android-app-pentesting/#exploiting-broadcast-receivers)가 있는지 확인하세요.
* [ ] 애플리케이션이 정보를 평문으로 전송하거나 약한 알고리즘을 사용하는지 확인하세요. MitM이 가능한지 확인하세요.
* [ ] HTTP/HTTPS 트래픽을 검사하세요 (android-app-pentesting/#inspecting-http-traffic)
* [ ] HTTP 트래픽을 캡처하면 일반적인 웹 취약점을 검색할 수 있습니다 (Hacktricks에는 웹 취약점에 대한 많은 정보가 있습니다).
* [ ] 가능한 [Android 클라이언트 측 삽입](android-app-pentesting/#android-client-side-injections-and-others)을 확인하세요 (아마도 여기서 일부 정적 코드 분석이 도움이 될 것입니다)
* [ ] [Frida](android-app-pentesting/#frida): Frida만 사용하여 애플리케이션에서 흥미로운 동적 데이터를 얻으세요 (어쩌면 일부 비밀번호...)
### 일부 난독화/복호화 정보
* [ ] [여기를 읽으세요](android-app-pentesting/#obfuscating-deobfuscating-code)
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)를 통해 제로에서 히어로까지 AWS 해킹을 배우세요</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* **사이버 보안 회사**에서 일하시나요? **회사를 HackTricks에서 광고하고 싶으신가요**? 또는 **PEASS의 최신 버전에 액세스하거나 HackTricks를 PDF로 다운로드**하고 싶으신가요? [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 저희의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 얻으세요
* **[💬](https://emojipedia.org/speech-balloon/) Discord 그룹**에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **트위터**에서 저를 팔로우하세요 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **해킹 트릭을 공유하려면 [hacktricks 저장소](https://github.com/carlospolop/hacktricks) 및 [hacktricks-cloud 저장소](https://github.com/carlospolop/hacktricks-cloud)로 PR을 제출하세요**.
</details>