Zscalerのブログ
Zscalerの最新ブログ情報を受信
Google Playストアに潜むJoker、Facestealer、Coper
Google Playストアは通常、最も安全なAndroidアプリの提供元の1つと考えられていますが、その手口を進化させ続ける脅威アクターは、マルウェアを忍ばせた危険なアプリをGoogle Playストアに巧みに紛れ込ませています。
Zscaler ThreatLabzチームは先日、仮想市場に蔓延しているJoker、Facestealer、Coperマルウェア ファミリーの複数のインスタンスが関与するアプリを発見し、直ちにGoogle Androidセキュリティ チームに報告しました。これらの悪意のあるアプリは、速やかにGoogle Playストアから削除されています。
以下は、Google Playストアで最近発見されたこれら3種のマルウェア ファミリー ペイロードのテクニカル分析です。
Jokerマルウェア
Jokerは、Androidデバイスを標的とする最も一般的なマルウェア ファミリーの1種です。このマルウェアは広く認知されているものの、コード、実行方法、ペイロードの取得技術などを更新したり、マルウェアのトレース署名を定期的に変更したりすることで、Googleの公式アプリ ストアに侵入し続けています。JokerはSMSメッセージ、連絡先リスト、デバイス情報を盗み出し、被害者をプレミアム ワイヤレス アプリケーション プロトコル(WAP)サービスに勝手に登録するように設計されています。過去2か月間、ThreatLabzの研究者はGoogle Playストアで次のような悪意のあるJokerダウンローダー アプリを確認しました。
|
|
Simple Note Scanner - com.wuwan.pdfscan |
|
|
Universal PDF Scanner - com.unpdf.scan.read.docscanuniver |
|
|
Private Messenger - com.recollect.linkus |
|
|
Premium SMS - com.premium.put.trustsms |
|
|
Smart Messages - com.toukyoursms.timemessages |
|
|
Text Emoji SMS - messenger.itext.emoji.mesenger |
|
|
Blood Pressure Checker - com.bloodpressurechecker.tangjiang |
|
|
Funny Keyboard - com.soundly.galaxykeyboard |
|
|
Memory Silent Camera - com.silentmenory.timcamera |
|
|
Custom Themed Keyboard - com.custom.keyboardthemes.galaxiy |
|
|
Light Messages - com.lilysmspro.lighting |
|
|
Themes Photo Keyboard - com.themes.bgphotokeyboard |
|
|
Send SMS - exazth.message.send.text.sms |
|
|
Themes Chat Messenger - com.relish.messengers |
|
|
Instant Messenger - com.sbdlsms.crazymessager.mmsrec |
|
|
Cool Keyboard - com.colate.gthemekeyboard |
|
|
Fonts Emoji Keyboard - com.zemoji.fontskeyboard |
|
|
Mini PDF Scanner - com.mnscan.minipdf |
|
|
Smart SMS Messages - com.sms.mms.message.ffei.free |
|
|
Creative Emoji Keyboard - com.whiteemojis.creativekeyboard.ledsloard |
|
|
Fancy SMS - con.sms.fancy |
|
|
Fonts Emoji Keyboard - com.symbol.fonts.emojikeyboards |
|
|
Personal Message - com.crown.personalmessage |
|
|
Funny Emoji Message - com.funie.messagremo |
|
|
Magic Photo Editor - com.amagiczy.photo.editor |
|
|
Professional Messages - com.adore.attached.message |
|
|
All Photo Translator - myphotocom.allfasttranslate.transationtranslator |
|
|
Chat SMS - com.maskteslary.messages |
|
|
Smile Emoji - com.balapp.smilewall.emoji |
|
|
Wow Translator - com.imgtop.camtranslator |
|
|
All Language Translate - com.exclusivez.alltranslate |
|
|
Cool Messages - com.learningz.app.cool.messages |
|
|
Blood Pressure Diary - bloodhold.nypressure.mainheart.ratemy.mo.depulse.app.tracker.diary |
|
|
Chat Text SMS - com.echatsms.messageos |
|
|
Hi Text SMS - ismos.mmsyes.message.texthitext.bobpsms |
|
|
Emoji Theme Keyboard - com.gobacktheme.lovelyemojikeyboard |
|
|
iMessager - start.me.messager |
|
|
Text SMS - com.ptx.textsms |
|
|
Camera Translator - com.haixgoback.outsidetext.languagecameratransla |
|
|
Come Messages - com.itextsms.messagecoming |
|
|
Painting Photo Editor - com.painting.pointeditor.photo |
|
|
Rich Theme Message - com.getmanytimes.richsmsthememessenge |
|
|
Quick Talk Message - mesages.qtsms.messenger |
|
|
Advanced SMS - com.fromamsms.atadvancedmmsopp |
|
|
Professional Messenger - com.akl.smspro.messenger |
|
|
Classic Game Messenger - com.classcolor.formessenger.sic |
|
|
Style Message - com.istyle.messagesty |
|
|
Private Game Messages - com.message.game.india |
|
|
Timestamp Camera - allready.taken.photobeauty.camera.timestamp |
|
|
Social Message - com.colorsocial.message |
ThreatLabzは現在までに、50種を超えるJokerダウンローダー アプリをGoogle Playストアで確認しており、すべて合計30万回以上ダウンロードされていることがわかっています。これらのアプリは通常、次の一般的なカテゴリーのいずれかに分類されています。
- 通信
- 健康
- パーソナライゼーション
- 写真
- ツール
以下は、カテゴリごとのアプリ数の内訳です:
Jokerが仕込まれたアプリの大部分が、ツールとコミュニケーションのカテゴリーを占める結果となっています。ThreatLabzは、Jokerアプリが毎日アップロードされていることを確認しており、この現状からも攻撃者集団の活動レベルの高さと執拗性をうかがい知ることができます。Jokerマルウェア キャンペーンに属するThreatLabzの最新の調査結果では、以前の調査結果と同様に、類似した開発者の命名パターンに従い、使い慣れた手法を使用していることが明らかになっています。この特定のキャンペーンのより詳細な分析については、以前のブログGoogle PlayのJoker Jokingをご覧ください。
以下は、Enjoy Message Joker アプリのテクニカル分析です:
- アプリ名: Enjoy Message
- パッケージ名: sms.ienjoy.joysms.message
Jokerマルウェアの作成者は、非常に複雑なものから単純なものまで、さまざまなアプリを開発してリリースしています。Jokerの開発者は、アプリが所定のインストール数とレビューを獲得するのを待ってからマルウェアを混入させたバージョンと入れ替えるのではなく、市販のパッカーを使用して、共通のアセット ファイルとアプリケーション パッケージに悪意のあるペイロードを隠す手口を採用しています。これが、ウイルス対策ソフトウェアやGoogle Playストアの評価中にアプリが検出されない主な理由の1つです。
最も一般的に見られるのは、脅威アクターがメッセージ アプリ内でJokerマルウェアを偽装し、ユーザーの携帯電話でデフォルトのSMSアプリとして機能させるようにすることで、昇格された権限の付与をユーザーに要求する手口です。このマルウェアは、これらの昇格された権限を使用して操作を実行します。
Enjoy SMS アプリケーションでは、ペイロードは既知のパスに隠されていますが、パス自体はアプリケーションのクラスで難読化されています。
図1: ペイロードの難読化されたパス
難読化を解除すると、ペイロードが存在するアセットのディレクトリ「io/michaelrocks/libphonenumber/android/data/PhoneNumberAlternateFormatsProto_53」にパスが表示されます。
アプリのパッケージ名は、AES復号キーとして使用されるハッシュを導出するために使用されます。このキーは、次の宣言された関数を含む実行可能ファイル(.so)でペイロードを復号するために使用されます。
図2: 類似した既知のSDKの関数/クラス名
調査を難しくするため、使用される関数のクラス名とメソッド名は既知の SDK に類似しています。
非表示にドロップされた実行可能ファイルの「onInstall」関数は「system.loadlibrary」機能が実行可能ファイルを読み込んだ後、実行時に呼び出されます。
図3: 実行可能ファイル内への悪意のあるコードの実装
上に示すように、実行可能ファイルは「com.Brling」クラスからメソッド「Wnjre」を読み込みます。ドロップされた実行可能ファイルは、Base64暗号化を使用してペイロードを非表示にします。
図 4: Base64で暗号化された内容
2 番目のペイロードは、以下に示すように、既知の兵器化された Java ARchive (JAR) ファイルを3 番目のペイロードとしてダウンロードします。
図 5: 復号化されたペイロード
以下は、Joker マルウェアで使用される一般的な手法の例です:
1. アプリは、そのパッケージがまだGoogle Playストアで公開されているかどうかを確認します。
図6: Google Playストアをチェックして、アプリがまだ公開中であることを確認します。
2. 多くのJokerアプリは、Androidパッケージ キット(APK)のアセット フォルダにペイロードを隠し、x86アーキテクチャに基づくほとんどのサンドボックスによる検出を回避するARM ABI実行可能ファイルを作成します。
3. Jokerマルウェアは、偽の既知のアセット ファイルでも広く使用されるXOR、AES、DES、ElGamalなど、さまざまな種類の暗号化でペイロードを隠します。JSON、TTF、PNG、またはデータベース ファイルのような拡張子を持つものはほとんどありません。いくつかの例ではアプリは暗号化され、アプリのマニフェスト ファイルのメタデータ内の悪意のあるペイロードを非表示にします。復号キーは多くの場合、アプリのパッケージ名から導出されますが、これは復号作業をカスタマイズする手間を省くためと考えられています。
図 7: ElGama暗号化
図 8: パッケージ名からの DES 鍵の導出
IOC:
- http://givehotdog[.]com
- https://trustcats[.]com
- http://giveme8[.]com/
- https://xjuys[.]oss-accelerate[.]aliyuncs[.]com/xjuys
- http://139[.]177[.]180[.]78/hell
- https://xjuys[.]oss-accelerate[.]aliyuncs[.]com/fbhx1
- https://xjuys.oss-accelerate[.]aliyuncs[.]com/fbhx2
FaceStealerマルウェア
偽のFacebookログイン画面でFacebookユーザーを狙う「Facestealer」マルウェアもGoogle Playストアで確認されています。デバイスが感染すると、ユーザーはFacebookにログインするよう促され、資格情報を入力しないとアプリを使用できなくなります。ログインに成功すると、資格情報と認証トークンがマルウェア作成者によって窃取されます。
- アプリ名: cam.vanilla.snapp
- ダウンロード件数:5000
- カテゴリー:ツール
図9: 偽のFacebookログイン画面
上記の偽装ページは、アプリによって開かれ、WebViewを使用してサーバーからダウンロードしたJavaScriptを挿入します。
図 10: 悪意のある JavaScript をダウンロードするための URL
有効化されると、マルウェア アプリはコマンド&コントロール(C2)サーバーにアクセスして、悪意のあるJavaScriptをダウンロードします。https://busynow[.]store/configは現在もアクティブであり、マルウェアの作成者は最新のアップデートで、Base64でエンコードされた文字列の自動デコードを失敗させる文字を追加しています。追加された「W」文字によってデコードが失敗し、平文に戻ります。以下のスクリーンショットでは、
図 11: 復号された Base64
以下のスクリーンショットに示すように、窃取された資格情報とトークンが、悪意のあるコードが読み込まれたJavaScriptを使ってC2サーバーに送信されます。
図12: Facebookの資格情報を窃取するリモートC2の「c_url」パラメータを示しています。
IOC:
- busynow[.]store
- Zs8668[.]com
- kcoffni[.]xyz
Coper マルウェア
CoperはGoogle Playストアで正規のアプリを装って、ヨーロッパ、オーストラリア、南アメリカの銀行アプリを狙う有名なトロイの木馬です。このアプリがダウンロードされると、CoperマルウェアによってSMSテキスト メッセージの傍受と送信、USSD (非構造化補助サービス データ)によるメッセージ送信リクエストの作成、キーロギング、デバイス画面のロック/ロック解除、オーバーレイ攻撃の実行、アンインストールの阻止などが可能になります。そして通常、攻撃者はC2サーバーとのリモート接続を介して感染したデバイスを制御し、コマンドを実行できるようになります。こうした活動の結果、攻撃者は最終的に被害者から金銭を奪うために利用できる情報とアクセス権を獲得します。
- アプリ名:Unicc QR Scanner
- パッケージ名: com.qrdscannerratedx
- Sha256: 02499a198a8be5e203b7929287115cc84d286fc6afdb1bc84f902e433a7961e4
図 13: Google Play ストアで Coper マルウェアに混ぜ込まれたUnicc QR Scannerアプリ
このアプリは、無料のQRスキャナーに偽装しています。インストールが完了すると、すぐにアプリをアップデートするようユーザーを促します。
図14: スクリーンショットは、ユーザーにアプリのアップグレードを依頼し、デバイス設定でアプリへの昇格されたアクセス権限をさらに付与するように促すことで、マルウェア感染を有効にするプロセスを示しています。
次に、脅威アクターは、マルウェアまたはバックドアをデバイスにインストールするように設計されたトロイの木馬ドロッパーを使用して、Google Firebaseアプリ開発者ツールで下のスクリーンショットに示す悪意のあるペイロードを配信するURLを呼び出して受信します。
図 15: Firebaseの呼び出し
マルウェアは、新たな悪意のあるペイロードをホストするURLを含む構成をダウンロードします。このスクリーンショットが示すように、新しいペイロードの名前はAndroidのSharedPreferencesファイルによって設定されます。インストールされているペイロードの名前も継続的に変更されます。
図 16: SharedPreferences
新しくインストールされたファイルは、パッケージ名「com.fromtoo2」を持つのデバイス上の偽のGooglePlayストア アプリであり、直ちに昇格されたアクセス権限を付与するようにユーザーに促し、それによってユーザーの電話を完全にコントロールします。
バックグラウンドでは、偽のGoogle Playストアアプリが libWeEq.soという実行可能ファイルをロードし、以下でさらに示して説明するように、事前定義されたMvsEujZ関数を呼び出します。
図 17: 実行可能ファイルから呼び出された MvsEujZ関数
上記のMvsEujZ関数は、実行可能ファイル内にある静的キーで実行可能ファイルを復号し、起動時に昇格されたアクセス権限を付与するようユーザーに要求します。libWeEq.soで復号した後、下のスクリーンショットに示すように、Coperコード ベースが表示されます。
図 18: Coperコード ベース
この最後のペイロードは、Rivest Cipher 4 (RC4)暗号化を使用して、その悪意のある署名を隠して検出されないようにします。以下のスクリーンショットは、Coperマルウェアで使用される復号されたC2サーバー アドレスを示しています。
図 19: スクリーンショットは、ペイロードの復号内容を示しています
リモートコントロールアクセス用のバーチャル ネットワーク コンピューティング(VNC)サービスが利用できない場合、マルウェアの作成者は、下のスクリーンショットに示すように、Android TeamViewerアプリを使用して、感染したデバイスの画面を監視します。
図20: スクリーンショットは、攻撃者がTeamViewerを使用してデバイスの画面をリモートで監視できるようにするコードを示しています
そして、この最後のスクリーンショットは、悪意のあるJavaScriptが読み込まれるWebViewのバックエンドを示しており、読み込まれることで、攻撃者がC2サーバー接続を介して完全なコントロールを手にいれ、被害者を侵害して最終的に恐喝するのに必要な行動を実行できるようにします。
図 21: Android開発者アプリ WebView を活用する攻撃者を示しています
IOC:
- raw[.]githubusercontent[.]com/k6062019/qq/main/porc[.]apk
- abashkinokabashkinok[.]top/ZmEwY2ZmZWYzN2Mw/
- asqwnbvb[.]shop/ZmEwY2ZmZWYzN2Mw/
- barabashkinok[.]top/ZmEwY2ZmZWYzN2Mw/
- ccnfddbvb[.]pics/ZmEwY2ZmZWYzN2Mw/
- eendfbvb[.]sbs/ZmEwY2ZmZWYzN2Mw/
- nbervbwe[.]monster/ZmEwY2ZmZWYzN2Mw/
- nbrtvbsd[.]mom/ZmEwY2ZmZWYzN2Mw/
- nbvb3954[.]fun/ZmEwY2ZmZWYzN2Mw/
- nbvbvber[.]makeup/ZmEwY2ZmZWYzN2Mw/
- nbvmnbbn[.]lol/ZmEwY2ZmZWYzN2Mw/
- nbvvvb[.]hair/ZmEwY2ZmZWYzN2Mw/
- nterospbnvdos[.]site/ZmEwY2ZmZWYzN2Mw/
- nterospusios[.]shop/ZmEwY2ZmZWYzN2Mw/
- ntospusios[.]top/ZmEwY2ZmZWYzN2Mw/
- nytbvb[.]one/ZmEwY2ZmZWYzN2Mw/
- qqnnffbvb[.]space/ZmEwY2ZmZWYzN2Mw/
- qwnnnbvb[.]skin/ZmEwY2ZmZWYzN2Mw/
- vbfdnbvb[.]online/ZmEwY2ZmZWYzN2Mw/
- vntososupplsos[.]live/ZmEwY2ZmZWYzN2Mw/
- wwereffnbvb[.]store/ZmEwY2ZmZWYzN2Mw/
- xxfdnbvb[.]quest/ZmEwY2ZmZWYzN2Mw/
これらのマルウェアによる感染を避けるためにAndroidユーザーができること:
不要なアプリ、信頼性の低いまたは精査されていないアプリをモバイル デバイスにインストールしない — 認知度が高く、信頼できる提供元とプロバイダーが推奨し、インストール数と肯定的なレビューが豊富なアプリを探します。
完全に信頼できないアプリに通知リスナーの許可と昇格されたアクセス権限を付与しない — 通知リスナー サービスを使用すると、アプリのパッケージ名をenabled_notification_listenersプロバイダーに追加でき、読み取り通知が有効になります。これには自動生成されたワンタイム パスワード/PIN (OTP)などの重要なアクセス通知が含まれます。
可能であればメッセージ アプリのインストールを避ける。どうしても必要な場合は、そのアプリの認知度やレビューの内容などを細心の注意を払って調査する — 信頼できる友人からメッセージ アプリのダウンロードを依頼するリンクが届いた場合でも、友人のデバイスがマルウェアに侵害されている可能性を考慮する必要があります。友人に確かめる前に、自分で時間をかけて調査し、そのアプリが十分安全であることを確認してください。メッセージ アプリは、その機能としてRead_SMS権限を必要としますが、脅威アクターはその権限を簡単に悪用して、被害者をさらに侵害するのに利用できる主要なOTPなどの情報を取得します。
Google Playストアの悪意のあるアプリによる被害に遭った場合は、Google Playストア アプリのサポート オプションからすぐにGoogleに通知する — マルウェアの拡散を抑制し、脅威アクターの成功を阻止するためにも、悪意のあるアプリをできるだけ早く特定してフラグを立て、推奨のアプリ ストアから削除するために協力することが重要です。
全社ネットワークの保護を担当している場合は、Zscaler のゼロトラスト アーキテクチャを展開してユーザーを保護し、悪意のあるアプリがユーザーによって個人のデバイスにダウンロードされた際のさらなる侵害を防ぎます。
このブログは役に立ちましたか?
免責事項:このブログは、Zscalerが情報提供のみを目的として作成したものであり、「現状のまま」提供されています。記載された内容の正確性、完全性、信頼性については一切保証されません。Zscalerは、ブログ内の情報の誤りや欠如、またはその情報に基づいて行われるいかなる行為に関して一切の責任を負いません。また、ブログ内でリンクされているサードパーティーのWebサイトおよびリソースは、利便性のみを目的として提供されており、その内容や運用についても一切の責任を負いません。すべての内容は予告なく変更される場合があります。このブログにアクセスすることで、これらの条件に同意し、情報の確認および使用は自己責任で行うことを理解したものとみなされます。



