yjcho9317/banking-trojan
Android overlay attack & SMS OTP stealer PoC using AccessibilityService — security research only
Banking Trojan PoC
⚠️ WARNING / 경고This project is a PoC for security research and education only.
Using this code to develop malicious applications is a criminal offense.이 프로젝트는 보안 연구 및 교육 목적의 PoC입니다.
이 코드를 악성앱 제작에 사용하는 것은 범죄 행위입니다.
What is this / 이게 뭔가
Android의 정상 API(AccessibilityService, SYSTEM_ALERT_WINDOW, SMS BroadcastReceiver)를 사용한 뱅킹앱 자격 증명 탈취 시연. 뱅킹앱 실행을 감지하고, 가짜 로그인 화면을 띄우고, SMS OTP를 가로챈다. 핵심 코드 약 50줄.
A banking credential theft demo using legitimate Android APIs. Detects banking app launch, overlays a fake login screen, and intercepts SMS OTP. ~50 lines of core code.
Victim opens banking app
→ AccessibilityService detects target app
→ OverlayService shows fake login screen on top
→ Victim enters ID/PW → Stolen
→ Bank sends OTP via SMS → SmsReceiver intercepts → Stolen
Structure / 구조
app/src/main/java/com/yjcho/bankingtrojan/
├── service/
│ ├── MonitorAccessibilityService.kt // 뱅킹앱 실행 감지
│ └── OverlayService.kt // 가짜 로그인 화면 오버레이
├── receiver/
│ ├── SmsReceiver.kt // OTP 가로채기
│ └── BootReceiver.kt // 부팅 시 자동 시작
├── ui/
│ └── screen/
│ └── MainScreen.kt // 설정 & 로그 UI (Compose)
└── MainActivity.kt
Background / 배경
라온시큐어 사내 보안 세미나 발표용으로 제작. Kaspersky 2024 리포트 기준 모바일 뱅킹 트로이목마 피해자가 전년 대비 3.6배 증가했다 (69,200명 → 247,949명).
- Kaspersky, Financial Cyberthreats Report 2024
- Zimperium, Global Mobile Threat Report 2024
Disclaimer / 면책 고지
This software is provided for educational and security research purposes only. The author assumes no responsibility for any misuse. Unauthorized use may violate:
이 소프트웨어는 교육 및 보안 연구 목적으로만 제공됩니다. 오용에 대한 책임은 사용자에게 있으며, 다음 법률에 의해 처벌될 수 있습니다:
- 정보통신망법 / Information and Communications Network Act
- 전기통신사업법 / Telecommunications Business Act
- 형법 제347조 (사기), 제314조 (업무방해) / Criminal Act Articles 347, 314
- 전자금융거래법 / Electronic Financial Transactions Act