報酬プラス: 偽のモバイル バンキング報酬アプリは、Android デバイスに情報を盗む RAT をインストールするようユーザーを誘導します。

news

進行中の SMS キャンペーンを通じて配信された、以前に報告された情報を盗む Android マルウェアの最近のバージョンの分析では、モバイルの脅威が継続的に進化していることを示しています。バンキング リワード アプリを装ったこの新しいバージョンには、リモート アクセス トロイの木馬 (RAT) 機能が追加されており、さらに難読化されており、現在、インドの銀行の顧客を標的にするために使用されています。 SMS キャンペーンは、情報を盗む Android マルウェアへのリンクを含むメッセージを送信します。マルウェアの RAT 機能により、攻撃者は受信メッセージなどの重要なデバイス通知を傍受できます。これは、銀行や金融機関でよく使用される 2 要素認証 (2FA) メッセージを捕捉するための明らかな取り組みです。すべての SMS メッセージを盗むマルウェアの能力も懸念されます。盗まれたデータを使用して、メール アカウントの 2FA メッセージやその他の個人を特定できる情報 (PII) などのユーザーの機密情報をさらに盗むことができるからです。

この図は、この Android マルウェアの典型的な感染チェーンを示しています。感染は、悪意のある APK につながる悪意のあるリンクを含む SMS メッセージから始まります。
図 1. 典型的な SMS キャンペーン攻撃フロー

この新しい Android マルウェア バージョンの調査は、偽のバンキング リワード アプリのダウンロードにつながる悪意のあるリンクを含む SMS メッセージを受信したことから始まりました。 TrojanSpy:AndroidOS/Banker.O として検出された偽のアプリは、2021 年に報告された同様のマルウェアとは異なる銀行名とロゴを使用していました。さらに、この偽アプリのコマンド アンド コントロール (C2) サーバーは、オープンソース インテリジェンスに基づいて、他の 75 の悪意のある APK に関連していることがわかりました。悪意のある APK の一部は、調査した偽アプリと同じインドの銀行のロゴも使用しています。これは、攻撃者がキャンペーンを継続するために新しいバージョンを継続的に生成していることを示している可能性があります。

このブログでは、最新バージョンの機能の分析について詳しく説明します。 SMS メッセージ、電子メール、またはメッセージング アプリで受信した不明なリンクをクリックしないことを強くお勧めします。また、銀行のデジタル オプションについて、銀行のサポートやアドバイスを求めることをお勧めします。さらに、マルウェアのインストールを避けるために、バンキング アプリが公式のアプリ ストアからダウンロードされていることを確認してください。

観察された活動

ユーザーに表示されるもの

次のアプリ名に基づいて、インドの銀行の顧客を標的とする他のキャンペーンを確認しました。

  • Axisbank_rewards.apk
  • Icici_points.apk
  • Icici_rewards.apk
  • SBI_rewards.apk

私たちの調査は、icici Rewards として表示されるicici_rewards.apk (パッケージ名: com.example.test_app ) に焦点を当てました。 SMS キャンペーンは、ターゲットのモバイル デバイスに悪意のある APK をインストールすることにつながる悪意のあるリンクを含むメッセージを送信します。ユーザーをリンクにアクセスさせるために、SMS は、既知のインドの銀行から報酬を請求するようユーザーに通知していると主張しています。

受信した SMS メッセージのスクリーンショット。メッセージにはリンクが含まれており、インドに拠点を置く正規の銀行の名前が記載されています。
図 2. ユーザーに送信された悪意のあるリンクを含むテキスト メッセージ

ユーザーが操作すると、銀行のロゴが入ったスプラッシュ スクリーンが表示され、ユーザーにアプリの特定の権限を有効にするように求められます。

モバイル デバイスにインストールされた偽のアプリのスクリーンショットと、有効にする必要がある Android のアクセス許可が記載されている場所。このアプリは、インドに本拠を置く銀行のロゴを使用して、正当に見せかけています。
図 3 と 4. Android デバイスにインストールされたアプリ。このアプリは、テキスト メッセージングと連絡先に対するアクセス許可を有効にするようユーザーに要求します。

偽のアプリは、すべての権限が付与されると、クレジット カード情報を要求します。アプリは通常、購入の支払いなどのユーザー主導のトランザクションを通じてのみ機密情報を要求するため、これにより、ユーザーはアプリの動機について疑念を抱くはずです。

ユーザーが必要な情報を提供すると、アプリは別の偽の画面を表示し、正当性を高めるための追加の指示を表示します。

ユーザーのクレジット カード情報を要求する偽のアプリのスクリーンショットと、ユーザー情報が提供された後のメッセージ。このメッセージは、偽のアプリの想定される正当性をさらに高めます。
図 5 と 6. アプリがユーザーに情報の提供を求める偽のページと、データが追加された結果のメッセージ

バックグラウンドで何が起こるか

XML ファイルのAndroidManifestを分析すると、マルウェアのエントリ ポイントと、要求されたアクセス許可がさらに特定されます。また、ユーザーの操作なしでバックグラウンドで実行できるサービスも定義します。アプリは次の権限を使用します。

  • READ_PHONE_STATE
  • アクセス_ネットワーク_状態
  • READ_SMS
  • RECEIVE_SMS
  • READ_CALL_LOG
  • FOREGROUND_SERVICE
  • MODIFY_AUDIO_SETTINGS
  • READ_CONTACTS
  • RECEIVE_BOOT_COMPLETED
  • WAKE_LOCK

このマルウェアは、MainActivity、AutoStartService、および RestartBroadCastReceiverAndroid 関数を使用して、ほとんどのルーチンを実行します。これら 3 つの機能が相互に作用して、マルウェアのすべてのルーチンが稼働中であることを確認し、アプリがモバイル デバイス上で永続的に存続できるようにします。

主な活動

ランチャー アクティビティとも呼ばれるMainActivityは、 com.example.test_app.MainActivity の下で定義されます。インストール後に最初に起動され、偽のアプリの ICICI スプラッシュ スクリーンが表示されます。次に、このランチャー アクティビティはOnCreate()メソッドを呼び出して、デバイスのインターネット接続を確認し、マルウェアのインストールのタイムスタンプを記録します。また、 Permission_Activityを呼び出して許可要求を開始します。パーミッションが付与されると、 Permission_ActivityはさらにAutoStartServicelogin_kotakを呼び出します。

MainActivity 関数の対象となるアクションを示すマルウェア コードのスクリーンショット。
図 7. MainActivity の下のアクション

クラスlogin_kotakは、ユーザーのカード情報を盗みます。偽のクレジット カード入力ページ (図 5) を表示し、攻撃者からのコマンドを待つ間、情報を一時的にデバイスに保存します。

すべての情報を盗むために使用されたマルウェアのコードのスクリーンショット。
図 8. login_kotak クラスがカード情報やその他の個人を特定できる情報 (PII) を盗む

AutoStartService

マルウェアのメイン ハンドラであるAutoStartService は、受信したコマンドに基づいて機能します。ハンドラーは、マルウェアに次の機能を提供します。

RAT コマンドの強制

このマルウェアの新しいバージョンでは、情報窃取を拡張するいくつかの RAT 機能が追加されています。これにより、マルウェアは、通話ログのアップロード、SMS メッセージと通話の傍受、およびカード ブロッキング チェックを追加できます。

2021 年と 2022 年に報告されたマルウェア サンプルを比較したコードのスクリーンショット。2022 年のサンプルでは、2021 年のサンプルと比較してコマンドが追加されています。
図 9. 2021 年 (左) と 2022 年 (右) のサンプルのコード比較

これらのコマンドについて以下に説明します。

コマンド名 説明
all_sms_received SMS アップロードを有効/無効にするフラグ
all_call_received 通話ログのアップロードを有効/無効にするフラグ
静けさ モバイル デバイスをマナーモードにする
ブロック ユーザーのカードがブロックされているかどうかを確認します
sms_filter 文字列に基づいて SMS をフィルタリングします (デフォルトは「ICICI」)
オンライン ユーザーがアクティブなインターネット接続を持っているかどうかを確認します
force_online 受信したSMSメッセージをC2サーバーにアップロード
オンラインです デバイスが C2 サーバーに接続されているかどうかを確認します
force_calls 通話ログを C2 サーバーにアップロードします

マルウェアがリモート攻撃者の SMS 送信アクティビティを検出されないようにするために使用するサイレントコマンドは、コマンドのリストの中で際立っています。多くのバンキング アプリは 2 要素認証 (2FA) を必要とし、多くの場合 SMS メッセージで送信されます。感染したデバイスのサイレント モードを有効にするこのマルウェアは、攻撃者が検出されない 2FA メッセージをキャッチできるようにし、情報の盗難をさらに助長します。

マルウェアがモバイル デバイスのサイレント モードをオンにするコードのスクリーンショット。
図 10. このコードは、モバイル デバイスのサイレント モードをオンにする役割を果たします。

SMS メッセージの暗号化と復号化

このマルウェアは、攻撃者に送信するすべてのデータを暗号化するだけでなく、攻撃者から受信する SMS コマンドも暗号化します。マルウェアは、復号化モジュールと復号化モジュールを使用してコマンドを復号化します。このマルウェアは、Base64 エンコーディング/デコーディングと AES 暗号化/復号化方法を組み合わせて使用します。

このスクリーンショットは、マルウェアのコード内の AES および Base64 暗号化および復号化モジュールを示しています。
図 11. コードに見られるマルウェアのエンコードおよびデコード モジュール

SMS メッセージを盗む

マルウェアは、モバイル デバイスの受信ボックスからすべての SMS メッセージを盗みます。受信、送信、既読、さらには未読のすべてのメッセージを収集します。すべての SMS メッセージを収集すると、攻撃者はデータを使用して盗みの範囲を拡大できる可能性があります。特に、メール アカウントの SMS ベースの 2FA、インドで一般的に使用されている Aadhar カードなどの個人識別、またはその他の金融情報など、他の機密情報がメッセージに含まれている場合はなおさらです。 -関連情報。

すべての SMS メッセージを盗むために使用されたマルウェアのコードのスクリーンショット。
図 12. すべての SMS メッセージを盗むために使用されるコード

すべての通話ログのアップロード

このマルウェアは、モバイル デバイスに保存されている通話ログもアップロードします。このデータは、攻撃者の監視目的で使用される可能性があります。

すべての通話ログを盗むマルウェアのコードのスクリーンショット。
図 13. 通話ログを盗むマルウェア コード

その C2 との通信

このマルウェアは、オープンソース ライブラリのsocket.ioを使用して C2 サーバーと通信します。

マルウェアの C2 サーバー接続を示すコードのスクリーンショット。
図14.マルウェアのC2サーバー接続を示すコード

RestartBroadCastReceiver

このマルウェアは、モバイル デバイスが受信したイベントの種類に基づいて機能する Android コンポーネントRestartBroadcastReceive r も使用します。このレシーバーはJobServiceという名前のジョブ スケジューラを起動し、最終的にバックグラウンドでAutoStartServiceを呼び出します。受信機は、デバイスが再起動されたとき、デバイスが充電に接続または切断されたとき、デバイスのバッテリー状態が変化したとき、およびデバイスの Wi-Fi 状態が変化したときに反応します。 RestartBroadcastReceiverは、メイン コマンド ハンドラーAutoStartServiceが常に稼働していることを保証します。

AutoStartService 関数を使用したマルウェアのアクションのスクリーンショット。
図 15. レシーバーが AutoStartService を開始する方法

偽アプリの不要なエクストラを軽減する

このマルウェアの継続的な進化は、モバイル デバイスを保護する必要性を浮き彫りにしています。その幅広い SMS 盗み取り機能により、盗んだデータに対する攻撃者は、ユーザーの他のバンキング アプリからさらに盗むことができる可能性があります。 SMS を介して送信されるワンタイム パスワード (OTP) を傍受するその機能は、銀行の 2 要素認証メカニズムによって提供される保護を妨げます。このメカニズムは、ユーザーと機関がトランザクションを安全に保つために依存しています。また、さまざまな銀行や金融機関のロゴを使用しているため、将来さらに多くの標的を引き付ける可能性があります。

オペレーティング システムのオープンな性質により、Android へのアプリのインストールは比較的簡単です。ただし、この開放性は、攻撃者が自分の利益のために悪用することがよくあります。メッセージ内のリンクをクリックしてアプリをインストールする際には細心の注意を払うだけでなく、次の手順に従ってデバイスを偽のアプリやマルウェアから保護することをお勧めします。

  • 公式アプリストアからのみアプリケーションをダウンロードしてインストールしてください。
  • Android デバイスのユーザーは、不明なソース オプションを無効にして、不明なソースからのアプリのインストールを停止できます。
  • Microsoft Defender for Endpoint on Androidなどのモバイル ソリューションを使用して、悪意のあるアプリケーションを検出します。

付録

侵害の兆候

インジケータ タイプ 説明
734048bfa55f48a05326dc01295617d932954c02527b8cb0c446234e1a2ac0f7 SHA-256 icici_rewards.apk
da4e28acdadfa2924ae0001d9cfbec8c8cc8fd2480236b0da6e9bc7509c921bd SHA-256 icici_rewards.apk
65d5dea69a514bfc17cba435eccfc3028ff64923fbc825ff8411ed69b9137070 SHA-256 icici_rewards.apk
3efd7a760a17366693a987548e799b29a3a4bdd42bfc8aa0ff45ac560a67e963 SHA-256 icici_rewards.apk ( MalwareHunterTeamによって最初に報告された)
hxxps://server4554ic[.]herokuapp[.]com/ URL C2サーバー

MITRE ATT&CKテクニック

実行 持続性 防御回避 資格情報へのアクセス コレクション コマンド&コントロール 流出 影響
T1603 予定
タスク/ジョブ
T1624 イベント トリガーによる実行 T1406 難読化されたファイル/情報 T1417 インプットキャプチャ T1417 インプットキャプチャ T1437 アプリケーション層プロトコル C2 チャネルを介した T1646 流出 T1582 SMS コントロール
T1603 スケジュールされたタスク/ジョブ T1636 保護されたユーザー データ T1521 暗号化チャネル

Shivang DesaiAbhishek PustakalaHarshita Tripathi
Microsoft 365 Defender 研究チーム

参考: https ://www.microsoft.com/en-us/security/blog/2022/09/21/rewards-plus-fake-mobile-banking-rewards-apps-lure-users-to-install-info- 盗む-ラット-オン-アンドロイド-デバイス/

Comments

Copied title and URL