# Domain/Subdomain takeover {{#include ../banners/hacktricks-training.md}} ## Domain takeover Ikiwa unagundua jina la kikoa (domain.tld) ambalo **linatumika na huduma fulani ndani ya upeo** lakini **kampuni** ime **poteza** **umiliki** wake, unaweza kujaribu **kujiandikisha** nalo (ikiwa ni bei nafuu) na kuwajulisha kampuni hiyo. Ikiwa jina hili la kikoa linapokea **taarifa nyeti** kama vile cookie ya kikao kupitia **GET** parameter au katika kichwa cha **Referer**, hii ni hakika **udhaifu**. ### Subdomain takeover Subdomain ya kampuni inashikilia **huduma ya mtu wa tatu yenye jina ambalo halijajiandikisha**. Ikiwa unaweza **kuunda** akaunti katika **huduma hii ya mtu wa tatu** na **kujiandikisha** jina linalotumika, unaweza kufanya subdomain takeover. Kuna zana kadhaa zenye kamusi za kuangalia uwezekano wa takeover: - [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) ### Subdomain Takeover Generation via DNS Wildcard Wakati wildcard ya DNS inatumika katika kikoa, subdomain yoyote inayohitajika ya kikoa hicho ambayo haina anwani tofauti wazi itakuwa **imeelekezwa kwa taarifa sawa**. Hii inaweza kuwa anwani ya A, CNAME... Kwa mfano, ikiwa `*.testing.com` imewekwa kama wildcard kwa `1.1.1.1`. Kisha, `not-existent.testing.com` itakuwa ikielekezwa kwa `1.1.1.1`. Hata hivyo, ikiwa badala ya kuelekeza kwa anwani ya IP, msimamizi wa mfumo anaielekeza kwa **huduma ya mtu wa tatu kupitia CNAME**, kama subdomain ya G**ithub kwa mfano (`sohomdatta1.github.io`). Mshambuliaji anaweza **kuunda ukurasa wake wa mtu wa tatu** (katika Gihub katika kesi hii) na kusema kwamba `something.testing.com` inashikilia hapo. Kwa sababu, **CNAME wildcard** itakubali mshambuliaji atakuwa na uwezo wa **kuunda subdomains zisizo na mipaka kwa kikoa cha mwathirika zikielekezwa kwa kurasa zake**. Unaweza kupata mfano wa udhaifu huu katika andiko la CTF: [https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api](https://ctf.zeyu2001.com/2022/nitectf-2022/undocumented-js-api) ## Exploiting a subdomain takeover Subdomain takeover kimsingi ni DNS spoofing kwa kikoa maalum kwenye mtandao, ikiruhusu washambuliaji kuweka rekodi za A kwa kikoa, na kupeleka vivinjari kuonyesha maudhui kutoka kwa seva ya mshambuliaji. Hii **uwazi** katika vivinjari inafanya majina ya kikoa kuwa hatarini kwa phishing. Washambuliaji wanaweza kutumia [_typosquatting_](https://en.wikipedia.org/wiki/Typosquatting) au [_Doppelganger domains_](https://en.wikipedia.org/wiki/Doppelg%C3%A4nger) kwa ajili ya hili. Majina ya kikoa ambayo URL katika barua pepe ya phishing inaonekana halali, yanakuwa hatarini, yakiwadanganya watumiaji na kukwepa vichujio vya spam kutokana na uaminifu wa kikoa. Angalia hii [post kwa maelezo zaidi](https://0xpatrik.com/subdomain-takeover/) ### **SSL Certificates** Vyeti vya SSL, ikiwa vimeundwa na washambuliaji kupitia huduma kama [_Let's Encrypt_](https://letsencrypt.org/), vinaongeza uhalali wa majina haya ya kikoa bandia, na kufanya mashambulizi ya phishing kuwa ya kuaminika zaidi. ### **Cookie Security and Browser Transparency** Uwazi wa kivinjari pia unahusisha usalama wa cookie, unaodhibitiwa na sera kama [Same-origin policy](https://en.wikipedia.org/wiki/Same-origin_policy). Cookies, ambazo mara nyingi hutumiwa kusimamia vikao na kuhifadhi token za kuingia, zinaweza kutumiwa vibaya kupitia subdomain takeover. Washambuliaji wanaweza **kusanya cookie za kikao** kwa urahisi kwa kuongoza watumiaji kwenye subdomain iliyovunjwa, wakihatarisha data na faragha ya mtumiaji. ### CORS Bypass Inaweza kuwa inawezekana kwamba kila subdomain inaruhusiwa kufikia rasilimali za CORS kutoka kwa kikoa kuu au subdomains nyingine. Hii inaweza kutumiwa vibaya na mshambuliaji ili **kupata taarifa nyeti** kwa kutumia maombi ya CORS. ### CSRF - Same-Site Cookies bypass Inaweza kuwa inawezekana kwamba subdomain inaruhusiwa kutuma cookies kwa kikoa au subdomains nyingine ambazo zilizuia na sifa ya `Same-Site` ya cookies. Hata hivyo, kumbuka kwamba token za anti-CSRF bado zitazuia shambulio hili ikiwa zitatekelezwa ipasavyo. ### OAuth tokens redirect Inaweza kuwa inawezekana kwamba subdomain iliyovunjwa inaruhusiwa kutumika katika URL ya `redirect_uri` ya mtiririko wa OAuth. Hii inaweza kutumiwa vibaya na mshambuliaji ili **kuiba token ya OAuth**. ### CSP Bypass Inaweza kuwa inawezekana kwamba subdomain iliyovunjwa (au kila subdomain) inaruhusiwa kutumika kwa mfano `script-src` ya CSP. Hii inaweza kutumiwa vibaya na mshambuliaji ili **kuingiza scripts za uhalifu** na kutumia udhaifu wa XSS. ### **Emails and Subdomain Takeover** Nafasi nyingine ya subdomain takeover inahusisha huduma za barua pepe. Washambuliaji wanaweza kubadilisha **rekodi za MX** ili kupokea au kutuma barua pepe kutoka subdomain halali, wakiongeza ufanisi wa mashambulizi ya phishing. ### **Higher Order Risks** Hatari zaidi ni pamoja na **NS record takeover**. Ikiwa mshambuliaji anapata udhibiti wa rekodi moja ya NS ya kikoa, wanaweza kwa urahisi kuelekeza sehemu ya trafiki kwa seva chini ya udhibiti wao. Hatari hii inazidishwa ikiwa mshambuliaji ataweka **TTL (Time to Live)** ya juu kwa rekodi za DNS, kuongezea muda wa shambulio. ### CNAME Record Vulnerability Washambuliaji wanaweza kutumia vibaya rekodi za CNAME zisizodaiwa zinazoshikilia huduma za nje ambazo hazitumiki tena au zimeondolewa. Hii inawaruhusu kuunda ukurasa chini ya kikoa kinachotambulika, ikisaidia zaidi katika phishing au usambazaji wa malware. ### **Mitigation Strategies** Mikakati ya kupunguza hatari ni pamoja na: 1. **Kuondoa rekodi za DNS zenye udhaifu** - Hii ni bora ikiwa subdomain haitahitajika tena. 2. **Kudai jina la kikoa** - Kujiandikisha rasilimali hiyo na mtoa huduma husika wa wingu au kununua tena kikoa kilichokwisha. 3. **Kufanya ufuatiliaji wa mara kwa mara kwa udhaifu** - Zana kama [aquatone](https://github.com/michenriksen/aquatone) zinaweza kusaidia kubaini majina ya kikoa yanayoweza kuathiriwa. Mashirika yanapaswa pia kupitia mchakato wao wa usimamizi wa miundombinu, kuhakikisha kwamba uundaji wa rekodi za DNS ni hatua ya mwisho katika uundaji wa rasilimali na hatua ya kwanza katika uharibifu wa rasilimali. Kwa watoa huduma wa wingu, kuthibitisha umiliki wa kikoa ni muhimu ili kuzuia subdomain takeovers. Wengine, kama [GitLab](https://about.gitlab.com/2018/02/05/gitlab-pages-custom-domain-validation/), wamegundua tatizo hili na kutekeleza mitambo ya uthibitishaji wa kikoa. ## References - [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) - [https://www.hackerone.com/blog/guide-subdomain-takeovers-20](https://www.hackerone.com/blog/guide-subdomain-takeovers-20) {{#include ../banners/hacktricks-training.md}}