AWS Hacking'i öğrenin ve pratik yapın:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
Cross-Origin Resource Sharing (CORS) standardı, **sunucuların varlıklarına kimin erişebileceğini** ve **hangi HTTP istek yöntemlerinin dış kaynaklardan izin verildiğini** tanımlamasını sağlar.
**Aynı köken** politikası, bir **kaynak talep eden** sunucu ile **kaynağı** barındıran sunucunun aynı protokolü (örneğin, `http://`), alan adını (örneğin, `internal-web.com`) ve **portu** (örneğin, 80) paylaşmasını zorunlu kılar. Bu politika altında, yalnızca aynı alan adı ve porttan gelen web sayfalarının kaynaklara erişmesine izin verilir.
Bu başlık, **birden fazla köken** izin verebilir, **`null`** değeri veya joker karakter **`*`** içerebilir. Ancak, **hiçbir tarayıcı birden fazla kökeni desteklemez** ve joker karakter `*` kullanımı**sınırlamalara** tabidir. (Joker karakter yalnızca tek başına kullanılmalı ve `Access-Control-Allow-Credentials: true` ile birlikte kullanımı yasaktır.)
Bu başlık, bir web sitesi tarafından başlatılan bir çapraz alan kaynak talebine yanıt olarak **bir sunucu tarafından verilir**, tarayıcı otomatik olarak bir `Origin` başlığı ekler.
**Varsayılan olarak**, çapraz köken talepleri, çerezler veya Yetkilendirme başlığı gibi kimlik bilgileri olmadan yapılır. Ancak, bir çapraz alan sunucusu, `Access-Control-Allow-Credentials` başlığını**`true`** olarak ayarlayarak kimlik bilgileri gönderildiğinde yanıtın okunmasına izin verebilir.
Belirli koşullar altında, örneğin **standart dışı bir HTTP yöntemi** (HEAD, GET, POST dışındaki herhangi bir şey) kullanıldığında, yeni **başlıklar** tanıtıldığında veya özel bir **Content-Type başlık değeri** kullanıldığında, bir ön uçuş isteği gerekli olabilir. **`OPTIONS`** yöntemini kullanan bu ön isteği, sunucuya yaklaşan çapraz alan isteğinin niyetlerini, kullanmayı planladığı HTTP yöntemleri ve başlıklar dahil olmak üzere, bildirmek için kullanılır.
**Çapraz Alan Kaynak Paylaşımı (CORS)** protokolü, istenen çapraz alan işleminin uygulanabilirliğini belirlemek için izin verilen yöntemleri, başlıkları ve kaynağın güvenilirliğini doğrulamak amacıyla bu ön uçuş kontrolünü zorunlu kılar. Ön uçuş isteği gereksinimini ortadan kaldıran koşulları detaylı bir şekilde anlamak için [**Mozilla Developer Network (MDN)**](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#simple\_requests) tarafından sağlanan kapsamlı kılavuza başvurun.
**Ön uçuş isteğinin yokluğunun, yanıtın yetkilendirme başlıklarını taşıma gerekliliğini ortadan kaldırmadığını** belirtmek önemlidir. Bu başlıklar olmadan, tarayıcı çapraz alan isteğinden gelen yanıtı işleme yeteneğini kaybeder.
Yanıt olarak, sunucu kabul edilen yöntemleri, izin verilen kökeni ve diğer CORS politika ayrıntılarını belirten başlıklar döndürebilir, aşağıda gösterildiği gibi:
* **`Access-Control-Allow-Headers`**: Bu başlık, gerçek istekte hangi başlıkların kullanılabileceğini belirtir. Sunucu tarafından, istemciden gelen isteklere izin verilen başlıkları göstermek için ayarlanır.
* **`Access-Control-Expose-Headers`**: Bu başlık aracılığıyla sunucu, istemciye basit yanıt başlıklarının yanı sıra hangi başlıkların yanıtın bir parçası olarak açığa çıkarılabileceğini bildirir.
* **`Access-Control-Max-Age`**: Bu başlık, bir ön uçuş isteğinin sonuçlarının ne kadar süreyle önbelleğe alınabileceğini gösterir. Sunucu, bir ön uçuş isteği tarafından döndürülen bilginin yeniden kullanılabileceği maksimum süreyi, saniye cinsinden ayarlar.
* **`Access-Control-Request-Headers`**: Ön uçuş isteklerinde kullanılan bu başlık, istemci tarafından sunucuya hangi HTTP başlıklarını kullanmak istediğini bildirmek için ayarlanır.
* **`Access-Control-Request-Method`**: Ön uçuş isteklerinde de kullanılan bu başlık, istemci tarafından gerçek istekte hangi HTTP yönteminin kullanılacağını belirtmek için ayarlanır.
* **`Origin`**: Bu başlık, tarayıcı tarafından otomatik olarak ayarlanır ve çapraz kaynak isteğinin kaynağını gösterir. Sunucu, gelen isteğin CORS politikası temelinde izin verilip verilmeyeceğini değerlendirmek için kullanır.
Genellikle (içerik türüne ve ayarlanan başlıklara bağlı olarak) bir **GET/POST isteğinde ön uçuş isteği gönderilmez** (istek **doğrudan** gönderilir), ancak **yanıtın başlıklarına/gövdesine** erişmek istiyorsanız, bunu izin veren bir _Access-Control-Allow-Origin_ başlığı içermelidir.\
**Bu nedenle, CORS CSRF'ye karşı koruma sağlamaz (ama yardımcı olabilir).**
1.**`Access-Control-Request-Local-Network`**: Bu başlık, istemcinin isteğine dahil edilerek sorgunun yerel ağ kaynağına yönelik olduğunu belirtir. Sunucuya, isteğin yerel ağdan geldiğini bildiren bir işaret olarak hizmet eder.
2.**`Access-Control-Allow-Local-Network`**: Sunucular, yanıt olarak bu başlığı kullanarak istenen kaynağın yerel ağ dışındaki varlıklarla paylaşılmasına izin verildiğini iletir. Farklı ağ sınırları arasında kaynakların paylaşımına yeşil ışık yakarak, güvenlik protokollerini korurken kontrollü erişim sağlar.
Not edin ki linux **0.0.0.0** IP'si, bu IP adresi "yerel" olarak kabul edilmediği için localhost'a erişim için bu gereksinimleri **bypass** etmekte işe yarar.
Ayrıca, **yerel bir uç noktanın** (örneğin, yönlendiricinin genel IP'si) **genel IP adresini** kullanırsanız **Yerel Ağ gereksinimlerini bypass etmek** de mümkündür. Çünkü birçok durumda, **genel IP** erişilse bile, eğer **yerel ağdan** geliyorsa, erişim sağlanacaktır.
`Access-Control-Allow-Credentials` ayarının **`true`** olarak ayarlanmasının, çoğu **gerçek saldırı** için bir ön koşul olduğu gözlemlenmiştir. Bu ayar, tarayıcının kimlik bilgilerini göndermesine ve yanıtı okumasına izin vererek saldırının etkinliğini artırır. Bunu olmadan, bir tarayıcının bir istek yapmasının faydası, bir kullanıcının çerezlerini kullanmanın imkansız hale gelmesi nedeniyle azalır.
Kurbanın ağ konumunun bir kimlik doğrulama biçimi olarak işlev gördüğü bir istisna vardır. Bu, kurbanın tarayıcısının bir proxy olarak kullanılmasına ve intranet uygulamalarına erişim için IP tabanlı kimlik doğrulamayı aşmasına olanak tanır. Bu yöntem, DNS rebinding ile benzer etkilere sahiptir ancak sömürmesi daha basittir.
`Origin` başlığının değeri `Access-Control-Allow-Origin`'de yansıtıldığı gerçek dünya senaryosu, bu başlıkların birleştirilmesine yönelik kısıtlamalar nedeniyle teorik olarak olası değildir. Ancak, birden fazla URL için CORS'u etkinleştirmek isteyen geliştiriciler, `Origin` başlığının değerini kopyalayarak `Access-Control-Allow-Origin` başlığını dinamik olarak oluşturabilirler. Bu yaklaşım, bir saldırganın meşru görünmek üzere tasarlanmış bir isimle bir alan adı kullanması durumunda, doğrulama mantığını yanıltarak güvenlik açıkları oluşturabilir.
`null` kaynağı, yönlendirmeler veya yerel HTML dosyaları gibi durumlar için belirtilmiştir ve benzersiz bir konuma sahiptir. Bazı uygulamalar, yerel geliştirmeyi kolaylaştırmak için bu kaynağı beyaz listeye alır ve bu da istemeden herhangi bir web sitesinin bir sandboxed iframe aracılığıyla `null` kaynağını taklit etmesine izin vererek CORS kısıtlamalarını aşmasına neden olur.
Bir alan beyaz listesinin karşısına çıktığınızda, saldırganın alanını beyaz listeye alınmış bir alana eklemek veya alt alan ele geçirme açıklarını istismar etmek gibi geçiş fırsatlarını test etmek çok önemlidir. Ayrıca, alan doğrulaması için kullanılan düzenli ifadeler, alan adlandırma kurallarındaki incelikleri gözden kaçırabilir ve bu da daha fazla geçiş fırsatı sunar.
Regex desenleri genellikle alfanümerik, nokta (.) ve tire (-) karakterlerine odaklanır, diğer olasılıkları göz ardı eder. Örneğin, tarayıcılar ve regex desenleri tarafından farklı yorumlanan karakterleri içerecek şekilde oluşturulmuş bir alan adı, güvenlik kontrollerini geçebilir. Safari, Chrome ve Firefox'un alt alanlardaki alt çizgi karakterlerini ele alışı, bu tür tutarsızlıkların alan doğrulama mantığını aşmak için nasıl istismar edilebileceğini göstermektedir.
**Daha fazla bilgi ve bu geçiş kontrolünün ayarları için:** [**https://www.corben.io/advanced-cors-techniques/**](https://www.corben.io/advanced-cors-techniques/) **ve** [**https://medium.com/bugbountywriteup/think-outside-the-scope-advanced-cors-exploitation-techniques-dad019c68397**](https://medium.com/bugbountywriteup/think-outside-the-scope-advanced-cors-exploitation-techniques-dad019c68397)
Geliştiriciler genellikle CORS istismarına karşı koruma sağlamak için, bilgi talep etmeye izin verilen alanları beyaz listeye alarak savunma mekanizmaları uygular. Bu önlemlere rağmen, sistemin güvenliği kusursuz değildir. Beyaz listeye alınmış alanlar içinde tek bir savunmasız alt alanın varlığı, XSS (Cross-Site Scripting) gibi diğer açıklar aracılığıyla CORS istismarına kapı açabilir.
Örneğin, `requester.com` adlı bir alanın, `provider.com` adlı başka bir alandan kaynaklara erişmek için beyaz listeye alındığı senaryoyu düşünün. Sunucu tarafı yapılandırması muhtemelen şöyle görünebilir:
Bu kurulumda, `requester.com`'un tüm alt alan adlarına erişim izni verilmektedir. Ancak, bir alt alan adı, örneğin `sub.requester.com`, bir XSS açığı ile tehlikeye girerse, bir saldırgan bu zayıflıktan yararlanabilir. Örneğin, `sub.requester.com`'a erişimi olan bir saldırgan, XSS açığını kullanarak CORS politikalarını atlayabilir ve `provider.com` üzerindeki kaynaklara kötü niyetle erişebilir.
HTTP başlık enjeksiyonu yoluyla sunucu tarafı önbellek zehirlenmesini kullanarak, saklanan bir Cross-Site Scripting (XSS) açığının tetiklenmesi mümkündür. Bu senaryo, bir uygulamanın `Origin` başlığını yasadışı karakterler için temizlemeyi başaramadığında ortaya çıkar ve özellikle Internet Explorer ve Edge kullanıcıları için bir zayıflık oluşturur. Bu tarayıcılar (0x0d) değerini meşru bir HTTP başlık sonlandırıcısı olarak kabul eder, bu da HTTP başlık enjeksiyonu zayıflıklarına yol açar.
Bu güvenlik açığını doğrudan kötüye kullanmak için bir web tarayıcısının hatalı bir başlık göndermesi pratik değildir, ancak Burp Suite gibi araçlar kullanılarak özel bir istek manuel olarak oluşturulabilir. Bu yöntem, sunucu tarafında bir önbelleğin yanıtı kaydetmesine ve istemeden başkalarına sunmasına yol açabilir. Özel yük, sayfanın karakter setini UTF-7 olarak değiştirmeyi amaçlar; bu, belirli bağlamlarda script olarak çalıştırılabilen karakterleri kodlama yeteneği nedeniyle genellikle XSS güvenlik açıkları ile ilişkilendirilen bir karakter kodlamasıdır.
Depolanan XSS güvenlik açıkları hakkında daha fazla bilgi için [PortSwigger](https://portswigger.net/web-security/cross-site-scripting/stored) sayfasına bakın.
**Not**: HTTP başlık enjeksiyon güvenlik açıklarının, özellikle sunucu tarafı önbellek zehirlenmesi yoluyla kötüye kullanılması, tüm kullanıcı tarafından sağlanan girdilerin, HTTP başlıkları da dahil olmak üzere, doğrulanması ve temizlenmesinin kritik önemini vurgular. Bu tür güvenlik açıklarını önlemek için her zaman giriş doğrulamasını içeren sağlam bir güvenlik modeli uygulayın.
Bu senaryoda, uygun kodlama olmadan özel bir HTTP başlığının içeriğini yansıtan bir web sayfası örneği gözlemlenmektedir. Özellikle, web sayfası`X-User-id` başlığında yer alan içeriği geri yansıtır; bu içerik kötü niyetli JavaScript içerebilir. Örneğin, başlıkta JavaScript kodunu yükleme sırasında çalıştırmak için tasarlanmış bir SVG resim etiketi bulunmaktadır.
Cross-Origin Resource Sharing (CORS) politikaları, özel başlıkların gönderilmesine izin verir. Ancak, CORS kısıtlamaları nedeniyle yanıt doğrudan tarayıcı tarafından işlenmediğinde, böyle bir enjeksiyonun faydası sınırlı görünebilir. Kritik nokta, tarayıcının önbellek davranışını dikkate almaktır. Eğer `Vary: Origin` başlığı belirtilmemişse, kötü niyetli yanıtın tarayıcı tarafından önbelleğe alınması mümkün hale gelir. Sonrasında, bu önbelleğe alınmış yanıt, URL'ye gidildiğinde doğrudan işlenebilir ve ilk istekte doğrudan işleme gereksinimini atlayabilir. Bu mekanizma, istemci tarafı önbellekleme kullanılarak saldırının güvenilirliğini artırır.
Bu saldırıyı göstermek için, bir web sayfası ortamında çalıştırılmak üzere tasarlanmış bir JavaScript örneği sağlanmıştır; örneğin bir JSFiddle aracılığıyla. Bu script basit bir işlem gerçekleştirir: kötü niyetli JavaScript içeren özel bir başlıkla belirli bir URL'ye istek gönderir. İstek başarıyla tamamlandığında, hedef URL'ye yönelmeye çalışır; eğer yanıt `Vary: Origin` başlığı uygun şekilde işlenmeden önbelleğe alınmışsa, enjekte edilen scriptin çalıştırılmasını tetikleyebilir.
XSSI, aynı zamanda Cross-Site Script Inclusion olarak bilinir, script etiketi kullanarak kaynakları dahil ederken Same Origin Policy (SOP) uygulanmadığı gerçeğinden faydalanan bir tür güvenlik açığıdır. Bunun nedeni, scriptlerin farklı alan adlarından dahil edilebilmesi gerekliliğidir. Bu güvenlik açığı, bir saldırganın script etiketi kullanılarak dahil edilen herhangi bir içeriğe erişip okumasına olanak tanır.
Bu güvenlik açığı, dinamik JavaScript veya JSONP (Padding ile JSON) söz konusu olduğunda özellikle önemlidir, özellikle kimlik doğrulama için çerezler gibi ortam yetkisi bilgileri kullanıldığında. Farklı bir ana bilgisayardan bir kaynak talep edildiğinde, çerezler dahil edilir ve bu da saldırganın erişimine açılır.
Bu güvenlik açığını daha iyi anlamak ve hafifletmek için [https://github.com/kapytein/jsonp](https://github.com/kapytein/jsonp) adresinde bulunan BurpSuite eklentisini kullanabilirsiniz. Bu eklenti, web uygulamalarınızdaki potansiyel XSSI güvenlik açıklarını tanımlamaya ve ele almaya yardımcı olabilir.
Talepte bir **`callback`** **parametresi** eklemeyi deneyin. Belki de sayfa verileri JSONP olarak göndermeye hazırlanmıştır. Bu durumda, sayfa `Content-Type: application/javascript` ile verileri geri gönderecek ve CORS politikasını atlatacaktır.
`Access-Control-Allow-Origin` kısıtlamasını atlatmanın bir yolu, bir web uygulamasından sizin adınıza bir istek yapmasını istemek ve yanıtı geri göndermesidir. Ancak, bu senaryoda, nihai kurbanın kimlik bilgileri farklı bir alan adına yapılan istekle gönderilmeyecektir.
1. [**CORS-escape**](https://github.com/shalvah/cors-escape): Bu araç, isteğinizi başlıklarıyla birlikte ileten bir proxy sağlar ve ayrıca Origin başlığını istenen alan adıyla eşleşecek şekilde sahte bir şekilde ayarlar. Bu, CORS politikasını etkili bir şekilde atlatır. İşte XMLHttpRequest ile bir örnek kullanım:
2. [**simple-cors-escape**](https://github.com/shalvah/simple-cors-escape): Bu araç, istekleri proxylemek için alternatif bir yaklaşım sunar. İsteğinizi olduğu gibi iletmek yerine, sunucu belirtilen parametrelerle kendi isteğini yapar.
`e.origin === window.origin` gibi **CORS kontrollerini atlatmak** için **bir iframe oluşturabilir** ve **ondan yeni bir pencere açabilirsiniz**. Daha fazla bilgi için aşağıdaki sayfaya bakın:
TTL üzerinden DNS rebinding, DNS kayıtlarını manipüle ederek belirli güvenlik önlemlerini atlatmak için kullanılan bir tekniktir. İşte nasıl çalıştığı:
Tarayıcıların, bu tekniğin hemen kötüye kullanılmasını önleyebilecek önbellekleme mekanizmalarına sahip olduğunu belirtmek önemlidir; bu, düşük TTL değerleriyle bile geçerlidir.
DNS rebinding, kurban tarafından gerçekleştirilen açık IP kontrollerini atlatmak veya bir kullanıcının veya botun uzun bir süre boyunca aynı sayfada kalması durumlarında yararlı olabilir; bu, önbelleğin süresinin dolmasına olanak tanır.
DNS rebinding'i kötüye kullanmak için hızlı bir yol arıyorsanız, [https://lock.cmpxchg8b.com/rebinder.html](https://lock.cmpxchg8b.com/rebinder.html) gibi hizmetleri kullanabilirsiniz.
Kendi DNS rebinding sunucunuzu çalıştırmak için **DNSrebinder** ([https://github.com/mogwailabs/DNSrebinder](https://github.com/mogwailabs/DNSrebinder)) gibi araçları kullanabilirsiniz. Bu, yerel 53/udp portunuzu açmayı, ona işaret eden bir A kaydı oluşturmayı (örneğin, ns.example.com) ve daha önce oluşturulan A alt alan adına işaret eden bir NS kaydı oluşturmayı içerir (örneğin, ns.example.com). ns.example.com alt alan adının herhangi bir alt alan adı, ardından sizin ana bilgisayarınız tarafından çözülecektir.
Ayrıca, daha fazla anlayış ve deneyim için [http://rebind.it/singularity.html](http://rebind.it/singularity.html) adresinde kamuya açık bir sunucu keşfedebilirsiniz.
DNS cache flooding üzerinden DNS rebinding, tarayıcıların önbellekleme mekanizmasını atlatmak ve ikinci bir DNS isteği zorlamak için kullanılan başka bir tekniktir. İşte nasıl çalıştığı:
1. İlk olarak, kurban bir DNS isteği yaptığında, saldırganın IP adresiyle yanıtlanır.
2. Önbellek savunmasını atlatmak için saldırgan bir hizmet çalışanı kullanır. Hizmet çalışanı DNS önbelleğini doldurur, bu da önbellekteki saldırgan sunucu adını etkili bir şekilde siler.
3. Kurbanın tarayıcısı ikinci bir DNS isteği yaptığında, artık 127.0.0.1 IP adresiyle yanıtlanır; bu genellikle localhost'u ifade eder.
Hizmet çalışanıyla DNS önbelleğini doldurarak, saldırgan DNS çözümleme sürecini manipüle edebilir ve kurbanın tarayıcısını ikinci bir istekte bulunmaya zorlayabilir; bu sefer saldırganın istediği IP adresine çözülür.
3. Tarayıcı saldırganın IP adresini önce kullanmaya karar verirse, saldırgan aynı alan adına HTTP istekleri gerçekleştiren bir yük sunabilir.
4. Ancak, saldırgan kurbanın IP adresini aldıktan sonra, kurbanın tarayıcısına yanıt vermeyi durdurur.
5. Kurbanın tarayıcısı, alan adının yanıt vermediğini fark ettiğinde, verilen ikinci IP adresini kullanmaya geçer.
6. İkinci IP adresine erişerek, tarayıcı Same Origin Policy (SOP) kuralını atlatır ve saldırganın bunu kötüye kullanmasına ve bilgi toplamasına olanak tanır.
Bu teknik, bir alan için birden fazla IP adresi sağlandığında tarayıcıların davranışını kullanır. Yanıtları stratejik olarak kontrol ederek ve tarayıcının IP adresi seçimini manipüle ederek, bir saldırgan SOP'yi istismar edebilir ve kurbandan bilgi alabilir.
localhost'a erişmek için Windows'ta **127.0.0.1** ve Linux'ta **0.0.0.0** yeniden bağlamayı denemelisiniz.\
Godaddy veya Cloudflare gibi sağlayıcılar 0.0.0.0 IP'sini kullanmama izin vermedi, ancak AWS route53, "0.0.0.0" olan 2 IP ile bir A kaydı oluşturmama izin verdi.
Daha fazla bilgi için [https://unit42.paloaltonetworks.com/dns-rebinding/](https://unit42.paloaltonetworks.com/dns-rebinding/) adresini kontrol edebilirsiniz.
Önceki atlatma teknikleri ve aşağıdaki aracı nasıl kullanacağınız hakkında daha fazla bilgi için [Gerald Doussot - DNS Rebinding Saldırıları Durumu & Origin'in Tekilliği - DEF CON 27 Konferansı](https://www.youtube.com/watch?v=y9-0lICNjOQ) konuşmasına bakabilirsiniz.
[**`Origin'in Tekilliği`**](https://github.com/nccgroup/singularity), [DNS rebinding](https://en.wikipedia.org/wiki/DNS\_rebinding) saldırıları gerçekleştirmek için bir araçtır. Saldırı sunucusunun DNS adının IP adresini hedef makinenin IP adresine yeniden bağlamak ve hedef makinedeki savunmasız yazılımları istismar etmek için gerekli bileşenleri içerir.
* [https://wicg.github.io/private-network-access/](https://wicg.github.io/private-network-access/): Kamu sunucularının iç sunuculara erişmek istediğinde her zaman bir ön uç isteği göndermeyi öneren öneri
AWS Hacking'i öğrenin ve pratik yapın:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**