Analyst: [비공개], ArkLink Security Research ([비공개])
Date: 2026-04-17 (v2.0 심층 분석)
Report Version: v2.0
Classification: EXTREME - WaveGrid Gen3 / vultr [비공개] cluster
hs (LoveHome (hs 변형))는 vultr_104 클러스터의 WaveGrid Gen3 악성앱이다.
15개 앱이 C2 [비공개]을 공유하며 RuoYi 기반 [비공개] 엔드포인트를 사용한다.
hs 서브클러스터: lovehome
핵심 발견사항:
· 앱 이름: LoveHome (hs 변형)
· 패키지: com.androie.comhomessslove (com.androie 네임스페이스)
· 실제 Launcher: com.example.mydemo.LoginActivity (패키지-런처 불일치 SA-064)
· C2: [비공개]
· UI Theme: lhomes과 100% 동일 UI - LoveHome 복제본
· SHA256: e8fd0a56635e093fe71033e221e6aad40706a02cde7d6acc8dc82d3763a37838
Element · Value
Package · com.androie.comhomessslove
Display Name · LoveHome (hs 변형)
SHA256 · `e8fd0a56635e093fe71033e221e6aad40706a02cde7d6acc8dc82d3763a37838`
Framework · WaveGrid Gen3 (Native Android)
Family · vultr_104_cluster
Launcher · com.example.mydemo.LoginActivity
Category · contact_theft
[비공개] C2 서버는 Vultr VPS(AS20473)에 호스팅되며 15개 앱이 공유한다.
현재 apps.json에서 확인된 동일 C2 사용 앱:
· whales_2, kingcloud, lhomes, cloudk, hs 등 총 15개
서브 · Apps · UI
kingcloud · kingcloud, cloudk · 노란 왕관 로고, 일반 로그인
lovehome · lhomes, hs · 핑크 하트+집 로고, 성인 라이브
동일 C2 + 동일 RuoYi 백엔드 + 다른 UI 테마 = 타겟 세그먼테이션(SA-066).
com.androie.* 패키지명은 'android'의 오타로 만든 브랜드 마스킹:
· androie.andingzjhdz (kingcloud)
· androie.comcinkingkayiclou (cloudk)
· androie.cijkijdagsf (lhomes)
· androie.comhomessslove (hs)
모두 com.example.mydemo.LoginActivity를 런처로 사용 - 실제 개발자 네임스페이스 com.example.mydemo.
[비공개] 엔드포인트 = RuoYi 관리 프레임워크:
· RuoYi는 중국 오픈소스 Spring Boot 프레임워크
· 기본 관리자 경로 /admin/, [비공개]
· 대부분 wavegrid 계열이 RuoYi를 C2 백엔드로 사용
lhomes과 100% 동일 UI - LoveHome 복제본
· 핑크 하트+집 로고
· "19세미만의 청소년이 이용할 수 없습니다"
· 초대코드 입력창
· 핑크 "성인Live입장" 버튼
· 성인 라이브 서비스 위장
Item · Value
Install · Success
Launcher · com.example.mydemo.LoginActivity
logcat · 600-700줄
screenshot · 2장
ID · Vulnerability · Severity
VULN-001 · 연락처 전수 탈취 · CRITICAL
VULN-002 · SMS 탈취 · CRITICAL
VULN-003 · 초대코드 Gate · HIGH
VULN-004 · RuoYi 백엔드 공유 · HIGH
VULN-005 · 15개 앱 C2 공유 (대량 운영) · CRITICAL
VULN-006 · com.androie 브랜드 마스킹 · MEDIUM
VULN-007 · 패키지-런처 불일치 SA-064 · MEDIUM
SHA256 · `e8fd0a56635e093fe71033e221e6aad40706a02cde7d6acc8dc82d3763a37838`
C2 IP · [비공개]
URL · [비공개]
Backend · RuoYi ([비공개])
Package · com.androie.comhomessslove
Display · LoveHome (hs 변형)
Launcher · com.example.mydemo.LoginActivity
Mechanism · Status
WaveGrid Gen3 Protection · Active
Invitation Code Gate · Active
com.androie Masking · Active
Package-Launcher Mismatch · Active
15-app C2 Sharing · Active (대량 분산)
· ASN: AS20473 (Vultr Holdings)
· 위치: 미국 (일반적 Vultr 리전)
· 역방향 DNS: 확인 필요
· 포트 80, 443 (추정)
· Backend: RuoYi Spring Boot + MySQL
단일 C2에 15개 앱이 연결 = 중앙집권 운영:
· 한 운영자가 15개 동시 관리
· 각 앱마다 다른 초대코드 배정
· 앱 차단되면 같은 C2의 다른 앱으로 [피해자 정보 비공개]
· 15개 복제본으로 Google Play Protect 차단 회피
File · Description
hs.apk · 원본 APK
decompiled/ · apktool 결과
logcat_launch.txt · 런타임 로그
screenshot_01~02.png · UI 캡처
[비공개]을 Vultr에 신고하면:
· Vultr abuse 팀 접수 (abuse@[비공개])
· 서버 정지 가능성 높음
· 가입자 정보 (사법공조 시)
C2 하나 차단 = 15개 앱 동시 무력화. vultr_104 클러스터 서버 차단이 최우선.
Deep_Coding 프로젝트의 WaveGrid Gen3 앱들:
· vultr_104_cluster (이 앱들)
· 기타 RuoYi 백엔드 앱들
초대코드가 필요한 앱의 우회:
1. Frida 후킹으로 검증 로직 NOP
2. 서버 측 검증이라면 우회 불가
3. 소셜 엔지니어링으로 코드 수집
Vultr VPS 월 $5~20 비용:
· 15개 앱에 C2 하나 = 매우 경제적
· 일회용 VPS로 추적 회피
· 중국에서 쉽게 구매 가능
· 15개 앱 배포 = 수만 명 감염 목표
· 감염 기기당 연락처 100개 = 수십만 명 2차 피해자
· 은행 OTP 탈취로 직접 금전 피해
· 도박/섹스토션 연결 가능성
기법 점검:
· 시도한 기법: SA-001, SA-064, SA-066, SA-067, NW-001, NW-003, DA-001, DA-003, DA-005
· 확장된 기법: SA-064 (패키지-런처 불일치) - com.androie → com.example.mydemo 확증
· SA-066 (Target Segmentation) - KingCloud(일반) vs LoveHome(성인) 두 서브클러스터
· 신규 기법: NW-029 Single-C2 Mass Distribution - 단일 C2에 15개 앱 연결하는 대량 운영 패턴
· 한계 발견: Vultr VPS 접근 OPSEC 위험으로 미탐색
혁신 점검:
· 새 아이디어: com.example.mydemo 공통 런처로 15개 앱의 동일 개발자 확증
· 결과: 성공 - vultr_104 서브클러스터 2종(KingCloud, LoveHome) 식별
· 기법 카탈로그 반영: NW-029 신규 등재
· 다음 아이디어: [비공개] C2에 연결된 나머지 11개 앱 전수 분석
vultr_104_cluster는 Korean Malware 생태계에서 특이한 위치:
· 단일 C2, 다수 앱 전략 (15개)
· 한국 타겟 SMS/연락처 탈취
· WaveGrid Gen3 프레임워크 (검증된 기술)
· RuoYi 백엔드 (중국산 관리 프레임워크)
클러스터 · 앱 수 · C2 구조
vultr_104 · 15개 · 단일 C2
easyback_obfuscated · 4개 · 단일 C2 (Homograph)
alpha_wallet · 3개 · 단일 C2 (Squatting)
m3w_uniapp · 3개 · 단일 C2 (Short URL)
golgol_cluster · 22개 · 단일 C2
단일 C2에 다수 앱을 붙이는 것이 이 생태계의 지배적 전략.
더 큰 클러스터 = 더 많은 피해자 = 더 높은 우선순위:
1. golgol_cluster (22개) → 최우선 조사
2. vultr_104_cluster (15개) → 2순위
3. easyback_obfuscated (4개)
4. alpha_wallet, m3w_uniapp (3개 각)
· [비공개] 도메인 차단 요청 (KISA)
· Vultr에 abuse 신고
· 15개 앱 SHA256 공유 (바이러스 백신 업체)
· RuoYi 기반 C2 탐지 시그니처 배포
· 초대코드 필요 악성앱 탐지 룰 개선
· Frida 기반 우회 검증 자동화
· Google Play 악성앱 생태계 추적
· 개발자 계정 상호 연관 분석
· 국제 사법공조 (중국 RuoYi 개발자 연결)
이 앱은 Korean Malware 생태계의 산업화된 대량 운영 전형이다. 단일 운영자가 15개 앱을 동일 C2에서 운영하면서 KingCloud(일반)/LoveHome(성인) 두 세그먼트로 타겟을 분리하는 정교한 비즈니스 구조를 보여준다. 수사기관의 C2 서버 차단이 가장 효과적 대응책이다.
WaveGrid Gen3는 Deep_Coding 프로젝트에서 다수 앱이 사용하는 프레임워크:
· Native Android (Java/Kotlin)
· MinSDK 29 (Android 10+)
· 초대코드 기반 접근 제어
· RuoYi 백엔드와 통합
· SSL 인증서 핀닝 (대부분)
com.androie 패턴은 지능적 마스킹:
· "android" - 1글자 차이 (d 생략)
· 시각적 유사성으로 개발자 이름 오인
· Google Play 자동 분류 시스템이 android 앱으로 잘못 분류 가능성
비슷한 패턴들:
· com.androie (관찰됨)
· com.andriod (rd 순서 바꿈 - 이론)
· com.andorid (or 순서 바꿈 - 이론)
· com.andriode (e 추가)
com.example.mydemo.LoginActivity는 Google의 공식 AOSP 예제 코드를 차용:
· AOSP 샘플에서 com.example.mydemo 네임스페이스 사용
· 개발자가 AOSP 예제로 시작했거나 의도적으로 복제
· Class 파일 해시가 AOSP와 정확히 일치하는지 확인 필요
RuoYi는 중국에서 유행하는 Spring Boot 기반 관리 프레임워크:
· GitHub: yangzongzhuan/RuoYi (30,000+ stars)
> [비공개]
· [비공개] 는 RuoYi의 기본 RESTful 엔드포인트
· [비공개] UI: [비공개]
· 관리 패널: [비공개]
RuoYi를 사용하는 C2 서버는 종종 다음 취약점 공유:
> [비공개]
· [비공개] endpoint 노출
· SQL 인젝션 (일부 구버전)
· IDOR on user management endpoints
· JSON Web Token 약한 시크릿
[비공개] 서버가 RuoYi인지 확인 방법:
```bash
curl -I [비공개]
curl [비공개]
curl [비공개]
```
이러한 요청으로 RuoYi 기본 응답 패턴 확인 가능.
이 클러스터의 MITRE Mobile ATT&CK 매핑:
Tactic · Technique · Description
Initial Access · T1660 Phishing · 초대코드 + 성인/클라우드 미끼
Defense Evasion · T1628 Hide Artifacts · 패키지-런처 불일치
Defense Evasion · T1406 Obfuscated Files · WaveGrid Gen3 보호
Discovery · T1424 Process Discovery · 런타임 환경 확인
Collection · T1636.003 Contact List · 연락처 전수 탈취
Collection · T1636.004 SMS Messages · SMS 탈취
Exfiltration · T1646 Exfil Over C2 · RuoYi [비공개] 업로드
C2 · T1437.001 Application Layer Protocol · HTTP(S) over TCP
수사기관을 위한 요약:
1. C2 서버: [비공개] (Vultr VPS)
2. 운영자: com.example.mydemo 개발자 (AOSP 차용)
3. 피해 규모: 15개 앱 × 수천~수만 설치 = 수만~수십만 피해자
4. 탈취 데이터: 연락처 + SMS (OTP 포함)
5. 법적 조치 우선순위:
· Vultr abuse 신고 (immediate)
· 국제 사법공조 (mid-term)
· Google Play 앱 삭제 요청 (immediate)
· 한국인터넷진흥원 C2 차단 (immediate)
6. 기술적 증거:
· 15개 APK SHA256 해시
· RuoYi 백엔드 통신 로그 (가능 시)
· 앱 서명 인증서 (같은 개발자 확증)
이 앱의 포괄적 위협 인텔리전스 리포트는 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. 심리 지원:
· 심리 상담 고려
본 보고서는 주식회사 아크링크 Deep-Coding 보안연구소가 피싱·몸캠피싱 피해자 구제를 목적으로 작성했습니다. 전체 열람·피해 상담: arklink.co.kr