Domain/Subdomain takeover
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking’i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter’da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Domain takeover
Eğer scope içinde kullanılan bir domain (domain.tld) keşfederseniz ve şirket bu domainin sahipliğini kaybetmişse, domaini kaydettirmeyi (maliyet uygunsa) deneyebilir ve durumu şirkete bildirebilirsiniz. Eğer bu domain GET parametresi veya Referer başlığı üzerinden bir session cookie gibi hassas bilgi alıyorsa, bu kesinlikle bir vulnerability’dir.
Subdomain takeover
Şirketin bir subdomain’i, adı kayıtlı olmayan üçüncü taraf bir servise işaret ediyor olabilir. Bu üçüncü taraf serviste hesap oluşturup kullanımdaki adı kaydedebiliyorsanız, subdomain takeover gerçekleştirebilirsiniz.
Olası takeover’ları kontrol etmek için sözlükleri olan birkaç araç:
- https://github.com/EdOverflow/can-i-take-over-xyz
- https://github.com/blacklanternsecurity/bbot
- https://github.com/punk-security/dnsReaper
- https://github.com/haccer/subjack
- https://github.com/anshumanbh/tko-sub
- https://github.com/ArifulProtik/sub-domain-takeover
- https://github.com/SaadAhmedx/Subdomain-Takeover
- https://github.com/Ice3man543/SubOver
- https://github.com/antichown/subdomain-takeover
- https://github.com/musana/mx-takeover
- https://github.com/PentestPad/subzy
- https://github.com/Stratus-Security/Subdominator
- https://github.com/NImaism/takeit
- https://github.com/projectdiscovery/nuclei (use
-tags takeoverwith nuclei-templates) - https://github.com/edoardottt/cariddi (takeover checks in crawling output)
Subdomain Takeover Generation via DNS Wildcard
Bir domainde DNS wildcard kullanıldığında, açıkça farklı bir adres belirtilmemiş herhangi bir alt domain isteği aynı bilgiye resolve edilir. Bu bir A ip address, bir CNAME vb. olabilir.
Örneğin *.testing.com wildcard ile 1.1.1.1’e yönlendirilmişse, not-existent.testing.com da 1.1.1.1’i gösterecektir.
Ancak sysadmin bir IP adresi yerine CNAME ile üçüncü taraf bir servise, örneğin bir GitHub subdomain’ine (sohomdatta1.github.io) işaret ederse, bir saldırgan kendi üçüncü taraf sayfasını (bu örnekte GitHub) oluşturarak something.testing.com’un oraya işaret ettiğini söyleyebilir. Çünkü CNAME wildcard bunu kabul eder, saldırgan mağdurun domaini için keyfi subdomainler üretebilir ve bu subdomainler kendi sayfalarına yönlendirilecektir.
Bu zafiyetin bir örneğini CTF write-up’ında bulabilirsiniz: https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api
Exploiting a subdomain takeover
Subdomain takeover, internet genelinde belirli bir domain için DNS spoofing yapmaya eşdeğerdir; saldırganların domain için A kayıtları ayarlamasına izin vererek tarayıcıların saldırganın sunucusundaki içeriği göstermesine yol açar. Tarayıcıların bu şeffaflığı, domainleri phishing için savunmasız hale getirir. Saldırganlar bunun için typosquatting veya Doppelganger domains gibi yöntemleri kullanabilir. Özellikle phishing e-postasındaki URL meşru görünüyorsa kullanıcılar kandırılabilir ve spam filtrelerinden kaçınabilirler.
Daha fazla detay için bu postu inceleyin
SSL Certificates
Let’s Encrypt gibi servisler aracılığıyla saldırganların ürettiği SSL sertifikaları, bu sahte domainlerin meşruiyetini artırır ve phishing saldırılarını daha inandırıcı kılar.
Cookie Security and Browser Transparency
Tarayıcı şeffaflığı cookie güvenliğini de kapsar; bu durum Same-origin policy gibi politikalarla yönetilir. Oturum yönetimi ve login token’ları için kullanılan cookie’ler, subdomain takeover yoluyla suistimal edilebilir. Saldırganlar, kullanıcıları ele geçirilmiş bir subdomain’e yönlendirerek session cookie’leri toplayabilir, bu da kullanıcı verilerini ve gizliliğini tehlikeye atar.
CORS Bypass
Tüm subdomainlerin ana domain veya diğer subdomainlerden CORS kaynaklarına erişmesine izin veriliyor olabilir. Bu, bir saldırganın CORS isteklerini kötüye kullanarak hassas bilgilere erişmesini sağlayabilir.
CSRF - Same-Site Cookies bypass
Subdomain’in domain veya diğer subdomainlere cookie göndermesine izin veriliyor olabilir; bu, cookie’lerin Same-Site attribute’u ile engellenmiş olsa bile görülebilir. Ancak anti-CSRF token’ları doğru uygulanmışsa bu saldırı yine de engellenir.
OAuth tokens redirect
Ele geçirilmiş subdomain, bir OAuth akışındaki redirect_uri URL’si olarak kullanılabiliyorsa, bu saldırganın OAuth token’ını çalmasına yol açabilir.
CSP Bypass
Ele geçirilmiş subdomain (veya tüm subdomainler) örneğin CSP’nin script-src’ünde izinliyse, saldırgan kötü amaçlı scriptler enjekte edip potansiyel XSS zafiyetlerini kötüye kullanabilir.
Emails and Subdomain Takeover
Subdomain takeover’ın bir diğer yönü email servisleridir. Saldırganlar MX kayıtlarını manipüle ederek meşru bir subdomain’den e-posta alıp gönderebilir, bu da phishing saldırılarının etkinliğini artırır.
Higher Order Risks
Daha ileri riskler arasında NS record takeover vardır. Bir domainin bir NS kaydının kontrolünü ele geçirirse, trafiğin bir kısmını kendi kontrolündeki bir sunucuya yönlendirebilir. Saldırganın DNS kayıtları için yüksek bir TTL (Time to Live) ayarlaması bu saldırının süresini uzatır ve riski büyütür.
CNAME Record Vulnerability
Kullanılmayan veya artık hizmette olmayan dış servislere işaret eden sahiplenilmemiş CNAME kayıtları saldırganlar tarafından istismar edilebilir. Bu, güvenilir domain altında kendi sayfalarını oluşturup phishing veya zararlı yazılım dağıtımını kolaylaştırır.
Mitigation Strategies
Etkilenmeyi azaltma stratejileri şunlardır:
- Vulnerable DNS kayıtlarını kaldırmak - Subdomain artık gerekli değilse bu etkili olur.
- Domain ismini talep etmek - İlgili cloud provider üzerinde kaynağı kaydettirmek veya süresi dolmuş bir domaini tekrar satın almak.
- Düzenli olarak zafiyetleri izlemek - aquatone gibi araçlar hassas domainleri tespit etmeye yardımcı olabilir. Organizasyonlar ayrıca altyapı yönetimi süreçlerini gözden geçirip, DNS kaydı oluşturmanın resource oluşturmanın son adımı ve resource yok etmenin ilk adımı olmasını sağlamalıdır.
Cloud sağlayıcıları için domain sahipliğinin doğrulanması, subdomain takeover’ları önlemek adına kritiktir. Bazıları, örneğin GitLab, bu sorunu fark etmiş ve domain doğrulama mekanizmaları uygulamıştır.
Detection techniques
- Find dangling DNS records: silinmiş bucketlar, uygulamalar, pages, load balancer’lara işaret eden CNAME/A/AAAA/ALIAS/ANAME kayıtlarını arayın.
- Check provider error signatures: HTTP yanıtlarını, TLS sertifikalarını veya DNS hatalarını bilinen takeover kalıplarıyla eşleştirin (bkz. can-i-take-over-xyz).
- Look for orphaned cloud assets: S3/CloudFront, Azure Websites, GCP App Engine/Storage, GitHub Pages, Heroku, Fastly, Netlify, Vercel, Zendesk, Shopify, Atlassian ve benzeri servisleri doğrulayın.
- Passive DNS and historical records: eski CNAME’ler genellikle daha önce kullanılan üçüncü taraf servisleri açığa çıkarır ve bunlar hala savunmasız olabilir.
- Wildcard pitfalls: false positive’leri önlemek ve takeover’ın nasıl büyüyebileceğini anlamak için wildcard DNS ile explicit kayıtları doğrulayın.
APIs and data sources
- https://securitytrails.com/ (historical DNS, passive DNS API)
- https://community.riskiq.com/ (PassiveTotal)
- https://www.farsightsecurity.com/solutions/dnsdb/
- https://www.domaintools.com/products/iris/
- https://search.censys.io/ (certs and host data)
- https://www.shodan.io/ (host data)
- https://www.virustotal.com/ (historical DNS, URLs)
- https://chaos.projectdiscovery.io/ (subdomains dataset)
References
- https://0xpatrik.com/subdomain-takeover/
- https://www.stratussecurity.com/post/subdomain-takeover-guide
- https://www.hackerone.com/blog/guide-subdomain-takeovers-20
Tip
AWS Hacking’i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın:HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking’i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter’da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.


