研究者らは、Android向けのリモートアクセス型トロイの木馬(RAT)「YuanKong」を発見しました。このマルウェアは感染したスマートフォンを遠隔操作し、決済用の暗証番号(PIN)を盗み取るほか、画面を暗転させて不正な操作を隠すことができます。
YuanKongは、アクセシビリティ機能の悪用、偽の決済画面、端末内のAndroidデバッグ機能へのアクセスを組み合わせています。これにより、端末の乗っ取りや銀行詐欺につながるおそれがあります。
調査では、110個のドロッパーアプリが57種類の異なる悪意あるペイロードを配布していることが判明しました。すべてのペイロードは1つの署名証明書を共有しており、埋め込まれたアカウント情報からは、42のオペレーターアカウントと44種類の入れ替わるビルドブランドが確認されました。
この結果は、単一の孤立した悪意あるアプリではなく、複数のオペレーターアカウントにサービスを提供する共通プラットフォームが存在することを示唆しています。
感染の流れでは、ローダーが隠しペイロードをアプリのアセット内に保存します。ただし、その保護は脆弱です。設定ファイル「vault-config.json」に、復号キーと初期化値が平文のまま含まれているためです。
研究者らは、マルウェアを実行したりサーバーに接続したりせずに、ペイロードを展開できました。
必要な権限を得て動作を開始すると、YuanKongはAndroidのアクセシビリティ機能を使って画面の内容を監視し、テキストの変更を記録します。さらに、タップやスワイプ、ナビゲーション操作も実行します。
オペレーターはアプリの起動、端末のロック、ファイルの転送、画面のストリーミングを行えます。黒い画面のオーバーレイを表示すれば、被害者に気づかれずに操作を続けられます。
PINの窃取にはいくつかの手口があります。1つ目は、偽の数字キーパッドを表示する方法です。マスクされたドットを見せながら、入力された実際の数字を記録します。
2つ目は、アプリのアクセシビリティツリーから数字ボタンの位置を割り出し、取得したタッチ座標と照合して選ばれた数字を特定する方法です。
この座標の収集は、該当するオーバーレイやマッピング済みのキーパッドに依存しており、すべてのタッチを無制限に監視するわけではありません。決済情報を盗む場合、オペレーターはHTMLページを用意し、選択したアプリの上に重ねて表示させることができます。
入力されたPINは端末内に保存され、コントロールサーバーにも送信されます。接続に失敗した場合、取得した記録はキューに残り、接続が回復した時点でアップロードされます。
YuanKongには、ワイヤレスデバッグを悪用するコードも含まれています。アクセシビリティ機能を通じてAndroidのシステムダイアログからペアリング情報を読み取り、端末自身のデバッグサービスに対して認証を行います。これにより入手できるのはAndroid Debug Bridge(ADB)のシェルであり、root権限ではありません。
このシェルを使えば、追加の権限を付与したり、画面録画を可能にしたり、永続化用のコンポーネントを起動したりできます。複数のサービスがマルウェアの動作を維持しようとし、デバイス管理者機能が削除に抵抗します。アプリのアイコンを隠すことも可能です。
常時接続の制御チャネルにはWebSocket上のSocket.IOを使用し、TLSで保護された構造化メッセージをやり取りします。共有インフラには、apppanda[.]xyz、ktxapp[.]com、ktx123[.]net、206.82.1.14が含まれます。
端末の報告には埋め込まれたオペレーター識別子が付随しています。このため研究者らは、異なるビルドを特定のアカウントに関連付けることができたと、StarLabsは述べています。
注: IPアドレスとドメインは、誤った名前解決やハイパーリンク化を防ぐため、意図的に無害化(「[.]」など)しています。元に戻す場合は、MISP、VirusTotal、SIEMなど、管理された脅威インテリジェンス基盤の中だけで行ってください。
脅威調査の効率化と手作業の削減のため、1万6,000以上のSOCチームがANY.RUNを活用しています。チームで試してみる
翻訳元: https://cyberpress.org/android-malware-captures-pins/