Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Android-Security-Masterclass — OWASP의 실습형 Android 보안 교육 랩으로, 78개의 MASVS/MASTG 모듈이 취약한 앱, 안전한 앱, 공격자 앱을 짝지어 모바일 취약점과 그 해결책을 보여줍니다. | Kitploit
도구/GitHubGitHub/owasp/android-security-masterclass
Android SecurityVulnerability AnalysisMobile App PentestingCryptographyPenetration TestingMobile SecurityLearning & EducationLearning Paths & CoursesLabs & Practice

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubowasp/android-security-masterclass

Android-Security-Masterclass

OWASP의 실습형 Android 보안 교육 랩으로, 78개의 MASVS/MASTG 모듈이 취약한 앱, 안전한 앱, 공격자 앱을 짝지어 모바일 취약점과 그 해결책을 보여줍니다.

저장소 보기
181일 전아직 검토되지 않음

Android 보안 마스터클래스 🛡️📱

공식 OWASP 프로젝트 — Android 개발자 및 펜테스터를 위한 실습형 OWASP MASVS/MASTG 보안 교육 랩 — 미러 아키텍처: 취약 ↔ 안전 ↔ 공격자

OWASP Project Kotlin Jetpack Compose OWASP MASVS Platform License PRs Welcome

📖 개요

Android 보안 마스터클래스는 미러 아키텍처로 설계된 공식 OWASP 프로젝트로, Android 개발자와 보안 연구원에게 취약점이 정확히 어떤 모습인지, 그리고 현대적인 Android 개발 관행을 사용하여 정확히 어떻게 수정하는지를 가르칩니다.

구식 Java 코드베이스에서 버그를 찾아 헤매는 대신, 이 프로젝트는 최신 기술 스택(Kotlin, Jetpack Compose, MVVM, Material 3)을 사용하며 대규모로 확장 가능한 "Package-by-Feature" 시스템을 기반으로 구성되어 있습니다.

🌐 OWASP 프로젝트 포털 및 문서:

  • OWASP 프로젝트 페이지: https://owasp.org/projects/android-security-masterclass
  • 문서 포털: https://owasp.github.io/Android-Security-Masterclass/
  • 백서 및 78개 모듈 매핑 매트릭스: 문서 포털에서 확인 가능합니다.

🏗️ 78개 모듈 하이퍼 모듈식 아키텍처

root@kitploit:~
graph TD
    COMMON("🧱 :common<br/>Shared Data · Theme<br/>Dashboard Metadata")
    
    subgraph FEATURES ["📦 Package-by-Feature (78 Isolated MASWE Modules)"]
        direction LR
        M1(":features:maswe0001<br/>Private Storage")
        M2(":features:maswe0002<br/>External Storage")
        M5(":features:maswe0005<br/>Logging Leaks")
        MDOT("...<br/>... ")
        M78(":features:maswe0078<br/>Privacy")
    end
    
    VULN("❌ :app-vulnerable<br/>Thin Shell Orchestrator")
    SEC("✅ :app-secure<br/>Thin Shell Orchestrator")
    ATK("😈 :app-attacker<br/>Simulated Malware")

    COMMON --> FEATURES
    FEATURES -- "Insecure Implementation" --> VULN
    FEATURES -- "Hardened Implementation" --> SEC
    VULN -. "Active Exploit<br/>IPC / Logcat" .-> ATK

    classDef common fill:#4A90D9,stroke:#2C5F8A,color:#fff,stroke-width:2px,font-weight:bold
    classDef feat fill:#F39C12,stroke:#D35400,color:#fff,stroke-width:2px,font-weight:bold
    classDef vuln fill:#E74C3C,stroke:#C0392B,color:#fff,stroke-width:2px,font-weight:bold
    classDef secure fill:#27AE60,stroke:#1E8449,color:#fff,stroke-width:2px,font-weight:bold
    classDef attacker fill:#8E44AD,stroke:#6C3483,color:#fff,stroke-width:2px,font-weight:bold

    class COMMON common
    class M1,M2,M5,MDOT,M78 feat
    class VULN vuln
    class SEC secure
    class ATK attacker

이 프로젝트는 총 80개 이상의 모듈에 걸친 하이퍼 모듈식 아키텍처를 사용합니다:

📦 MasterclassData 고충실도 모델

사소한 데이터("admin:password")를 사용하는 다른 교육 프로젝트와 달리, 저희 유출 시뮬레이션은 규제 등급의 페이로드를 사용합니다:

  • GDPR (제4조 및 제9조): 국가 신원 번호(TCKN), 직접 식별자.
  • HIPAA (§164.514): ICD-10 진단 코드, 의료 기록 번호(MRN).
  • PCI-DSS (요구사항 3.2): Track 2 데이터, CVV, PIN 블록 처리.

💡 팁: 취약 앱 또는 안전 앱의 대시보드에서 "Data Vault" 버튼을 클릭하면 이 시뮬레이션된 모든 데이터를 기기에서 실시간으로 볼 수 있습니다.


🚀 시나리오 인덱스 (MASVS 통합)

전체 OWASP MASVS 표준을 8개 도메인에 걸친 78개의 개별 모듈로 매핑했습니다:

  • 🗄️ 저장소: MASWE 0001 - 0006
  • 🔐 암호화: MASWE 0007 - 0017
  • 🔑 인증: MASWE 0018 - 0025
  • 🌐 네트워크: MASWE 0026 - 0028
  • 📱 플랫폼: MASWE 0029 - 0040
  • 💻 코드 품질: MASWE 0041 - 0050
  • 🛡️ 복원력: MASWE 0051 - 0065
  • 🕵️ 프라이버시: MASWE 0066 - 0078

✅ 구현된 보안 취약점 랩 모듈

다음 모듈은 비즈니스 로직, MVI 아키텍처, 단위 테스트, 그리고 공격/방어 시뮬레이션이 완전히 구현되어 있습니다:

  1. MASWE-0001 (Private Storage - MASVS-STORAGE-1): SharedPreferences, DataStore, SQLite 데이터베이스, FileProvider로의 평문 유출을 시뮬레이션합니다. Jetpack Security(EncryptedSharedPreferences), Google Tink(AEAD), SQLCipher로 강화되었습니다.
  2. MASWE-0002 (External Storage - MASVS-STORAGE-1): 전 세계에서 읽을 수 있는 외부 볼륨 및 파일시스템 암호화 키로 PII를 내보내는 위험을 보여줍니다. Keystore 하드웨어 기반 키, Scoped Storage, Storage Access Framework로 강화되었습니다.
  3. MASWE-0003 (Insecure Key Storage - MASVS-STORAGE-1): SharedPreferences, 앱 전용 파일, 하드코딩된 에셋에 평문 키를 저장하는 것을 보여줍니다. Android KeyStore(TEE / StrongBox Keymaster), 하드웨어 비내보내기 키, 생체 인증 게이팅으로 강화되었습니다.
  4. MASWE-0004 (Hardcoded Secrets - MASVS-STORAGE-2): 소스 코드, 빌드 구성, XML 에셋에 API 키, 클라우드 토큰, 스테이징 자격 증명을 포함하는 것을 보여줍니다. Backend-For-Frontend(BFF) 프록시, 임시 토큰, Google Cloud 패키지 제한 키로 강화되었습니다.
  5. MASWE-0005 (Logging Leaks - MASVS-STORAGE-1): 시스템 logcat, 네트워크 인터셉터, 서드파티 SDK 텔레메트리로 데이터가 유출되는 것을 보여줍니다. ProGuard / R8 바이트코드 제거(-assumenosideeffects) 및 SecureLog 래퍼로 강화되었습니다.
  6. MASWE-0006 (Sensitive Data in Backups - MASVS-STORAGE-1): adb backup 또는 Google Drive 클라우드 백업을 통한 민감 데이터 추출을 보여줍니다. android:allowBackup="false", dataExtractionRules, fullBackupContent로 강화되었습니다.
  7. MASWE-0007 (Improper Encryption - MASVS-CRYPTO-1): 7가지 치명적인 암호화 안티패턴을 보여줍니다: DES 56비트 취약 암호, AES-CBC 정적 제로 IV 재사용, PKCS5Padding 오라클 위험, ECB 모드 펭귄 유출, 낮은 키 길이(56/64비트), 암호화와 서명 간 키 재사용, 그리고 유사 암호화(XOR/Base64 난독화). AES-256-GCM 인증 암호화 및 포스트 양자 암호화(ML-KEM / ML-DSA 준비)로 강화되었습니다.

✅ 완료된 로직 구현

  • MASWE-0001: 민감 데이터가 개인 저장소에 암호화되지 않고 저장됨 (CWE-312) (공격자 앱 PoC 준비됨)
  • MASWE-0002: 민감 데이터가 공유/외부 저장소에 암호화되지 않고 저장됨 (CWE-922) (공격자 앱 PoC 준비됨)
  • MASWE-0003: 암호화 키가 플랫폼 Keystore 외부에 저장됨 (CWE-312) (공격자 앱 PoC 준비됨)
  • MASWE-0004: 민감 데이터가 앱 패키지에 하드코딩됨 (CWE-798)
  • MASWE-0005: 로깅을 통한 민감 데이터 유출 (CWE-532)
  • MASWE-0006: 민감 데이터가 백업에서 제외되지 않음 (CWE-200 / CWE-312)
  • MASWE-0007: 부적절한 암호화 (CWE-327 / CWE-326)
  • MASTG-BEST-0002: 로깅 코드 제거 (메모리 누수)

(전체 78개 벡터 분석은 MkDocs 사이트의 docs/mapping_matrix.md를 참조하세요).


🛠️ 빌드 및 테스트 방법

  1. 저장소를 클론하고 Android Studio에서 엽니다.
  2. app-vulnerable 또는 app-secure 실행 구성을 선택하고 에뮬레이터에 배포합니다.
  3. 빌드 변형 테스트 (MASWE-0005에 중요):
    • Debug: Build Variants 도구 창을 열고 debug를 선택합니다. 앱을 실행하고 Logcat을 확인합니다. 취약한 앱에서 유출을 볼 수 있습니다.
    • Release: 빌드 변형을 release로 전환합니다. R8(ProGuard) 축소가 작동합니다. app-secure에서는 모든 중요 로그가 완전히 제거됩니다!

😈 공격자 앱(:app-attacker) 설정

이러한 취약점의 실제 결과를 확인하려면 동일한 기기에 :app-vulnerable과 함께 :app-attacker 모듈을 설치하세요.

root@kitploit:~
graph LR
    subgraph VICTIM ["❌ :app-vulnerable"]
        direction TB
        LOG("📋 Log.d sends PII<br/>to system Logcat")
        FP("📂 FileProvider<br/>exported paths")
    end

    subgraph MALWARE ["😈 :app-attacker"]
        direction TB
        LE("🔍 LogcatExploitScreen<br/>reads all logs")
        ER("📥 ExploitReceiverScreen<br/>steals files via URI")
    end

    LOG -- "READ_LOGS permission" --> LE
    FP -- "content:// URI interception" --> ER

    classDef victim fill:#E74C3C,stroke:#C0392B,color:#fff,stroke-width:2px
    classDef malware fill:#8E44AD,stroke:#6C3483,color:#fff,stroke-width:2px

    class LOG,FP victim
    class LE,ER malware

READ_LOGS 권한 부여 (MASWE-0005용): 기본적으로 Android는 앱이 시스템 로그를 읽도록 허용하지 않습니다. 악성 앱이 권한이 부여된 경우(또는 루팅된/구형 기기에서) 로그를 읽을 수 있는 방법을 보여주려면 ADB를 통해 이 권한을 수동으로 부여해야 합니다:

root@kitploit:~
adb shell pm grant com.hasantuncay.mobsec.attacker android.permission.READ_LOGS

실제 기기 사용자를 위한 참고: MIUI, ColorOS 등에서 테스트하는 경우 개발자 옵션으로 이동하여 **"USB 디버깅(보안 설정)"**을 활성화해야 ADB가 권한을 부여할 수 있습니다.


⚠️ 면책 조항

이 프로젝트는 교육 목적으로만 제작되었습니다. :app-vulnerable 모듈에서 시연된 취약점은 실제이며 위험합니다. :app-vulnerable 모듈의 코드를 프로덕션 환경에서 사용하지 마세요. 항상 모범 사례는 :app-secure 모듈을 참조하세요.

🤝 기여 방법

커뮤니티의 기여를 환영합니다! Pull Request를 열기 전에 포괄적인 **기여 가이드**를 읽어주세요. 이 가이드는 프로젝트 철학(Package-by-Feature 미러 아키텍처), 코딩 표준, 그리고 :features:masweXXXX 모듈 내에서 로직을 생성하고 구현하는 단계별 프로세스를 다룹니다.


👥 프로젝트 리더십 및 커뮤니티

프로젝트 리더:

  • Hasan Tunçay — GitHub · LinkedIn · X (Twitter) · OWASP Email

커뮤니티 및 지원:

  • OWASP 프로젝트 페이지: https://owasp.org/projects/android-security-masterclass
  • OWASP Slack: 공식 OWASP Slack 워크스페이스에서 함께하세요.
도구 다운로드
모듈 계층역할상태
:common기반 계층. MasterclassData 고충실도 페이로드 생성기, 대시보드 메타데이터, 핵심 UI 테마, 그리고 일반적인 내비게이션 컴포넌트를 포함합니다.기반 ✅
:features:masweXXXX78개의 완전히 격리된 Gradle 모듈 (0001부터 0078까지). 각 모듈은 단일 특정 취약점에 대한 취약한 로직과 안전한 로직을 모두 포함하여 모듈 간 코드 유출을 완전히 방지합니다.78개 모듈 생성됨 ✅
:app-vulnerable"Thin Shell" 오케스트레이터 앱. 78개 기능 모듈의 안전하지 않은 UI 컴포넌트를 연결하여 OWASP 위반의 정확한 결과를 보여줍니다.활성 ✅
:app-secure"Thin Shell" 오케스트레이터 앱. 현대적인 표준(Jetpack Security, Tink, SQLCipher, ProGuard)을 활용한 안전한 구현을 연결합니다.활성 ✅
:app-attacker시뮬레이션된 악성 서드파티 앱. 기기에서 동시에 실행되는 보조 프로세스를 통해 실시간 IPC 익스플로잇을 보여줍니다.활성 ✅