업데이트로 돌아가기
New releaseSep 9, 2026

droidground v1.0.15

Android CTF 챌린지를 위한 유연한 플레이그라운드입니다.

공유


droidground

DroidGround


Website | Demo

전통적인 CTF 챌린지에서는 시스템의 파일에 플래그를 숨겨두고, 공격자가 취약점을 익스플로잇하여 이를 획득하도록 하는 방식이 일반적입니다. 그러나 Android 세계에서는 이 접근 방식이 잘 통하지 않습니다. APK 파일은 쉽게 다운로드하고 리버싱할 수 있기 때문에, 기기에 플래그를 두는 것은 보통 정적 분석이나 에뮬레이터 트릭으로 너무나 쉽게 추출됩니다. 이는 현실적이고 런타임 중심의 챌린지를 만드는 능력을 심각하게 제한합니다.

DroidGround 는 이 문제를 해결하기 위해 설계되었습니다.

이는 Android 모바일 해킹 챌린지를 통제된 그리고 현실적인 환경에서 호스팅하기 위해 맞춤 제작된 플랫폼으로, 공격자가 의도한 방식으로만 챌린지를 해결하도록 충분히 제약됩니다.

중요한 점은, 참가자가 앱 환경 내부에 갇힐(jailed) 수 있다는 것입니다. 이 도구의 모듈성 덕분에 사용자가 셸을 실행할 수 있는지, 임의의 파일을 읽을 수 있는지, 또는 도구를 사이드로드할 수 있는지를 설정할 수 있습니다. 플래그를 획득하는 유일한 방법이 앱 자체를 이해하고 익스플로잇하는 것이 되도록 모든 것을 설정할 수 있습니다.

📋 목차

🧭 개요

DroidGround 는 전통적인 CTF 환경에서는 구현하기 어려운 다양한 Android 챌린지를 가능하게 합니다. 예를 들어, 원격 코드 실행(RCE) 챌린지에서 플레이어는 로컬 분석을 위해 APK를 받을 수 있습니다. 취약점을 발견한 후, 플레이어는 Frida 스크립트를 개발하고 DroidGround를 통해 실제 대상 기기에서 실행하여 내부 저장소에서 플래그를 추출할 수 있습니다. 다른 챌린지 유형으로는 숨겨진 액티비티, 사용자 정의 브로드캐스트 인텐트, 서비스 익스플로잇, 또는 사전 로드된 도구를 사용한 동적 분석 등이 있습니다.

실시간 기기 스트리밍, 기능에 대한 세밀한 제어, Frida 통합, 그리고 사용자 정의 가능한 설정 및 초기화 스크립트를 통해 DroidGround는 CTF 주최자가 일반적으로 가능한 범위를 훨씬 뛰어넘는 안전하고 유연하며 현실적인 Android 챌린지를 구축할 수 있도록 지원합니다.

✨ 기능

DroidGround는 서버에서 제어되는 풍부한 기능 세트를 제공합니다.

  • 실시간 기기 화면 (scrcpy 사용), 선택적 마우스, 터치, 키보드 제어 지원
  • 챌린지 상태 초기화
  • 앱 재시작 / 액티비티 시작 / 서비스 시작
  • 브로드캐스트 인텐트 전송
  • 기기 종료 / 재부팅
  • 버그리포트 다운로드 (bugreportz)
  • Frida 스크립팅
    • 사전 로드된 라이브러리에서 실행 (jailed 모드)
    • 임의 스크립트 실행 (full 모드)
  • 파일 브라우저
  • 터미널 접근
  • APK 관리
  • Logcat 뷰어
  • 익스플로잇 서버 (팀 모드가 활성화된 경우)

거의 모든 기능이 모듈식이며 환경 변수를 통해 정의되므로, 챌린지 범위를 정밀하게 제어할 수 있습니다.

📸 스크린샷

Screenshot OverviewScreenshot Start Activity
개요액티비티 시작
Screenshot Frida Jailed ModeScreenshot Frida Full Mode
Frida Jailed 모드Frida Full 모드
Screenshot File BrowserScreenshot App Manager
파일 브라우저앱 관리자
Screenshot TerminalScreenshot Logs
터미널로그

⚙️ 구성

루트 디렉터리의 .env.sample 파일이 좋은 시작점입니다. 다음은 현재 지원되는 모든 환경 변수의 전체 목록입니다:

카테고리