신규 유형 WEX 앱 분석

Post image

최근 신규 유형의 악성 앱 WEX가 발견되고 있습니다. 이 악성 앱은 사용자에게 접근성 서비스를 허용하도록 유도합니다. 접근성 서비스가 허용되면 기기정보, 설치된 앱 정보 등을 지속적으로 외부로 유출합니다. 또한, 특정 조건에 따라 SMS 권한이나 전화 권한이 자동으로 허용되어, 사용자가 모르는 사이에 SMS 내용, USSD 코드 실행 결과 등의 정보도 외부 유출지 서버로 전송합니다. 본 포스팅에서는 WEX 악성 앱의 주요 악성 행위와 특징을 분석해보도록 하겠습니다.

image.png

공유 라이브러리 악성행위

WEX 악성코드의 주요 악성 행위는 앱 내부 lib 디렉토리에 존재하는 libly9lge.so 라이브러리에서 확인 할 수 있습니다. libly9lge.so 라이브러리는 DEX 복호화, 유출 데이터 획득, 유출지 설정, 데이터 암호화 등의 행위를 수행하기 위해 로드됩니다. 2.png 1.png

DEX 복호화

Dynamic dex loading 기법은 런타임 중에 dex 파일을 메모리에 로드하여 기존 백신 검사 과정을 우회하는 기법입니다. WEX 악성코드에서도 이런 행위가 관찰되었는데요, 위에서 언급한 libly9lge.so 라이브러리 내부 함수를 활용하여 암호화된 dex 파일을 복화화하고 동적으로 로드하여 탐지 및 분석을 회피합니다. 4.png 5.png

유출지 설정

WEX 악성코드는 미리 준비된 12개의 외부 유출지를 사용합니다. 이 가운데 통신 이 이루어지는 유출지로 기기정보와 개인정보를 전송합니다. 아래 그림에서 유출지 정보를 제공하는 함수와 생성된 최종 유출지 URL 정보를 확인할 수 있습니다. 6.png 7.png

유출 데이터 암호화

WEX 악성코드는 전송할 데이터를 AES 알고리즘을 사용하여 암호화/복호화에 사용합니다. 아래 그림은 암호화에 사용되는 키를 반환하는 것과 이렇게 얻은 키를 통해 데이터 암호화를 하는 과정을 보여줍니다. 8.png 9.png

주요 악성 행위

권한요청

WEX 악성 앱에서 사용하는 권한을 정리해보았습니다. 볼드체로 표시한 권한은 주요 개인정보를 탈취하는 권한으로, 수신된 SMS 유출, SMS 발송, USSD 코드 실행 결과 유출 등에 사용됩니다. 10.png

권한 자동 허용

WEX 악성코드는 접근성 서비스를 악용하여 사용자 동의 없이 전화 및 SMS 권한을 자동으로 허용합니다. 11.png 12.png

수신된 SMS 데이터 유출

WEX 악성코드는 SMS수신 이벤트를 감지합니다. SMS문자가 수신되면 악성코드는 문자로부터 발신번호, 메시지 내용, 수신 시각 등의 정보를 추출하며 유출지 서버로 전송합니다. 이러한 행위는 아래 동적분석 로그를 통해 확인할 수 있습니다. 13.png

SMS 발송

아래 그림은 C2 서버로부터 명령(‘SMS’) 및 데이터(‘전화번호|메시지’)를 전달받으면 SMS 메시지를 전송하는 행위를 수행하는 내용입니다. 14.png 15.png

USSD 코드 실행 결과 유출

WEX 악성코드는 C2 서버에서 ‘ussd’ 명령과 ‘ussd 코드’ 데이터를 전달 받으면 기기에서 해당 코드에 대응하는 코드를 실행하고 결과를 외부 서버로 전송하여 원격 제어를 가능하게 만듭니다. 주로 2G, 3G, 4G 등 GSM(글로벌 이동 통신 시스템) 네트워크에서 사용되는 USSD 코드는 부가 서비스를 요청하거나 특정 정보를 조회하기 위한 특별한 형식의 코드입니다. 18.png

위 에서 예시로 제시된 USSD 코드를 보면 잔여 통화∙데이터 확인(100#), 착신 전환 설정(21전화번호#), 수신 통화 제한(35*비밀번호#) 등의 기능을 간단한 입력만으로 활성화할 수 있음을 알 수 있습니다. 이처럼 공격자는 USSD 코드를 악용하여 원격에서 통화 설정을 임의로 변경할 수 있으므로 사용자 기기에 대한 통화 및 데이터 관련 권한을 사실상 장악하는 결과를 초래할 수 있습니다.

위 표에서 예시로 제시된 USSD 코드를 보면 잔여 통화∙데이터 확인(100#), 모든 발신 통화 착신 전환(**21*전화번호#), 모든 발신 통화 차단(33PIN#) 등의 기능을 간단한 입력만으로 활성화할 수 있음을 알 수 있습니다. 문제는 이러한 기능이 공격자에게도 악용될 수 있다는 점입니다. USSD 코드는 모바일 기기의 발신∙수신 차단 또는 착신 전환 설정 등을 외부에서 원격으로 변경함으로써 사용자의 통화 및 데이터 권한을 사실상 장악할 수 있는 수단을 제공합니다. 특히 GSM 코드 목록을 참조하면, 특정 USSD 명령이 통화 제한, 데이터 제어 등 다양한 보안에 직결되는 영역까지 관여할 수 있음이 확인됩니다.

16.png 17.png

C2 명령 리스트

WEX 악성코드에서 앞서 언급한 악성 행위 외에도 VNC(원격제어), 키로거 등의 기능으로 추정되는 명령어 세트를 확인 할 수 있습니다. 사용자를 속여 일단 앱 설치에 성공하면 그 다음부터는 종합악성세트(?)의 역할을 하려는 모습이 처절해 보이기도 합니다. 19.png

결론

WEX 악성코드는 최근에 발견되는 신규 유형의 악성코드입니다. 접근성 서비스를 허용하면 전화 및 SMS 권한이 사용자의 동의 없이 자동으로 허용됩니다. 이로 인해 민감한 개인정보가 사용자가 모르는 사이에 유출지 서버로 전송되어 막대한 피해가 발생할 수 있습니다. 이러한 피해를 예방하기 위해서는 신뢰할 수 없는 외부 경로에서 다운로드한 APK는 설치하지 않아야하며 의심스러운 URL을 수신하였을 경우 클릭하지 말고 삭제할 것을 권장합니다.

You May Also Like

신규 유형 부고장 앱 분석

신규 유형 부고장 앱 분석

2024년 월 이후로 부고장 유형의 악성 앱이 지속적으로 탐지되지 않도록 고도화되고 있는 것으로 확인되고 있다. 현재 유포되고 있는 악성 앱은 1부에서 분석된 악성 앱과 동일한 유형이지만 악성 행위 분석 방지 목적으로 newobfs가 적용된 부분과 별도의 DEX 파일을 동적 로딩하는 차이점이 존재한다. 이번 분석 대상 앱은 ‘부고장 알림 서비스’라는 이름으로 유포되고 있었으며 24년 3월 27일에 발견되었다.

부고장 관련 앱 분석

부고장 관련 앱 분석

문자 메시지를 통해 개인정보를 탈취하는 스미싱의 수법이 갈수록 고도화되고 있다. 최근에는 지인을 사칭하여 부고장, 청첩장 등의 문자를 보내는 스미싱 수법이 성행하고 있다. 부고장 관련 스미싱의 경우 문자 메시지에는 부고장의 인터넷 주소가 첨부되어 있으며, 장례식장 위치와 발인일 등을 확인하려 클릭하면 부고장을 사칭한 악성 앱이 다운로드된다. 다운로드 된 부고장 사칭 앱은 MQTT 통해 C2 서버에서 명령을 전달받고 정의된 명령에 따라 개인 정보를 탈취한다.