Zscalerのブログ

Zscalerの最新ブログ情報を受信

セキュリティリサーチ

Google Playストアに潜むJoker、Facestealer、Coper

VIRAL GANDHI, HIMANSHU SHARMA
July 18, 2022 - 22 分で読了

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ダウンローダー アプリを確認しました。

 

Image removed.

Simple Note Scanner - com.wuwan.pdfscan

Image removed.

Universal PDF Scanner - com.unpdf.scan.read.docscanuniver

Image removed.

Private Messenger - com.recollect.linkus

Image removed.

Premium SMS - com.premium.put.trustsms

Image removed.

Smart Messages - com.toukyoursms.timemessages

Image removed.

Text Emoji SMS - messenger.itext.emoji.mesenger

Image removed.

Blood Pressure Checker - com.bloodpressurechecker.tangjiang

Image removed.

Funny Keyboard - com.soundly.galaxykeyboard

Image removed.

Memory Silent Camera - com.silentmenory.timcamera

Image removed.

Custom Themed Keyboard - com.custom.keyboardthemes.galaxiy

Image removed.

Light Messages - com.lilysmspro.lighting

Image removed.

Themes Photo Keyboard - com.themes.bgphotokeyboard

Image removed.

Send SMS - exazth.message.send.text.sms

Image removed.

Themes Chat Messenger - com.relish.messengers

Image removed.

Instant Messenger - com.sbdlsms.crazymessager.mmsrec

Image removed.

Cool Keyboard - com.colate.gthemekeyboard

Image removed.

Fonts Emoji Keyboard - com.zemoji.fontskeyboard

Image removed.

Mini PDF Scanner - com.mnscan.minipdf

Image removed.

Smart SMS Messages - com.sms.mms.message.ffei.free

Image removed.

Creative Emoji Keyboard - com.whiteemojis.creativekeyboard.ledsloard

Image removed.

Fancy SMS - con.sms.fancy

Image removed.

Fonts Emoji Keyboard - com.symbol.fonts.emojikeyboards

Image removed.

Personal Message - com.crown.personalmessage

Image removed.

Funny Emoji Message - com.funie.messagremo

Image removed.

Magic Photo Editor - com.amagiczy.photo.editor

Image removed.

Professional Messages - com.adore.attached.message

Image removed.

All Photo Translator - myphotocom.allfasttranslate.transationtranslator

Image removed.

Chat SMS - com.maskteslary.messages

Image removed.

Smile Emoji - com.balapp.smilewall.emoji

Image removed.

Wow Translator - com.imgtop.camtranslator

Image removed.

All Language Translate - com.exclusivez.alltranslate

Image removed.

Cool Messages - com.learningz.app.cool.messages

Image removed.

Blood Pressure Diary - bloodhold.nypressure.mainheart.ratemy.mo.depulse.app.tracker.diary

Image removed.

Chat Text SMS - com.echatsms.messageos

Image removed.

Hi Text SMS - ismos.mmsyes.message.texthitext.bobpsms

Image removed.

Emoji Theme Keyboard - com.gobacktheme.lovelyemojikeyboard

Image removed.

iMessager - start.me.messager

Image removed.

Text SMS - com.ptx.textsms

Image removed.

Camera Translator - com.haixgoback.outsidetext.languagecameratransla

Image removed.

Come Messages - com.itextsms.messagecoming

Image removed.

Painting Photo Editor - com.painting.pointeditor.photo

Image removed.

Rich Theme Message - com.getmanytimes.richsmsthememessenge

Image removed.

Quick Talk Message - mesages.qtsms.messenger

Image removed.

Advanced SMS - com.fromamsms.atadvancedmmsopp

Image removed.

Professional Messenger - com.akl.smspro.messenger

Image removed.

Classic Game Messenger - com.classcolor.formessenger.sic

Image removed.

Style Message - com.istyle.messagesty

Image removed.

Private Game Messages - com.message.game.india

Image removed.

Timestamp Camera - allready.taken.photobeauty.camera.timestamp

Image removed.

Social Message - com.colorsocial.message

 

ThreatLabzは現在までに、50種を超えるJokerダウンローダー アプリをGoogle Playストアで確認しており、すべて合計30万回以上ダウンロードされていることがわかっています。これらのアプリは通常、次の一般的なカテゴリーのいずれかに分類されています。

  • 通信
  • 健康
  • パーソナライゼーション
  • 写真
  • ツール

以下は、カテゴリごとのアプリ数の内訳です:

 

Image removed.

Jokerが仕込まれたアプリの大部分が、ツールとコミュニケーションのカテゴリーを占める結果となっています。ThreatLabzは、Jokerアプリが毎日アップロードされていることを確認しており、この現状からも攻撃者集団の活動レベルの高さと執拗性をうかがい知ることができます。Jokerマルウェア キャンペーンに属するThreatLabzの最新の調査結果では、以前の調査結果と同様に、類似した開発者の命名パターンに従い、使い慣れた手法を使用していることが明らかになっています。この特定のキャンペーンのより詳細な分析については、以前のブログGoogle PlayのJoker Jokingをご覧ください。

以下は、Enjoy Message Joker アプリのテクニカル分析です:

 

Image removed.

  • アプリ名: Enjoy Message  
  • パッケージ名: sms.ienjoy.joysms.message

Jokerマルウェアの作成者は、非常に複雑なものから単純なものまで、さまざまなアプリを開発してリリースしています。Jokerの開発者は、アプリが所定のインストール数とレビューを獲得するのを待ってからマルウェアを混入させたバージョンと入れ替えるのではなく、市販のパッカーを使用して、共通のアセット ファイルとアプリケーション パッケージに悪意のあるペイロードを隠す手口を採用しています。これが、ウイルス対策ソフトウェアやGoogle Playストアの評価中にアプリが検出されない主な理由の1つです。

最も一般的に見られるのは、脅威アクターがメッセージ アプリ内でJokerマルウェアを偽装し、ユーザーの携帯電話でデフォルトのSMSアプリとして機能させるようにすることで、昇格された権限の付与をユーザーに要求する手口です。このマルウェアは、これらの昇格された権限を使用して操作を実行します。

Enjoy SMS アプリケーションでは、ペイロードは既知のパスに隠されていますが、パス自体はアプリケーションのクラスで難読化されています。

Image removed.

図1: ペイロードの難読化されたパス

難読化を解除すると、ペイロードが存在するアセットのディレクトリ「io/michaelrocks/libphonenumber/android/data/PhoneNumberAlternateFormatsProto_53」にパスが表示されます。

アプリのパッケージ名は、AES復号キーとして使用されるハッシュを導出するために使用されます。このキーは、次の宣言された関数を含む実行可能ファイル(.so)でペイロードを復号するために使用されます。

Image removed.

図2: 類似した既知のSDKの関数/クラス名

調査を難しくするため、使用される関数のクラス名とメソッド名は既知の SDK に類似しています。

非表示にドロップされた実行可能ファイルの「onInstall」関数は「system.loadlibrary」機能が実行可能ファイルを読み込んだ後、実行時に呼び出されます。

Image removed.

図3: 実行可能ファイル内への悪意のあるコードの実装

上に示すように、実行可能ファイルは「com.Brling」クラスからメソッド「Wnjre」を読み込みます。ドロップされた実行可能ファイルは、Base64暗号化を使用してペイロードを非表示にします。

Image removed.

図 4: Base64で暗号化された内容

2 番目のペイロードは、以下に示すように、既知の兵器化された Java ARchive (JAR) ファイルを3 番目のペイロードとしてダウンロードします。

Image removed.

図 5: 復号化されたペイロード

以下は、Joker マルウェアで使用される一般的な手法の例です:

1. アプリは、そのパッケージがまだGoogle Playストアで公開されているかどうかを確認します。

Image removed.

図6: Google Playストアをチェックして、アプリがまだ公開中であることを確認します。

2. 多くのJokerアプリは、Androidパッケージ キット(APK)のアセット フォルダにペイロードを隠し、x86アーキテクチャに基づくほとんどのサンドボックスによる検出を回避するARM ABI実行可能ファイルを作成します。

3. Jokerマルウェアは、偽の既知のアセット ファイルでも広く使用されるXOR、AES、DES、ElGamalなど、さまざまな種類の暗号化でペイロードを隠します。JSON、TTF、PNG、またはデータベース ファイルのような拡張子を持つものはほとんどありません。いくつかの例ではアプリは暗号化され、アプリのマニフェスト ファイルのメタデータ内の悪意のあるペイロードを非表示にします。復号キーは多くの場合、アプリのパッケージ名から導出されますが、これは復号作業をカスタマイズする手間を省くためと考えられています。

Image removed.

図 7: ElGama暗号化

Image removed.

図 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
  • カテゴリー:ツール

Image removed.

図9: 偽のFacebookログイン画面

上記の偽装ページは、アプリによって開かれ、WebViewを使用してサーバーからダウンロードしたJavaScriptを挿入します。

Image removed.

図 10: 悪意のある JavaScript をダウンロードするための URL

有効化されると、マルウェア アプリはコマンド&コントロール(C2)サーバーにアクセスして、悪意のあるJavaScriptをダウンロードします。https://busynow[.]store/configは現在もアクティブであり、マルウェアの作成者は最新のアップデートで、Base64でエンコードされた文字列の自動デコードを失敗させる文字を追加しています。追加された「W」文字によってデコードが失敗し、平文に戻ります。以下のスクリーンショットでは、

Image removed.

図 11: 復号された Base64

以下のスクリーンショットに示すように、窃取された資格情報とトークンが、悪意のあるコードが読み込まれたJavaScriptを使ってC2サーバーに送信されます。

Image removed.

図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

Image removed.

図 13: Google Play ストアで Coper マルウェアに混ぜ込まれたUnicc QR Scannerアプリ

 

このアプリは、無料のQRスキャナーに偽装しています。インストールが完了すると、すぐにアプリをアップデートするようユーザーを促します。

Image removed.

図14: スクリーンショットは、ユーザーにアプリのアップグレードを依頼し、デバイス設定でアプリへの昇格されたアクセス権限をさらに付与するように促すことで、マルウェア感染を有効にするプロセスを示しています。

次に、脅威アクターは、マルウェアまたはバックドアをデバイスにインストールするように設計されたトロイの木馬ドロッパーを使用して、Google Firebaseアプリ開発者ツールで下のスクリーンショットに示す悪意のあるペイロードを配信するURLを呼び出して受信します。

Image removed.

図 15: Firebaseの呼び出し

マルウェアは、新たな悪意のあるペイロードをホストするURLを含む構成をダウンロードします。このスクリーンショットが示すように、新しいペイロードの名前はAndroidのSharedPreferencesファイルによって設定されます。インストールされているペイロードの名前も継続的に変更されます。

Image removed.

図 16: SharedPreferences

新しくインストールされたファイルは、パッケージ名「com.fromtoo2」を持つのデバイス上の偽のGooglePlayストア アプリであり、直ちに昇格されたアクセス権限を付与するようにユーザーに促し、それによってユーザーの電話を完全にコントロールします。

バックグラウンドでは、偽のGoogle Playストアアプリが libWeEq.soという実行可能ファイルをロードし、以下でさらに示して説明するように、事前定義されたMvsEujZ関数を呼び出します。

Image removed.

図 17: 実行可能ファイルから呼び出された MvsEujZ関数

上記のMvsEujZ関数は、実行可能ファイル内にある静的キーで実行可能ファイルを復号し、起動時に昇格されたアクセス権限を付与するようユーザーに要求します。libWeEq.soで復号した後、下のスクリーンショットに示すように、Coperコード ベースが表示されます。

Image removed.

図 18: Coperコード ベース

この最後のペイロードは、Rivest Cipher 4 (RC4)暗号化を使用して、その悪意のある署名を隠して検出されないようにします。以下のスクリーンショットは、Coperマルウェアで使用される復号されたC2サーバー アドレスを示しています。

Image removed.

図 19: スクリーンショットは、ペイロードの復号内容を示しています

リモートコントロールアクセス用のバーチャル ネットワーク コンピューティング(VNC)サービスが利用できない場合、マルウェアの作成者は、下のスクリーンショットに示すように、Android TeamViewerアプリを使用して、感染したデバイスの画面を監視します。

Image removed.

図20: スクリーンショットは、攻撃者がTeamViewerを使用してデバイスの画面をリモートで監視できるようにするコードを示しています

そして、この最後のスクリーンショットは、悪意のあるJavaScriptが読み込まれるWebViewのバックエンドを示しており、読み込まれることで、攻撃者がC2サーバー接続を介して完全なコントロールを手にいれ、被害者を侵害して最終的に恐喝するのに必要な行動を実行できるようにします。

Image removed.

図 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 のゼロトラスト アーキテクチャを展開してユーザーを保護し、悪意のあるアプリがユーザーによって個人のデバイスにダウンロードされた際のさらなる侵害を防ぎます。

 

form submtited
お読みいただきありがとうございました

このブログは役に立ちましたか?

免責事項:このブログは、Zscalerが情報提供のみを目的として作成したものであり、「現状のまま」提供されています。記載された内容の正確性、完全性、信頼性については一切保証されません。Zscalerは、ブログ内の情報の誤りや欠如、またはその情報に基づいて行われるいかなる行為に関して一切の責任を負いません。また、ブログ内でリンクされているサードパーティーのWebサイトおよびリソースは、利便性のみを目的として提供されており、その内容や運用についても一切の責任を負いません。すべての内容は予告なく変更される場合があります。このブログにアクセスすることで、これらの条件に同意し、情報の確認および使用は自己責任で行うことを理解したものとみなされます。

Zscalerの最新ブログ情報を受信

このフォームを送信することで、Zscalerのプライバシー ポリシーに同意したものとみなされます。