Reverse Tab Nabbing Nedir?

Reverse Tab Nabbing Nedir?

Reverse Tab nabbing veya basitçe sekme arama, hedef sayfadan bağlantı verilen bir sayfanın, kötü amaçlı bir siteyle, örneğin bir kimlik avı sitesiyle değiştirmek için o sayfayı yeniden yazabildiği bir saldırı türüdür. Kullanıcı ilk başta doğru sayfada olduğu için, özellikle site de hedefle aynı görünüyorsa, bunun bir kimlik avı sitesine dönüştürüldüğünü çoğunlukla fark edemezler. Kullanıcı bu yeni sayfada kimlik doğrulaması yaptığında, kişisel bilgileri bu kimlik avı sitesine gönderilir.

Saldırganın, kurban tarafından tıklanacak olan target=”_blank” rel=”opener” simgesi bulunan <a etiketinin href argümanını kontrol edebildiği bir durumda, saldırgan bu bağlantıyı kontrolü altındaki kötü amaçlı bir web sitesine yönlendirir. Ardından, kurban bağlantıyı tıkladığında ve saldırganın web sitesine eriştiğinde, bu kötü niyetli web sitesi orijinal sayfayı javascript nesnesi window.opener ile kontrol edilebilir duruma gelir.
Sayfada target=”_blank” var ama rel=”opener” ve rel=”noopener” bulunmuyorsa savunmasız olabilir. Bu durumu kötü amaçlı kullanmak için, window.opener.location= https://attacker.com/victim.html aracılığıyla orijinal web’in konumunu, saldırgan tarafından kontrol edilen ve orijinaline benzeyen bir web olarak değiştirilir. Böylece orijinal web sitesinin oturum açma formunu taklit edebilir ve kullanıcıdan kimlik bilgilerini isteyebilir. Ancak, saldırgan artık orijinal web sitesinin windows simgesini kontrol edebilir. Bu yüzden daha gizli saldırı gerçekleştirebilmek için farklı şekillerde kötüye kullanabilir.

Reverse Tab Nabbing Saldırı Örnekleri

Reverse Tab Nabbing saldırıları nasıl çalışır?

  1. Hedef kullanıcının tarayıcısında bir sekmede açık bir web site olduğunu düşünelim ve bu site Facebook olsun. Kullanıcı siteye girdiğinde birinin ilgisini çeken örneğin bir indirim teklifi gönderisi yayınladığını görür.
  2. Mağdur kişi ilgisini çeken bu bağlantıya tıklar ve yeni bir sekmede teklifin bulunduğu web sitesine yönlendirilir. Bu web sitesi aslında saldırgan tarafından kontrol edilmekte olan kötü amaçlı sitedir.
  3. Mağdur bu sahte teklife bakarken, kötü niyetli site, hedef kullanıcının orijinal Facebook sekmesini, saldırganın kendisinin kontrol ettiği Facebook’un giriş sayfasına benzeyen klonlanmış bir sahte web sitesine yönlendirmeye zorlar.
  4. Sahte Facebook sayfası, kurbandan kimlik bilgilerini yeniden girmesini ister. Kullanıcı daha önceden giriş yaptığını bilse de küçük bir sorun olduğunu düşünür ve bilgilerini tekrar girer.
  5. Saldırganın yarattığı bu sahte web siteye kimlik bilgilerini girdiğinde, hem kişisel bilgilerini saldırgana verir ve hesabını da tehlikeye atmış olur.

Kullanıcıların tıklandığında yeni bir sekmede açılan bağlantıların yayınlamasına izin veren web sitelerinde reverse tab nabbing saldırıları gerçekleşebilir. Bağlantının target="_blank" özelliği nedeniyle bağlantı yeni sekmede açılır. Kullanıcı bu bağlantıya tıkladığında, web tarayıcısı hedef sayfaya iki değişken enjekte eder:

  • window.opener : Bu özellik, target="_blank" ile üst sekmeye bir başvuru ile döner. Hedef penceredeki window.opener özelliğini kullanarak, orijinal açık sekmeyi, kimlik bilgilerini isteyen yasal siteymiş gibi gözüken ama sahte bir sayfaya yönlendirmek gibi, ana pencereye ilişkin ayrıntıları bulur ve değişiklikleri çalıştırabilirsiniz.
  • window.referrer : window.referrer özelliği, bağlantının tıklandığı kaynak web sayfasını (yönlendiren web sayfası) saklar.

Reverse Tab Nabbing Saldırı Detaylı Örnek

Örneğin saldırgan ilginizi çekebilecek bir sekme paylaştı:

<!DOCTYPE HTML>
  <html>
     <body>
       <h1>Dev Kampanya!!! Sınırlı Stok!!!</h1>
       <a href="https://evilsite.com" target="_blank">HEMEN TIKLAYIN!</a>
     <body>
  <html>

Hedef kullanıcı bu bağlantıya tıkladığında, tarayıcıları ‘evilsite.com’u yeni bir sekmede açacaktır.  Yeni sekme, target=“_blank” kullanan bir bağlantı aracılığıyla açıldığından, saldırgan, window.referrer ve window.opener özelliklerinden yararlanabilir. evilsite.com‘un kodu şu şekilde görünür:

<!DOCTYPE HTML>
  <html>
    <body>
      <script>
      if (window.opener) {
      window.opener.location="https://fakelogin.com";
      }
      </script>
    <h1>Stoklar tükenmeden hayalinizdeki ürünü alın!!!</h1>
    ...
  <body>
<html>

Yukarıda anlatıldığı gibi saldırgan Facebooka benzeyen bir sahte site yaratır.

Yönlendirmeyi sağlayan, window.opener.location özelliğidir. Hedef kullanıcı, yeniden yönlendirilen sayfaya kimlik bilgilerini girdiğinde haberi olmadan bilgilerini saldırganla paylaşır.

Örnekler

Aşağıdaki sayfaları bir klasörde oluşturun ve python3 -m http.server ile bir web sunucusu çalıştırın
Ardından, http://127.0.0.1:8000/vulnerable.html adresine gidin, bağlantıya tıklayın ve orijinal web sitesi URL’sinin nasıl değiştiğini not edin.

vulnerable.html

<!DOCTYPE html>
<html>
<body>
<h1>Victim Site</h1>
<a href="http://127.0.0.1:8000/malicious.html" target="_blank" rel="opener">Controlled by the attacker</a>
</body>
</html>

malicious html

<!DOCTYPE html>
<html>
 <body>
  <script>
  window.opener.location = "http://127.0.0.1:8000/malicious_redir.html";
  </script>
 </body>
</html>

malicious_redir.html

<!DOCTYPE html>
<html>
<body>
<h1>New Malicious Site</h1>
</body>
</html>

Bu yöntem ile erişilen özellikler:

Kötü amaçlı site, cross domain (etki alanları arası) ile, sadece opener javascript object referansından (aslında bir window javascript sınıfı örneğine bir referanstır) aşağıdaki özelliklere erişebilir:

  • opener.closed: Bir sekmenin kapatılıp kapatılmadığını gösteren bir boole değeri döndürür
  • opener.frames: Geçerli sekmedeki tüm iframe öğelerini döndürür.
  • opener.length: Geçerli sekmedeki iframe öğelerinin sayısını döndürür.
  • opener.opener: Sekmeyi oluşturan sekmeyi bir başvuru döndürür.
  • opener.parent: Geçerli sekmenin üst sekmesini döndürür.
  • opener.self: Geçerli sekmeyi döndürür.
  • opener.top: En üstteki tarayıcı sekmeyi döndürür.

Domainleri aynı olduğunda kötü amaçlı site window javascript nesne referansı tarafından kullanılabilen tüm özelliklere erişebilir.

Reverse Tab Nabbing Nedir

Reverse Tab Nabbing Nasıl Önlenir?

Kendinizi reverse tabnabbing saldırılarından korumak için saldırının hangi hangi tarafında olduğunuza göre yapmanız gerekenler değişir. Bunlar sunucu tarafı veya kullanıcı tarafıdır

  1. Sunucu tarafından ters sekme saldırılarını önleme:

Sitenizin yeni sekme açmak için HTML mi yoksa JavaScript mi ​​kullandığına bağlı olarak iki yoldan biriyle uygulanır. 

  • HTML

HTML’de, web sunucusu/uygulama her bağlantı oluşturduğunda rel HTML özniteliğini noreferrer ve nooperner parametreleriyle ayarlamalısınız.

<!DOCTYPE HTML>
  <html>
    <body>
      <h1>Dev Kampanya!!! Sınırlı Stok!!!</h1>
      <a href=“https://evilsite.com" rel=“noopener noreferrer”
      target="_blank">HEMEN TIKLAYIN!</a>
    <body>
  <html>

noopener, bağlantılı sayfanın kaynak sayfadan window.opener’a erişimini engeller.

noreferrer, istek yönlendirici başlığının istekle birlikte gönderilmesini engeller. Böylece, hedef site, kullanıcının geldiği kaynak URL’yi görmez.

  • JavaScript: JavaScript kullanarak, opener özelliğini null olarak ayarlayarak yukarıdaki örnekle aynısı elde edilir.
var newWindow = window.open()
newWindow.opener = null

Kullanıcı tarafından oluşturulan içeriği göstermek istiyorsanız sunucunun kullanıcı girişini temizlediğinden ve oluşturulan her bağlantıya “nooperner, noreferrer” uygulandığından emin olun.

var newWindow = window.open(url, name, 'noopener,noreferrer')
newWindow.opener = null

2. Kullanıcı tarafından ters sekme saldırılarını önleme

Kullanıcı olarak kendinizi bu saldırlara karşı korumak için yapabileceğiniz birkaç yöntem vardır. Ancak, öncelikle web tarayıcınız olarak Mozilla Firefox kullanıyor olmalısınız. Firefox açık kaynaklıdır ve kutudan çıktığı gibi gizliliğinizi ve güvenliğinizi geliştirmek için beraberinde birçok araçla birlikte gelir. 

Firefox

  1. Firefox’ta yeni bir pencere açın.
  2. URL çubuğuna: about:config yazın ve Return tuşuna basın . Bir uyarı mesajı görüntülenir.
  3. Riski kabul et ve devam et seçeneğine tıklayın .
  4. Arama çubuğuna dom.targetBlankNoOpener.dom yazın. Böylece .dom.targetBlackNoOperner.enabled özelliği görüntülenir.
  5. Değerini true olarak ayarlayın. Daha sonra sekmeyi kapatın.
Reverse Tab Nabbing Nedir

Bu, tarayıcınızın window.opener özelliğini kullanmasını engeller. Bu nedenle, Firefox’u yukarıda konfigüre edildiği şekilde kullanırsanız, ters sekme saldırılarından korunmalısınız.

Ayrıca ek olarak aşağıdakilere dikkat edin:

  • Firewall kullanın.
  • Açılır pencerelere asla tıklamayın
  • Tarayıcınız, erişmeye çalıştığınız bir web sitesi hakkında bir uyarı veriyorsadikkat etmelisiniz. Çünkü tarayıcınız reverse tabnabbing saldırısında, saldırganın sitesi kendinden imzalı veya geçersiz bir HTTPS sertifikası kullandığında uyarı verir.
  • Reklamlara tıklamayın.
  • İnternette çok fazla kişisel bilgilerinizi paylaşmayın. 
  • Güvenlik açığını kodlama ile düzeltebilirsiniz ancak yine de internete tam anlamıyla güvenmeyin.

İlginizi Çekebilecek Makaleler​

LLM (Large Language Models) Nedir?

Günümüzde yapay zeka ve makine öğrenmesi, teknolojinin birçok alanında devrim niteliğinde ilerlemeler kaydetmiştir. Bu ilerlemelerin merkezinde yer alan büyük dil modelleri (LLM – Large Language

Devamı »
Message Broker Nedir?

Message broker, birçok farklı uygulama veya sistem arasında iletişim kurmak için kullanılan bir yazılım aracıdır. Bu araç, bir uygulama tarafından gönderilen mesajları bir veya daha

Devamı »
Loglama Nedir?

Loglama, bilgisayar sistemlerindeki olayları, hataları ve diğer önemli durumları kaydetme işlemidir. Bu kayıtlar, sistem yöneticileri ve geliştiriciler tarafından, sistemlerin işleyişini anlamak, hataları tespit etmek ve

Devamı »
Vcenter Üzerinden ESXI Upgrade’i Nasıl Yapılır?

Öncelikle herkese merhaba arkadaşlar, sizlere Vcenter üzerinde ESXI hostunuzu nasıl upgrade edeceğinizi anlatacağım. Öncelikle hangi versiyona yükselteceksek o versiyonun ISO dosyasını indiriyoruz. Ardından Vcenter’ımızı açıyoruz.

Devamı »