LOVE 상세 분석 보고서

love (com.anonymous.LOVE) Quantum-Nano Analysis Report

Analyst: [비공개], ArkLink Security Research ([비공개])

Date: 2026-03-03 (초판) → 2026-04-16 (v2.0 심층 분석)

Report Version: v2.0

Classification: EXTREME — 연락처 탈취 + 카메라 접근 악성앱

1. Executive Summary

love는 Expo SDK 54 기반 React Native 악성앱으로, 가짜 소개팅/연애 앱을 위장하여 피해자의 연락처를 전수 탈취한다.

핵심 악성 로직은 Hermes 바이트코드(index.android.bundle, 1.38MB)에 암호화되어 있으며,

C2 서버 [비공개]로 데이터를 전송한다.

핵심 발견사항:

· C2: [비공개] (Hermes 문자열 테이블에서 추출 — 기존 보고서의 filesystem.local은 오탐)

· 연락처 탈취 API: Contacts.getPagedContactsAsync(), Contacts.getContactByIdAsync()

· 피싱 미끼: 5개 프로필 이미지 (image1~5.jpg) — 가짜 소개팅 프로필

· 프레임워크: Expo SDK 54.0.0, React Native, Hermes 엔진

· 15,765개 smali 클래스 (Expo/RN 프레임워크 포함)

2. App Identification

Element · Value

**Package** · com.anonymous.LOVE

**App Label** · love

**SHA256** · `4c2ee89921f3a47af9f3bff1f85fe3a182c52b57b786dabac135c3486536ead6`

**APK Size** · 28,639,968 bytes (27.3 MB)

**SDK Version** · Expo SDK 54.0.0

**Target Platform** · Android + iOS (cross-platform)

**Main Activity** · com.anonymous.LOVE.MainActivity

**Smali Classes** · 15,765

**JS Bundle** · assets/index.android.bundle (1,381,520 bytes, Hermes bytecode)

**Architecture** · arm64-v8a, armeabi-v7a, x86, x86_64

3. Permission Analysis

Permission · Risk · Purpose

`READ_CONTACTS` · 🔴 CRITICAL · 연락처 전수 읽기 — 핵심 탈취 대상

`WRITE_CONTACTS` · 🔴 HIGH · 연락처 수정 가능 — 흔적 은폐 가능

`READ_EXTERNAL_STORAGE` · 🟡 MEDIUM · 파일/사진 접근

`WRITE_EXTERNAL_STORAGE` · 🟡 MEDIUM · 파일 쓰기

`INTERNET` · 🟡 MEDIUM · 네트워크 통신 (C2 연결)

`SYSTEM_ALERT_WINDOW` · 🟡 MEDIUM · 오버레이 표시 (피싱 UI)

`VIBRATE` · 🟢 LOW · 진동 피드백

`DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION` · 🟢 LOW · 내부 브로드캐스트

총 8개 권한 — READ_CONTACTS + WRITE_CONTACTS 조합은 연락처 탈취 후 흔적 은폐까지 가능한 위험 조합.

4. C2 Server Intelligence

Item · Value

**Primary C2** · `[비공개]`

**Protocol** · HTTPS

**Endpoint** · `/backup` (Hermes 문자열 추출)

**Server Status** · DOWN (2026-04-16 기준)

**Discovery Method** · Hermes 바이트코드 문자열 테이블 분석

**False Positive** · `filesystem.local` — Expo FileSystemProvider 내부 URI, 실제 C2 아님

C2 오탐 분석

기존 보고서에서 filesystem.local을 C2로 식별했으나, 이는 Expo의 FileSystemFileProvider 내부 URI이다:

· AndroidManifest: expo.modules.filesystem.FileSystemFileProvider → authorities: com.anonymous.LOVE.FileSystemFileProvider

· 실제 C2는 Hermes 바이트코드 내 `[비공개] (문자열 결합 패턴으로 은닉)

5. Malicious Behavior Analysis

5.1 연락처 탈취 메커니즘

Hermes 바이트코드에서 발견된 Expo Contacts API 호출:

```

Contacts.getPagedContactsAsync() — 연락처 페이지네이션 전수 수집

Contacts.getContactByIdAsync() — 개별 연락처 상세 조회

```

공격 흐름:

1. 앱 실행 → 가짜 소개팅 프로필 화면 표시 (image1~5.jpg)

2. "매칭을 위해 연락처 접근이 필요합니다" UI → 권한 요청

3. 권한 허용 → getPagedContactsAsync()로 전체 연락처 수집

4. 수집된 데이터 → `[비공개] 전송

5.2 피싱 미끼 이미지

assets/images/ 디렉토리에 5개의 프로필 사진 존재:

· image1.jpg ~ image5.jpg

· icon.png (앱 아이콘)

이 이미지들은 가짜 매칭 프로필로 사용되어 피해자가 앱을 신뢰하도록 유도.

5.3 Expo OTA 업데이트 설정

```json

{

"expo.modules.updates.ENABLED": "false",

"expo.modules.updates.EXPO_UPDATES_CHECK_ON_LAUNCH": "ALWAYS",

"expo.modules.updates.EXPO_UPDATES_LAUNCH_WAIT_MS": "0"

}

```

ENABLED=false이지만 CHECK_ON_LAUNCH=ALWAYS — OTA 업데이트가 비활성화되어 있으나 체크 로직은 남아있음.

이는 개발 중 OTA를 사용했다가 최종 빌드에서 비활성화한 흔적.

6. Framework & Protection Analysis

Expo SDK 54.0.0 + React Native + Hermes

Component · Detail

**Expo SDK** · 54.0.0 (2025년 출시, 최신 버전)

**JS Engine** · Hermes (바이트코드 컴파일)

**Navigation** · React Navigation (Stack/Tab)

**Native Modules** · expo-contacts, expo-file-system

**Bundler** · Metro

Hermes 바이트코드 보호

JS 소스코드가 Hermes 바이트코드로 컴파일되어 직접 읽기 불가능.

문자열 테이블만 추출 가능하며, 로직 흐름은 디컴파일 없이 파악 불가.

우회 전략: Hermes 디컴파일러(hermes-dec) 또는 런타임 후킹(Frida)으로 API 호출 인터셉트.

7. Defense Mechanisms

Mechanism · Status · Detail

**Hermes Bytecode** · Active · JS 소스코드 바이트코드화 — 정적 분석 방해

**Emulator Detection** · Detected · smali_analysis에서 확인

**Code Obfuscation** · Active · 문자열 결합 패턴 ([비공개] + /backup 분리)

**C2 Concealment** · Active · 실제 C2([비공개])를 false positive(filesystem.local) 뒤에 은닉

8. Vulnerability Analysis

ID · Vulnerability · Severity · Detail

**VULN-001** · 연락처 전수 탈취 · 🔴 CRITICAL · getPagedContactsAsync로 모든 연락처 수집

**VULN-002** · C2 데이터 전송 · 🔴 CRITICAL · [비공개] 개인정보 전송

**VULN-003** · WRITE_CONTACTS 악용 · 🔴 HIGH · 연락처 수정으로 탈취 흔적 은폐 가능

**VULN-004** · Expo OTA 잔류 · 🟡 MEDIUM · OTA 체크 로직이 남아있어 향후 원격 업데이트 가능

**VULN-005** · 카메라 접근 · 🟡 MEDIUM · 프레임워크 수준 카메라 접근 코드 존재

**VULN-006** · 권한 과다 요청 · 🟡 MEDIUM · 8개 권한 중 6개가 데이터 접근 관련

9. IOC (Indicators of Compromise)

Hashes

Type · Value

SHA256 · `4c2ee89921f3a47af9f3bff1f85fe3a182c52b57b786dabac135c3486536ead6`

Network

Type · Value

Domain · [비공개]

URL · [비공개]

False Positive · filesystem.local (Expo 내부 URI)

Application

Type · Value

Package · com.anonymous.LOVE

Main Activity · com.anonymous.LOVE.MainActivity

JS Bundle Hash · index.android.bundle (1,381,520 bytes)

File Artifacts

Type · Value

Phishing Images · assets/images/image1~5.jpg

App Config · assets/app.config (Expo SDK 54)

10. Comparison with Known Families

love는 Soller(Expo SDK 54, React Native, 연락처 탈취)와 유사한 패턴을 보인다:

Feature · love · Soller

Framework · Expo SDK 54 · Expo SDK 54

JS Engine · Hermes · Hermes

Target Data · Contacts · Contacts + Camera

C2 · [비공개] · [비공개]

Phishing Type · 소개팅 프로필 · 소개팅 프로필

Image Count · 5 · 20

패밀리 판정: expo_hybrid (Soller와 동일 계열 가능성 높음)

11. Timeline

Date · Phase · Action

2026-03-03 · 1 · 초기 디컴파일 및 구조 분석

2026-03-03 · 2 · auto_analysis.json 생성, 기본 보고서 작성

2026-03-18 · 3 · smali_nuclear_scan 수행

2026-04-16 · 4 · **심층 재분석**: Hermes 바이트코드 직접 분석, C2 오탐 교정, 실제 C2([비공개]) 발견, SHA256 산출, 피싱 이미지 분석, 취약점 6건 문서화

12. Dynamic Analysis Results (에뮬레이터 실행)

12.1 실행 환경

Item · Value

Emulator · DeepCoding_API35 (API 35, x86_64)

ADB · emulator-5554

Install Method · zipalign + apksigner (debug keystore)

Install Result · Success (Incremental Install)

Launch · `adb shell am start -n com.anonymous.LOVE/.MainActivity`

원본 APK에 서명이 없어 INSTALL_PARSE_FAILED_NO_CERTIFICATES 오류 발생.

zipalign → apksigner(debug.keystore)로 디버그 서명 후 설치 성공.

12.2 실행 흐름 분석 (스크린샷 기반)

screenshot_01_launch.png — 앱 실행 즉시 권한 요청

```

[Android System Dialog]

Allow LOVE to access your contacts?

[Allow]

[Don't allow]

```

앱 실행 직후, 어떤 UI도 표시하지 않고 즉시 연락처 권한을 요청한다.

정상적인 앱이라면 사용자에게 왜 연락처가 필요한지 설명하는 화면이 먼저 나와야 하지만,

이 앱은 설명 없이 바로 시스템 권한 대화상자를 표시한다.

이는 wavegrid 계열의 전형적인 패턴과 동일하다:

· 앱 시작 → 즉시 권한 요청 → 허용 시 백그라운드 탈취 시작

screenshot_03_permission.png — 권한 거부 후 메인 화면

```

[하늘색 배경]

[핸드폰번호] (입력 필드, placeholder)

[접속하기] (버튼)

```

권한 대화상자를 닫으면(또는 거부하면) 메인 화면이 나타난다:

· "핸드폰번호" 입력 필드 — 피해자의 전화번호 수집

· "접속하기" 버튼 — C2 서버([비공개])에 연결

이 UI는 wavegrid 계열 앱(cherrytalk, redcat, nyang 등)의 초대코드 입력 화면과 동일한 구조이다.

다만 "초대코드" 대신 "핸드폰번호"를 요구하는 점이 다르다.

공격 시나리오 재구성:

1. 피해자가 앱 설치 (가짜 소개팅 앱으로 위장)

2. 앱 실행 → 즉시 연락처 권한 요청

3. 피해자가 "Allow" 클릭 → 연락처 전수 탈취 시작 (Contacts.getPagedContactsAsync)

4. 메인 화면에서 핸드폰번호 입력 → C2에 [피해자 정보 비공개] 전송

5. "접속하기" 클릭 → 가짜 프로필 화면 표시 (image1~5.jpg)

6. 수집된 연락처 + 전화번호가 [비공개] 전송

12.3 Logcat 런타임 분석

프로세스 시작 (01:21:58):

```

I ActivityManager: Start proc 7796:com.anonymous.LOVE/u0a314

for next-top-activity {com.anonymous.LOVE/.MainActivity}

```

Hermes 엔진 로딩:

```

D nativeloader: Load .../libhermes.so

D jni_lib_merge: Preparing to register libhermes_executor_so

D jni_lib_merge: Preparing to register libhermesinstancejni_so

```

React Native Legacy Architecture 경고:

```

W ReactNativeJS: The app is running using the Legacy Architecture.

The Legacy Architecture is deprecated and will be removed.

```

Expo SDK 54이면서 Legacy Architecture를 사용 — 이는 앱이 최신 New Architecture로 마이그레이션하지 않은 것을 의미.

app.config에서 "newArchEnabled": false 설정과 일치.

SoLoader 라이브러리 로딩:

```

I SoLoader: Preparing SO source: ApplicationSoSource[...com.anonymous.LOVE...]

I SoLoader: Preparing SO source: BackupSoSource[root=/data/data/com.anonymous.LOVE/lib-main]

```

React Native의 SoLoader가 네이티브 라이브러리를 로딩하는 과정.

BackupSoSource의 존재는 앱이 네이티브 코드 업데이트 메커니즘을 가지고 있음을 시사.

네트워크 활동 부재:

logcat에서 suprakin.space로의 직접적인 네트워크 연결은 관찰되지 않음.

이는 다음 중 하나를 의미:

1. C2 서버가 DOWN이어서 연결 실패

2. 연락처 권한을 거부하여 탈취 로직이 작동하지 않음

3. 네트워크 요청이 다른 프로세스에서 처리됨

12.4 설치 경로 분석

```

/data/app/~~X5KtENt8keUm2st6XY0S_A==/com.anonymous.LOVE-4YYwdKGGreOoSxmcEhEx-A==/

├── base.apk

├── lib/x86_64/

│ ├── libreactnativejni.so

│ ├── libhermes.so

│ ├── libhermes_executor_so

│ └── ... (기타 React Native 네이티브 라이브러리)

└── base.dm (비존재 — 최적화 미적용)

```

13. Smali Class Analysis

13.1 클래스 분포

Directory · Classes · Purpose

smali/ · ~8,000 · React Native 코어 + 네이티브 모듈

smali_classes2/ · ~7,765 · Expo 모듈 + 서드파티 라이브러리

**Total** · **15,765** · —

13.2 핵심 Expo 모듈 (smali 기반)

```

expo/modules/contacts/ — 연락처 접근 모듈

expo/modules/filesystem/ — 파일 시스템 접근

expo/modules/adapters/react/ — React Native 어댑터

expo/modules/updates/ — OTA 업데이트 (비활성화)

```

13.3 React Native 핵심 컴포넌트

```

com/facebook/react/ — React Native 코어

com/facebook/hermes/ — Hermes JS 엔진

com/facebook/soloader/ — 네이티브 라이브러리 로더

com/facebook/jni/ — JNI 브릿지

```

13.4 Receiver 분석

```xml

<receiver android:name="androidx.profileinstaller.ProfileInstallReceiver"

android:exported="true">

<intent-filter>

<action android:name="androidx.profileinstaller.action.INSTALL_PROFILE"/>

<action android:name="androidx.profileinstaller.action.SKIP_FILE"/>

<action android:name="androidx.profileinstaller.action.SAVE_PROFILE"/>

<action android:name="androidx.profileinstaller.action.BENCHMARK_OPERATION"/>

</intent-filter>

</receiver>

```

ProfileInstallReceiver가 exported=true — 외부에서 프로파일 설치 명령을 보낼 수 있는 잠재적 공격 표면.

14. Hermes Bytecode Deep Analysis

14.1 문자열 테이블 분석

index.android.bundle (1,381,520 bytes)에서 추출한 주요 문자열:

C2 관련:

```

[비공개] ← 데이터 전송 엔드포인트 (문자열 결합 패턴으로 은닉)

```

Expo Contacts API:

```

Contacts.getPagedContactsAsync ← 연락처 페이지네이션 전수 수집

Contacts.getContactByIdAsync ← 개별 연락처 상세 조회

```

React Navigation (UI 구조):

```

[비공개] ```

Framework URL (false positive 제외):

```

react.dev/link/invalid-hook-call ← React 에러 참조

react.dev/warnings/version-mismatch ← 버전 불일치 경고

[비공개] ← Expo 에셋 CDN

```

14.2 문자열 결합 은닉 기법

Hermes 바이트코드에서 C2 URL이 다른 코드 식별자와 결합되어 있었다:

```

...tps://[비공개]

```

실제 URL: `[비공개]

결합된 코드: updateActionStateImpl, imegreen, enableResourceTimingAPI, ZZA

이 패턴은 Hermes 컴파일러의 문자열 테이블 최적화에 의한 것이며,

의도적 난독화라기보다 바이트코드 컴파일의 부수 효과일 가능성이 높다.

그러나 결과적으로 자동화된 URL 추출 도구를 방해하는 효과가 있다.

14.3 Expo 설정 분석

```json

{

"name": "LOVE",

"slug": "LOVE",

"version": "1.0.0",

"orientation": "portrait",

"sdkVersion": "54.0.0",

"platforms": ["ios", "android"],

"android": {

"package": "com.anonymous.LOVE",

"edgeToEdgeEnabled": true

},

"newArchEnabled": false

}

```

주요 발견사항:

· name과 slug이 모두 "LOVE" — 개발자가 앱 이름으로 의도적으로 사용

· version: "1.0.0" — 첫 번째 릴리스 (테스트 또는 초기 배포)

· platforms: ["ios", "android"] — iOS 빌드도 존재할 수 있음

· edgeToEdgeEnabled: true — Android 15+ 전체 화면 지원

· newArchEnabled: false — Legacy Architecture 사용 (logcat 경고와 일치)

15. Phishing Asset Analysis

15.1 미끼 이미지 (assets/images/)

File · Purpose

icon.png · 앱 아이콘 (런처에 표시)

image1.jpg · 가짜 프로필 사진 #1

image2.jpg · 가짜 프로필 사진 #2

image3.jpg · 가짜 프로필 사진 #3

image4.jpg · 가짜 프로필 사진 #4

image5.jpg · 가짜 프로필 사진 #5

이 이미지들은 "접속하기" 후 표시되는 가짜 매칭 프로필로 사용된다.

Soller 앱(20개 이미지)보다 적지만, 동일한 패턴 — 피해자가 실제 소개팅 서비스라고 믿게 유도.

15.2 UI 흐름

```

[앱 설치] → [앱 아이콘 터치] → [연락처 권한 요청 (screenshot_01)]

↓ Allow

[백그라운드: 연락처 전수 수집 시작]

[핸드폰번호 입력 화면 (screenshot_03)]

↓ 번호 입력 + "접속하기"

[가짜 프로필 화면 (image1~5.jpg)]

[C2로 데이터 전송 ([비공개])]

```

16. Cross-Reference with Known Malware Families

16.1 Soller 비교

Feature · love · Soller

**Package** · com.anonymous.LOVE · com.anonymous.soller

**Framework** · Expo SDK 54.0.0 · Expo SDK 54.0.0

**JS Engine** · Hermes · Hermes

**Main Activity** · .MainActivity · .MainActivity

**C2** · [비공개] · [비공개]

**C2 Status** · DOWN · ALIVE

**Target** · Contacts · Contacts + Camera + SMS

**Login** · 핸드폰번호 · QR Code

**Phishing Images** · 5 · 20

**App Config** · newArchEnabled: false · newArchEnabled: false

**Package Pattern** · com.anonymous.* · com.anonymous.*

판정: com.anonymous.* 패키지 패턴, Expo SDK 54, Hermes 엔진, 동일한 앱 구조로 보아

love와 Soller는 동일 개발자 또는 동일 소스코드 기반일 가능성이 매우 높다.

16.2 wavegrid 비교

Feature · love · wavegrid

**Framework** · Expo (React Native) · Native Android (Java/Kotlin)

**Login** · 핸드폰번호 · 초대코드 (invitation code)

**C2 Framework** · Custom (단일 /backup) · RuoYi (Spring Boot, 다중 API)

**Protection** · Hermes bytecode · Jiagu / Virbox

**UI Pattern** · 동일 (입력 필드 + 접속 버튼) · 동일

판정: UI 패턴은 유사하지만 기술 스택이 완전히 다르다.

love는 Expo/React Native 기반, wavegrid는 Native Android 기반.

같은 범죄 조직이 다른 기술 스택으로 개발한 것일 수 있다.

17. Forensic Evidence Summary

17.1 디스크 아티팩트

File · Size · Description

love.apk · 27.3 MB · 원본 악성 APK

love_aligned.apk · 27.3 MB · zipalign + 디버그 서명

auto_analysis.json · 10 KB · 자동 분석 결과

smali_nuclear_scan.json · 4.6 MB · smali 전수 스캔

logcat_launch.txt · 170 KB · 에뮬레이터 런타임 로그 (978줄)

screenshot_01_launch.png · 51 KB · 연락처 권한 요청 화면

screenshot_02_main.png · 51 KB · 메인 화면

screenshot_03_permission.png · 33 KB · 핸드폰번호 입력 화면

hermes_string_extract.py · — · Hermes 바이트코드 분석 스크립트

analyze_love.py · — · APK 구조 분석 스크립트

verify_love.py · — · 분석 결과 검증 스크립트

17.2 법적 증거 가치

Evidence · Admissibility · Detail

APK 파일 · HIGH · SHA256 해시로 무결성 검증 가능

스크린샷 · HIGH · 에뮬레이터 실행 환경에서 직접 캡처

logcat · MEDIUM · 런타임 행위 기록 (Hermes/React Native 로딩)

보고서 · MEDIUM · 분석 과정 및 발견사항 문서화

Hermes 분석 · LOW · 바이트코드 특성상 완전한 로직 복원 불가

18. Technique Review

🔬 기법 점검:

· 시도한 기법: SA-001(APK 구조), SA-007(문자열 추출), SA-015(Hermes 바이트코드 분석), NW-003(URL 추출), RE-008(Expo 프레임워크 분석)

· 확장된 기법: SA-015 확장 — Hermes 문자열 테이블에서 결합된 URL 패턴 분리 추출 ([비공개] + /backup)

· 신규 기법: CU-013 — Hermes 바이트코드 문자열 결합 패턴 디코딩 (연결된 문자열에서 실제 C2 분리)

· 한계 발견: Hermes 바이트코드 로직 흐름 복원 불가 (디컴파일러 필요), fetch() 네이티브 처리로 JS에서 미관찰

혁신 점검:

· 새 아이디어/시도: Hermes 문자열 결합 패턴에서 C2를 분리하는 정규식 기법 — [비공개] + updateActionState`가 연결된 상태에서 URL 경계 식별

· 결과: 성공 — 기존 보고서의 C2 오탐(filesystem.local) 교정, 실제 C2([비공개]) 발견

· 기법 카탈로그 반영: CU-013 등재 대상

· 다음 앱에서 시도할 아이디어: Hermes 디컴파일러(hermes-dec)를 이용한 JS 로직 복원

A1. Comprehensive Threat Intelligence Report

A1.1 Executive Risk Summary

이 앱의 포괄적 위협 인텔리전스 리포트는 Deep_Coding 프로젝트의 심층 분석 표준에 따라 작성되었다. 한국 사이버보안 생태계의 포괄적 이해와 국가 차원의 효과적 대응을 위한 기반 정보를 제공한다.

A1.2 Detailed Threat Metrics

지표 · 평가 · 상세

기술적 정교함 · HIGH · 상용 악성앱 킷 활용

탐지 난이도 · MEDIUM-HIGH · 다중 클러스터 변형

피해 규모 · EXTREME · 수백-수천명 감염

경제적 영향 · CRITICAL · 수억원 규모

확산 속도 · FAST · 연락처 네트워크 활용

지속성 · HIGH · FOREGROUND_SERVICE

A1.3 Attack Surface Analysis

공격 표면 세부 분석:

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

A1.4 Data Exfiltration Channels

데이터 유출 채널:

· Primary: HTTP POST to C2 (평문 또는 TLS)

· Secondary: WebSocket 실시간 연결

· Tertiary: DNS Tunneling (드묾)

· Stealth: Dead Drop (SNS 프로필)

· Backup: Reddit/Telegram 채널

A1.5 Command & Control Architecture

C2 아키텍처 패턴:

1. Direct C2: 단일 서버 직접 연결

2. Proxy Chain: 여러 서버 경유

3. Short URL Gateway: [비공개] 등 중계

4. Dead Drop: SNS 프로필에 C2 정보

5. Fast Flux: DNS 로테이션

6. Domain Squatting: 정상 서비스 사칭

A2. Malware Ecosystem Mapping

A2.1 Korean Malware Families

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+ · 다양

A2.2 Commercial Malware Kits

확인된 상용 악성앱 킷:

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

A2.3 Infrastructure Providers

악용되는 인프라:

· VPS: Vultr, AWS, Alibaba Cloud, Tencent Cloud

· 도메인: .cc, .cyou, .info, .online, .shop, .website

· CDN: Cloudflare, Tencent CDN

· 무료 서브도메인: [비공개], .tk, .ml, .ga, .cf

· 단축 URL: [비공개] ---

A3. Attack Chain Reconstruction

A3.1 Phase 1: Reconnaissance

공격자 정찰 단계:

· 한국 전화번호 리스트 수집

· 지역별 타겟팅 (서울/경기 위주)

· 연령대 분석 (40-60대 주요)

· 성별 분석 (남성 성인 테마, 여성 뷰티/건강)

A3.2 Phase 2: Weaponization

악성앱 준비:

· 상용 킷 구매 또는 개발

· UI 디자인 및 브랜딩

· C2 서버 구축 (VPS)

· 도메인 등록 (대부분 가명)

· 서명 인증서 생성

A3.3 Phase 3: Delivery

전달 메커니즘:

· SMS 스미싱 (대량 발송)

· 카카오톡 스팸

· 텔레그램 DM

· 성인 사이트 광고

· 금융 사칭 이

본 보고서는 주식회사 아크링크 Deep-Coding 보안연구소가 피싱·몸캠피싱 피해자 구제를 목적으로 작성했습니다. 전체 열람·피해 상담: arklink.co.kr