Bingo 상세 분석 보고서

250303_bingo.apk 악성앱 분석 보고서 v1.0

분석 기관: Deep-Coding 보안연구소 (주식회사 아크링크)

분석일: 2026-02-20

분석자: [비공개] 대표

보고서 버전: v1.0

기밀 등급: 연구용

1. 앱 기본 정보

항목 · 값

**파일명** · 250303_bingo.apk

**파일 크기** · 28,820,885 bytes (28.80 MB)

**SHA256** · `0d148f5504f4abbe75870d3c0a1b006774f8f55ace44bf646bcad728561a3f51`

**패키지명** · `com.xpief.oeuyg.uxnvf` (난독화)

**실제 패키지** · `com.fintek.mx.durian` (lambda 메서드명에서 추출)

**최소 SDK** · 24 (Android 7.0)

**타겟 SDK** · 34 (Android 14)

**빌드 날짜** · 2025-02-28

**수집 날짜** · 2025-03-03

**서명** · META-INF/8888F555.RSA (8888 = 중국 행운 숫자 패턴)

**DEX 파일** · 3개 (classes.dex 10.1MB, classes2.dex 2.6KB, classes3.dex 7.2MB)

**Native .so** · 없음 (Jiagu 패커 미사용)

**악성 패밀리** · **Durian** (com.fintek.mx.durian)

**패밀리 관계** · RedCat (com.jiazai.mx.durian)과 **동일 패밀리**

1.1 패밀리 식별 증거

Bingo와 RedCat은 동일한 Durian 패밀리임이 확인됨:

비교 항목 · Bingo · RedCat

내부 패키지 · com.fintek.mx.durian · com.jiazai.mx.durian

Application 클래스 · MyApp · MyApp

서비스 클래스 · MyServices · MyServices

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

API prefix · api/Anlei/ · api/Anlei/

에뮬레이터 탐지 · EmulatorCheck · EmulatorCheck

암호화 · AesCBC · AesCBC

SSL 우회 · UnsafeOkHttpClient · UnsafeOkHttpClient

연락처 구분자 · @##@ · @##@

고객센터 · KefuActivity · KefuActivity

2. 위험 권한 분석

총 23개 이상의 위험 권한 요청:

권한 · 위험도 · 용도

`READ_CONTACTS` · 🔴 극심 · 연락처 전체 탈취

`READ_SMS` · 🔴 극심 · SMS 메시지 탈취

`READ_CALL_LOG` · 🔴 극심 · 통화 기록 탈취

`CAMERA` · 🔴 극심 · 카메라 촬영

`ACCESS_FINE_LOCATION` · 🔴 극심 · GPS 위치 추적

`ACCESS_COARSE_LOCATION` · 🟠 높음 · 대략적 위치

`READ_PHONE_STATE` · 🔴 극심 · IMEI, 전화번호

`READ_PHONE_NUMBERS` · 🔴 극심 · 전화번호 직접 읽기

`READ_MEDIA_IMAGES` · 🔴 극심 · 사진 갤러리 탈취

`READ_MEDIA_AUDIO` · 🟠 높음 · 오디오 파일

`READ_MEDIA_VIDEO` · 🟠 높음 · 동영상 파일

`READ_CALENDAR` · 🟠 높음 · 일정 탈취

`READ_EXTERNAL_STORAGE` · 🔴 극심 · 외부 저장소 전체

`WRITE_EXTERNAL_STORAGE` · 🟠 높음 · 파일 쓰기

`QUERY_ALL_PACKAGES` · 🟠 높음 · 설치앱 목록

`REQUEST_INSTALL_PACKAGES` · 🔴 극심 · 추가 악성앱 설치

`RECEIVE_BOOT_COMPLETED` · 🟡 중간 · 부팅 시 자동실행

`FOREGROUND_SERVICE` · 🟡 중간 · 백그라운드 유지

RedCat 대비 추가 권한: READ_SMS, READ_CALL_LOG, READ_PHONE_NUMBERS, ACCESS_FINE_LOCATION, READ_CALENDAR, REQUEST_INSTALL_PACKAGES — Bingo가 더 광범위한 데이터 수집 수행.

3. 주요 컴포넌트

3.1 액티비티 / 서비스

컴포넌트 · 타입 · 기능

`MyApp` · Application · 앱 초기화, 전역 변수(bseUrl, userid, qvhao, myphone)

`MainActivity` · Activity · 메인 로그인/등록 (47개 메서드)

`MainActivity2` · Activity · 보조 액티비티

`KefuActivity` · Activity · 고객센터 (客服) — 가짜 CS

`MyServices` · Service · **데이터 탈취 핵심** (20개 메서드)

3.2 유틸리티

클래스 · 기능

`EmulatorCheck` · 에뮬레이터 탐지 (171 insns)

`AesCBC` · AES/CBC/PKCS7Padding 암/복호화

`SSLSocketClient` · SSL 소켓 팩토리 생성

`UnsafeOkHttpClient` · SSL 전면 비활성화

`HttpHelper` · Retrofit 기반 HTTP 클라이언트

`ContentUtil` · 콘텐츠 프로바이더 유틸

`DeviceUtils` · 기기 정보 수집

`LocationUtil` · 위치 정보 수집

`Shooter` · 스크린샷 캡처

`LDNetUtil` · 네트워크 유틸

`HeaderInterceptor` · HTTP 헤더 인터셉터

`CommonLog` · 네트워크 로깅

3.3 DEX 구조

DEX 파일 · 크기 · 클래스 수 · 용도

classes.dex · 10.1 MB · 7,788 · 프레임워크/라이브러리 (OkHttp, Retrofit, Glide, Lottie 등)

classes2.dex · 2.6 KB · 16 · Android API 스텁

classes3.dex · 7.2 MB · 5,673 · **앱 악성 코드** (207 app 클래스 + 5,466 SDK 클래스)

4. C2 서버 / 네트워크 인프라

4.1 C2 서버

서버 · 주소 · 비고

**Primary** · `[비공개] · AWS ap-southeast-1 (Singapore) — **RedCat과 동일!!**

**Secondary** · `[비공개] · kingbet850 도메인 (Durian 공유 인프라)

4.2 IP 수집 서비스

서비스 · URL

Sohu IP 조회 · `[비공개]

IP138 조회 · `[비공개]

4.3 통신 특성

· 프로토콜: HTTP (비암호화!) — MITM 완전 노출

· HTTP 클라이언트: OkHttp 3.x (직접 사용) + Retrofit 2.x (API 인터페이스)

· SSL: X509TrustManager 전체 신뢰 + HostnameVerifier 전체 허용

· 타임아웃: 이미지 업로드 50초, 일반 요청 10초

5. API 엔드포인트 분석

5.1 [피해자 정보 비공개] API

```

POST api/Anlei/register?type=android&userId={userId}

Content-Type: application/json

{

"phone": "{qvhao}{myphone}",

"code": "{6자리 코드}",

"data": "{Build.MANUFACTURER} {Build.BRAND} {Build.MODEL}",

"installedApps": [{packageName, appName}, ...]

}

```

바이트코드 위치: MainActivity.doRegist @ 0x4e1ccc (234 insns)

5.2 연락처 탈취 API

```

POST api/Anlei/subList?type=android&userId={userId}

Content-Type: application/json

{

"list": [/* ContactsContract.Phone 쿼리 결과 JSONArray */],

"phone": "{qvhao}{myphone}",

"userId": "{userId}",

"data": {/* 외부 JSON 래퍼 */}

}

```

수집원: ContactsContract.CommonDataKinds.Phone.CONTENT_URI

필드: display_name, data1 (전화번호), @##@ 구분자

바이트코드 위치: MyServices.showAddress @ 0x4e0e2c → douploadcon @ 0x4e071c

5.3 SMS 탈취 API

```

POST api/Anlei/subSmsList?type=android&userId={userId}

Content-Type: application/json

{

"sms": [/* content://sms 쿼리 결과 JSONArray, 최대 100건 */],

"phone": "{qvhao}{myphone}",

"userId": "{userId}",

"data": {/* 외부 JSON 래퍼 */}

}

```

수집원: content://sms URI

필드: type, address, date, body

제한: JSONArray.length() < 100 (최대 100건)

바이트코드 위치: MyServices.showSms @ 0x4e0f6c → douploadsms @ 0x4e0840

5.4 주소록/위치 API

```

POST api/Anlei/subAddress?type=ios&userId={userId}

```

특이사항: type=ios 하드코딩 — 개발자 복붙 오류. iOS 버전 코드에서 복사한 흔적.

5.5 이미지 탈취 API

```

POST api/AnLei/uploadImg?type=android&userId={userId}

Content-Type: application/x-www-form-urlencoded (FormBody)

userId={userId}&imgstr={파일명}&phone={qvhao}{myphone}&base64str={이미지 Base64}

```

수집원: MediaStore.Images.Media.EXTERNAL_CONTENT_URI

필터링: GIF 파일 제외, 폴더당 21개 미만인 경우만

인코딩: Base64 변환 후 전송

타임아웃: readTimeout/writeTimeout 50초 (대용량 이미지 대응)

바이트코드 위치: MyServices.getImageList @ 0x4e0964 → uploadpicandvideo @ 0x4e0bf0

6. 방어기제 분석

6.1 에뮬레이터 탐지 (EmulatorCheck.isEmulator)

171개 명령어 크기의 에뮬레이터 탐지 함수. 12개 이상의 문자열 비교:

검사 대상 · 비교 문자열 · 방식

`Build.FINGERPRINT` · "generic" · startsWith

`Build.FINGERPRINT` (소문자) · "vbox" · contains

`Build.FINGERPRINT` (소문자) · "test-keys" · contains

`Build.BRAND` · (generic 등) · contains

`Build.DEVICE` · (generic 등) · contains

`Build.PRODUCT` · "sdk" · contains

`Build.PRODUCT` · "google_sdk" · contains

`Build.PRODUCT` · "sdk_x86" · contains

`Build.PRODUCT` · "vbox86p" · contains

`Build.MANUFACTURER` · "Genymotion" · contains

`Build.MODEL` · "Emulator" · contains

`Build.MODEL` · "Android SDK built for x86" · contains

전화번호 · "15555215554" · equals

네트워크 오퍼레이터 · "Android" · equals

우회 방법: Build.prop 스푸핑으로 모든 검사 우회 가능. Jiagu 패커 없어 DEX 직접 패치 가능.

6.3 AES-CBC 암호화

```

알고리즘: AES/CBC/PKCS7Padding

키 생성: SecretKeySpec(key.getBytes(), "AES")

IV 생성: IvParameterSpec(iv.getBytes())

복호화: Base64.decode → Cipher.doFinal

```

참고: AES/CBC/PKCS5Padding, AES/ECB/PKCS5Padding 문자열도 발견 — 다중 암호화 모드 사용.

7. 데이터 탈취 흐름

7.1 전체 실행 흐름

```

1. MainActivity.onCreate()

├── setLocale("zh-CN") // 기본 언어: 중국어 간체

├── setContentView() // TYPE에 따라 activity_mainzh 또는 activity_main

├── initView() // UI 초기화 (262 insns)

├── initData() // XXPermissions 권한 요청

└── showWelcomeMessage() // isRestarted 플래그 확인

2. MainActivity.handleLogin()

├── 6자리 코드 검증 ("\d{6}")

├── 국가코드 포맷팅 ("+" + qvhao + "-")

├── getPhoneNumber() // TelephonyManager

├── checkNetworkPermission()

├── getInstalledApps() // PackageManager (non-system)

└── Handler.postDelayed(doRegist, 3000ms)

3. MyServices.doget() [오케스트레이터]

├── showAddress() → douploadcon() [연락처 탈취]

└── showSms() → douploadsms() [SMS 탈취]

4. 이미지 탈취 (별도 트리거)

└── getImageList() → uploadpicandvideo() [이미지 Base64 업로드]

```

7.2 탈취 데이터 종합

데이터 유형 · 수집 방법 · 전송 API · 데이터 형식

연락처 · ContactsContract.Phone · subList · JSON (name, number)

SMS · content://sms · subSmsList · JSON (type, address, date, body)

이미지 · MediaStore.Images · uploadImg · FormBody (Base64)

전화번호 · TelephonyManager · register · JSON (phone)

기기정보 · Build.MANUFACTURER/BRAND/MODEL · register · JSON (data)

설치앱 · PackageManager · register · JSON (installedApps)

IP/위치 · Sohu/IP138 API · 별도 수집 · 외부 API 조회

8. 기술적 특이사항

8.1 중국어 개발자 흔적

· API prefix: "Anlei" (安雷) — 중국어 이름

· 변수명: qvhao = 区号 (지역번호), myphone = 전화번호

· UI: et_qvhao, et_login_phone, et_login_yy — 중국 전화번호 형식

· 국가코드: +86 하드코딩 (getPhoneNumber에서)

· 기본 언어: zh-CN (SharedPreferences)

· 레이아웃: activity_mainzh (중국어 전용 레이아웃)

· 디버그 문자열: "图片上传" (이미지 업로드), "showAddress--contacts----"

8.2 코드 품질 문제

· type=ios 하드코딩 (subAddress API) — 복붙 오류

· AnLei vs Anlei — 대소문자 불일치 (uploadImg만 AnLei)

· 중복 OkHttpClient 생성 (매 요청마다 new OkHttpClient())

· System.out.println 디버그 출력 미제거

· GIF 필터링의 폴더 크기 제한 (21개) — 의도 불분명

8.3 라이브러리 스택

라이브러리 · 버전/용도

OkHttp 3.x · HTTP 클라이언트

Retrofit 2.x · REST API 인터페이스

Glide · 이미지 로딩/캐싱

Lottie · 애니메이션 (가짜 UI 꾸밈)

Kotlin Coroutines · 비동기 처리

ZXing (zxinglibrary) · QR코드 스캔

ShareTrace SDK · 앱 설치 추적

OkDownload · 파일 다운로드 (드로퍼 기능)

XXPermissions (com.hjq.permissions) · 권한 요청 라이브러리

Gson + RxJava2 · JSON 변환 + 반응형 프로그래밍

9. IOC (Indicators of Compromise)

9.1 네트워크 IOC

유형 · 값

IP · `[비공개]`

포트 · `8101`

도메인 · `[비공개]`

URL · `[비공개]

URL · `[비공개]

URL · `[비공개]

URL · `[비공개]

9.2 앱 IOC

유형 · 값

패키지 · `com.xpief.oeuyg.uxnvf`

내부 패키지 · `com.fintek.mx.durian`

SHA256 · `0d148f5504f4abbe75870d3c0a1b006774f8f55ace44bf646bcad728561a3f51`

서명 · `8888F555.RSA`

9.3 행위 IOC

유형 · 값

API 경로 · `api/Anlei/register`

API 경로 · `api/Anlei/subList`

API 경로 · `api/Anlei/subSmsList`

API 경로 · `api/Anlei/subAddress`

API 경로 · `api/AnLei/uploadImg`

구분자 · `@##@` (연락처 구분)

10. RedCat과의 패밀리 비교

항목 · Bingo · RedCat

**수집일** · 2025-03-03 · 2025-01-25

**크기** · 28.80 MB · 15.28 MB

**패키지** · com.xpief.oeuyg.uxnvf · dxvrzpyz.ekgtvtbt.vquvqlv.bomsrwhq

**내부 패키지** · com.fintek.mx.durian · com.jiazai.mx.durian

**패커** · 없음 · Jiagu (360 加固)

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

**C2 도메인** · [비공개] · [비공개]

**DEX 수** · 3 · 2 (1개는 암호화)

**권한 수** · 23+ · 13

**API prefix** · api/Anlei/ · api/Anlei/

**연락처 구분자** · @##@ · @##@

**SMS 탈취** · ✅ (100건 제한) · ✅

**이미지 탈취** · ✅ (Base64) · ✅ (JPEG 80% 압축)

**앱 목록 수집** · ✅ (PackageManager) · ✅

**SSL 우회** · ✅ (UnsafeOkHttpClient) · ✅ (UnsafeOkHttpClient)

핵심 결론: Bingo는 RedCat의 진화형 변종. 더 많은 권한 요청, Jiagu 패커 제거(탐지 회피 전략 변경), 동일 C2 인프라 공유.

11. 결론

250303_bingo.apk는 Durian 패밀리에 속하는 몸캠피싱/연락처 탈취 악성앱으로, 이전 분석한 RedCat(260125_RedCat.apk)과 동일 C2 서버([비공개]) 및 동일 API 구조(api/Anlei/)를 공유합니다.

주요 특징:

1. 패커 미사용: Jiagu 없이 DEX 직접 배포 — 분석 난이도 감소, 배포 속도 증가 전략

2. 광범위한 데이터 수집: 연락처, SMS, 이미지, 통화기록, 캘린더, 설치앱 등 6종 이상

3. 중국 개발조직: API 이름(Anlei/安雷), 변수명(qvhao/区号), 언어 설정(zh-CN)

4. 공유 인프라: RedCat과 동일 AWS Singapore IP + 동일 API 구조

5. SSL 전면 비활성화: 모든 인증서/호스트 신뢰 → MITM 완전 취약

6. 18개 메서드 바이트코드 분석 완료: 데이터 수집→전송→암호화 전체 흐름 재구성

위협 등급: 🔴 Critical

*이 보고서는 피싱/스미싱 [피해자 정보 비공개] 위한 정당한 보안 연구 목적으로 작성되었습니다.*

*© 2026 Deep-Coding 보안연구소 (주식회사 아크링크)*

> 침투·역공 등 민감 분석 섹션은 비공개입니다. 피해 상담·전체 열람 문의: [비공개]

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