İçeriğe geç

Uygulama Katmanı Yakalama

Bazı programlar hem proxy’nin hem de NIC’in erişemeyeceği kadar korumalıdır: sertifika sabitlemesi (pinning) kullanırlar, proxy’yi tamamen yok sayarlar veya kurum içi şifreleme kullanırlar. Uygulama katmanı yakalama farklı bir yol izler: doğrudan programın içinden düz metni okur. Sertifika kurmaz, proxy yapılandırmaz ve NIC yakalamaz, dolayısıyla bu “savunmaların” hiçbiri işe yaramaz ve programın gerçekte ne gönderip aldığını yine de görürsünüz. Bu, sıradan yakalama araçlarının en tipik kör noktasıdır ve bu modun en güçlü özelliği tam olarak budur.


1. Başkalarının düz metnini alamadığı yerlerde, bu alır

Bölüm başlığı “1. Başkalarının düz metnini alamadığı yerlerde, bu alır”
Hedef programın “savunması” Proxy yakalama NIC yakalama Uygulama katmanı yakalama
Sertifika sabitlemesi (pinning) ❌ Bağlanamaz / hata verir 🔒 Yalnızca şifreli metin ✅ Düz metin
Sistem proxy’sini yok sayar ❌ Yakalanamaz 🔒 Yalnızca şifreli metin ✅ Düz metin
Kurum içi / standart olmayan şifreleme ❌ Şifresi çözülemez 🔒 Yalnızca şifreli metin ✅ Düz metin

İlke basittir: doğrudan programın içinden düz metni okur; ortadaki adam (man-in-the-middle) yoktur ve sertifikalara dokunulmaz, dolayısıyla “ortadaki adama” ve “sertifikaya” yönelik bu savunmaların hiçbiri işe yaramaz.

Gerçek sonuç: çalışan bir program seçilir ve gönderdiği/aldığı düz metin doğrudan içinden okunur, yöne göre tek tek listelenir (Gönderilen ↑ / Alınan ↓), detaylarda tam düz metin HTTP isteği görünür


Şifreleme kütüphanesi veya teknoloji yığını konusunda seçici değildir. Programın içinden düz metin okumak, proxy’nin veya NIC’in kapsayabileceğinden çok daha fazla programı kapsar:

  • Program ister yaygın ister az bilinen bir şifreleme kütüphanesi kullansın, düz metin içinden okunabilir.
  • İster yerel (native) bir program ister çeşitli çapraz platform çerçeveleri ile yazılmış bir uygulama (masaüstü istemcileri, çapraz platform uygulamaları…) olsun, hepsi aynı şekilde ele alınabilir.
  • İşletim sisteminin yerleşik şifrelemesini kullanarak iletişim kuran programlar bile kapsam dahilindedir; .NET / PowerShell ve Windows sistem ağ yığınını kullanan diğer programlar dahil. Bunlar genellikle diğer araçların en çok zorlandığı kör noktalardır, ama burada düz metin yine de içinden okunur.
  • Kısacası: tarayıcılar, masaüstü istemcileri, yerel programlar… başka yerlerde “yalnızca şifreli metin” olan pek çok hedef, burada düz metindir.

En zorlu programlar için iki ek önlem daha vardır:

  • “Soket trafiği”, daha alt seviyeli bir yedek yöntem: küçültülmüş (stripped), sembolleri kaldırılmış veya daha yeni bir teknoloji yığınıyla yazılmış (örneğin salt Go, Rust veya Windows sistem ağ yığınını kullanan) programlar için, sıradan yaklaşım şifreleme/şifre çözme giriş noktasını bulamadığında, bu anahtarı açın; araç daha alt seviyeli bir yola giderek veriyi yakalar ve programın şifreleme/şifre çözme giriş noktasının bulunabilmesine ya da NIC’e bağımlı olmadan yine düz metni elde eder. Diğer araçların tamamen tıkandığı pek çok program bu şekilde ele alınabilir.
  • “Başlangıç anını” yakalamak: pek çok kimlik doğrulama ve el sıkışma (handshake), bir programın ilk başladığı anda gerçekleşir. Önce programı kapatıp aracın başlatmasına izin verin; bu erken başlangıç trafiği de yakalanır, böylece o kritik ilk isteği kaçırmazsınız.

Yeni oturum · Uygulama katmanı yakalama: çalışan bir program seçin (veya bir program yolu girin) ve doğrudan içinden düz metni okuyun; erken başlangıcı yakalamak için “Hedefi yeniden başlat” seçeneğini, alt seviyeli yedek yöntem için “Soket trafiği” seçeneğini işaretleyin


İçeriden okunan düz metin, diğer tüm yakalama yöntemleriyle aynı işlemden geçer:

  • Birden çok görüntüleme biçimi: yapılandırılmış, güzelleştirilmiş metin, onaltılık (hex) ve otomatik algılama; her yön için bağımsız olarak değiştirilebilir. Ayrıntılar için İnceleme ve Çözümleme sayfasına bakın.
  • Otomatik sıkıştırma açma ve algılama: gzip / brotli / deflate / zstd’yi (üst üste binen birden çok katman dahil) otomatik olarak açar; JSON, XML, form verisi, protobuf / gRPC gibi biçimleri otomatik algılayıp güzelleştirir.
  • Özel çözücüler: özel / kurum içi soket protokolleri için kısa bir betik yazarak aracın bunları nasıl okuyacağını öğretebilirsiniz. Ayrıntılar için Özel Protokol Çözümleme sayfasına bakın.

  • En uygun olduğu durumlar: sertifika sabitlemesi kullanan, proxy’yi yok sayan veya kurum içi / standart olmayan şifreleme kullanan, ne proxy’nin ne de NIC’in düz metin elde edemediği programlar.
  • Çalışan bir program üzerinde doğrudan çalışır: çalışan bir programı seçip düz metnini o anda, yeniden başlatmadan veya ayarlarını değiştirmeden içinden okuyabilirsiniz (isterseniz bir program yolu da girip aracın onu başlatmasını sağlayabilirsiniz).
  • Yalnızca seçilen programı hedefler: varsayılan olarak programın tüm alt süreçlerine otomatik genişlemez; çok süreçli / çok pencereli programlarda ayrı ayrı seçim gerekebilir.
  • Sistem düzeyinde yakalamaya ne zaman geçilmeli: macOS’taki yerleşik sistem uygulamaları ile özellikle inatçı, derinlemesine gizlenmiş uygulamalar her türlü dış müdahaleyi reddeder ve bu mod onlara giremez; bu tür hedefler için Sistem Düzeyinde Yakalama yöntemine geçin (bu yöntem programın içine girmez, sistemin alt seviyelerinden gözlemler).

6. Dört yerel yakalama yöntemi arasında seçim yapmak

Bölüm başlığı “6. Dört yerel yakalama yöntemi arasında seçim yapmak”
Durumunuz Hangisini kullanmalı
Zaten çalışan / sertifika sabitlemesi kullanan / proxy’yi yok sayan / kurum içi şifreleme kullanan bir program Uygulama katmanı yakalama (bu sayfa)
Bir komutla başlatabildiğiniz sıradan bir program (tarayıcı / betik / CLI) İşlem Başına Yakalama (daha az zahmetli)
Makinedeki tüm trafiği veya HTTP dışı trafiği görmek NIC Yakalama
macOS üzerindeki yerleşik sistem uygulamaları / inatçı uygulamalar Sistem Düzeyinde Yakalama

İlgili: Proxy Yakalama · Sertifika Sabitlemesini Temizleme · İnceleme ve Çözümleme