6.9 KiB
Tapjacking
AWS hackleme becerilerini sıfırdan ileri seviyeye öğrenmek için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARINI kontrol edin!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'ı takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github reposuna PR göndererek paylaşın.
Temel Bilgiler
Tapjacking, bir kötü niyetli uygulamanın başlatıldığı ve bir kurban uygulamanın üzerine yerleştiği bir saldırıdır. Kurban uygulamayı görünür şekilde engellediğinde, kullanıcı arayüzü, kullanıcıyı yanıltacak şekilde tasarlanırken, etkileşimi kurban uygulamaya iletmektedir.
Bu şekilde, kullanıcıya, gerçekte kurban uygulamada eylemler gerçekleştirdiğini bilmemesi sağlanır.
Tespit
Bu saldırıya karşı savunmasız uygulamaları tespit etmek için android manifestteki dışa aktarılan aktiviteleri aramalısınız (bir intent-filter'a sahip bir aktivite varsayılan olarak otomatik olarak dışa aktarılır). Dışa aktarılan aktiviteleri bulduktan sonra, herhangi bir izin gerekip gerekmediğini kontrol edin. Çünkü kötü niyetli uygulama da o izne ihtiyaç duyacaktır.
Koruma
Android 12 (API 31,32) ve daha yüksek
Bu kaynağa göre, Android 12 (API 31 ve 30) ve daha yüksek sürümlerinden itibaren tapjacking saldırıları otomatik olarak Android tarafından engellenir. Bu nedenle, uygulama savunmasız olsa bile sömürülemezsiniz.
filterTouchesWhenObscured
Eğer android:filterTouchesWhenObscured
true
olarak ayarlanmışsa, View
, görünür başka bir pencere tarafından engellendiğinde dokunmaları almayacaktır.
setFilterTouchesWhenObscured
Eğer Android sürümü daha düşükse, setFilterTouchesWhenObscured
özelliği true
olarak ayarlanırsa, bu zafiyetin sömürülmesini engelleyebilir.
Örneğin, bir düğme görünür şekilde engellendiğinde otomatik olarak devre dışı bırakılabilir:
<Button android:text="Button"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true">
</Button>
Sömürü
Tapjacking-ExportedActivity
En son Android uygulaması bir Tapjacking saldırısı gerçekleştiren (+ saldırıya uğrayan uygulamanın dışa aktarılan bir etkinliğini çağırmadan önce) şurada bulunabilir: https://github.com/carlospolop/Tapjacking-ExportedActivity.
Kullanmak için README talimatlarını takip edin.
FloatingWindowApp
Tıklama hırsızlığı saldırısı gerçekleştirmek için diğer etkinliklerin üzerine yerleştirilebilen FloatingWindowApp'i uygulayan bir örnek proje FloatingWindowApp adresinde bulunabilir (biraz eski, apk oluştururken iyi şanslar).
Qark
{% hint style="danger" %} Bu proje artık bakımsız görünüyor ve bu işlevsellik artık düzgün çalışmıyor gibi görünüyor. {% endhint %}
Muhtemel Tapjacking zafiyetlerini test etmek için kötü niyetli bir uygulama oluşturmak için qark aracını --exploit-apk
--sdk-path /Users/username/Library/Android/sdk
parametreleriyle kullanabilirsiniz.
Bu saldırıyı önlemek oldukça basittir çünkü geliştirici, bir görünüm başka bir görünüm tarafından kaplandığında dokunma olaylarını almayı seçmeyebilir. Android Geliştirici Referansı kullanılarak şu şekilde açıklanmıştır:
Bir izin isteği vermek, bir satın alma yapmak veya bir reklama tıklamak gibi bir eylemin kullanıcının tam bilgisi ve onayıyla gerçekleştirildiğini doğrulamanın bazen önemli olduğu durumlar vardır. Ne yazık ki, kötü niyetli bir uygulama, kullanıcının bu eylemleri farkında olmadan gerçekleştirmesini sağlamak için görünümün amaçlanan amacını gizleyebilir. Bir çözüm olarak, çerçeve, hassas işlevselliğe erişim sağlayan görünümlerin güvenliğini artırmak için kullanılabilecek bir dokunma filtreleme mekanizması sunar.
Dokunma filtrelemeyi etkinleştirmek için
setFilterTouchesWhenObscured(boolean)
yöntemini çağırın veya android:filterTouchesWhenObscured düzen özniteliğini true olarak ayarlayın. Etkinleştirildiğinde, çerçeve, görünümün penceresinin başka bir görünür pencere tarafından kaplandığı her zaman alınan dokunmaları atar. Sonuç olarak, bir tost, iletişim kutusu veya diğer bir pencere görünümün penceresinin üzerinde göründüğünde görünüm dokunmaları almayacaktır.
AWS hackleme konusunda sıfırdan kahraman olmaya htARTE (HackTricks AWS Red Team Expert) öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklam vermek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- Özel NFT'lerden oluşan koleksiyonumuz olan The PEASS Family'yi keşfedin
- 💬 Discord grubuna veya telegram grubuna katılın veya bizi Twitter 🐦 @carlospolopm** takip edin**.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.