상세 컨텐츠

본문 제목

코로나 대출 사기! 경기 침체를 노린 악성 앱 분석

악성코드 분석 리포트

by 알약3 2022. 3. 23. 17:57

본문

 

안녕하세요? 이스트시큐리티 시큐리티대응센터(이하 ESRC)입니다.

코로나 신규 확진자 수가 점차 늘어남에 따라 자가격리자도 늘어났고 작은 규모의 음식점이나 매장에서는 사람 수가 현저히 줄어든 것을 확인할 수 있습니다. 매출이 줄어든 소상공인들이 힘든 시기에 어렵게 가게를 유지하고 있는 와중에 보이스피싱 범죄 조직은 이들을 대상으로 저금리 대출이란 미끼를 던지고 있습니다.

 

 

개요

 

 

시중 은행의 개인 신용대출의 경우 평균 4~6%의 금리를 가지고 있고 저금리 대출에 관심을 가지다 보면 [그림 1]과 같은 대출 상품 안내 문자를 종종 볼 수 있습니다.

 

 

[그림 1] 문자 내용

 

 

저금리를 미끼로 작성하였기 때문에 문자를 받은 사용자들은 혹할 수밖에 없으며 정부지원과 무료 거부, 평일 상담 시간 등등 실제로 기업에서 보낸 것처럼 위장하여 사용자가 알아차리기 힘듭니다.

 

보이스 피싱의 시작은 해당 문자에 적힌 url이 있는지, 전화번호가 있는지에 따라 순서가 조금 다르지만 같은 맥락을 가지고 있습니다. url이 포함되어 있을 경우 모바일 신청서로 위장한 악성 앱을 다운로드하고 설치합니다. 전화번호만 있을 경우 해당 번호로 연락하면 모바일 신청서를 보내준다며 [그림 2]와 같은 문자를 전송해줍니다.

 

 

[그림 2] 다른 문자 내용

 

 

앱 설치를 마치면 기기를 다양하게 제어할 수 있으므로 이 부분부터 이루어지는 것이고 이후 본격적인 보이스피싱을 시도합니다. 신용 등급을 문제 삼으며 돈을 최대치로 받기 위해서는 신용 등급부터 높이라고 추가 대출을 먼저 요구합니다. 이때 악성 앱이 설치되어 있어서 실제 금융회사나 기업에서 전화한 것처럼 조작하고 피해자는 이 사실을 인지하기 어렵습니다. 안내에 따라 대출을 받고 돈을 수거책에게 넘기면 피해자만 남게 됩니다.

 

이처럼 스미싱 문자를 통한 피해사례는 지속해서 증가하고 있으며 악성 앱을 만드는 제작자도 시나리오에 따라 앱의 형태를 변경하고 있습니다.

 

 

[그림 3] 앱 실행 화면

 

 

최근 앱들은 [그림 3]과 같이 대출 관련 앱으로 위장하고 있으며 보안 서비스 체크와 업데이트를 명목으로 추가 앱 설치를 유도합니다.

 

 

[그림 4] 추가 앱 설치

 

 

다양한 권한들을 요구하지만, 실제 보안 프로그램처럼 위장하였기 때문에 무의식적으로 설치를 할 수 있습니다. 설치가 완료되면 신청서 페이지를 정상적으로 띄워 사용자를 속입니다.

 

 

[그림 5] 앱 실행 화면

 

 

여러 가지 금융회사로 위장하였으며 [그림 5]와 같이 다른 버전의 앱들도 존재합니다. 무엇보다 어떤 버튼을 클릭하는지와 상관없이 보안 업데이트 문구, 보안 프로그램을 설치하도록 유도하는 과정은 동일합니다.

 

 

본 분석 보고서에서는 보이스피싱에 활용되어 피해를 주는 악성 앱인 “Trojan.Android.Banker”를 살펴보도록 하겠습니다.

 

 

코드 분석

 

악성 앱의 주요 행위는 다음과 같습니다.

  • 통화
    • 통화 발신
    • 통화 착신
    • 통화 가로채기
    • 통화 강제 종료
  • 문자
    • 읽기
    • 보내기
    • 가로채기
  • 연락처 삭제, 추가, 변경, 탈취
  • 녹음 파일로 저장 및 실시간 도청
  • 블루투스 상태 변경
  • 와이파이 상태 변경
  • C2 명령 수행
  • 위치정보 탈취
  • 갤러리 이미지 탈취
  • 앱 삭제

 

 

[그림 6] 클래스 목록

 

 

분석은 [그림 4]와 같이 추가 앱을 설치함으로 구분을 짓기 위해 대출 신청을 접수 받는 Intro앱과 실질적인 기능을 담당하는 보안 secu앱으로 호칭을 정하여 진행하였습니다.

 

먼저 인트로 앱을 살펴보면 클래스 수가 아주 적은 것을 확인할 수 있는데 특정 패커를 통해 보호하기 때문에 DEX를 추가로 드롭하여 소스 코드를 보호합니다.

 

 

[그림 7] 기기 정보 전송

 

 

인트로 앱에서 드롭 된 dex를 분석하면 [그림 7]과 같이 기기 정보를 전송하는 것을 확인할 수 있습니다. 서버로 전송할 때 postVal에 인자 형태로 데이터를 첨부하여 전송하는데 해당 값은 rb!nBwXv4C%Gr^84 AES 키로 암호화 되어 전송됩니다.

 

 

[그림 8] 압축해제

 

 

[그림 6]을 살펴보면 Assets 폴더에 dCiajR.sz, tnrTHf.sz 2개의 파일이 존재합니다. 해당 파일들은 zip 압축 파일로 패스워드가 설정되어 있으며 패스워드는 [그림 8]에서 볼 수 있듯이 slal18sha으로 확인되었습니다.

 

tnrTHf.sz: 대출 신청 접수 화면을 비롯한 웹 페이지 구성 소스들을 포함

dCiajR.sz: 추가로 설치되는 보안 secu앱을 포함

 

인트로 앱은 실제 동작하는 것처럼 위장, 전반적인 화면 표시 및 추가 설치가 중점적인 APP입니다. 기기 정보를 서버로 전송하는 것 이외에는 세팅을 중점으로 진행됩니다.

 

 

[그림 9] 클래스 목록

 

 

추가로 설치되는 보안 secu앱을 살펴보면 [그림 6]에서 본 것과 비슷해 보이는 클래스 목록입니다. Assets 구성이 조금 다르지만, 마찬가지로 dex 드롭을 진행하여 소스 코드를 보호하는 것을 확인할 수 있습니다.

 

 

[그림 10] 녹음

 

 

/log 폴더에 mp4 형식으로 녹음을 진행하여 파일로 저장할 수 있습니다.

 

 

[그림 11] SMS 읽기

 

 

문자를 읽어서 로그 형태로 서버에 전송할 수 있으며 삭제와 전송도 가능합니다.

 

 

 

[그림 12] 연락처 작성

 

 

연락처 역시, 읽고 삭제할 수 있지만 새로 작성하여 다른 번호를 위장할 수도 있습니다.

 

 

 

[그림 13] 블루투스

 

 

블루투스 제어를 할 수 있으며 와이파이와 LTE on/off 형식으로 제어 가능합니다.

 

 

[그림 14] 통화 제어

 

 

[그림 14]는 걸려 오는 전화들을 확인하여 미리 등록된 번호일 경우 통화 종료시키는 기능입니다. 이외에도 통화 관련하여 다양한 제어가 가능한데 종료 및 강제 발신, 착신 전환 등등 수행할 수 있습니다.

 

 

[그림 15] 위치 정보

 

 

기기의 위치 정보를 불러와 파악할 수 있습니다.

 

 

[그림 16] 이미지 탐색

 

 

이미지 업로드 명령을 통해서 갤러리에 있는 사진을 서버로 전송할 수 있는 기능도 포함되어 있습니다.

 

 

[그림 17] 서버 주소

 

 

위의 소개된 기능 이외에도 각종 다양한 기능들을 수행할 수 있는데 문자, 연락처, 통화 관련된 정보들은 [그림 17]과 동일한 서버로 전송합니다.

 

 

[그림 18] 추가 서버 주소

 

 

하드 코딩되어 있는 C2 주소는 연결이 안 되거나 변경될 수가 있으므로 C2를 유지하기 위해 별도의 사이트에서 불러오는 기능도 추가되었습니다.

 

 

[그림 19] 레딧 페이지

 

 

추가 C2 주소는 레딧 페이지에서 [그림 18]과 같은 구문분석 과정을 거치고 [그림 19]에서 보이는 중간값을 가져온 후 AES를 통해 디코딩하여 실제 여분의 C2를 받아오고 있습니다. 레딧뿐만 아니라 깃허브나 구글 블로그를 통해 가져오는 경우도 확인되었습니다.

 

 

결론

 

 

분석을 더욱 어렵게 하기 위해 추가 앱을 설치하고 데이터를 암호화하는 등 지속적인 업그레이드가 진행되고 있으며 시나리오 또한 더욱 정교해지고 있습니다. 결국 최종 목표는 피해자들의 금전을 탈취하는 것이고 이러한 스미싱 공격은 사용자의 예방과 노력이 무엇보다 중요합니다.

 

 

[그림 20] 다양한 앱 목록

 

 

[그림 20]과 같이 다양한 앱들이 존재함으로 이름과 아이콘만으로는 판단하기 어렵습니다. 따라서 구글 플레이 스토어 같은 공식 홈페이지에서 앱을 다운받는 것을 권장합니다. 링크 등을 통한 앱 설치 시 본인의 스마트폰이 위협에 노출될 수 있음을 인지하고 주의를 기울여야 하며 알약M과 같은 신뢰할 수 있는 백신을 사용하여야 하겠습니다.

 

 

다음은 악성 앱 공격의 예방 및 대응 방법입니다.

 

    -   악성 앱 예방

        1)    출처가 불분명한 앱은 설치하지 않는다.

        2)    구글 플레이 스토어 같은 공식 사이트에서만 앱을 설치한다.

        3)    SMS나 메일 등으로 보내는 앱은 설치하지 않는다.

 

    -   악성 앱 감염 시 대응

        1)    악성 앱을 다운로드만 하였을 경우 파일 삭제 후 신뢰할 수 있는 백신 앱으로 검사 수행.

        2)    악성 앱을 설치하였을 경우 신뢰할 수 있는 백신 앱으로 검사 및 악성 앱 삭제.

        3)    백신 앱이 악성 앱을 탐지하지 못했을 경우

               A.      백신 앱의 신고하기 기능을 사용하여 신고.

               B.       수동으로 악성 삭제

 

 

현재 알약M에서는 해당 앱을 'Trojan.Android.Banker' 탐지 명으로 진단하고 있습니다.

 

 

관련글 더보기

댓글 영역