hacktricks/pentesting-web/domain-subdomain-takeover.md

122 lines
9.7 KiB
Markdown

# Preuzimanje domena/subdomena
{% hint style="success" %}
Učite i vežbajte 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">\
Učite i vežbajte 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>Podržite HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
{% endhint %}
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
Koristite [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=domain-subdomain-takeover) za lako kreiranje i **automatizaciju radnih tokova** pokretanih najnaprednijim **alatima** zajednice.\
Pribavite pristup danas:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}
## Preuzimanje domena
Ako otkrijete neku domenu (domain.tld) koja se **koristi za neku uslugu unutar opsega** ali je **kompanija** **izgubila** **vlasništvo** nad njom, možete pokušati da je **registrujete** (ako je dovoljno jeftina) i obavestite kompaniju. Ako ova domena prima neku **osetljivu informaciju** poput sesijskog kolačića putem **GET** parametra ili u **Referer** headeru, to je sigurno **ranjivost**.
### Preuzimanje subdomena
Subdomena kompanije pokazuje na **uslugu treće strane sa imenom koje nije registrovano**. Ako možete **napraviti** **nalog** u ovoj **usluzi treće strane** i **registrujete** **ime** koje se koristi, možete izvršiti preuzimanje subdomena.
Postoji nekoliko alata sa rečnicima za proveru mogućih preuzimanja:
* [https://github.com/EdOverflow/can-i-take-over-xyz](https://github.com/EdOverflow/can-i-take-over-xyz)
* [https://github.com/blacklanternsecurity/bbot](https://github.com/blacklanternsecurity/bbot)
* [https://github.com/punk-security/dnsReaper](https://github.com/punk-security/dnsReaper)
* [https://github.com/haccer/subjack](https://github.com/haccer/subjack)
* [https://github.com/anshumanbh/tko-sub](https://github.com/anshumanbh/tko-subs)
* [https://github.com/ArifulProtik/sub-domain-takeover](https://github.com/ArifulProtik/sub-domain-takeover)
* [https://github.com/SaadAhmedx/Subdomain-Takeover](https://github.com/SaadAhmedx/Subdomain-Takeover)
* [https://github.com/Ice3man543/SubOver](https://github.com/Ice3man543/SubOver)
* [https://github.com/antichown/subdomain-takeover](https://github.com/antichown/subdomain-takeover)
* [https://github.com/musana/mx-takeover](https://github.com/musana/mx-takeover)
* [https://github.com/PentestPad/subzy](https://github.com/PentestPad/subzy)
* [https://github.com/Stratus-Security/Subdominator](https://github.com/Stratus-Security/Subdominator)
* [https://github.com/NImaism/takeit](https://github.com/NImaism/takeit)
### Generisanje preuzimanja subdomena putem DNS Wildcard
Kada se koristi DNS wildcard u domeni, svaka tražena subdomena te domene koja nema drugačiju adresu eksplicitno će biti **rešena na iste informacije**. Ovo može biti A IP adresa, CNAME...
Na primer, ako je `*.testing.com` wildcard-ovana na `1.1.1.1`. Tada će `not-existent.testing.com` pokazivati na `1.1.1.1`.
Međutim, ako umesto da pokazuje na IP adresu, sistem administrator pokazuje na **uslugu treće strane putem CNAME**, kao što je G**ithub subdomena** na primer (`sohomdatta1.github.io`). Napadač može **napraviti svoju stranicu treće strane** (u Gihubu u ovom slučaju) i reći da `something.testing.com` pokazuje tamo. Zato, **CNAME wildcard** će omogućiti napadaču da **generiše proizvoljne subdomene za domenu žrtve koje pokazuju na njegove stranice**.
Možete pronaći primer ove ranjivosti u CTF izveštaju: [https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api)
## Iskorišćavanje preuzimanja subdomena
Preuzimanje subdomena je suštinski DNS spoofing za specifičnu domenu širom interneta, omogućavajući napadačima da postave A zapise za domenu, što dovodi do toga da pregledači prikazuju sadržaj sa napadačevog servera. Ova **transparentnost** u pregledačima čini domene podložnim phishing-u. Napadači mogu koristiti [_typosquatting_](https://en.wikipedia.org/wiki/Typosquatting) ili [_Doppelganger domains_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger) u tu svrhu. Posebno su ranjive domene gde URL u phishing e-mailu izgleda legitimno, obmanjujući korisnike i izbegavajući spam filtere zbog inherentnog poverenja domene.
Proverite ovaj [post za dodatne detalje](https://0xpatrik.com/subdomain-takeover/)
### **SSL Sertifikati**
SSL sertifikati, ako ih generišu napadači putem usluga poput [_Let's Encrypt_](https://letsencrypt.org/), dodaju legitimitet ovim lažnim domenama, čineći phishing napade uverljivijim.
### **Bezbednost kolačića i transparentnost pregledača**
Transparentnost pregledača se takođe odnosi na bezbednost kolačića, kojom upravljaju politike poput [Same-origin policy](https://en.wikipedia.org/wiki/Same-origin\_policy). Kolačići, koji se često koriste za upravljanje sesijama i skladištenje tokena za prijavu, mogu se iskoristiti putem preuzimanja subdomena. Napadači mogu **prikupiti sesijske kolačiće** jednostavno usmeravajući korisnike na kompromitovanu subdomenu, ugrožavajući podatke i privatnost korisnika.
### **E-mailovi i preuzimanje subdomena**
Još jedan aspekt preuzimanja subdomena uključuje e-mail usluge. Napadači mogu manipulisati **MX zapisima** da primaju ili šalju e-mailove sa legitimne subdomene, povećavajući efikasnost phishing napada.
### **Rizici višeg reda**
Dalji rizici uključuju **preuzimanje NS zapisa**. Ako napadač dobije kontrolu nad jednim NS zapisom domene, može potencijalno usmeriti deo saobraćaja na server pod svojom kontrolom. Ovaj rizik se povećava ako napadač postavi visoki **TTL (Time to Live)** za DNS zapise, produžavajući trajanje napada.
### Ranjivost CNAME zapisa
Napadači bi mogli iskoristiti neizdane CNAME zapise koji pokazuju na spoljne usluge koje se više ne koriste ili su ukinute. Ovo im omogućava da kreiraju stranicu pod poverenom domenom, dodatno olakšavajući phishing ili distribuciju malvera.
### **Strategije ublažavanja**
Strategije ublažavanja uključuju:
1. **Uklanjanje ranjivih DNS zapisa** - Ovo je efikasno ako subdomena više nije potrebna.
2. **Preuzimanje imena domene** - Registracija resursa kod odgovarajućeg provajdera u oblaku ili ponovna kupovina istekao domene.
3. **Redovno praćenje ranjivosti** - Alati poput [aquatone](https://github.com/michenriksen/aquatone) mogu pomoći u identifikaciji podložnih domena. Organizacije bi takođe trebale revidirati svoje procese upravljanja infrastrukturom, osiguravajući da kreiranje DNS zapisa bude poslednji korak u kreiranju resursa i prvi korak u uništavanju resursa.
Za provajdere u oblaku, verifikacija vlasništva nad domenom je ključna za sprečavanje preuzimanja subdomena. Neki, poput [GitLab](https://about.gitlab.com/2018/02/05/gitlab-pages-custom-domain-validation/), su prepoznali ovaj problem i implementirali mehanizme verifikacije domena.
## Reference
* [https://0xpatrik.com/subdomain-takeover/](https://0xpatrik.com/subdomain-takeover/)
* [https://www.stratussecurity.com/post/subdomain-takeover-guide](https://www.stratussecurity.com/post/subdomain-takeover-guide)
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
\
Koristite [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=domain-subdomain-takeover) za lako kreiranje i **automatizaciju radnih tokova** pokretanih najnaprednijim **alatima** zajednice.\
Pribavite pristup danas:
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=domain-subdomain-takeover" %}
{% hint style="success" %}
Učite i vežbajte 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">\
Učite i vežbajte 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>Podržite HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
{% endhint %}