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マニフェスト内のエクスポートされたアクティビティを検索する必要があります(インテントフィルターを持つアクティビティはデフォルトで自動的にエクスポートされることに注意してください)。エクスポートされたアクティビティを見つけたら、それらが何らかの権限を必要とするかどうかを確認してください。これは、悪意のあるアプリケーションもその権限を必要とするためです。
この情報源によると**、**タップジャッキング攻撃は、Android 12 (API 31 & 30) 以降、Androidによって自動的に防止されます。したがって、アプリケーションが脆弱であっても、それを悪用することはできません。
filterTouchesWhenObscured
**android:filterTouchesWhenObscured
がtrue
**に設定されている場合、View
は、他の可視ウィンドウによってウィンドウが隠されているときにタッチを受け取ることはありません。
setFilterTouchesWhenObscured
属性**setFilterTouchesWhenObscured
がtrueに設定されている場合、Androidバージョンが低い場合でもこの脆弱性の悪用を防ぐことができます。
例えば、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)