
모바일 엣지-동적 통합 보안 분석
Android 및 iOS 앱의 런타임 테스트와 조사를 위한 모듈식 자동화 프레임워크이자 스크립트 저장소로, 침투 테스터와 악성코드 분석가를 위해 설계되었습니다. SSL 핀닝과 같은 보호 우회, 네트워크/WebView 활동 검사, API 호출 추적, 메모리/암호화 검사, 악성코드 행동 모니터링 등을 단일 조정 스크립트로 수행할 수 있는 모듈을 연결할 수 있습니다. 내부적으로 FRIDA 위에서 동작하며 90개 이상의 재사용 가능한 모듈을 제공하므로 테스트를 쉽게 확장하고 반복할 수 있습니다.
시스템 요구사항:
GitHub에서 설치:
# 시스템 python3/pip 사용
pip3 install -r requirements.txt
# 또는 가상 환경 내에서 (권장)
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
또는 여기에서 최신 안정 버전을 다운로드하세요.
Docker 사용:
medusa/ 디렉토리에 미리 구성된 Dockerfile이 있습니다.
이미지 빌드: docker build -t medusa:latest ./
컨테이너 실행: docker run --name medusa --net=host --rm -it medusa:latest
물리적 디바이스 또는 에뮬레이터에서 ADB over TCP/IP 활성화: adb tcpip 5555
컨테이너 내부에서 디바이스 연결: root@docker# adb connect <device_ip>:5555
macOS에서 설치 중 다음 문제가 발생할 수 있습니다:
Readline features including tab completion have been disabled because no supported version of readline was found. To resolve this, install pyreadline3 on Windows or gnureadline on Linux/Mac.
해결 방법: Python용 gnureadline 패키지를 설치하세요.
pip install gnureadline
Python 3.12의 경우 다음 명령어를 사용하여 특정 커밋에서 gnureadline을 설치하세요:
pip install git+https://github.com/ludwigschwardt/python-gnureadline.git@8474e5583d4473f96b42745393c3492e2cb49224
이전 버전의 Medusa에서 업그레이드할 때 Mango 데이터베이스 호환성 문제가 발생하면 마이그레이션 안내를 위해 DATABASE_MIGRATIONS.md를 참조하세요.
중요: 기존 Mango 데이터베이스가 있고 업데이트 후 오류가 발생하면 마이그레이션 가이드를 확인하여 데이터베이스 스키마를 업데이트하세요.
각 플랫폼에 적합한 진입 스크립트 실행:
# Android
python3 medusa.py
# iOS
python3 medusa_ios.py
시작 후 MEDUSA는 사용 가능한 디바이스를 열거하고 선택하도록 합니다.
일반적인 대화형 워크플로우
# 사용 가능한 명령어 나열 또는 특정 명령어 도움말 보기
medusa> help # 또는 help <명령어-이름>
# 사용 가능한 모듈 나열
medusa> show all
# 모듈에 대한 빠른 도움말/세부 정보 보기
medusa> info http_communications/ssl-pinning-bypass
# 모듈 추가 (Tab 키로 모듈 경로 자동완성)
medusa> use http_communications/ # [Tab] 눌러 자동완성
# 디바이스에 설치된 패키지 나열
medusa> list
# 패키지 계측 (패키지 이름으로)
medusa> run -f com.my.app
# 사용 가능한 디바이스 보기 및 선택
medusa> loaddevice
Medusa의 경량 동반 CLI로, 정적 준비 및 자동화를 위한 도구 — 매니페스트 파싱, 공격 표면 열거, 앱 추적, 간단한 디바이스/프록시 자동화.
python3 mango.py <데이터베이스-이름>을 실행하여 Mango 결과를 저장할 데이터베이스를 생성하거나 로드합니다.
# 사용 가능한 디바이스 보기 및 선택
mango> loaddevice
# 앱 가져오기 (패키지 이름으로)
mango> pull com.my.app
# 분석을 위해 앱 임포트
mango> import /path/to/apk
이 기능은 선택사항이며 표준 Medusa CLI 워크플로우에는 필요하지 않습니다.
Android MCP 서버(medusa_android_mcp.py)를 사용하려면 MCP 요구사항을 설치하세요:
pip install -r requirements-mcp.txt
# 실행
MEDUSA_MCP_TRANSPORT=streamable-http python medusa_android_mcp.py
"medusa-android": {
"type": "http",
"url": "http://127.0.0.1:8000/mcp"
}
고급 사용법과 예제는 위키를 참조하세요. 빠른 팁과 입문 워크플로우는 아래 데모를 확인하세요:
다음 방법으로 이 프로젝트에 기여할 수 있습니다:
Stheno는 Medusa의 하위 프로젝트로, 이 프레임워크 내에서 인텐트 모니터링을 위해 특별히 설계되었습니다. 아래는 Stheno를 효과적으로 설정하고 사용하는 방법에 대한 빠른 가이드입니다.
인텐트 모듈 포함:
intents/start_activity 모듈을 Medusa 프로젝트에 추가합니다:
medusa> add intents/start_activity
소켓 서버 실행: Medusa 소켓 서버를 시작하여 통신을 지원합니다:
medusa> startserver
Stheno 실행: Stheno를 열고 인텐트 모니터 메뉴로 이동한 다음 Start를 클릭하여 인텐트 모니터링을 시작합니다.






이 유형의 악성코드에서 흔히 발견되는 API 호출 후킹, 포함:
- 연락처 유출
- 통화 기록 유출
- 카메라 사용
- 마이크 사용
- 위치 추적
- 파일 업로드
- 미디어 녹화
- 클립보드 추적
- 장치 정보 수집
- 스크린샷 캡처
'setText' 호출을 후킹하여 애플리케이션 UI 번역
