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은 악의적인 애플리케이션이 실행되어 희생 애플리케이션 위에 위치하는 공격입니다. 희생 앱을 가시적으로 가리면, 사용자 인터페이스는 사용자가 상호작용하도록 속이도록 설계되어 있으며, 이 상호작용은 희생 앱으로 전달됩니다. 결과적으로, 이는 사용자가 실제로 희생 앱에서 작업을 수행하고 있다는 것을 알지 못하게 합니다.
이 공격에 취약한 앱을 탐지하기 위해서는 안드로이드 매니페스트에서 내보낸 활동을 검색해야 합니다 (intent-filter가 있는 활동은 기본적으로 자동으로 내보내집니다). 내보낸 활동을 찾은 후, 권한이 필요한지 확인하십시오. 이는 악의적인 애플리케이션도 해당 권한이 필요하기 때문입니다.
이 출처에 따르면, tapjacking 공격은 Android 12 (API 31 & 30) 이상에서 Android에 의해 자동으로 방지됩니다. 따라서 애플리케이션이 취약하더라도 악용할 수 없습니다.
filterTouchesWhenObscured
**android:filterTouchesWhenObscured
**가 **true
**로 설정되면, View
는 다른 가시적인 창에 의해 창이 가려질 때 터치를 받지 않습니다.
setFilterTouchesWhenObscured
속성 **setFilterTouchesWhenObscured
**가 true로 설정되면 Android 버전이 낮더라도 이 취약점의 악용을 방지할 수 있습니다.
예를 들어, **true
**로 설정하면 버튼이 가려질 경우 자동으로 비활성화될 수 있습니다:
가장 최근의 안드로이드 애플리케이션으로 Tapjacking 공격을 수행하는 (+ 공격받는 애플리케이션의 내보낸 활동 전에 호출) 애플리케이션은 다음에서 찾을 수 있습니다: https://github.com/carlospolop/Tapjacking-ExportedActivity.
사용을 위한 README 지침을 따르세요.
클릭재킹 공격을 수행하기 위해 다른 활동 위에 올릴 수 있는 FloatingWindowApp을 구현한 예제 프로젝트는 FloatingWindowApp에서 찾을 수 있습니다 (조금 오래된 프로젝트로, apk 빌드에 행운을 빕니다).
이 프로젝트는 이제 유지 관리되지 않는 것 같으며 이 기능이 더 이상 제대로 작동하지 않습니다.
qark를 --exploit-apk
--sdk-path /Users/username/Library/Android/sdk
매개변수와 함께 사용하여 가능한 Tapjacking 취약점을 테스트할 악성 애플리케이션을 생성할 수 있습니다.\
완화 방법은 상대적으로 간단합니다. 개발자는 다른 뷰에 의해 가려질 때 터치 이벤트를 수신하지 않도록 선택할 수 있습니다. 안드로이드 개발자 참조를 사용하여:
때때로 애플리케이션이 사용자의 완전한 지식과 동의 하에 작업이 수행되고 있음을 확인할 수 있는 것이 필수적입니다. 예를 들어 권한 요청을 승인하거나, 구매를 하거나, 광고를 클릭하는 경우입니다. 불행히도, 악의적인 애플리케이션은 사용자가 의도된 목적을 알지 못한 채 이러한 작업을 수행하도록 속이려고 할 수 있습니다. 이를 해결하기 위해 프레임워크는 민감한 기능에 대한 접근을 개선하기 위해 사용할 수 있는 터치 필터링 메커니즘을 제공합니다.
터치 필터링을 활성화하려면
setFilterTouchesWhenObscured(boolean)
를 호출하거나 android:filterTouchesWhenObscured 레이아웃 속성을 true로 설정합니다. 활성화되면 프레임워크는 뷰의 창이 다른 보이는 창에 의해 가려질 때 수신된 터치를 무시합니다. 결과적으로, 뷰의 창 위에 토스트, 대화상자 또는 다른 창이 나타날 때 뷰는 터치를 수신하지 않습니다.
AWS 해킹 배우고 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우고 연습하기: HackTricks Training GCP Red Team Expert (GRTE)