Tapjacking
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Tapjacking は、悪意のある アプリケーション が起動し、被害者アプリケーションの上に位置する 攻撃です。被害者アプリを視覚的に隠すと、そのユーザーインターフェースは、ユーザーがそれと対話するように騙すように設計されており、同時にその対話を被害者アプリに渡します。 実際には、ユーザーが実際に被害者アプリでアクションを実行していることを知らないようにしています。
この攻撃に対して脆弱なアプリを検出するには、Androidマニフェスト内のエクスポートされたアクティビティを検索する必要があります(インテントフィルターを持つアクティビティはデフォルトで自動的にエクスポートされることに注意してください)。エクスポートされたアクティビティを見つけたら、それらが何らかの権限を必要とするかどうかを確認してください。これは、悪意のあるアプリケーションもその権限を必要とするためです。
この情報源によると、 tapjacking攻撃は、Android 12 (API 31 & 30) 以降、Androidによって自動的に防止されます。したがって、アプリケーションが脆弱であっても、それを悪用することはできません。
filterTouchesWhenObscured
android:filterTouchesWhenObscured
が true
に設定されている場合、View
は別の可視ウィンドウによってウィンドウが隠されているときにタッチを受け取ることはありません。
setFilterTouchesWhenObscured
属性 setFilterTouchesWhenObscured
をtrueに設定することでも、この脆弱性の悪用を防ぐことができます。
例えば、true
に設定されている場合、ボタンは隠されている場合に自動的に無効化されることがあります:
最も最近のAndroidアプリケーションでTapjacking攻撃を実行するもの(+攻撃対象アプリケーションのエクスポートされたアクティビティの前に呼び出すこと)が見つかります: https://github.com/carlospolop/Tapjacking-ExportedActivity。
READMEの指示に従って使用してください。
FloatingWindowAppを実装した例のプロジェクトは、他のアクティビティの上に表示してクリックジャッキング攻撃を実行するために使用できます。FloatingWindowApp(少し古いですが、apkのビルドに幸運を祈ります)。
このプロジェクトは現在メンテナンスされていないようで、この機能は正しく動作していないようです。
qarkを--exploit-apk
--sdk-path /Users/username/Library/Android/sdk
パラメータと共に使用して、悪意のあるアプリケーションを作成し、可能なTapjackingの脆弱性をテストできます。\
緩和策は比較的簡単で、開発者は別のビューに覆われているときにタッチイベントを受け取らないことを選択できます。Android Developer’s Referenceを使用して:
時には、アプリケーションがユーザーの完全な知識と同意のもとでアクションが実行されていることを確認することが不可欠です。たとえば、権限リクエストの承認、購入の実行、広告のクリックなどです。残念ながら、悪意のあるアプリケーションは、ビューの意図された目的を隠すことによって、ユーザーを騙してこれらのアクションを実行させようとする可能性があります。これに対する対策として、フレームワークは、機密機能へのアクセスを提供するビューのセキュリティを向上させるために使用できるタッチフィルタリングメカニズムを提供します。
タッチフィルタリングを有効にするには、
setFilterTouchesWhenObscured(boolean)
を呼び出すか、android:filterTouchesWhenObscuredレイアウト属性をtrueに設定します。有効にすると、フレームワークは、ビューのウィンドウが別の可視ウィンドウによって覆われているときに受信したタッチを破棄します。その結果、トースト、ダイアログ、または他のウィンドウがビューのウィンドウの上に表示されるとき、ビューはタッチを受け取らなくなります。
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する: HackTricks Training GCP Red Team Expert (GRTE)