mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 14:08:26 +00:00
Translated ['generic-methodologies-and-resources/pentesting-network/webr
This commit is contained in:
parent
20264e7bbd
commit
61930af23e
5 changed files with 151 additions and 72 deletions
|
@ -21,6 +21,7 @@
|
|||
* [Network Protocols Explained (ESP)](generic-methodologies-and-resources/pentesting-network/network-protocols-explained-esp.md)
|
||||
* [Nmap Summary (ESP)](generic-methodologies-and-resources/pentesting-network/nmap-summary-esp.md)
|
||||
* [Pentesting IPv6](generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md)
|
||||
* [WebRTC DoS](generic-methodologies-and-resources/pentesting-network/webrtc-dos.md)
|
||||
* [Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks](generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
* [Spoofing SSDP and UPnP Devices with EvilSSDP](generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md)
|
||||
* [Pentesting Wifi](generic-methodologies-and-resources/pentesting-wifi/README.md)
|
||||
|
@ -521,7 +522,7 @@
|
|||
* [Web Vulnerabilities Methodology](pentesting-web/web-vulnerabilities-methodology.md)
|
||||
* [Reflecting Techniques - PoCs and Polygloths CheatSheet](pentesting-web/pocs-and-polygloths-cheatsheet/README.md)
|
||||
* [Web Vulns List](pentesting-web/pocs-and-polygloths-cheatsheet/web-vulns-list.md)
|
||||
* [2FA/OTP Bypass](pentesting-web/2fa-bypass.md)
|
||||
* [2FA/MFA/OTP Bypass](pentesting-web/2fa-bypass.md)
|
||||
* [Account Takeover](pentesting-web/account-takeover.md)
|
||||
* [Browser Extension Pentesting Methodology](pentesting-web/browser-extension-pentesting-methodology/README.md)
|
||||
* [BrowExt - ClickJacking](pentesting-web/browser-extension-pentesting-methodology/browext-clickjacking.md)
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
# WebRTC DoS
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks'i Destekleyin</summary>
|
||||
|
||||
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
|
||||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
**Bu sorun bu blog yazısında bulundu:** [**https://www.rtcsec.com/article/novel-dos-vulnerability-affecting-webrtc-media-servers/**](https://www.rtcsec.com/article/novel-dos-vulnerability-affecting-webrtc-media-servers/)
|
||||
|
||||
WebRTC medya sunucularındaki tanımlanan zafiyet, medya oturumlarının başlatılması sırasında, özellikle **ICE medya onay doğrulaması** ile **DTLS trafik başlatma** arasında bir **yarış durumu** nedeniyle ortaya çıkmaktadır. İşte detaylı bir inceleme:
|
||||
|
||||
### Zafiyetin Kaynağı
|
||||
|
||||
1. **UDP Port Tahsisi:** Bir kullanıcı WebRTC araması başlattığında, medya sunucusu medya akışlarını yönetmek için UDP portları tahsis eder, IP ve port sinyalizasyon yoluyla iletilir.
|
||||
2. **ICE ve STUN Süreçleri:** Kullanıcının tarayıcısı, medya onay doğrulaması için ICE kullanır ve medya sunucusuna bağlantı yolunu belirlemek için STUN kullanır.
|
||||
3. **DTLS Oturumu:** Başarılı STUN doğrulamasının ardından, SRTP anahtarlarını oluşturmak için bir DTLS oturumu başlar ve medya akışı için SRTP'ye geçilir.
|
||||
|
||||
### Sömürü Mekanizması
|
||||
|
||||
* **Yarış Durumu Sömürüsü:** Bir saldırgan, meşru kullanıcıdan önce bir DTLS ClientHello mesajı göndererek bir yarış durumunu sömürebilir, potansiyel olarak `TLS_NULL_WITH_NULL_NULL` gibi geçersiz bir şifreleme kümesi kullanarak. Bu, sunucuda bir DTLS hatasına neden olur ve SRTP oturumunun kurulmasını engeller.
|
||||
|
||||
### Saldırı Süreci
|
||||
|
||||
* **Port Taraması:** Saldırgan, hangi UDP portlarının gelen medya oturumlarını yönettiğini tahmin etmelidir, bu portlara null şifreleme kümesi ile ClientHello mesajları göndererek zafiyeti tetikler.
|
||||
* **Saldırı Diyagramı:** Sıralama, saldırgan tarafından sunucuya gönderilen birden fazla ClientHello mesajını, meşru sinyalizasyon ve DTLS mesajları ile iç içe geçirerek, hatalı şifreleme kümesi nedeniyle bir el sıkışma hatasına yol açar.
|
||||
|
||||
### Test ve Azaltma
|
||||
|
||||
* **Güvenli Test:** Saldırganlar, belirli medya portlarını hedef alarak DTLS ClientHello mesajlarını tekrar oynatmak için Scapy gibi araçlar kullanır. Etik testler için, kurban davranışını güvenli bir şekilde taklit etmek amacıyla Chromium'da (örneğin, `JsepTransport::AddRemoteCandidates`) değişiklikler yapılmıştır.
|
||||
* **Azaltma Önlemleri:** Çözümler, doğrulanmamış adreslerden gelen paketlerin düşürülmesini içerir; bu, libnice gibi kütüphanelerin daha yeni sürümlerinde uygulanmıştır. Temel çözüm, ICE doğrulama sürecine güvenmeyi ve yalnızca doğrulanmış IP ve port kombinasyonlarından gelen paketleri işlemeyi vurgular.
|
||||
|
||||
### Zafiyetten Etkilenmeyen Senaryolar
|
||||
|
||||
* **DTLS Sunucu Yapılandırmaları:** Tarayıcının bir DTLS sunucusu olarak davrandığı veya medya sunucusunun medya oturumları için geçici portlar kullanmadığı durumlar bu zafiyete karşı duyarsızdır.
|
||||
|
||||
### Sonuç
|
||||
|
||||
Bu zafiyet, medya oturumu başlatma süreçlerindeki hassas dengeyi ve sömürüyü önlemek için kesin zamanlama ve doğrulama mekanizmalarının gerekliliğini vurgulamaktadır. Geliştiricilerin önerilen güvenlik düzeltmelerini uygulamaları ve bu tür zafiyetleri azaltmak için sağlam doğrulama süreçlerini sağlamaları tavsiye edilmektedir.
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>HackTricks'i Destekleyin</summary>
|
||||
|
||||
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
|
||||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
|
@ -1,29 +1,29 @@
|
|||
# iOS Özel URI İşleyicileri / Derin Bağlantılar / Özel Şemalar
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>HackTricks'i Destekleyin</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* [**abonelik planlarını**](https://github.com/sponsors/carlospolop) kontrol edin!
|
||||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'i takip edin.**
|
||||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
Bu, [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/) ile ilgili bilgilerin bir özetidir.
|
||||
|
||||
## Temel Bilgiler
|
||||
|
||||
Özel URL şemaları, uygulamaların [Apple Geliştirici Dokümantasyonu](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW1) detaylarında belirtildiği gibi, özel bir protokol kullanarak iletişim kurmasını sağlar. Bu şemalar, uygulama tarafından beyan edilmeli ve ardından bu şemalara uygun gelen URL'ler işlenmelidir. **Tüm URL parametrelerini doğrulamak** ve **herhangi bir hatalı URL'yi atmak** saldırıları önlemek için kritik öneme sahiptir.
|
||||
Özel URL şemaları, uygulamaların [Apple Geliştirici Dokümantasyonu](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple\_ref/doc/uid/TP40007072-CH6-SW1) detaylarında açıklandığı gibi, özel bir protokol kullanarak iletişim kurmasını sağlar. Bu şemalar, uygulama tarafından beyan edilmeli ve ardından bu şemalara uygun gelen URL'leri işlemesi gerekmektedir. **Tüm URL parametrelerini doğrulamak** ve **herhangi bir hatalı URL'yi atmak** saldırıları önlemek için kritik öneme sahiptir.
|
||||
|
||||
`myapp://hostname?data=123876123` URI'sinin belirli bir uygulama eylemini tetiklediği bir örnek verilmiştir. Skype Mobil uygulamasında, `skype://` protokolü aracılığıyla izinsiz arama eylemlerine izin veren bir zafiyet tespit edilmiştir. Kayıtlı şemalar, uygulamanın `Info.plist` dosyasında `CFBundleURLTypes` altında bulunabilir. Kötü niyetli uygulamalar, hassas bilgileri ele geçirmek için URI'leri yeniden kaydederek bunu istismar edebilir.
|
||||
`myapp://hostname?data=123876123` URI'sinin belirli bir uygulama eylemini tetiklediği bir örnek verilmiştir. Skype Mobil uygulamasında, `skype://` protokolü aracılığıyla izinsiz arama eylemlerine izin veren bir güvenlik açığı not edilmiştir. Kayıtlı şemalar, uygulamanın `Info.plist` dosyasında `CFBundleURLTypes` altında bulunabilir. Kötü niyetli uygulamalar, hassas bilgileri ele geçirmek için URI'leri yeniden kaydederek bunu istismar edebilir.
|
||||
|
||||
### Uygulama Sorgu Şemaları Kaydı
|
||||
|
||||
iOS 9.0'dan itibaren, bir uygulamanın mevcut olup olmadığını kontrol etmek için `canOpenURL:` kullanıldığında, URL şemalarının `Info.plist` dosyasında `LSApplicationQueriesSchemes` altında beyan edilmesi gerekmektedir. Bu, bir uygulamanın sorgulayabileceği şemaları 50 ile sınırlayarak, uygulama sayımını önleyerek gizliliği artırır.
|
||||
iOS 9.0'dan itibaren, bir uygulamanın mevcut olup olmadığını kontrol etmek için `canOpenURL:` kullanımı, `Info.plist` dosyasında `LSApplicationQueriesSchemes` altında URL şemalarının beyan edilmesini gerektirir. Bu, bir uygulamanın sorgulayabileceği şemaları 50 ile sınırlayarak, uygulama sayımını önleyerek gizliliği artırır.
|
||||
```xml
|
||||
<key>LSApplicationQueriesSchemes</key>
|
||||
<array>
|
||||
|
@ -61,9 +61,9 @@ return true
|
|||
|
||||
`openURL:options:completionHandler:` gibi yöntemler, diğer uygulamalarla etkileşimde bulunmak için URL'leri açmak açısından kritik öneme sahiptir. Uygulamanın kaynak kodunda bu tür yöntemlerin kullanımını belirlemek, dış iletişimleri anlamak için anahtardır.
|
||||
|
||||
### Kullanımdan Kaldırılmış Yöntemleri Test Etme
|
||||
### Kullanımdan Kaldırılan Yöntemleri Test Etme
|
||||
|
||||
`application:handleOpenURL:` ve `openURL:` gibi URL açma işlemlerini yöneten kullanımdan kaldırılmış yöntemler, güvenlik etkileri açısından belirlenmeli ve gözden geçirilmelidir.
|
||||
`application:handleOpenURL:` ve `openURL:` gibi URL açma işlemlerini yöneten kullanımdan kaldırılan yöntemler, güvenlik etkileri açısından belirlenmeli ve gözden geçirilmelidir.
|
||||
|
||||
### URL Şemalarını Fuzzing
|
||||
|
||||
|
@ -75,19 +75,28 @@ Watching for crashes from iGoat...
|
|||
No logs were moved.
|
||||
Opened URL: iGoat://?contactNumber=0&message=0
|
||||
```
|
||||
## Özel URL şeması kaçırma
|
||||
|
||||
[**bu gönderiye**](https://evanconnelly.github.io/post/ios-oauth/) göre, kötü niyetli uygulamalar **diğer uygulamaların özel şemalarını kaydedebilir,** ardından kötü niyetli uygulama, [ASWebAuthenticationSession](https://developer.apple.com/documentation/authenticationservices/aswebauthenticationsession/2990952-init#parameters) ile Safari Uygulamasının tüm çerezlerine sahip bir tarayıcı açabilir. 
|
||||
|
||||
Kötü niyetli uygulama, tarayıcı ile bir saldırganın kontrolündeki web sayfasını yükleyebilir ve TCC, mobil kullanıcıdan o uygulamayı açmak için izin isteyecektir. Ardından, kötü niyetli web sayfası, örneğin `prompt=none` parametresi ile bir OAuth akışına yönlendirebilir. Kullanıcı zaten OAuth akışında oturum açmışsa, OAuth akışı, kurban uygulamasına kurban uygulamanın özel şemasını kullanarak gizli anahtarı geri gönderecektir.\
|
||||
Ancak, kötü niyetli uygulama bunu da kaydettiği için ve kullanılan tarayıcı kötü niyetli uygulamanın içinde olduğu için, bu durumda özel şema kötü niyetli uygulama tarafından işlenecek ve OAuth token'ını çalma yeteneğine sahip olacaktır.
|
||||
|
||||
## Referanslar
|
||||
|
||||
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/)
|
||||
* [https://evanconnelly.github.io/post/ios-oauth/](https://evanconnelly.github.io/post/ios-oauth/)
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS Hacking öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP Hacking öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS Hacking öğ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)**'i takip edin.**
|
||||
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın ya da **Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** bizi takip edin.**
|
||||
* **Hacking ipuçlarını paylaşmak için** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR gönderin.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# 80,443 - Pentesting Web Metodolojisi
|
||||
# 80,443 - Pentesting Web Methodolojisi
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -17,7 +17,7 @@ GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" a
|
|||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Eğer **hacking kariyeri** ile ilgileniyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve sözlü gereklidir_).
|
||||
**Hacking kariyeri** ile ilgileniyorsanız ve hacklenemez olanı hack etmek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve sözlü gereklidir_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
@ -55,7 +55,7 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
|
|||
* [ ] Web sayfasını **spidering** yapmaya başlayın: Tüm olası **dosyaları, klasörleri** ve **kullanılan parametreleri bulma** zamanı. Ayrıca, **özel bulgular** için kontrol edin.
|
||||
* [ ] _Brute-forcing veya spidering sırasında yeni bir dizin keşfedildiğinde, o dizin de spidering yapılmalıdır._
|
||||
* [ ] **Dizin Brute-Forcing**: Keşfedilen tüm klasörleri brute force ile yeni **dosyalar** ve **dizinler** arayarak deneyin.
|
||||
* [ ] _Brute-forcing veya spidering sırasında yeni bir dizin keşfedildiğinde, o dizin de Brute-Forced yapılmalıdır._
|
||||
* [ ] _Brute-forcing veya spidering sırasında yeni bir dizin keşfedildiğinde, o dizin de Brute-Forced edilmelidir._
|
||||
* [ ] **Yedek kontrolü**: Ortaya çıkan **dosyaların** **yedeklerini** bulup bulamayacağınızı test edin, yaygın yedek uzantılarını ekleyerek.
|
||||
* [ ] **Brute-Force parametreleri**: **Gizli parametreleri** bulmaya çalışın.
|
||||
* [ ] Tüm olası **kullanıcı girişi** kabul eden **uç noktaları** **belirledikten** sonra, bunlarla ilgili her türlü **zafiyeti** kontrol edin.
|
||||
|
@ -125,7 +125,7 @@ Eğer web uygulaması daha önce listelenen herhangi bir iyi bilinen **teknoloji
|
|||
Eğer uygulamanın **kaynak kodu** **github**'da mevcutsa, uygulamanın **kendi başınıza bir Beyaz kutu testi** yapmanın yanı sıra mevcut **Siyah Kutu testi** için **bazı bilgiler** **yararlı** olabilir:
|
||||
|
||||
* **Değişiklik günlüğü veya Readme veya Sürüm** dosyası veya web üzerinden erişilebilen **sürüm bilgisi** içeren herhangi bir şey var mı?
|
||||
* **Kimlik bilgileri** nasıl ve nerede saklanıyor? **Kimlik bilgileri** (kullanıcı adları veya şifreler) ile ilgili herhangi bir (erişilebilir?) **dosya** var mı?
|
||||
* **Kimlik bilgileri** nasıl ve nerede saklanıyor? **Kimlik bilgileri** (kullanıcı adları veya şifreler) ile ilgili erişilebilir herhangi bir **dosya** var mı?
|
||||
* **Şifreler** **düz metin**, **şifrelenmiş** mi yoksa hangi **hash algoritması** kullanılıyor?
|
||||
* Bir şeyi şifrelemek için herhangi bir **anahtar** kullanıyor mu? Hangi **algoritma** kullanılıyor?
|
||||
* Bir açığı sömürerek **bu dosyalara** erişebilir misiniz?
|
||||
|
@ -166,11 +166,11 @@ joomlavs.rb #https://github.com/rastating/joomlavs
|
|||
```
|
||||
> Bu noktada, istemci tarafından kullanılan web sunucusu hakkında bazı bilgilere sahip olmalısınız (eğer herhangi bir veri verilmişse) ve test sırasında aklınızda bulundurmanız gereken bazı ipuçları. Şanslıysanız, bir CMS bulmuş ve bazı tarayıcılar çalıştırmış olabilirsiniz.
|
||||
|
||||
## Adım Adım Web Uygulaması Keşfi
|
||||
## Adım adım Web Uygulaması Keşfi
|
||||
|
||||
> Bu noktadan itibaren web uygulamasıyla etkileşime geçmeye başlayacağız.
|
||||
|
||||
### İlk Kontroller
|
||||
### İlk kontroller
|
||||
|
||||
**İlginç bilgiler içeren varsayılan sayfalar:**
|
||||
|
||||
|
@ -181,7 +181,7 @@ joomlavs.rb #https://github.com/rastating/joomlavs
|
|||
* /.well-known/
|
||||
* Ana ve ikincil sayfalardaki yorumları da kontrol edin.
|
||||
|
||||
**Hataları Zorlamak**
|
||||
**Hataları zorlamak**
|
||||
|
||||
Web sunucuları, onlara garip veriler gönderildiğinde **beklenmedik şekilde davranabilir**. Bu, **açıklara** veya **hassas bilgilerin ifşasına** yol açabilir.
|
||||
|
||||
|
@ -190,19 +190,19 @@ Web sunucuları, onlara garip veriler gönderildiğinde **beklenmedik şekilde d
|
|||
* **URL'nin** **sonuna** **`/~randomthing/%s`** vererek hata oluşturun
|
||||
* PATCH, DEBUG veya FAKE gibi **farklı HTTP Fiilleri** deneyin
|
||||
|
||||
#### **Dosya yükleyip yükleyemeyeceğinizi kontrol edin (**[**PUT fiili, WebDav**](put-method-webdav.md)**)**
|
||||
#### **Dosya yükleyip yükleyemediğinizi kontrol edin (**[**PUT fiili, WebDav**](put-method-webdav.md)**)**
|
||||
|
||||
Eğer **WebDav** **etkin** ise ancak kök klasörde **dosya yüklemek için** yeterli izniniz yoksa şunları deneyin:
|
||||
|
||||
* **Kaba Kuvvet** ile kimlik bilgilerini denemek
|
||||
* WebDav aracılığıyla web sayfasındaki **bulunan diğer klasörlere** **dosya yüklemek**. Diğer klasörlerde dosya yüklemek için izinleriniz olabilir.
|
||||
* **Kaba kuvvet** ile kimlik bilgilerini denemek
|
||||
* WebDav aracılığıyla web sayfasındaki **bulunan diğer klasörlere** **dosyalar yüklemek**. Diğer klasörlerde dosya yüklemek için izinleriniz olabilir.
|
||||
|
||||
### **SSL/TLS açıkları**
|
||||
### **SSL/TLS açıklıkları**
|
||||
|
||||
* Uygulama, herhangi bir yerde HTTPS kullanıcısını **zorlamıyorsa**, o zaman **MitM'ye** karşı **açık** demektir.
|
||||
* Uygulama, **hassas verileri (şifreler) HTTP kullanarak gönderiyorsa**. O zaman bu yüksek bir açık demektir.
|
||||
* Uygulama, herhangi bir yerde **HTTPS kullanıcısını zorlamıyorsa**, o zaman **MitM'ye karşı savunmasızdır**
|
||||
* Uygulama, **hassas verileri (şifreler) HTTP kullanarak gönderiyorsa**. O zaman bu yüksek bir açıklıktır.
|
||||
|
||||
**Açıkları** kontrol etmek için [**testssl.sh**](https://github.com/drwetter/testssl.sh) kullanın (Hata Ödül programlarında muhtemelen bu tür açıklar kabul edilmeyecektir) ve açıkları yeniden kontrol etmek için [**a2sv**](https://github.com/hahwul/a2sv) kullanın:
|
||||
**Açıkları** kontrol etmek için [**testssl.sh**](https://github.com/drwetter/testssl.sh) kullanın (Hata Ödül programlarında muhtemelen bu tür açıklıklar kabul edilmeyecektir) ve açıklıkları yeniden kontrol etmek için [**a2sv**](https://github.com/hahwul/a2sv) kullanın:
|
||||
```bash
|
||||
./testssl.sh [--htmlfile] 10.10.10.10:443
|
||||
#Use the --htmlfile to save the output inside an htmlfile also
|
||||
|
@ -218,7 +218,7 @@ Bilgi SSL/TLS zafiyetleri hakkında:
|
|||
|
||||
### Spidering
|
||||
|
||||
Web içinde bir tür **spider** başlatın. Spider'ın amacı, test edilen uygulamadan **mümkün olduğunca fazla yol bulmaktır**. Bu nedenle, web taraması ve harici kaynaklar kullanılarak mümkün olduğunca fazla geçerli yol bulunmalıdır.
|
||||
Web üzerinde bir tür **spider** başlatın. Spider'ın amacı, test edilen uygulamadan **mümkün olduğunca fazla yol bulmaktır**. Bu nedenle, web taraması ve harici kaynaklar kullanılarak mümkün olduğunca fazla geçerli yol bulunmalıdır.
|
||||
|
||||
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML spider, JS dosyalarındaki LinkFinder ve harici kaynaklar (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
|
||||
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML spider, JS dosyaları için LinkFinder ve harici kaynak olarak Archive.org ile.
|
||||
|
@ -229,7 +229,7 @@ Web içinde bir tür **spider** başlatın. Spider'ın amacı, test edilen uygul
|
|||
* [**gau**](https://github.com/lc/gau) (go): Harici sağlayıcılar (wayback, otx, commoncrawl) kullanan HTML spider.
|
||||
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Bu script, parametre içeren URL'leri bulacak ve listeleyecektir.
|
||||
* [**galer**](https://github.com/dwisiswant0/galer) (go): JS renderleme yeteneklerine sahip HTML spider.
|
||||
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, JS dosyalarında yeni yollar arayabilen JS beautify yetenekleri ile. [JSScanner](https://github.com/dark-warlord14/JSScanner) adlı LinkFinder'ın bir sarmalayıcısına da göz atmak faydalı olabilir.
|
||||
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, JS dosyalarında yeni yollar aramak için JS beautify yeteneklerine sahip. [JSScanner](https://github.com/dark-warlord14/JSScanner) adlı LinkFinder'ın bir sarmalayıcısına da göz atmak faydalı olabilir.
|
||||
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Hem HTML kaynağında hem de gömülü javascript dosyalarında uç noktaları çıkarmak için. Hata avcıları, kırmızı takım üyeleri, infosec ninja'ları için faydalı.
|
||||
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): JavaScript dosyalarından göreli URL'leri ayrıştırmak için Tornado ve JSBeautifier kullanan bir python 2.7 scripti. AJAX isteklerini kolayca keşfetmek için faydalı. Bakımsız görünüyor.
|
||||
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Verilen bir dosyadan (HTML) URL'leri çıkaracak ve çirkin (minify) dosyalardan göreli URL'leri bulmak ve çıkarmak için şık bir düzenli ifade kullanacaktır.
|
||||
|
@ -238,18 +238,19 @@ Web içinde bir tür **spider** başlatın. Spider'ın amacı, test edilen uygul
|
|||
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Başsız bir tarayıcıda bir sayfayı yükler ve sayfayı yüklemek için yüklenen tüm URL'leri yazdırır.
|
||||
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Önceki araçların birkaç seçeneğini birleştiren içerik keşif aracı.
|
||||
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): JS dosyalarında yol ve parametre bulmak için bir Burp uzantısı.
|
||||
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Verilen .js.map URL'si ile size güzelleştirilmiş JS kodunu alacak bir araç.
|
||||
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Bu, belirli bir hedef için uç noktaları keşfetmek için kullanılan bir araçtır.
|
||||
* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Wayback makinesinden bağlantıları keşfedin (aynı zamanda yanıtları indirin ve daha fazla bağlantı arayın).
|
||||
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Verilen .js.map URL'si ile güzelleştirilmiş JS kodunu alacak bir araç.
|
||||
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Belirli bir hedef için uç noktaları keşfetmek için kullanılan bir araç.
|
||||
* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Wayback makinesinden bağlantıları keşfedin (aynı zamanda yanıtları indirip daha fazla bağlantı arayın).
|
||||
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Tarama yapın (form doldurarak bile) ve belirli regex'ler kullanarak hassas bilgileri bulun.
|
||||
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite, siber güvenlik profesyonelleri için tasarlanmış gelişmiş çok özellikli GUI web güvenlik Tarayıcı/Spider'dır.
|
||||
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite, siber güvenlik profesyonelleri için tasarlanmış gelişmiş çok özellikli GUI web güvenlik Tarayıcısı/Spider'dır.
|
||||
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): URL'leri, yolları, sırları ve JavaScript kaynak kodundan diğer ilginç verileri çıkarmak için bir Go paketi ve [komut satırı aracı](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice).
|
||||
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge, **fuzzing** ve **enumeration** için özel kelime listesi oluşturmak amacıyla istekteki parametreleri ve uç noktaları **çıkarmak** için basit bir **Burp Suite uzantısıdır**.
|
||||
* [**katana**](https://github.com/projectdiscovery/katana) (go): Bunun için harika bir araç.
|
||||
* [**Crawley**](https://github.com/s0rg/crawley) (go): Bulabildiği her bağlantıyı yazdırır.
|
||||
|
||||
### Brute Force dizinleri ve dosyaları
|
||||
|
||||
Kök klasörden **brute-forcing**'e başlayın ve **bu yöntemle bulunan** **tüm dizinleri** ve **Spidering** ile **keşfedilen** tüm dizinleri brute-force yapmayı unutmayın (bu brute-forcing'i **özyinelemeli** olarak yapabilir ve kullanılan kelime listesinin başına bulunan dizinlerin adlarını ekleyebilirsiniz).\
|
||||
Kök klasörden **brute-forcing**'e başlayın ve **bu yöntemle bulunan** **tüm dizinleri** ve **Spidering** ile **keşfedilen** dizinleri brute-force yapmayı unutmayın (bu brute-forcing'i **özyinelemeli** olarak yapabilir ve kullanılan kelime listesinin başına bulunan dizinlerin adlarını ekleyebilirsiniz).\
|
||||
Araçlar:
|
||||
|
||||
* **Dirb** / **Dirbuster** - Kali'de dahil, **eski** (ve **yavaş**) ama işlevsel. Otomatik imzalı sertifikalara ve özyinelemeli aramaya izin verir. Diğer seçeneklerle karşılaştırıldığında çok yavaş.
|
||||
|
@ -259,7 +260,7 @@ Araçlar:
|
|||
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
|
||||
* [**ffuf** ](https://github.com/ffuf/ffuf)- Hızlı: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
|
||||
* [**uro**](https://github.com/s0md3v/uro) (python): Bu bir spider değildir ama bulunan URL'lerin listesini vererek "tekrarlanan" URL'leri siler.
|
||||
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Farklı sayfaların burp geçmişinden dizinler oluşturmak için Burp Uzantısı.
|
||||
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Farklı sayfaların burp geçmişinden bir dizin listesi oluşturmak için Burp Uzantısı.
|
||||
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Tekrarlanan işlevselliğe sahip URL'leri kaldırır (js importlarına dayalı).
|
||||
* [**Chamaleon**](https://github.com/iustin24/chameleon): Kullanılan teknolojileri tespit etmek için wapalyzer kullanır ve kullanılacak kelime listelerini seçer.
|
||||
|
||||
|
@ -287,8 +288,8 @@ _Bruteforcing veya spidering sırasında yeni bir dizin keşfedildiğinde, bu di
|
|||
### Bulunan her dosyada kontrol edilecekler
|
||||
|
||||
* [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): Ele geçirilme riski taşıyan HTML'ler içindeki bozuk bağlantıları bulun.
|
||||
* **Dosya Yedekleri**: Tüm dosyaları bulduktan sonra, tüm çalıştırılabilir dosyaların yedeklerini arayın ("_.php_", "_.aspx_"...). Yedekleme için yaygın adlandırma varyasyonları: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp ve file.old._ Ayrıca [**bfac**](https://github.com/mazen160/bfac) **veya** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)** aracını kullanabilirsiniz.**
|
||||
* **Yeni parametreler keşfedin**: Gizli parametreleri keşfetmek için [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **ve** [**Param Miner**](https://github.com/PortSwigger/param-miner) **gibi araçları kullanabilirsiniz. Mümkünse, her çalıştırılabilir web dosyasında gizli parametreleri aramayı deneyebilirsiniz.**
|
||||
* **Dosya Yedekleri**: Tüm dosyaları bulduktan sonra, tüm çalıştırılabilir dosyaların yedeklerini arayın ("_.php_", "_.aspx_"...). Yedek bir dosya adlandırması için yaygın varyasyonlar: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp ve file.old._ Ayrıca [**bfac**](https://github.com/mazen160/bfac) **veya** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)** aracını kullanabilirsiniz.**
|
||||
* **Yeni parametreleri keşfedin**: Gizli parametreleri keşfetmek için [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **ve** [**Param Miner**](https://github.com/PortSwigger/param-miner) **gibi araçları kullanabilirsiniz. Mümkünse, her çalıştırılabilir web dosyasında gizli parametreleri aramayı deneyebilirsiniz.**
|
||||
* _Arjun tüm varsayılan kelime listeleri:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
|
||||
* _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
|
||||
* _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
|
||||
|
@ -297,7 +298,7 @@ _Bruteforcing veya spidering sırasında yeni bir dizin keşfedildiğinde, bu di
|
|||
* Eğer **CTF** oynuyorsanız, "yaygın" bir hile, **bilgiyi** sayfanın **sağında** (tarayıcı ile kaynak kodunu açtığınızda veriyi göremeyecek şekilde **yüzlerce** **boşluk** kullanarak) **gizlemektir**. Diğer bir olasılık, **birkaç yeni satır** kullanmak ve bilgiyi web sayfasının **altında** bir yorumda **gizlemektir**.
|
||||
* **API anahtarları**: Eğer **herhangi bir API anahtarı** bulursanız, farklı platformların API anahtarlarını nasıl kullanacağınızı gösteren bir kılavuz vardır: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird)
|
||||
* Google API anahtarları: Eğer **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik gibi görünen bir API anahtarı bulursanız, anahtarın erişebileceği API'leri kontrol etmek için [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) projesini kullanabilirsiniz.
|
||||
* **S3 Buckets**: Spidering yaparken herhangi bir **alt alan** veya herhangi bir **bağlantının** bazı **S3 bucket** ile ilişkili olup olmadığını kontrol edin. Bu durumda, [**bucket'ın** **izinlerini kontrol edin**](buckets/).
|
||||
* **S3 Buckets**: Spidering yaparken herhangi bir **alt alan** veya herhangi bir **bağlantının** bazı **S3 bucket** ile ilişkili olup olmadığını kontrol edin. Bu durumda, [**bucket'ın** **izinlerini kontrol edin](buckets/).**
|
||||
|
||||
### Özel bulgular
|
||||
|
||||
|
@ -309,8 +310,8 @@ _Bruteforcing veya spidering sırasında yeni bir dizin keşfedildiğinde, bu di
|
|||
* [Eğer bir _**.git**_ dosyası bulursanız, bazı bilgiler çıkarılabilir](git.md)
|
||||
* Eğer bir _**.env**_ bulursanız, API anahtarları, veritabanı şifreleri ve diğer bilgiler bulunabilir.
|
||||
* Eğer **API uç noktaları** bulursanız, [bunları da test etmelisiniz](web-api-pentesting.md). Bunlar dosya değildir, ama muhtemelen "onlara benzerler".
|
||||
* **JS dosyaları**: Spidering bölümünde, JS dosyalarından yol çıkarabilen birkaç araçtan bahsedilmiştir. Ayrıca, bulunan her JS dosyasını **izlemek** de ilginç olacaktır, çünkü bazı durumlarda, bir değişiklik, kodda potansiyel bir zafiyetin tanıtıldığını gösterebilir. Örneğin [**JSMon**](https://github.com/robre/jsmon)**'u** kullanabilirsiniz.
|
||||
* Ayrıca, keşfedilen JS dosyalarını [**RetireJS**](https://github.com/retirejs/retire.js/) veya [**JSHole**](https://github.com/callforpapers-source/jshole) ile kontrol etmelisiniz.
|
||||
* **JS dosyaları**: Spidering bölümünde, JS dosyalarından yol çıkarabilen birkaç araçtan bahsedilmiştir. Ayrıca, bulunan her JS dosyasını **izlemek** de ilginç olacaktır, çünkü bazı durumlarda bir değişiklik, kodda potansiyel bir zafiyetin tanıtıldığını gösterebilir. Örneğin [**JSMon**](https://github.com/robre/jsmon)** kullanabilirsiniz.**
|
||||
* Bulunan JS dosyalarını [**RetireJS**](https://github.com/retirejs/retire.js/) veya [**JSHole**](https://github.com/callforpapers-source/jshole) ile kontrol ederek zayıf olup olmadığını bulmalısınız.
|
||||
* **Javascript Deobfuscator ve Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator)
|
||||
* **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org)
|
||||
* **JsFuck deobfuscation** (karakterlerle javascript: "\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/))
|
||||
|
@ -326,19 +327,19 @@ _Bruteforcing veya spidering sırasında yeni bir dizin keşfedildiğinde, bu di
|
|||
|
||||
**502 Proxy Hatası**
|
||||
|
||||
Eğer herhangi bir sayfa bu **kodla** **yanıt veriyorsa**, muhtemelen **kötü yapılandırılmış bir proxy** vardır. **`GET https://google.com HTTP/1.1`** gibi bir HTTP isteği gönderirseniz (host başlığı ve diğer yaygın başlıklarla), **proxy** _**google.com**_ **erişmeye çalışacak** ve bir **SSRF** bulmuş olacaksınız.
|
||||
Eğer herhangi bir sayfa bu **kodla** **yanıt veriyorsa**, muhtemelen **kötü yapılandırılmış bir proxy** vardır. **`GET https://google.com HTTP/1.1`** gibi bir HTTP isteği gönderirseniz (host başlığı ve diğer yaygın başlıklarla), **proxy** _**google.com**_ **erişmeye çalışacak ve bir** SSRF **bulmuş olacaksınız.**
|
||||
|
||||
**NTLM Kimlik Doğrulama - Bilgi ifşası**
|
||||
|
||||
Eğer kimlik doğrulama isteyen sunucu **Windows** ise veya bir girişte **kimlik bilgilerinizi** (ve **alan adı** **adını** istemesi) bulursanız, bir **bilgi ifşası** tetikleyebilirsiniz.\
|
||||
Eğer çalışan sunucu kimlik doğrulama istiyorsa **Windows** ise veya **kimlik bilgilerinizi** (ve **alan adı** **adını** istemesi) soruyorsa, bir **bilgi ifşası** tetikleyebilirsiniz.\
|
||||
**Header'ı gönderin**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` ve **NTLM kimlik doğrulamanın** nasıl çalıştığı nedeniyle, sunucu "WWW-Authenticate" başlığında iç bilgi (IIS versiyonu, Windows versiyonu...) ile yanıt verecektir.\
|
||||
Bunu **nmap eklentisi** "_http-ntlm-info.nse_" kullanarak **otomatikleştirebilirsiniz**.
|
||||
Bunu **nmap eklentisi** "_http-ntlm-info.nse_" kullanarak **otomatikleştirebilirsiniz.**
|
||||
|
||||
**HTTP Yönlendirme (CTF)**
|
||||
|
||||
Bir **Yönlendirme** içinde **içerik** **yerleştirmek** mümkündür. Bu içerik **kullanıcıya gösterilmeyecek** (çünkü tarayıcı yönlendirmeyi gerçekleştirecektir) ama orada **gizli** bir şey olabilir.
|
||||
|
||||
### Web Zafiyetlerini Kontrol Etme
|
||||
### Web Zafiyetleri Kontrolü
|
||||
|
||||
Artık web uygulamasının kapsamlı bir envanteri alındığına göre, birçok olası zafiyeti kontrol etme zamanı. Kontrol listesini burada bulabilirsiniz:
|
||||
|
||||
|
@ -352,9 +353,9 @@ Web zafiyetleri hakkında daha fazla bilgi için:
|
|||
* [https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html](https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html)
|
||||
* [https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection](https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection)
|
||||
|
||||
### Sayfaları Değişiklikler için İzleme
|
||||
### Sayfaları değişiklikler için izleme
|
||||
|
||||
Vulnerabiliteleri ekleyebilecek değişiklikler için sayfaları izlemek üzere [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) gibi araçları kullanabilirsiniz.
|
||||
Varlıkların eklenebileceği değişiklikleri izlemek için [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) gibi araçları kullanabilirsiniz.
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -433,8 +434,8 @@ Description: Simple Scan with Ffuf for discovering additional vhosts
|
|||
Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H "Host:FUZZ.{Domain_Name}" -c -mc all {Ffuf_Filters}
|
||||
```
|
||||
{% hint style="success" %}
|
||||
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS Hacking'i öğrenin ve pratik yapın:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP Hacking'i öğrenin ve pratik yapın: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# 2FA/OTP Bypass
|
||||
# 2FA/MFA/OTP Bypass
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS Hacking öğrenin ve pratik yapın:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 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>
|
||||
|
||||
|
@ -33,7 +33,7 @@ Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
|
|||
|
||||
### **Doğrudan Uç Nokta Erişimi**
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
### **Token Yeniden Kullanımı**
|
||||
|
||||
|
@ -41,11 +41,11 @@ Bir hesap içindeki kimlik doğrulama için daha önce kullanılan token'ları y
|
|||
|
||||
### **Kullanılmayan Token'ların Kullanımı**
|
||||
|
||||
Kendi hesabınızdan bir token çıkararak başka bir hesapta 2FA'yı atlamayı deneyebilirsiniz.
|
||||
Kendi hesabınızdan bir token çıkararak başka bir hesapta 2FA'yı atlatmayı deneyebilirsiniz.
|
||||
|
||||
### **Token'ın Açığa Çıkması**
|
||||
### **Token'in Açığa Çıkması**
|
||||
|
||||
Token'ın web uygulamasından gelen bir yanıtta ifşa edilip edilmediğini araştırın.
|
||||
Token'in web uygulamasından gelen bir yanıtta ifşa edilip edilmediğini araştırın.
|
||||
|
||||
### **Doğrulama Bağlantısı İstismarı**
|
||||
|
||||
|
@ -57,11 +57,11 @@ Kullanıcının ve bir mağdurun hesabı için oturum başlatmak ve kullanıcın
|
|||
|
||||
### **Şifre Sıfırlama Mekanizması**
|
||||
|
||||
Şifre sıfırlama işlevini araştırmak, sıfırlama sonrası kullanıcıyı uygulamaya giriş yaptırma potansiyeli açısından önemlidir; 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ı atlayabilir.
|
||||
Ş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.
|
||||
|
||||
### **OAuth Platformu Kompromizasyonu**
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
### **Kaba Kuvvet Saldırıları**
|
||||
|
||||
|
@ -71,7 +71,7 @@ Kod denemeleri sayısında bir sınır olmaması, kaba kuvvet saldırılarına o
|
|||
|
||||
#### **Yavaş Kaba Kuvvet**
|
||||
|
||||
Bir yavaş kaba kuvvet saldırısı, genel bir hız sınırı olmaksızın akış hızı sınırlarının bulunduğu yerlerde geçerlidir.
|
||||
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.
|
||||
|
||||
#### **Kod Yeniden Gönderme Sınırının Sıfırlanması**
|
||||
|
||||
|
@ -87,7 +87,7 @@ Hız sınırları giriş denemelerini koruyabilir, ancak iç hesap eylemlerini k
|
|||
|
||||
#### **SMS Kodu Yeniden Gönderme Maliyetleri**
|
||||
|
||||
SMS ile kodların aşırı yeniden gönderilmesi şirkete maliyet yükler, ancak 2FA'yı atlamaz.
|
||||
SMS ile kodların aşırı yeniden gönderilmesi şirkete maliyet yükler, ancak 2FA'yı atlatmaz.
|
||||
|
||||
#### **Sonsuz OTP Yeniden Üretimi**
|
||||
|
||||
|
@ -105,11 +105,11 @@ Basit kodlarla sonsuz OTP üretimi, küçük bir kod setini yeniden deneyerek ka
|
|||
|
||||
#### **Tahmin Edilebilir Çerez Değerleri**
|
||||
|
||||
"Beni hatırla" çerez değerini tahmin etmek kısıtlamaları atlayabilir.
|
||||
"Beni hatırla" çerez değerini tahmin etmek kısıtlamaları atlatabilir.
|
||||
|
||||
#### **IP Adresi Taklidi**
|
||||
|
||||
**X-Forwarded-For** başlığı aracılığıyla mağdurun IP adresini taklit etmek kısıtlamaları atlayabilir.
|
||||
**X-Forwarded-For** başlığı aracılığıyla mağdurun IP adresini taklit etmek kısıtlamaları atlatabilir.
|
||||
|
||||
### **Eski Sürümlerin Kullanımı**
|
||||
|
||||
|
@ -133,18 +133,23 @@ Alt alan adlarını test etmek, 2FA desteği olmayan veya savunmasız 2FA uygula
|
|||
|
||||
2FA doğrulama sayfasında hassas bilgilerin (örneğin, telefon numarası) açığa çıkması bir endişe kaynağıdır.
|
||||
|
||||
### **Şifre Sıfırlama ile 2FA'yı Devre Dışı Bırakma**
|
||||
### **Şifre Sıfırlamanın 2FA'yı Devre Dışı Bırakması**
|
||||
|
||||
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.
|
||||
|
||||
### **Aldatıcı İstekler**
|
||||
### **Sahte İstekler**
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
### 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.
|
||||
|
||||
## Referanslar
|
||||
|
||||
* [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://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce)
|
||||
|
||||
### [WhiteIntel](https://whiteintel.io)
|
||||
|
||||
|
@ -161,8 +166,8 @@ Web sitelerini kontrol edebilir ve motorlarını **ücretsiz** deneyebilirsiniz:
|
|||
P
|
||||
|
||||
{% hint style="success" %}
|
||||
AWS Hacking'i öğrenin ve pratik yapın:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
GCP Hacking'i öğrenin ve pratik yapın: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
AWS Hacking öğrenin ve pratik yapın:<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 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>
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue