상세 컨텐츠

본문 제목

쇼핑몰 이어 여행사 사칭 스미싱

악성코드 분석 리포트

by 알약1 2022. 11. 7. 17:36

본문

 

 

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

 

스미싱 문자는 택배, 공공기관, 쇼핑몰 등등 다양한 패턴으로 사용자들의 돈을 노리고 접근해오고 있습니다. 이 중에서도 쇼핑몰을 위장한 악성 꾸준하게 발견되고 있으며 상품명과 결제 금액만 무분별하게 유포하고 있습니다. 최근 해외여행을 다녀오는 사람들이 증가함에 따라 관련 상품으로 사칭한 스미싱 문자도 발견되고 있으므로 사용자의 각별한 주의가 요구됩니다.

 

 

보이스피싱 발견비율
[국외발신] OOO님 [해외직구] 본인실명인증완료 KRW:865,180원 결제완료 사고신고접수:xxxx-xxxx   3.9%
OOO님 주문하신OOO OOOO [국민은행] 1,187,000원 결제완료 본인아닌경우 신고 전화문의:050-xxxx-xxxx   3.9%
[국제발신] 고객님 해외직구 962,300원 완료 통관고유부호 안내문의: 02-xxxx-xxxx    1.9%

[표 1] ESRC 9월 스미싱 트렌드 보고서 참조

 

 

상품 문자의 특징은 별도의 링크 없이 결제금액과 상품명, 연락처를 통해 사람들에게 확인 전화를 유도하고 있습니다. 이번 여행 상품 또한, 구매 완료 문자로 배포 중이며 공격자는 유명 커뮤니티를 사칭하거나 구글 플레이 스토어를 복사한 페이지도 직접 만들어 운영 중입니다.

 

 

실행 화면 및 앱 권한

 

 

[그림 1] 배포 페이지

 

[ 1]에서 보았듯이 결제하지 않았으나, 완료 문자를 보고 혹시나 하는 마음에 전화를 시도하면 상담원이 [그림 1]과 같은  웹 페이지로 접속을 유도합니다. (앱을 설치할 때는 구글 플레이 스토어에 직접 접속하여 내려받는 것을 추천해 드립니다.)

 

 

[그림 2] 앱 실행 화면(메인)

 

 

안내에 따라 웹 페이지에서 앱을 내려받은 후 설치하면 [그림 2]와 같은 화면을 볼 수 있습니다. 오른쪽이 사칭 앱이며 실제(왼쪽) 앱과 유사한 것을 확인할 수 있습니다. 다양한 메뉴들이 보이지만 제대로 작동하는 것은 없고 클릭 시 로그인 페이지로 넘어갑니다.

 

 

[그림 3] 앱 실행 화면(조회)

 

 

실제 앱과 다르게 별도의 회원가입은 진행되지 않으며 로그인 기능 또한, 작동하지 않습니다. 다만 비회원 예약조회는 가능합니다.

 

 

[그림 4] 추가 앱 설치

 

 

개인정보 입력 후 조회를 누르면 추가 앱 설치 알림이 지속해서 나타납니다.

 

 

[그림 5] 앱 실행 화면(결과)

 

 

정상적으로 추가 앱을 설치하면 [그림 5]처럼 상품을 보여주는 결과 창이 나타납니다. 해당 화면은 위장한 페이지임으로 [그림 3]에서 개인정보 이외에 아무거나 입력하더라도 같은 상품을 보여주고 있습니다.

 

 

[그림 6] 앱 권한

 

 

여행사 위장 앱은 특별한 권한을 요구하지 않고 실질적으로 악성 행위를 하는 보안 앱이 다양한 권한들을 요구하고 있습니다.

 

 

[그림 7] 배포 사이트

 

 

동일한 공격자가 배포 중인 다른 앱을 살펴보면 위와 같은 사이트로 안내하고 있습니다. 구버전, 최신버전을 상관하지 않고 플레이스토어를 위장한 웹 사이트를 운영 중입니다.

 

 

본 분석 글에서는 보이스 피싱에 활용되는 악성 앱 "Trojan.Android.Banker"를 살펴보도록 하겠습니다.

 

 

코드 분석 - 초기 설정

 

 

[그림 8] 화면 표시

 

 

악성 앱을 설치한 후 실행하면 미리 구축해둔 가짜 사이트 화면을 사용자에게 보여줍니다.

 

 

[그림 9] 추가 앱 설치

 

 

웹 사이트에서 비회원 조회를 하고 있을 때 백그라운드에서는 리소스에 있는 악성 앱을 추가 설치 시도하고 기본적인 세팅을 진행합니다.

 

 

[그림 10] 초기 세팅 값

 

 

서버 아이피를 비롯한 기본 세팅 정보들을 SharedPreferences를 활용해 저장하고 있습니다.

 

 

[그림 11] 설치 과정

 

 

여행사를 위장한 앱은 실질적인 악성 행위를 하지 않으므로 추가 앱 설치를 필수적으로 요구합니다.

 

 

코드 분석 - 기능 설명

 

 

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

  • 통화
    • 통화 착, 발신 제어
    • 통화 강제 종료
    • 통화 기록 제어
    • 페이크 통화
  • 문자
    • 탈취 및 전송
  • 연락처
    • 생성
    • 읽기
    • 삭제
  • 녹음 파일 저장 및 실시간 도청
  • 음성 파일 재생
  • 위치 정보 탈취
  • 갤러리 탈취

 

 

[그림 12] DB 활용

 

 

추가로 설치한 악성 앱은 다양한 기능을 수행하면서, DB를 활용합니다. 통화 녹음이나 앨범을 탈취하고 강제로 전화를 걸거나 패스할 전화번호 등을 등록하여 제어하고 있습니다.

 

 

[그림 13] 앱 삭제

 

 

알약 M을 포함한 백신 앱과 스팸 차단 앱들을 미리 삭제하려고 시도합니다.

 

 

[그림 14] 통화 기록 수정

 

 

통화 기록을 생성하거나 삭제할 수 있습니다.

 

 

[그림 15] 위치 정보 탈취

 

 

기기에 GPS를 활용해 실시간 위치를 파악할 수 있으며 위치가 바뀌더라도 지속해서 확인할 수 있습니다.

 

 

[그림 16] 페이크 전화

 

 

실제 전화를 하는 것이 아니라 전화 화면과 똑같은 이미지들을 조합해 화면에 띄워 사용자를 속입니다. 실제 녹음 파일을 재생하거나 키패드도 구현되어 있어서 구분하기 어렵습니다.

 

 

[그림 17] 문자 탈취

 

 

새로 받은 문자들을 모아 탈취하고 있습니다.

 

 

[그림 18] 연락처 수정

 

 

페이크 전화 이후 화면과 녹음파일만 재생하였기 때문에 전화 기록도 생성하고 수정할 수 있습니다.

 

 

[그림 19] 기기 정보 탈취

 

 

통신사, IMEI, 모델명 등등 기기 정보 또한, 탈취하고 있습니다.

 

 

 

코드 분석 - 암호화 과정

 

 

[그림 20] 문자열 난독화

 

 

앱 분석 시 모든 문자열은 [그림 19]와 같이 난독화 처리가 되어 있습니다.

 

 

[그림 21] XOR 연산

 

 

난독화된 문자열은 base64로 디코딩한 후 XOR 연산을 거쳐 평문으로 전환됩니다.

 

 

[그림 22] 호스트 갱신

 

 

초기 세팅에 하드코딩 형식으로 아이피를 적어놨기 때문에 C2가 변경되었을 경우 정상적으로 작동하지 않습니다. 따라서 앱이 실행될 때마다 새로운 아이피를 갱신합니다.

 

 

[그림 23] 서브 C2

 

 

그에 대한 방법으로 구글 드라이브를 활용하고 있으며 특정 파일명을 가져와 AES 방식으로 복호화하여 새로운 서버의 아이피로 활용합니다.

 

 

결론

 

 

[그림 24] 다른 앱 실행 화면

 

 

공격자는 여러 가지 버전의 스미싱 문자를 지속해서 배포 중이며 쇼핑몰부터 커뮤니티, 본인인증 앱 등등 다양하게 만들어서 사용자들을 속이고 있습니다. 이들은 직접 피싱 사이트를 구축하거나 실제 사이트를 연결해 보여주기 때문에 앱을 설치할 땐 직접 구글 플레이 스토어에 검색해서 앱을 설치하는 것을 권장해 드립니다.

 

 

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

 

    -   악성 앱 예방

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

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

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

 

    -   악성 앱 감염 시 대응

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

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

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

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

               B.       수동으로 악성  삭제

 

 

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

 

 

관련글 더보기

댓글 영역