본문 바로가기

공지사항

이스트시큐리티 소식을 알려드립니다.

몸캠피싱 악성 앱 Trojan.Android.Infostealer 분석

보안공지 2021-07-21


 

몸캠 피싱은 여러 가지 방법으로 피해자에게 연락하여 화상 채팅을 유도하고 피해자의 모습을 촬영한 후 주변 지인들에게 유포를 빌미로 협박하는 수법입니다.

 

공격자의 목적은 오로지 돈이며 요구하는 가격 또한 피해자마다 천차만별입니다. 현재까지도 꾸준하게 발생하는데 특정 공격자들이 매일 1~2개씩 지속해서 악성 앱을 만들어 내고 있으며 좀 더 조직화하여 활동하는 것으로 보입니다.

 

[그림 1] 악성 앱 목록

 

 

유포되고 있는 악성 앱 목록을 살펴보면 [그림 1]과 같이 다양하게 위장하고 있는 것을 확인할 수 있습니다. 이러한 앱을 설치하게 되는 몸캠 피싱의 몇 가지 유형에 대해 알아보도록 하겠습니다.

 

 

유형 소개

 

 

 

랜덤 채팅

 

 

[그림 2] 채팅 앱 목록



피해자에게 연락하기 위해 여러 가지 매체를 활용하는 데 제일 많이 사용되는 것이 랜덤 채팅 앱입니다. 채팅 앱은 익명으로 접근할 수 있으며 모르는 사람들에게 대량으로 문자를 보내 피해자를 찾습니다. 이후 카카오톡과 라인, 텔레그램 등의 메신저 아이디를 넘겨주며 본격적인 작업이 진행됩니다.



SNS


[그림 3] 친구 요청



다음으로는 인스타 or 페이스북과 같은 SNS를 활용해 이루어지는 방법입니다. [그림 3]과 같이 가짜 계정으로부터 친구 요청이 오고 메시지를 통해 연락을 주고받습니다. 영상 통화가 가능하므로 사진을 주고받다 보면, 공격자는 친구 목록과 팔로워들을 미리 캡처하여 보관하고 태세 전환을 하면서 유포합니다. 이와 같은 방법은 굳이 악성 앱을 설치하지 않고도 진행할 수 있습니다.

 


오픈 채팅

 

 

[그림 4] 오픈 채팅 방 생성



다음 유형은 오픈 채팅을 활용한 방법으로, 특정 키워드를 지정해 검색이 가능한 방을 생성하면 [그림 4]와 같이 모르는 사람들이 쉽게 접근해 오는 것을 확인할 수 있습니다. 이 또한, 익명을 유지할 수 있고 관리하기 용이하여 자주 사용되는 방법입니다. 굳이 홍보하지 않아도 찾아올뿐더러 다른 곳에서 오픈 채팅 링크를 공유해 넘어올 수도 있습니다.

 

[그림 5] 가짜 사이트



위의 3가지 방법을 살펴보았고 이어서 한 가지 시나리오를 살펴보도록 하겠습니다. 랜덤채팅 앱에서 모르는 사람이 말을 걸어옵니다. 대화를 나누다 보면 불편하다는 이유로 메신저로 넘어가게 되고 자신이 특정 업소에서 일하는 중인데 퇴근 예약을 신청해야 한다며 사이트를 공유해줍니다.

 

해당 사이트는 구글에 검색해도 나오기 때문에 피해자가 판단하는 데 있어 어려움이 있습니다. [그림 5]와 같이 사이트에 접속해 실시간 대화를 통한 문의를 하면 운영자는 보안상 문제를 핑계 삼아 앱 설치를 유도합니다. 앱을 실행하면 정보가 넘어가기 때문에 이후 과정은 돈을 요구하는 협박뿐입니다.


코드 분석


 

악성 앱의 주요 행위는 아래와 같습니다.


● 정보 탈취 

 - 통화 기록 

 - 문자 기록 

 - 주소록 

 - 앨범 사진 

 - 위치 정보 

 - 사진 촬영 

 - 디바이스 정보 


 ● 정보 삭제 

 - 주소록 

 - 문자 기록 


 ● 정보 생성 

 - 주소록 


 ● C2 명령 수행



정보수집

 

 

[그림 6] 빈 화면 코드



피해자를 속이기 위해 앱 아이콘은 위장하고 있지만, 앱 실행 화면은 별다른 표시를 하지 않습니다. 실제 기능들은 백그라운드로 작동하며 빈 레이아웃을 통해 흰 화면만 지속해서 나타낼 뿐입니다.


[그림 7] 디바이스 정보



디바이스의 각종 정보를 가져다가 서버로 전송합니다.

 

[그림 8] 문자 기록 수집



문자 내용을 조회하여 최근 문자 내용들을 수집합니다.

 

[그림 9] 전화 기록 수집



전화 통화 기록 또한, 수집하고 있습니다.


[그림 10] 사진 수집



사진도 수집하는데 사진의 데이터를 base64로 인코딩해서 서버로 전송합니다.


 
네트워크 통신


 

 

[그림 11] 토큰 요청
[그림 11] 토큰 요청



서버와 통신하기 전 서버로부터 토큰을 발급받고 해당 토큰을 사용해 서버에 전송합니다. 따라서 위의 양식에 맞춰 디바이스 id와 휴대폰 번호를 인자로 전송하면 서버에서 토큰을 보내줍니다.

 

[그림 12] 토큰 얻기



토큰 발급 과정은 [그림 12]와 같으며 요청 시 반환 값으로 토큰을 받습니다.

 

[그림 13] 주소록 전송 예시



이제 토큰을 활용하여 수집한 주소록을 서버로 전송하는 부분입니다.


[그림 14] 로그 전송



앱에서 발생하는 로그를 기록해두었다가 base64를 통해 인코딩하여 서버로 전송합니다.
  

 

명령 수행
 

 

[그림 15] 문자 관련 명령

 


서버로부터 “SEND” or “DEL” 명령을 받으면 문자를 전송하거나 삭제하는 기능을 수행합니다. 여기서 “DEL” 명령은 추가적인 데이터에 따라 주소록이나 전화 기록 또한, 삭제할 수 있습니다.


[그림 16] 주소록 추가

 


“ADD” 명령으로 주소록을 추가할 수 있습니다.

 

[그림 17] 주소록 업데이트



“UPDATE” 명령으로 주소록을 수정할 수 있는데 삭제한 후 다시 쓰는 방식으로 동작합니다.


 

[그림 18] 카메라 사용


“TAKE_FRONT”와 “TAKE_BACK” 명령을 사용해 카메라 촬영이 가능합니다. 전 ○ 후면 카메라를 모두 사용할 수 있고 촬영한 사진은 이미지 파일로 변환하여 서버에 전송합니다.

 

 

결론

 

 

랜덤 채팅 앱은 원래 나쁜 의도로 만들어진 애플리케이션이 아닙니다. 그러나 공격자들이 익명성에 기대어 활용하기 시작하면서 지속적인 피해가 발생하고 있습니다. 앱에서 쉽게 다가오는 낯선 사람과 대화할 땐 몸캠 피싱의 표적이 될 수 있음을 인지하고 있어야 합니다.

 

 

[그림 19] 다른 버전

 

 

소개된 사이트 이외에도 [그림 19]와 같이 다른 버전의 사이트들이 존재하며 아이폰 버전의 ipa 패키지 또한, 준비되어있습니다. 구글에 검색해도 나타나는 사이트로 정교하게 사람을 속이기 때문에 스마트폰 사용자의 주의가 필요합니다.

 

 

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