안드로이드(Android) 스마트폰 사용자를 표적으로 웹사이트 접속 과정에서 자동으로 악성 APK 파일 다운로드를 통해 금융 정보를 수집하는 악성앱 유포에 대해 2015년경에 블로그를 통해 소개해 드린 적이 있었습니다.
해당 유포 활동은 2016년에도 PC용 파밍(Pharming) 악성코드와 마찬가지로 다양한 웹사이트 해킹을 통해 끊임없이 발생하고 있습니다.
이에 최근에 진행되고 있는 모바일 뱅킹 정보 수집 목적으로 제작된 APK 악성앱의 유포 방식과 설치에 관해 간단하게 살펴보도록 하겠습니다.
이 글에서 언급하는 악성앱에 대한 기본 정보를 제공해주신 Ec0nomist님과 바이러스 제로 시즌 2 보안 카페 회원님들에게 감사드립니다.
안드로이드(Android) 스마트폰 사용자가 특정 웹사이트에 접속할 경우 관리자 몰래 삽입된 코드를 통해 외부의 악성 스크립트 연결을 통해 "모듈이 설치되지 않았습니다. Flash.apk를 설치하신 후 다시 진행해주시기 바랍니다. [설치하기]" 메시지가 생성될 수 있습니다.
이후 생성된 메시지 창에서는 Adobe Flash Player 앱의 업데이트 내용과 설치 방법을 안내하며 자동으로 외부 서버에서 APK 파일이 다운로드될 수 있습니다.
- (숫자)_flash.apk (SHA-1 : a6561b44573ca3394842e050afcf49b23a65e03c - AhnLab V3 모바일 : Android-Trojan/Bankun.dff0)
- assets\lib.so (SHA-1 : ebcae0c29cf8a19e1e802c0868374ffd48186e0d - avast! : Android:FakeBank-J [Trj])
다운로드된 Flash.apk 파일은 Google Play 스토어 아이콘 모양을 하고 있으며, 단순히 다운로드된 APK 파일은 자동 실행되지 않지만 사용자가 호기심에 클릭하여 앱 설치를 진행할 경우 최종적으로 감염됩니다.
- android.permission.ACCESS_WIFI_STATE
- android.permission.CHANGE_WIFI_STATE
- android.permission.WAKE_LOCK
- android.permission.WRITE_EXTERNAL_STORAGE
- android.permission.READ_PHONE_STATE
- android.permission.SEND_SMS
- android.permission.RECEIVE_SMS
- android.permission.READ_CONTACTS
- android.permission.WRITE_CONTACTS
- android.permission.RECEIVE_BOOT_COMPLETED
- android.permission.CALL_PHONE
- com.android.launcher.permission.INSTALL_SHORTCUT
- com.android.launcher.permission.UNINSTALL_SHORTCUT
- android.permission.RECEIVE_BOOT_COMPLETED
- android.permission.RESTART_PACKAGES
- android.permission.GET_TASKS
- android.permission.KILL_BACKGROUND_PROCESSES
- android.permission.SYSTEM_ALERT_WINDOW
- android.permission.READ_LOGS
- android.permission.VIBRATE
- android.permission.MODIFY_AUDIO_SETTINGS
- android.permission.INTERNET
- android.permission.ACCESS_NETWORK_STATE
Flash.apk 악성앱을 설치할 경우 "Google App Store" 이름(패키지 이름 : com.zwlzyfzw.gwzxbfx)으로 설치되며 악성앱이 설치될 경우 SMS 문자 메시지와 통화 기록 확인, 백그라운드 방식으로 프로세스 종료, 경고창 생성, 바로 가기 아이콘 설치 및 삭제, 연락처 정보 확인 등을 요구하고 있습니다.
최초 설치된 "Google App Store" 악성앱은 Play 스토어(정상앱)과 아이콘 모양이 매우 유사하며 사용자가 악성앱을 직접 실행할 경우 동작과 함께 바로 가기 아이콘은 삭제되어 자신의 존재를 숨기게 됩니다.
그렇다면 설치된 "Google App Store" 악성앱이 숨기고 있는 악의적인 기능은 무엇인지 코드를 통해 살펴보도록 하겠습니다.
우선 실행된 "Google App Store" 악성앱은 특정 QQ 계정에 접속하여 "114.45.49.210" IP 서버 정보를 기반으로 감염자의 전화번호를 기반으로 연결을 시도할 수 있으며 테스트 당시에는 정상적으로 연결되지 않고 있습니다.
감염된 스마트폰에서 공인인증서(NPKI) 검색을 통해 인증서가 발견된 경우 ZIP 압축을 통해 "yovw.evo.edns.biz" 서버로 업로드를 할 수 있습니다.
또한 V3 Mobile Plus 2.0(com.ahnlab.v3mobileplus), 알약 안드로이드(com.estsoft.alyac) 백신앱을 체크하여 존재할 경우 홈(Home) 화면으로 전환할 수 있습니다.
특히 금융앱 설치 및 동작 시 필수적으로 동작할 수 있는 V3 Mobile Plus 2.0 보안앱의 경우에는 삭제를 진행할 수 있으며, 대신 baby.apk 악성앱(SHA-1 : 031d7ac9a56b9d54c21d2c661cbad9023863f238 - BitDefender : Android.Trojan.FakeBank.BJ)을 통해 가짜 V3 Mobile Plus 2.0 보안앱을 노출시킬 수 있습니다.
- 경남은행
- 국민은행
- 기업은행
- 농협
- 부산은행
- 새마을금고
- 신한은행
- 신협
- 외환은행
- 우체국예금
- 하나은행
감염된 스마트폰 기기에 11종의 금융앱이 존재할 경우 자동 또는 금융앱 실행 시 "최신 업데이트가있습니다 설치후 서비스이용하십시오!"와 같은 메시지 창을 생성할 수 있습니다.
이를 통해 감염된 스마트폰 사용자가 금융앱에 접속할 경우 각종 금융 정보 및 개인정보 입력을 유도하여 정보 탈취가 이루어질 수 있습니다.
특히 보안카드 정보를 수집할 목적으로 "보안 강화를 위한 안전 보안사진 촬영을 완료해 주시기 바랍니다."와 같은 메시지를 통해 사용자가 직접 보안카드를 촬영할 경우 이를 외부로 유출할 수 있습니다.
그러므로 평소 스마트폰을 이용한 인터넷 이용 중 자동으로 APK 파일이 다운로드되거나 의심스러운 메시지를 생성하여 APK 파일 다운로드 및 설치를 유도하는 행위가 이루어질 경우에는 절대로 APK 파일을 실행하여 악성앱을 설치하는 일이 없도록 하시기 바랍니다.
이 글에서 언급한 "Google App Store" 악성앱은 Google Play 스토어(정상앱)과 매우 유사하여 혼동할 수 있으므로 주의하시기 바라며, 악성앱 제거를 위해서는 모바일 백신 또는 설치된 애플리케이션에서 찾아 강제 종료 후 삭제하시기 바랍니다.