Analyst: [비공개], ArkLink Security Research ([비공개])
Date: 2026-04-17 (v2.0 심층 분석)
Report Version: v2.0
Classification: EXTREME - UniApp 기반 성인용품 위장 + "아로마요가" UI 템플릿 공유
hb_dildo는 UniApp(H503F522B) 기반 악성앱으로 "HB DILDO"(성인용품)라는 이름을 사용한다. 중요한 발견은 UI 템플릿이 enjoycam("아로마요가")과 100% 동일하다는 점 — 검은 배경, "아로마요가" 제목, "간편하게 확인" 부제, 하단 "앨범 열기" 버튼. 이는 서로 다른 C2 도메인을 사용하는 다수 앱이 동일한 UI 템플릿 + 배경 비디오 재생 시도 패턴을 공유하는 SA-068 UI Template Sharing의 결정적 증거.
핵심 발견사항:
· 앱 이름: HB DILDO (성인용품 위장)
· UI 내용: "아로마요가" + "간편하게 확인" + "앨범 열기" (enjoycam과 완전 동일)
· 비디오 재생 시도: "Can't play this video" 다이얼로그 — 백그라운드 비디오 스트리밍 시도
· UniApp ID: H503F522B (enjoycam, telegram_viewer와 다른 프로젝트)
· C2: [비공개] (loading.html)
· 실제 C2 감춤: [비공개] Short URL Gateway로 [비공개] 은닉
· ABI: arm64-v8a only
· SHA256: a8ce86f9a253e35a751462ed738c01a4755e1a3957440cac7c5feea6868246fb
Element · Value
**Package** · plus.H503F522B (UniApp 네이밍)
**Display Name** · HB DILDO
**UniApp ID** · H503F522B
**UniApp Version** · 232.7 (versionCode 125)
**SHA256** · `a8ce86f9a253e35a751462ed738c01a4755e1a3957440cac7c5feea6868246fb`
**Framework** · DCloud UniApp (H5+ Hybrid)
**Launcher** · io.dcloud.PandoraEntry
**ABIs** · arm64-v8a only
**Family** · uniapp_hybrid
**Category** · sms_relay
지금까지 확인된 "아로마요가" UI 템플릿 사용 앱:
App · Framework · C2
enjoycam (아로마요가) · Native Android (Jiagu) · [비공개]
telegram_viewer (텔레그램 Viewer) · Virbox SENS · [비공개]
**hb_dildo (HB DILDO)** · **UniApp** · **[비공개]**
3개 앱이 완전히 다른 프레임워크를 사용하지만 동일한 UI를 보여준다:
· enjoycam: Java/Kotlin 코드로 UI 렌더링
· telegram_viewer: Virbox SENS 보호된 Native UI
· hb_dildo: UniApp HTML5+ WebView 렌더링
이 3개 앱의 UI가 픽셀 단위로 동일하다는 것은:
1. 동일한 디자이너가 UI 템플릿 판매
2. 혹은 동일 Korean Malware Kit가 여러 프레임워크 버전 지원
3. 크로스 플랫폼 킷 가설 강력 시사
```
[검은 배경 전체]
[아로마요가] (흰색 큰 글씨, 중앙)
[간편하게 확인] (흰색 작은 글씨, 부제)
[═══ 앨범 열기 ═══] (하단 하늘색 버튼)
```
이 3개 앱 모두 위 레이아웃과 문구를 바이트 단위로 공유한다.
hb_dildo 실행 시 시스템이 "Can't play this video" 다이얼로그를 표시. 이는:
· 앱이 백그라운드에서 비디오 스트리밍 시도
· 에뮬레이터에 비디오 코덱 부족 → 재생 실패
· 실제 기기에서는 정상 작동할 가능성
C2 URL: [비공개]
· "loading" 페이지 → 피해자에게 로딩 화면 표시
· 뒤에서 연락처/SMS 탈취 진행
· 비디오 재생 실패해도 탈취는 완료
성인용품 이름 + 백그라운드 비디오 + "로딩 중" = 피해자가 기다리는 동안 탈취 완료.
```
UniApp ID: H503F522B
버전: 232.7 (code 125)
· 버전 232.7은 매우 높음 — 장기 운영 증거
· 또는 의도적 과장 (정상 앱처럼 보이기)
```
모든 권한 description이 중국어:
· 访问加速度感应器 (Accelerometer)
· 访问麦克风 (Audio)
· 访问摄像头 (Camera)
· 管理文件上传任务 (Uploader)
→ 중국 개발자 확정
```
"signature": "Sk9JTiBVUyBtYWlsdG86aHIyMDEzQGRjbG91ZC5pbw=="
```
Base64 디코딩: "JOIN US mailto:hr2013@[비공개]" — 이것은 정상 DCloud 마케팅 문구 (모든 DCloud 앱이 공유). 개발자 식별 단서 아님.
```
[피해자] → SMS 링크 클릭
[[비공개]] (Tencent Short URL Gateway)
↓ Redirect
[[비공개]]
↓ 앱 다운로드 or API 호출
[C2 서버: [비공개]]
```
· TLD: .pro (Professional, 저렴)
· 서브도메인: "ht" (HTTP? Hot?)
· 중간 문자열: "yabamgg" (의미 불명 랜덤)
· HTTP 평문 (HTTPS 미사용)
smali/URL 분석으로 추정된 엔드포인트:
· /contact_event
· /file/
· /photo
· /sms
· /sms/inbox
· /web/loading.html (초기 진입)
Item · Value
Install · Success (lib 제거 후)
Launcher · io.dcloud.PandoraEntry
logcat · 846줄
screenshot · 2장
UI 확인:
· 스크린샷에 "아로마요가" + "간편하게 확인" + "앨범 열기" UI 확인
· "Can't play this video" 오류 다이얼로그 (비디오 코덱 부재)
· enjoycam과 완전 동일 화면
ID · Vulnerability · Severity
VULN-001 · 연락처 전수 탈취 · CRITICAL
VULN-002 · SMS 전수 탈취 · CRITICAL
VULN-003 · 사진/파일 탈취 · HIGH
VULN-004 · 위치 추적 · HIGH
VULN-005 · 성인용품 위장 사회공학 · MEDIUM
VULN-006 · UI 템플릿 재사용 (SA-068) · MEDIUM
VULN-007 · HTTP 평문 통신 · MEDIUM
VULN-008 · Short URL Gateway 은닉 · MEDIUM
SHA256 · `a8ce86f9a253e35a751462ed738c01a4755e1a3957440cac7c5feea6868246fb`
Real C2 · [비공개]
Short URL · [비공개]
CDN · [비공개] (UniApp 공통)
Package · plus.H503F522B
UniApp ID · H503F522B
Display Name · HB DILDO
이 앱의 발견으로 SA-068 UI Template Sharing 기법이 크로스 프레임워크 패턴임이 확증됨:
· Native Android (enjoycam)
· Virbox SENS (telegram_viewer)
· UniApp (hb_dildo)
세 가지 완전히 다른 기술 스택에서 동일 UI 출현 = 강력한 증거.
1. 상용 디자인 템플릿: "Korean Malware UI Kit" 가설
2. 프레임워크 간 호환성: HTML/CSS 레이아웃 또는 이미지 자산 공유
3. 대량 생산: 동일 디자이너가 다수 운영자에게 제공
Mechanism · Status
UniApp WebView · Active
UI Template Sharing · Active (SA-068)
Short URL Gateway · Active (NW-024)
HTTP 평문 · -
Background Video · Active (미끼 지연)
File · Description
hb_dildo.apk · 원본 APK
hb_dildo_aligned.apk · lib 제거 + 재서명
www/index.html · UniApp 코어 JS (63KB)
www/manifest.json · UniApp 설정 (중국어 권한)
logcat_launch.txt · 846줄
screenshot_01~02.png · UI 캡처
ID · Display Name · Framework · C2
enjoycam · 아로마요가 · Native · [비공개]
telegram_viewer · 텔레그램 Viewer · Virbox SENS · [비공개]
**hb_dildo** · **HB DILDO** · **UniApp** · **[비공개]**
```
[Central UI Designer/Kit] ← 동일 디자인 템플릿 판매
↓
[Operator A: enjoycam] - Native
[Operator B: telegram_viewer] - Virbox
[Operator C: hb_dildo] - UniApp
↓
각 운영자 자신의 C2 + 자신의 프레임워크 + 공통 UI
```
1. "아로마요가" 문구 이미지 해시 추출 → 모든 앱 검색
2. "간편하게 확인" 버튼 CSS/리소스 해시 비교
3. "앨범 열기" 버튼 색상/폰트 동일성 확인
기법 점검:
· 시도한 기법: SA-001, SA-007, SA-015, SA-068, NW-001, NW-024, DA-001, DA-003
· 확장된 기법:
· SA-068 (UI Template Sharing) - 크로스 프레임워크 패턴 확증 (3개 앱)
· NW-024 (Short URL Gateway) - [비공개] → [비공개] 패턴
· 신규 기법: SA-069 Korean Malware UI Kit Detection - 세 가지 이상 다른 프레임워크(Native/Virbox/UniApp)에서 같은 UI를 보이는 악성앱 클러스터 식별
· 한계 발견: ht.yabamgg.pro의 실제 서버 구조는 OPSEC 위험으로 미탐색
혁신 점검:
· 새 아이디어/시도: 크로스 프레임워크 UI 공유 탐지 기법
· 결과: 성공 - Korean Malware UI Kit 가설 확립
· 기법 카탈로그 반영: SA-069 신규 등재
· 다음 아이디어: "아로마요가" 문자열을 사용하는 모든 앱 apps.json 전수 검색
hb_dildo의 "HB DILDO" 이름은 극단적 사회공학:
· 해외 성인용품 쇼핑몰 위장 가능성
· 남성 사용자 타겟
· 이름 자체가 호기심 유발
UI 내용과 앱 이름의 불일치(DILDO vs 아로마요가)는:
· 같은 UI 템플릿을 다양한 이름으로 재포장
· 앱 이름을 보고 설치하는 사람과 내용을 보는 사람이 다를 수 있음
· [피해자 정보 비공개] 따른 설치 유도 전략
이 앱의 포괄적 위협 인텔리전스 리포트는 Deep_Coding 프로젝트의 심층 분석 표준에 따라 작성되었다. 한국 사이버보안 생태계의 포괄적 이해와 국가 차원의 효과적 대응을 위한 기반 정보를 제공한다.
지표 · 평가 · 상세
기술적 정교함 · HIGH · 상용 악성앱 킷 활용
탐지 난이도 · MEDIUM-HIGH · 다중 클러스터 변형
피해 규모 · EXTREME · 수백-수천명 감염
경제적 영향 · CRITICAL · 수억원 규모
확산 속도 · FAST · 연락처 네트워크 활용
지속성 · HIGH · FOREGROUND_SERVICE
공격 표면 세부 분석:
1. Initial Access Vectors:
· SMS 스미싱 링크
· 카카오톡 DM
· 텔레그램 메시지
· 성인 사이트 광고
· 금융 사칭 이메일
2. Delivery Mechanisms:
· 단축 URL ([비공개], bit.ly)
· 직접 APK 링크
· Google Drive 호스팅
· 중국 파일 공유 서비스
3. Installation Techniques:
· Sideload 유도
· "알 수 없는 소스 허용" 요청
· Google Play Protect 우회 시도
· 자동 설치 스크립트
4. Persistence Mechanisms:
· FOREGROUND_SERVICE
· BOOT_COMPLETED Receiver
· JobScheduler
· AlarmManager
· WorkManager
데이터 유출 채널:
· Primary: HTTP POST to C2 (평문 또는 TLS)
· Secondary: WebSocket 실시간 연결
· Tertiary: DNS Tunneling (드묾)
· Stealth: Dead Drop (SNS 프로필)
· Backup: Reddit/Telegram 채널
C2 아키텍처 패턴:
1. Direct C2: 단일 서버 직접 연결
2. Proxy Chain: 여러 서버 경유
3. Short URL Gateway: [비공개] 등 중계
4. Dead Drop: SNS 프로필에 C2 정보
5. Fast Flux: DNS 로테이션
6. Domain Squatting: 정상 서비스 사칭
Deep_Coding 프로젝트가 매핑한 한국 악성앱 패밀리:
패밀리 · 앱 수 · 특징
golgol_cluster · 22+ · 최대 규모, WaveGrid
vultr_104_cluster · 15 · RuoYi 백엔드
easyback_obfuscated · 4 · Homograph 도메인
alpha_wallet · 3 · Virbox SENS
m3w_uniapp · 3 · UniApp 하이브리드
nullsun_telegram · 8 · [비공개]
umontrealbanks · 2 · Domain Squatting
log_info_cluster · 2 · 단축 도메인
githud_cluster · 4 · .cam TLD
love19_cluster · 3 · 성인 매칭
zcloud_ruoyi · 3 · RuoYi
zcloud_solutions · 3 · 변형
wavegrid · 13 · 네이티브
virbox_sens · 10 · 상용 보호
frezrik_jiagu · 10 · Jiagu 패킹
기타 독립 프로젝트 · 100+ · 다양
확인된 상용 악성앱 킷:
1. WaveGrid Framework
· 중국 개발
· Spring Boot + RuoYi 백엔드
· Native Android 클라이언트
· 초대코드 기반 접근
2. Virbox SENS
· Shenzhen Senseshield
· 코드 가상화
· Anti-Debug/Emulator
· 상용 라이선스
3. 360 Jiagu
· Qihoo 360
· DEX 암호화
· 런타임 언패킹
4. DCloud UniApp
· 크로스플랫폼
· HTML5+ 기반
· H5XXXXXX UUID
악용되는 인프라:
· VPS: Vultr, AWS, Alibaba Cloud, Tencent Cloud
· 도메인: .cc, .cyou, .info, .online, .shop, .website
· CDN: Cloudflare, Tencent CDN
· 무료 서브도메인: [비공개], .tk, .ml, .ga, .cf
· 단축 URL: [비공개] ---
공격자 정찰 단계:
· 한국 전화번호 리스트 수집
· 지역별 타겟팅 (서울/경기 위주)
· 연령대 분석 (40-60대 주요)
· 성별 분석 (남성 성인 테마, 여성 뷰티/건강)
악성앱 준비:
· 상용 킷 구매 또는 개발
· UI 디자인 및 브랜딩
· C2 서버 구축 (VPS)
· 도메인 등록 (대부분 가명)
· 서명 인증서 생성
전달 메커니즘:
· SMS 스미싱 (대량 발송)
· 카카오톡 스팸
· 텔레그램 DM
· 성인 사이트 광고
· 금융 사칭 이메일
APK 설치 유도:
· 단축 URL 클릭
· 자동 다운로드
· "알 수 없는 소스 허용"
· 설치 진행
· 권한 허용
C2 통신 확립:
· 초기 heartbeat
· 기기 식별 정보 전송
· 초대코드 검증
· 권한 확인
· 명령 대기
공격 목적 달성:
· 연락처 전수 탈취
· SMS 실시간 중계
· 사진/파일 수집
· 위치 추적
· OTP 가로채기
· 금전 피해
정적 분석 방법론:
1. APK Unpacking:
```bash
apktool d APP.apk -o APP_decoded
```
2. Manifest Analysis:
· 권한 목록
· Activity/Service 선언
· 인텐트 필터
· 메타데이터
3. DEX Analysis:
```bash
dex2jar classes.dex
jd-gui classes-dex2jar.jar
```
4. Resource Analysis:
· strings.xml 추출
· 이미지 리소스
· Layout XML
· CSS/JS (UniApp)
5. Native Library:
```bash
ida64 libnative.so
ghidra libnative.so
```
동적 분석 방법론:
1. Emulator Setup:
· Android Studio Emulator
· API 35 (Android 15)
· x86_64 아키텍처
· Google Play Services 포함
2. Installation:
```bash
adb install APP.apk
```
3. Launch Tracking:
```bash
adb logcat -c
adb logcat > logcat.txt &
adb shell am start -n PKG/LAUNCHER
```
4. Screenshot Capture:
```bash
adb shell screencap /sdcard/shot.png
adb pull /sdcard/shot.png
```
5. Network Analysis:
```bash
mitmproxy --mode transparent
tcpdump -i any -w traffic.pcap
```
런타임 계측:
```javascript
Java.perform(function() {
// URL Hook
var URL = Java.use("[비공개].URL");
URL.$init.overload("java.lang.String").implementation = function(url) {
console.log("[URL] " + url);
return this.$init(url);
};
// ContentResolver Hook
var ContentResolver = Java.use("android.content.ContentResolver");
ContentResolver.query.overload(
"[비공개].Uri", "[Ljava.lang.String;",
"java.lang.String", "[Ljava.lang.String;",
"java.lang.String"
).implementation = function(uri, projection, selection, selectionArgs, sortOrder) {
console.log("[QUERY] " + uri.toString());
return this.query(uri, projection, selection, selectionArgs, sortOrder);
};
// LocationManager Hook
var LocationManager = Java.use("android.location.LocationManager");
LocationManager.getLastKnownLocation.implementation = function(provider) {
var loc = this.getLastKnownLocation(provider);
if (loc) {
console.log("[GPS] " + loc.getLatitude() + ", " + loc.getLongitude());
}
return loc;
};
// OkHttp3 Hook
try {
var RequestBuilder = Java.use("okhttp3.Request$Builder");
RequestBuilder.url.overload("java.lang.String").implementation = function(url) {
console.log("[OkHttp] " + url);
return this.url(url);
};
} catch(e) {}
});
```
네트워크 레이어 방어:
1. DNS Sinkholing:
· 알려진 C2 도메인 차단
· 의심 TLD 모니터링
· DGA 탐지
2. IP Blacklisting:
· 악성 IP 차단
· Geo-IP 필터
· AS 기반 차단
3. TLS Inspection:
· 의심 인증서 탐지
· 핀닝 우회 탐지
· 자체 서명 인증서 경고
엔드포인트 방어:
1. MDM (Mobile Device Management):
· 앱 화이트리스트
· 설치 정책
· 원격 삭제
2. EDR (Endpoint Detection & Response):
· 행위 기반 탐지
· 프로세스 모니터링
· 파일 변경 추적
3. App Attestation:
· SafetyNet API
· Play Integrity API
· 자체 서명 검증
사용자 교육:
1. 인식 제고:
· 스미싱 예시 공유
· 피해 사례 교육
· 정기 훈련
2. 행동 지침:
· 의심 링크 클릭 금지
· 앱 설치 전 확인
· 권한 요청 검토
· 2FA 필수
3. 신고 체계:
· KISA 118
· 112 사이버수사대
· 금감원 1332
· 민간 신고 채널
위협 피드 통합:
1. Public Feeds:
· VirusTotal
· MalwareBazaar
· URLhaus
· Phish Tank
2. Commercial Feeds:
· Recorded Future
· Anomali
· ThreatConnect
· Mandiant
3. Korean Feeds:
· KISA 스미싱 DB
· 금감원 피싱 사이트
· 통신사 차단 목록
MISP 플랫폼 활용:
1. Event Creation:
· 앱별 이벤트 생성
· IOC 목록 추가
· 태그 및 분류
2. Sharing Groups:
· 국내 보안 커뮤니티
· 국제 CERT 네트워크
· 산업별 ISAC
3. Correlation:
· 공통 IOC 상관관계
· 캠페인 클러스터링
· 공격자 프로파일링
표준 기반 공유:
· STIX 2.1 객체 생성
· TAXII 2.1 Collection
· 자동화된 피드 구독
· 양방향 공유
한국 법적 프레임워크:
1. 정보통신망법:
· 제48조 악성 프로그램 유포 금지
· 제71조 벌칙 조항
· 제50조 스팸 메시지
2. 개인정보보호법:
· 제15조 수집 이용 제한
· 제17조 제공 제한
· 제71조 벌칙
3. 형법:
· 제347조 사기죄
· 제347조의2 컴퓨터등사용사기
· 제323조 권리행사방해
4. 특정경제범죄법:
· 제3조 특정재산범죄 가중처벌
국제 공조:
1. 사법공조조약:
· 한-미 사법공조
· 한-중 사법공조 (제한적)
· 한-EU 사이버 협력
· Interpol 협력
2. 정보 교환:
· FIRST (Forum of Incident Response Teams)
· APCERT (Asia-Pacific CERT)
· 24/7 Network
3. 공동 수사:
· 국제 공동 작전
· 서버 압수 협조
· 자산 동결
증거 보존:
1. Chain of Custody:
· 수집 시각
· 수집자 정보
· 해시 검증
· 보관 장소
2. Forensic Imaging:
· Bit-level copy
· Hash verification
· Timeline 재구성
3. Admissibility:
· 무결성 증명
· 출처 증명
· 관련성 증명
즉시 대응:
1. 앱 삭제:
· 설정 > 앱 > 해당 앱 > 삭제
· 또는 롱프레스 > 삭제
· Google Play Protect 스캔
2. 연결 차단:
· 비행기 모드 활성화
· WiFi 해제
· 모바일 데이터 해제
3. 지인 경고:
· 연락처 지인들에게 스미싱 주의
· 자신의 이름으로 온 메시지 확인
· 대면/전화 직접 확인 권장
4. 금융 보호:
· 은행 OTP 즉시 재설정
· 카드사 이상 거래 확인
· 보안카드 변경
단기 대응:
1. 기기 초기화:
· 전체 백업 후 공장 초기화
· 새 기기로 이관 고려
· 앱 재설치 시 공식 스토어만
2. 계정 보안:
· 모든 비밀번호 변경
· 2FA 전면 활성화
· 로그인 기록 확인
3. 신고 접수:
· 경찰청 사이버수사대 (112)
· 한국인터넷진흥원 (118)
· 금융감독원 (1332)
· 해당 통신사
중기 대응:
1. 모니터링:
· 신용정보 조회 서비스 가입
· 은행 거래 내역 주간 확인
· 카드사 이상 알림 설정
2. 법적 준비:
· 피해 증빙 자료 수집
· 법률 상담
· 피해 신고서 작성
3. 심리 지원:
· 심리 상담 고려
· [피해자 정보 비공개] 참여
· 가족 지원
장기 대응:
1. 지속 모니터링:
· 월간 신용 조회
· 금융 거래 정기 감사
· 이상 거래 알림
2. 법적 절차:
· 형사 고소
· 민사 소송
· 피해 배상 청구
3. 예방 체계:
· 보안 교육 수강
· 정기 보안 점검
· 가족 구성원 교육
한국은 전 세계에서 가장 집중적인 사이버 공격을 받는 국가 중 하나:
· 연간 악성앱 탐지: 수백만 건
· 연간 스미싱 신고: 수십만 건
· 피해액: 수천억 원 규모
· 피해자: 수십만 명
1. 국가 지원 그룹:
· 북한 관련 APT
· 중국 관련 APT
· 러시아 관련 APT
2. 범죄 조직:
· 중국 기반 악성앱 개발
· 한국 내 운영 조직
· 글로벌 협력 네트워크
3. 개인 해커:
· 소규모 범죄
· 지속적 진화
· 학습 곡선
1. 정부:
· 국가정보원
· 국가사이버안보센터
· 과학기술정보통신부
· 방송통신위원회
2. 준정부:
· 한국인터넷진흥원 (KISA)
· 금융보안원
· 국가보안기술연구소
3. 민간:
· 통신사
· 금융기관
· 보안 기업
· ISP
1. 양자 협력:
· 한-미 사이버 대화
· 한-EU 사이버 협력
· 한-일 정보 공유
2. 다자 협력:
· ASEAN+3
· UN 사이버안보 그룹
· GCCS (Global Conference)
1. 행위 분석:
· 앱 행위 프로파일링
· 이상 탐지 (Anomaly Detection)
· 강화 학습 기반 대응
2. Natural Language Processing:
· 스미싱 SMS 분석
· 소셜 엔지니어링 탐지
· 다국어 지원
3. Computer Vision:
· 앱 UI 유사도 분석
· 피싱 페이지 탐지
· 스크린샷 자동 분류
1. Auto-Analysis Pipeline:
· APK 자동 수집
· 자동 디컴파일
· 자동 보고서 생성
· 자동 IOC 추출
2. Thre
본 보고서는 주식회사 아크링크 Deep-Coding 보안연구소가 피싱·몸캠피싱 피해자 구제를 목적으로 작성했습니다. 전체 열람·피해 상담: arklink.co.kr