인도의 고급 모바일 멀웨어 공격에서 악성 MDM 사용
게시일:2018.7.12 12:00 PM PDT
본 블로그 게시물 작성자: Warren Mercer, Paul Rascagneres, Andrew Williams.
요약
Cisco Talos는 13개의 iPhone을 대상으로 하는 매우 표적화된 공격을 파악하였는데 이는 인도에 초점을 맞춘 것으로 보입니다. 공격자는 등록된 디바이스를 통제하기 위해 오픈 소스 모바일 디바이스 관리(MDM) 시스템을 구축하였습니다. 현재는 공격자들이 어떻게 표적이 된 디바이스들을 등록했는지 그 방법은 파악하지 못하였습니다. 등록은 디바이스에 물리적으로 접근하거나, 또는 가장 가능성이 높은 방식으로서 사회 공학적 기법을 사용하여 사용자들이 등록하도록 유인하는 방식으로 이행할 수 있습니다. 사회 공학적 공격에서는 피해자를 속여서 클릭하게 하거나 공격자가 디바이스에 물리적으로 접근하게 합니다. 이 공격에 주목할 필요가 있는데 그 이유는 악성코드가 데이터 가로채기를 위해 특정 모바일 앱을 대체하려고 모든 노력을 하기 때문입니다. Talos는 이 위협에 대응하기 위해 Apple과 긴밀히 협조하고 있습니다. Talos가 연락했을 때 Apple은 이미 그 공격자와 관련된 3개의 인증서에 조치를 취하였고, Talos가 위협과의 관련성을 확인하자 신속하게 두 가지 다른 조치도 취하였습니다.
MDM의 목적은 등록된 디바이스에 애플리케이션을 배포하는 것입니다. 이 시스템을 통해 인도의 13개 대상 디바이스로 배포되었던 다섯 개의 애플리케이션들을 식별하였습니다. 그 중 두 개는 디바이스의 기능을 테스트하는 것으로 보이며, 하나는 SMS 메시지 콘텐츠를 훔치고, 나머지 두 개는 디바이스의 위치를 보고하고 다양한 데이터를 유출할 수 있습니다.
공격자는 메시징 앱인 WhatsApp, Telegram 등 합법적 앱에 기능을 추가하기 위해 BOptions 사이드로딩(sideloading) 기법을 사용했으며, 다시 MDM을 통해 이들 앱을 인도의 13개 대상 디바이스들에게 배포했습니다. BOptions 사이드로딩 기법의 목적은 동적 라이브러리를 애플리케이션에 삽입하는 것입니다. 이들 앱에 삽입된 악성 코드는 전화번호, 일련번호, 위치, 연락처, 사용자 사진, SMS 및 Telegram, WhatsApp 채팅 메시지 등의 정보를 디바이스에서 수집하여 빼낼 수 있습니다. 이들 정보는 피해자를 조종하거나, 심지어 협박이나 뇌물 수수 목적으로 사용할 수도 있습니다.
MDM 서버에 있는 로그와 멀웨어 명령 제어(C2) 서버의 로그 덕분에 멀웨어가 2015년 8월부터 사용되었음을 파악하였습니다. 공격은 모두 인도에 있는 몇 개의 선별된 디바이스(13개)들을 대상으로 하였습니다. 공격자는 이메일, 사용자명 등 중요한 데이터를 서버에 남겼습니다. 공격자의 개발 및 테스트 과정의 일부로서 디바이스를 감염시킨 것으로 보였으며, “test” 또는 “mdmdev”라는 이름의 디바이스가 관찰되었습니다. 식별된 로그 파일에는 디바이스의 전화번호가 포함되어 있습니다. 번호의 출처가 인도이며, 로밍 기능이 비활성화된 상태에서 “보다폰 인디아(Vodafone India)” 네트워크를 사용하고 있습니다. 이 모든 정보를 감안할 때 멀웨어 공격자가 인도를 기반으로 작업을 진행하고 있다고 확실하게 추정됩니다.
MDM이 점차 대기업에 널리 사용되고 있으며, 원격 관리를 허용하기 위해 디바이스에 추가 인증서를 설치하면 악의적 활동으로 이어질 가능성이 있다는 점을 사용자들은 인식해야 합니다. 출처가 Apple iOS 신뢰 인증서 체인이 아닌 인증서를 설치하면 이와 같은 제3자 공격을 받을 가능성이 있습니다. MDM 인증서를 수락하는 것은 다른 관리자가 디바이스, 비밀번호 등에 액세스하도록 허용하는 것과 같다는 점을 이해해야 합니다. 보안 문제를 피하려면 인증서를 매우 신중히 처리해야 하며, 일반 홈 사용자들이 해서는 안 되는 일입니다.
아래 정보는 보안 커뮤니티와 사용자들에게 공격의 운영 방식을 경고합니다. 불순하게 디바이스를 모집하기 위해 사회공학적 기법을 사용할 가능성이 있기 때문에 사용자들은 원치 않는 링크에 클릭할 때 조심해야 하고 디바이스 액세스를 요구할 경우 ID와 그 타당성을 확인해야 합니다.
배포 방법과 기능에 대한 전반적 워크플로우 그림은 아래와 같습니다.
iOS MDM 인프라스트럭쳐
My tiny MDM
Talos는 두 개의 다른 MDM 서버를 파악하였습니다.
•hxxp://ios-certificate-update[.]com
•hxxp://www[.]wpitcher[.]com
위의 두 서버는 소형 iOS MDM 서버인 오픈 소스 프로젝트 mdm-server를 기반으로 합니다. MDM은 중앙 위치에서 여러 디바이스를 운영 체제 수준에서 제어하도록 허용합니다. 원격 관리자가 앱을 설치/제거하고, 인증서를 설치/취소하고, 디바이스를 잠그고 비밀번호 요구사항을 변경하는 등의 작업을 수행할 수 있습니다. 운영자는 다음 섹션에서 설명하는 악성 버전을 설치하기 위해 Telegram, WhatsApp 등의 합법적 애플리케이션을 제거할 수 있습니다.
디바이스 등록
등록 절차의 각 단계에서 몇 가지 사용자 상호작용이 필요합니다. 그래서 Talos는 공격자들이 MDM에서 피해자들을 확보하기 위해 사회공학적 기법을 사용한다고 추정합니다. 디바이스 등록의 첫 단계는 인증 기관을 설치하는 것입니다.
사용자가 “허용”을 클릭하면 아래 메시지가 표시됩니다.
“설치”를 클릭하면 서명이 “확인됨”(Verified)으로 전환됩니다.
디바이스 등록 준비가 되었습니다.
설치된 프로필을 제어할 수 있습니다.
이제 공격자가 디바이스를 제어할 수 있습니다. 공격자가 새 앱을 사용자 디바이스로 푸시하면 팝업이 표시됩니다. 이 기사의 뒤에서 언급하는 감염된 Telegram 앱의 예입니다.
이를 통해 공격자는 피해자 디바이스에 대해 상당한 수준의 제어력을 갖게 됩니다. 이 프로세스는 MDM 솔루션을 사용하는 대기업에 유사하게 적용됩니다. 등록을 허용하려면 인증서를 설치해야 한다고 조언할 가능성이 있습니다. 이는 사회공학적 메커니즘, 예를 들면 가짜 기술지원 통화 형식으로 수행될 가능성이 있습니다.
공격자는 사용자들이 의심 없이 설치를 허락할 수 있도록 만든 도메인을 사용했습니다. “ios-certificate-update[.]com”을 이용하면 사용자가 정상 절차라고 안심하게 만드는 것이 더욱 쉽습니다. 이 공격이 인도에 있는 디바이스들을 대상으로 한다고 생각되기 때문에, 이것도 비영어권 사람들이 “정상”이라고 인식할 수 있습니다. 인증서 및 업데이트 명명 규칙도 사용자를 속이도록 고안되었습니다.
MDM에 관한 기술 정보
공격자가 많은 정보를 남겼으므로 이 MDM에서 사용된 파일들을 분석할 수 있었습니다. 먼저, MDM에 사용된 인증서는 다음과 같습니다.
CA.crt:
Serial Number: 13905745817900070731 (0xc0fb222544ceb74b)
Issuer: C=CR, ST=Split, L=Split, O=NA, OU=IT, CN=ios-certificate-update.com/emailAddress=nicholas.vukoja@mail.ru
Validity
Not Before: Sep 6 11:33:09 2017 GMT
Not After : Sep 6 11:33:09 2018 GMT
Subject: C=CR, ST=Split, L=Split, O=NA, OU=IT, CN=ios-certificate-update.com/emailAddress=nicholas.vukoja@mail.ru
인증서는 2017년 9월에 발급되었고, 러시아의 이메일 주소가 포함되어 있습니다. 조사에 따르면 공격자가 러시아에서 일하고 있는 것으로 보이지 않습니다. “전통적 러시아 해커”들이라고 생각하도록 조사자들을 유도하기 위한 허위 플래그로 추정됩니다. 허위 플래그는 정교한 또는 간단한 멀웨어에서 모두 보편적으로 사용됩니다. 이는 분석자/조사자들을 혼동시켜 다른 곳으로 책임을 돌리려는 시도입니다.
Identity.p12:
Serial Number: 14177612590375883362 (0xc4c0ff88e475d262)
Issuer: C=CR, ST=Split, L=Split, O=NA, OU=IT, CN=ios-certificate-update.com/emailAddress=Aleksi.Dushku@mail.ru
Validity
Not Before: Jan 6 04:59:56 2018 GMT
Not After : Jan 6 04:59:56 2019 GMT
Subject: C=CR, ST=Split, L=Split, O=NA, OU=IT, CN=ios-certificate-update.com/emailAddress=Aleksi.Dushku@mail.ru
이것이 또 하나의 인증서인데 다른 mail.ru 주소를 사용함으로써 러시아를 가리키는 것으로 보입니다.
Server.csr:
Subject: C=HR, ST=Hrvatska, L=Split, O=NA, OU=IT, CN=ios-certificate-update.com/emailAddress=nicholas.vukoja@mail.ru
이 인증서에서 공격자는 동일한 러시아 이메일로 Hrvatska (크로아티아어로 “크로아티아”)를 언급했습니다.
인증서는 자체 서명 인증서이거나 또는 Comodo 인증기관이 서명한 것입니다.
로그 분석
MDM에 관하여 가장 흥미로운 정보 중 하나는 로그 파일에서 발견됩니다. 그렇기 때문에 아래 사항을 확인할 수 있습니다.
•일련번호를 기준으로 13개의 감염된 디바이스가 있습니다
•모든 디바이스가 인도에 있습니다 (전화번호와 전화 공급업체를 근거로 함)
•전화 모델: iPhone 5.4, iPhone 7.2, iPhone 8.1, iPhone 8.2, iPhone 9.3, iPhone 9.4
•iOS 버전: 10.2.1, 10.3.1, 10.3.2, 10.3.3, 11.0, 11.0.3, 11.2.1, 11.2.5, 11.2.6
현재 우리는 공격자들이 어떻게 표적 디바이스들을 등록했는지 그 방법 파악하지 못하고 있습니다. 전화기에 물리적으로 접근하거나 또는 사회공학적 기법을 사용하여 사용자들이 디바이스를 등록하도록 유인했을 수 있습니다.
공격자들이 MDM을 테스트하기 위해 자신의 개인 전화기를 사용했던 것으로 믿어지는데, 그 이유는 “Test”, “mdmdev”라는 이름의 디바이스가 포함되었기 때문입니다. 이 두 대의 디바이스는 개인 전화기에서는 흔치 않은 동일한 전화번호와 이름을 공유하고 있습니다.
전화기 출처는 인도이고 보다폰 인디아(“Vodafone India”) 네트워크 공급업체에 등록되어 있습니다. 디바이스를 MDM 서버에 등록할 때 로밍은 비활성화되어 있었습니다. 작성자가 인도를 근거로 활동하고 있음이 거의 확실하다고 추정됩니다.
iOS 애플리케이션
BOptions 사이드로딩을 이용하는 악성 애플리케이션
설명
공격자의 목적은 악성 앱을 13개의 감염된 디바이스에 배포하는 것으로 보입니다. 이를 위해 그들은 BOptions 사이드로딩 기법을 사용하기로 결정했습니다. 이 기법의 설명은 여기를 참조하십시오. 그 목적은 동적 라이브러리를 합법적 앱에 삽입하는 것입니다. 공격자들은 iOS 패키지(.ipa 파일)에 유지되는 악성 BOptionspro.dylib 라이브러리를 만들기 위해 GitHub 프로젝트를 사용했습니다. 삽입 라이브러리는 예를 들어 추가 권한을 요구하고, 코드를 실행하고, 원래 애플리케이션에서 정보를 훔칠 수 있습니다. 밀라노의 기술업체인 HackingTeam이 예전에 이 기법을 사용했습니다.
Telegram, WhatsApp, AppsSLoader
이 공격에서 우리는 MDM 서버에 호스팅된 이 속임수로 감염된 세 가지 앱 버전을 식별하였습니다. AppsSLoader는 악의적인 기능은 하지 않는 것으로 보이며, 이 앱은 라이브러리 삽입을 테스트하기 위해 생성되었습니다. 간단히 사용자에게 팝업을 표시하여 동적 라이브러리 실행을 확인하도록 합니다. 이는 악의적 배포를 수행하기 전에 라이브러리의 효과성을 시험하기 위해 만든 것으로 보입니다.
이 공격에서 사용된 Telegram과 WhatsApp의 감염된 버전은 보다 흥미롭고 관련성이 높습니다. 이들 앱에는 먼저 동일한 악성 코드가 포함되어 있습니다. 그 목적은 수집된 데이터를 hxxp[:]//techwach[.]com에 있는 C2 서버로 전송하는 것입니다.
악성 코드가 권한을 확인하고, 아직 없을 경우 추가로 권한을 요구합니다.
•사용자의 연락처 목록에 액세스할 권한 (PhnNumber::getContAccess)
•사용자의 사진 목록에 액세스할 권한 (PhnNumber::getPAccess)
이들 감염된 애플리케이션 버전에서 가장 관련성이 높은 기능은 Telegram과 WhatsApp의 메시지 훔침 기능입니다. 전반적 워크플로우는 다음과 같습니다.
Telegram의 경우:
•Telegram에 사용되는 SQLite3 데이터베이스인 ‘tgdata.db’를 엽니다
•키 저장소에서 키 ‘UPLOADED_CHAT’를 확인합니다.
•”select users_v29.phone_number, users_v29.uid from users_v29;” 쿼리를 수행합니다
•”select messages_v29.from_id AS oid,users_v29.first_name, users_v29.last_name,users_v29.phone_number,messages_v29.message,messages_v29.mid,messages_v29.to_id from messages_v29 join users_v29 ON (messages_v29.from_id = users_v29.uid);” 쿼리를 수행합니다
•결과를 파싱하여 카운트, 타임스탬프 및 기타 메타데이터를 외부에 저장합니다.
•Post method 를 통해 hxxp[:]//techwach[.]com에 전송합니다
쿼리 스크린샷:
WhatsApp의 경우:
•WhatsApp 메시지에 사용되는 데이터베이스인 ‘ChatStorage.sqlite’를 엽니다
•’SELECT Z_PK,ZFROMJID,ZTOJID,ZPUSHNAME,ZTEXT,ZMESSAGEDATE FROM ZWAMESSAGE WHERE Z_PK > ‘%d” 쿼리를 수행합니다
•결과를 파싱하여 카운트, 타임스탬프 및 기타 메타데이터를 외부에 저장합니다.
•Post method 를 통해 hxxp[:]//techwach[.]com에 전송합니다
또한 멀웨어는 감염된 디바이스에서 연락처, 위치, 이미지를 전송할 수 있도록 고안되었습니다.
techwach C2 서버에서 사용 가능한 PHP 페이지 목록은 다음과 같습니다.
•all.php
•dyrKztORKwVWOGo.php
•get.php
•hh.php
•info.php
•jDRucchWSoWQGpU.php
•UfmcRxYDaVVbrBl.php
이 멀웨어의 또 하나의 흥미로운 측면은 내포된 합법적 앱이 실행 중일 때 악성 코드가 정기적으로 코드를 실행하는 방식입니다. 한 가지 기법은 악성 코드를 실행하기 위해 런타임 시 앱의 코드를 수정합니다. 이는 예전에 분석했던 iOS 멀웨어에서 관찰되었습니다. 대신에 이 멀웨어는 거의 앱과 무관하게 유지되며 백그라운드 스레드에서 결국 악성 코드를 실행하는 타이머를 생성함으로써 실행하는 방식입니다. 거기서, 앱의 백그라운드 작업 대기열을 활용하여 작업이 비동기적으로 실행되도록 일정을 정합니다. 결국, 악성 코드가 앱 사용자에게는 보이지 않으며 모든 실제 애플리케이션과 함께 쉽게 재사용될 수 있음을 의미합니다.
PrayTime
Talos는 인도에서 이 공격을 하는 동안 악성 코드를 실행하는 다른 합법적 앱도 식별하였습니다. 사용자에게 기도 시간을 알리기 위해 PrayTime이 사용됩니다. 이 악성 코드는 도메인 voguextra[.]com에 연결됩니다. 그 목적은 특정 광고를 다운로드하여 사용자에게 표시하는 것입니다. 이 앱도 설치된 디바이스에서 SMS 메시지를 읽기 위해 사설 프레임워크를 활용하며 메시지를 C2 서버에 업로드합니다.
MyApp
MyApp은 일반적 iOS 앱입니다. 하지만 이 애플리케이션은 아무 것도 하지 않습니다. 표준 iOS 앱 런타임 코드를 제외하면 관련된 코드가 거의 없습니다. 다른 테스트 앱일 가능성이 있지만 정확한 용도를 확인할 수는 없습니다. 이 앱은 악성 앱이 아닙니다.
Techwach C2 서버
Telegram과 WhatsApp 안에 있는 악성 코드는 수집한 데이터를 techwach[.]com 서버로 전송했습니다. 이 서버는 2015년 8월 이후로 활성 상태이며, 서버에서 처음 사용된 사용자명은 arnoldrex였습니다. 나중에는 chernobog(슬라브족의 신을 지칭)로 변경되었습니다.
결론
이 조사를 통해, 공격이 인도에서 iPhone 디바이스를 사용하는 매우 제한된 수(13명)의 사용자를 목표로 하였음을 파악했습니다. 현재는 공격 대상이 누구이고, 범인이 누구이며, 목적이 무엇인지 명확하지 않습니다. 이 공격의 경로가 간단히 사회공학적 수단 즉 사용자에게 “OK”를 클릭하도록 요구하는 방식일 가능성이 매우 높습니다. 사용자들이 속임수 때문에 방어하기가 매우 어렵습니다. 따라서 사용자들은 원치 않는 링크나 요구를 클릭하기 전에 신중하게 생각해야 하고, 또한 디바이스에서 조치를 취하도록 요구하는 모르는 전화를 받으면 자격 증명을 확인해야 한다는 중요한 교훈을 얻습니다.
공격자는 오픈 소스 MDM를 설치하고 이를 사용하여 악성 코드를 Telegram, WhatsApp 등 안전한 채팅 애플리케이션에 배포함으로써 피해자의 전화기에서 메시지, 대화 내용, 사진, 사용자 위치 정보를 몰래 훔쳐갑니다. 지난 3년 동안 공격자들은 눈에 띄지 않게 있어왔는데, 아마도 감염된 디바이스 수가 적어서 그랬을 수 있습니다. 모든 기술적 상세 정보를 살펴보면 공격자가 피해자들과 같은 나라인 인도에 있는 것으로 보입니다. 공격자들은 mail.ru 이메일을 사용함으로써 러시아의 해커처럼 보이려고 했습니다. 하지만 테스트 디바이스가 인도 전화번호로 MDM에 등록되었고 인도 공급업체에 등록되어 있음을 확인하였습니다.
사용자가 자신의 전화기에 물리적으로 접근할 수 없는 상황일 경우 이는 공격자들이 악의적 활동을 보다 손쉽게 할 수 있는 절호의 기회가 됩니다. 공격자가 디바이스를 자신의 악성 MDM에 포함시킬 수 있었다는 사실은 공격자가 최초 접근을 위한 실제적 동기가 있었으며 아울러 디바이스들에 대한 지속성을 유지할 동기가 있었음을 나타내는 것입니다.
대응
고객이 위협을 탐지하고 차단하는 데 유용한 기타 솔루션은 다음과 같습니다.
AMP(Advanced Malware Protection)은 이들 공격자들이 사용하는 멀웨어의 실행을 방지하는 데 이상적입니다.
CWS(Cisco Cloud Web Security) 또는 WSA(Web Security Appliance) 웹 검사를 통해 악성 웹사이트에 대한 액세스를 방지하고 공격에 사용되는 멀웨어를 감지할 수 있습니다.
Email Security는 해커가 공격의 일환으로 보낸 악성 이메일을 차단할 수 있습니다.
AMP Threat Grid는 악성 바이너리를 식별하고 모든 Cisco 보안 제품에 보호 기능을 구축하는 데 효과적입니다.
Talos의 인터넷 보안 게이트웨이(SIG)인 Umbrella는 사용자가 회사 네트워크 안팎에서 악성 도메인, IP 및 URL에 연결하는 것을 방지합니다.
Open Source Snort Subscriber Rule Set 고객은 Snort.org에서 최신 룰 팩을 구매해 다운로드함으로써 최신 상태를 유지할 수 있습니다.
IOC
iOSApplications
•329e025866bc6e88184af0b633eb3334b2e8b1c0817437c03fcd922987c5cf04 AppsSLoader.ipa
•aef046b67871076d507019cd87afdaeef602d1d2924b434ec1c165097b781242 MyApp.ipa
•4be31095e5f010cc71cf8961f8fe3fc3ed27f8d8788124888a1e90cb90b2bef1 PrayTime.ipa
•624689a1fd67891be1399811d6008524a506e7e0b262f549f5aa16a119369aef Telegram.ipa
•e3872bb33d8a4629846539eb859340940d14fdcf5b1c002b57c7dfe2adf52f08 Wplus.ipa
MDM 도메인:
•ios-certificate-update[.]com
•www[.]wpitcher[.]com
C2 도메인:
•Voguextra[.]com
•Techwach[.]com
광고 Domain:
voguextra[.]com