상세 컨텐츠

본문 제목

Trojan.Android.Locker 악성코드 분석 보고서

악성코드 분석 리포트

by 알약(Alyac) 2019. 5. 22. 11:17

본문


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


최근 PC 악성코드의 대부분은 랜섬웨어이며 복호화 대가로 암호화폐를 요구하고 있습니다. 이러한 흐름이 안드로이드에서도 빈번하게 나타나기 시작했습니다. 관련 앱은 기기 정보를 탈취하여 감염자를 구별하는 데 사용합니다. 외부 저장소의 폴더와 파일을 가리지 않고 저장된 모든 파일을 암호화합니다. 또한, 연락처도 암호화합니다. 이때 암호화에 사용되는 알고리즘은 AES이며 키값은 해커의 C&C를 통해서 얻어옵니다. 암호화폐를 이용하여 비용을 지불하면 복호화가 진행됩니다.


본 분석 보고서에서는 'Trojan.Android.Locker'를 상세 분석하고자 합니다.


악성코드 상세 분석


1. 게임 앱 위장

해당 악성 앱의 아이콘은 전 세계적으로 인기를 끈 게임으로 위장하고 있으며 사용자가 설치한 이후에는 자동으로 자신의 아이콘을 감춘 후 바로 암호화 관련 액티비티가 실행됩니다.


[그림 1] 아이콘 숨김


2. 필요 권한

암호화에 필요한 행위를 위해서 정의된 권한들이며 각각을 살펴보면 INTERNET은 C&C와의 통신, RECEIVE_BOOT_COMPLETED는 지속적인 악성 행위를 위해서 기기가 부팅되면 앱 자동 실행, SET_WALLPAPER 랜섬웨어 감염을 나타내기 위한 기기 바탕화면 변경, READ_EXTERNAL_STORAGE와 WRITE_EXTERNAL_STORAGE는 대상 파일들을 읽고 쓴 후 암호화하는 데 각각 필요한 권한입니다.

 

[그림 2] 필요 권한


3. 바탕화면 변경

감염된 사실을 나타내기 위해서 기기의 바탕화면을 변경합니다. 해당 언어는 러시아어이며 “당신의 폰은 잠겼습니다”라는 의미이며 러시아를 대상으로 하는 악성 앱임을 알 수 있습니다.


[그림 3] 랜섬노트 이미지 파일


[그림 4] 앱 내부에 저장된 랜섬웨어 감염 화면


4. 기기 정보 탈취

기기 정보에서 디바이스, 브랜드, 하드웨어, 아이디, 모델을 탈취하여 md5암호화 한 후 고유 식별 번호로 쓰고 추가로 릴리즈, 인코딩된 모델과 통신사 국가코드를 이용하여 C&C의 추가 경로로 사용합니다. 이후 외부 저장소와 관련된 권한이 있을 경우 암호화를 진행합니다. 이때, 암호화 키 값은 C&C를 통해서 얻습니다.

 

[그림 5] C&C 연결 및 파일 암호화 진행


5. 파일 암호화 진행 

저장소에 저장된 폴더와 파일을 가리지 않고 모두 암호화합니다. 대상 파일의 경로를 확인하고 “encrypted” 문구가 없으면 파일을 읽어드리고 AES 암호화를 진행합니다. 원본 파일은 삭제합니다. 

 

[그림 6] 파일 암호화


6. 프로세스 종료

파일 암호화가 끝나면 이어서 연락처 암호화를 진행합니다. 파일 암호화와 달리 AES 암호화 이후에 나오는 문자열을 Base64인코딩을 추가로 진행합니다. 원본 연락처는 삭제합니다.


[그림 7] 연락처 암호화 


7. 기기 상태 저장

현재 기기가 어떤 상태인지 저장합니다. 앱의 “sharedPreferences”에 상태를 저장합니다. 암호화가 완료되면 “worked”가 1이 됩니다.


[그림 8] 기기 상태 저장


8. 기기 조작 제어

뒤로 가기, 앱 종료, 홈 버튼 조작과 멀티화면 등 악성 앱의 랜섬노트 화면이 화면에서 사라지는 작용이 생기면 바로 다시 나타나도록 하여 기기의 터치와 조작을 통한 사용을 완전히 차단합니다.


[그림 9] 기기 사용 차단


9. 복호화 요청

복호화 요청 탭을 누르면 이전에 수집했던 탈취한 기기 정보로 조합한 고유 번호를 확인하여 복호화 비용 지불 여부를 확인합니다. 암호화폐 지불이 완료됐다면 복호화가 진행됩니다. 이후에 복호화 완료 상태인 “finished” 문자열을 기록합니다.

만약 해당 부분이 비어 있다면, 현재 실행 중인 앱 프로세스를 확인하고 랜섬웨어 행위와 관련된 액티비티를 새롭게 시작합니다. (현재 C&C와의 통신이 되지 않아서 복호화 비용 지불 과정에서 어떠한 화면이 추가로 나타나는지 알 수 없습니다.)


[그림 10] 복호화 이후 기기 상태 확인 


10. 지속적인 악성 앱 실행

기기가 재실행되면 악성 앱을 재시작합니다.


[그림 11] 부팅 완료 시 악성 앱 재실행



[그림 12] 암호화 완료 화면


11. C&C 접속 불가

C&C를 통해서 키값을 받아온 후 암호화를 했기 때문에, 현재 C&C와 접속이 불가하여 감염되면 키값을 찾을 방법이 없어 복호화가 불가능합니다.

 

[그림 13] 현재 접속 불가한 C&C 서버



결론


해당 악성 앱은 유명 게임 앱으로 위장하여 사용자를 속입니다. 감염되면 자기 자신을 숨기며, 기기 외부저장소의 모든 파일과 연락처를 암호화합니다. 또한, 암호화된 파일에 대한 복호화 비용을 지불하지 않으면 기기의 사용도 불가합니다. 특히, C&C 서버를 통해서 암호화 키 값을 받아오는데 현재 C&C 서버와 연결이 되지 않아서 감염되고 난 이후라면 복호화할 방법이 없어 사용자들은 매우 주의해야 합니다.

관련글 더보기

댓글 영역