꿈을꾸는 파랑새

반응형

오늘은 국민은행 사칭 하는 안드로이드 악성코드에 대해 적어 보겠습니다.일단 해당 파일 APK 이름을 적어야 하는데 5bcf815813eb7e37c62dd192c4e51711568a85936d53d590c851bb01d702b9f5_W2zm5YW.apk 이런 식으로 돼 있어서 제목에 적지 못하고 이렇게 글을 적어 봅니다. 먼저 분해를 해보면 앱이름과 패키지 이름을 확인해 보면 다음과 같이 적혀져 있습니다.
app name(앱 이름): 국민은행
package name(패키지 이름): com.spy.msecurity
이기 때문에 사용자가 속을 수가 있고 기본적으로 아이콘도 역시 정상적으로 사용하는 국민은행 아이콘을 사용하고 있어서 사용자를 속이기 위한 목적이 있습니다.

국민 은행 사칭 악성코드 안드로이드 권한

일단 기본적으로 이런 악성코드들은 불특정 다수에게 피싱 사이트 주소를 무작위로 카카오톡, 문자들을 통해서 전달하고 사용자가 피싱 사이트에서 다운로드 해서 안드로이드 스마트폰에 강제 설치를 하는 과정을 거칩니다. 일단 몇 번을 이야기하지만, 안드로이드 스마트폰은 기본적으로 외부 사이트에서 앱을 다운로드 해서 설치하는 것을 금지하고 있으며 그리고 기본적으로 외부앱을 설치를 하려고 하면 기본적으로 경고를 통해서 해당 앱 설치를 하면 개인정보가 누출될 수가 있다고 경고를 하고 있습니다.

즉 이 경고를 무시하고 설치를 하면 악성코드에 감염되는 것입니다. 그리고 기본적으로 AV-TEST 등을 참고 해서 백신앱을 설치를 하시는 것을 개인적으로 권장해 드립니다. 이번 악성코드는 보통 악성코드보다 용량이 상당합니다. 무려 21MB를 차지하고 있습니다. 일단 기본적으로 악성코드 해쉬값은 다음과 같습니다.
MD5:18f4144ed3098b96b583be0678b1cc45
SHA-1:83a7424b2f634730ef5add47fdf22c8e385bd8db
SHA-256:5bcf815813eb7e37c62dd192c4e51711568a85936d53d590c851bb01d702b9f5

국민은행 사칭 악성코드 포함된 이미지

그리고 기본적으로 현재에서는 대부분 보안 업체에서 탐지하는 상황입니다.
그리고 악성코드 권한은 다음과 같습니다.
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.AUTHENTICATE_ACCOUNTS
android.permission.BLUETOOTH
android.permission.CALL_PHONE
android.permission.CAMERA
android.permission.CHANGE_WIFI_STATE
android.permission.DISABLE_KEYGUARD
android.permission.EXPAND_STATUS_BAR
android.permission.FOREGROUND_SERVICE
android.permission.GET_ACCOUNTS
android.permission.GET_TASKS
android.permission.INTERNET
android.permission.KILL_BACKGROUND_PROCESSES
android.permission.MODIFY_AUDIO_SETTINGS
android.permission.MODIFY_PHONE_STATE
android.permission.PROCESS_OUTGOING_CALLS
android.permission.READ_CALL_LOG
android.permission.READ_CONTACTS
android.permission.READ_EXTERNAL_STORAGE

com.spyx.base.a.a

android.permission.READ_PHONE_STATE
android.permission.READ_SMS
android.permission.RECEIVE_BOOT_COMPLETED
android.permission.RECEIVE_SMS
android.permission.RECORD_AUDIO
android.permission.REORDER_TASKS
android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
android.permission.SET_ALARM
android.permission.SYSTEM_ALERT_WINDOW
android.permission.VIBRATE
android.permission.WAKE_LOCK
android.permission.WRITE_CALL_LOG
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.WRITE_SYNC_SETTINGS
입니다. 보시면 스마트폰의 권한을 대부분 다 가져가는 것을 볼 수가 있으면 사실상 경찰의 도움을 받고 싶어서 전화해도 보이스피싱 일당으로 전화가 가기 때문에 아무런 도움이 안 됩니다. 즉 본인의 스마트폰은 악성코드에 감염되는 순간부터 본인 통제를 할 수가 없게 됩니다.

그리고 해당 악성코드에 포함된 이미지들을 한번 보겠습니다. 일단 이미지들을 잘 보면 한글과 함께 상담사 얼굴과 소개가 나와있는 것을 볼 수가 있습니다.

com.spyx.c.y

여기서 한글을 보겠습니다.
안녕하세요!
정직과 신뢰를 바탕으로 대출 상담을 도와드리는 믿을 수 있는 상담사이XX입니다.
다른 것을 보면 다음과 같이 적혀져 있는 것을 볼 수가 있습니다.
안녕하세요!
최선을 다해서 고객님의 만의도를 최고로 높이겠습니다. 라는 문장이 있는 것을 확인할 수가 있습니다. 여기서 눈치가 빠르신 분들은 무엇이 잘못이 되었는지 알 수가 있습니다. 즉 한국어가 이상하다는 것을 확인할 수가 있고 정상적으로 국민은행에서 제공하는 어플이라면 띄어쓰기 등이 정확해져야 하는데 그것이 아닌 것을 확인할 수가 있습니다.
그리고 뻔뻔하게 스미싱 해킹으로 지켜 주겠다고 하는 가짜 보안 프로그램을 실행을 시키는 것이 특징입니다.
그리고 스마트폰 IMEI 정보를 훔치기 위한 코드가 다음과 같이 포함이 되어져 있습니다.

국민은행 사칭 앱 이미지

public final String a() {
    String str4 = "";
    String str1 = str4;
    String str2 = str4;
    String str3 = str4;
    try {
      String str;
      Context context = this.a;
      str1 = str4;
      str2 = str4;
      str3 = str4;
      if (Build.VERSION.SDK_INT >= 29) {
        str1 = str4;
        str2 = str4;
        str3 = str4;
        str = Settings.Secure.getString(context.getContentResolver(), "android_id");
      } else {
        str1 = str4;
        str2 = str4;
        str3 = str4;
        str = ((TelephonyManager)str.getSystemService("phone")).getDeviceId();
      } 
      str1 = str4;
      str2 = str4;
      str3 = str4;
      str4 = String.format("%-16s", new Object[] { str }).substring(0, 16);
      str1 = str4;
      str2 = str4;
      str3 = str4;
      try {
        str4 = str4.trim();
        str1 = str4;
        str2 = str4;
        str3 = str4;
        str4 = str4.replaceAll(" ", "");
        str1 = str4;
        str2 = str4;
        str3 = str4;
        e.a("KEY_PHONE_IMEI", str4);
        str1 = str4;
        str2 = str4;
        str3 = str4;
        return e.b("KEY_PHONE_IMEI", str4);
      } catch (SecurityException null) {

      } catch (Exception null) {

      } catch (Throwable throwable) {}
    } catch (SecurityException null) {

com.spyx.c.y 부분에서는 다음과 같이 전화번호를 훔치기 위한 코드도 포함된 것을 볼 수가 있습니다.

 private String b() {
    try {
      return ((TelephonyManager)this.d.getSystemService("phone")).getLine1Number();
    } catch (Exception exception) {
      exception.printStackTrace();
      return "";
    } 
  }

그리고 해당 악성코드에 포함이 되어져 있는 URL 주소는 다음과 같습니다.

Bytecode-Viewer 본 악성코드 인터넷 주소


hxxp://rqd.uu(.)qq.com/rqd/sync
hxxps://www(.)google.com
hxxps://daup(.)map.baidu.com/cltr/rcvr
hxxps://ofloc(.)map.baidu.com/locnu
hxxp://android(.)bugly.qq.com/rqd/async
hxxps://publicsuffix(.)org/list/public_suffix_list.dat
hxxps://api(.)map.baidu.com/sdkcs/verify
Ly(.)xLy/xa
hxxps://mozilla(.)org/MPL/2.0/
hxxps://loc(.)map.baidu.com/sdk_ep.php
hxxp://aexception(.)bugly.qq.com:8012/rqd/async
hxxps://ulogs(.)umeng.com/unify_logs
hxxp://lame(.)sf.net
hxxp://loc(.)map.baidu.com/rtbu.php
hxxp://argus(.)agoralab.co/vosdk/public/report?listener=%u&venderID=%s&channelName=%s
hxxps://loc(.)map.baidu.com/tcu.php
hxxp://loc(.)map.baidu.com/wloc
hxxp://loc(.)map.baidu.com/oqur.php
hxxps://itsdata(.)map.baidu.com/long-conn-gps/sdk.php
hxxps://loc(.)map.baidu.com/cfgs/loc/commcfgs
hxxps://plbslog(.)umeng.com
hxxps://developer(.)umeng.com/docs/66632/detail/
hxxp://astat(.)bugly.qcloud.com/rqd/async
www(.)baidu(.)com
hxxps://alogsus(.)umeng.com/unify_logs
hxxps://your.server(.)com

악성코드 개인정보 전송 사이트

hxxp://schemas(.)android.com/apk/res-auto
hxxps://alogus(.)umeng.com/unify_logs
hxxp://loc(.)map.baidu.com/sdk.php
hxxps://loc(.)map.baidu.com/cc.php
hxxps://ulogs(.)umengcloud.com/unify_logs
hxxp://ns(.)adobe.com/xap/1.0/
hxxp://loc(.)map.baidu.com/iofd.php
w?w.google(.)com
hxxps://ouplog(.)umeng.com
hxxps://loc(.)map.baidu.com/sdk.php
hxxps://cmnsguider(.)yunos.com:443/genDeviceToken
hxxp://schemas(.)android.com/apk/res/android
hxxp://argus.agoralab(.)co/vosdk/public/report?speaker=%u&listener=%u&venderID=%s&channelName=%s
hxxp://103(.)81.169.163:6001
hxxp://loc(.)map.baidu.com/user_err.php

이 포함이 돼 있는 것을 볼 수가 있습니다.

여기서 중요한 것은 hxxp://103(.)81.169.163인데 해당 쪽으로 감염되면 악성코드에 감염된 스마트폰 정보들이 전송되고 그리고 휴대전화 장치, 발신전환설정, 강제발신설정, 블랙리스트 기능을 이용해서 스마트폰에 있는 개인정보들이 빠져나가는 것을 볼 수가 있습니다. 일단 이런 보이스피싱 를 예방하기 위해서 반드시 기본적인 보안 수칙들을 지키는 것이 가장 제일 나은 방법이 될 것입니다.

반응형

댓글

비밀글모드

  1. 은행을 사칭하는 악성코드는 정말 주의해야겠네요.. 잘보고 갑니다 :)
    2021.03.09 02:18 신고
    • 기본적인 보안수칙을 지키면 피해를 줄일수가 있습니다.
      2021.03.09 20:26 신고
  2. 태그 보니..넘 어려워요.
    ㅎㅎ
    2021.03.09 06:16 신고
    • 그냥 간단하게 보안수칙 지키라는 말입니다.
      2021.03.09 20:27 신고
  3. 저도 국민은행 사칭 메일을 한번 받은적있습니다.
    2021.03.09 07:25 신고
    • 항상 조심하는것이 좋죠.
      2021.03.09 20:27 신고
  4. 보이스피싱도 갈수록 진화하는 것 같아요
    잘 보고 갑니다.. ^^
    2021.03.09 08:40 신고
    • 기본적인 수법은 다 비슷합니다.
      2021.03.09 20:27 신고