Datahorses

Prevzatie subdomény: ako sa zo zabudnutého záznamu DNS stane cudzí web

Autor: · · 3 min čítania

K prevzatiu subdomény dôjde, keď záznam DNS na vašej doméne stále smeruje na externú službu, ktorú už nepoužívate. Ak služba dovolí komukoľvek privlastniť si meno, ktoré ste opustili, cudzí človek si ho zaregistruje a začne na promo.yourcompany.com zobrazovať vlastný obsah. Návštevníci vidia v adresnom riadku vašu doménu, takže nemajú dôvod stránke nedôverovať.

Príčina je takmer vždy rovnaká: takzvaný visiaci záznam DNS (dangling DNS). Niekto spustil web kampane, centrum pomoci alebo testovaciu aplikáciu na cloudovej platforme, nasmeroval naň subdoménu a neskôr aplikáciu zmazal, no záznam DNS nie. Microsoft opisuje presne tento postup pri Azure a ten istý vzor platí pre mnohé hostingové, úložné a SaaS platformy.

Dobrá správa: ide o problém evidencie a overiť si ho môžete sami niekoľkými dopytmi DNS.

Ako sa z visiaceho záznamu stane prevzatie

Zvyčajne to prebieha v 3 krokoch:

  1. Vytvorenie. Tím vytvorí yourcompany-promo.azurewebsites.net (alebo bucket, web na Pages, koncový bod CDN) a pridá CNAME, aby promo.yourcompany.com smerovalo naň.
  2. Zrušenie. Kampaň skončí, aplikácia sa zmaže, ale CNAME nikto neodstráni. Subdoména teraz smeruje na meno, ktoré vám už nepatrí.
  3. Prevzatie. Niekto si visiace meno všimne, vytvorí na tej istej platforme prostriedok s rovnakým menom a od tej chvíle ovláda, čo promo.yourcompany.com zobrazuje.

Nie každá platforma posledný krok dovolí. Komunitný projekt can-i-take-over-xyz vedie zoznam služieb, označuje, ktoré sú zraniteľné, a zaznamenáva chybový text, ktorý každá zobrazí pri nepriradenom mene, napríklad „The specified bucket does not exist“ pri Amazon S3.

Prečo je to vážnejšie než znetvorená stránka

Prevzatá subdoména neznamená len trápnu stránku. Podľa odporúčaní Microsoftu medzi riziká patrí:

  • Krádež cookies. Mnohé webové aplikácie nastavujú relačné cookies pre *.yourcompany.com, takže ich prečíta ktorákoľvek subdoména.
  • Platný certifikát pre útočníka. Kto ovláda subdoménu, získa pre ňu certifikát TLS, takže prehliadač ukáže aj zámok.
  • Presvedčivý phishing. Prihlasovaciu stránku na vašej skutočnej doméne odhalíte oveľa ťažšie než stránku na podobnej doméne.
  • Zachytávanie pošty. Visiaci záznam MX môže niekomu dovoliť prijímať poštu poslanú na túto subdoménu.

OWASP Web Security Testing Guide dopĺňa najvážnejší variant: záznam NS, ktorý deleguje subdoménu na nameservery na doméne, ktorá už nie je zaregistrovaná. Kto si túto doménu zaregistruje, ovláda celú delegovanú zónu.

Ako overiť vlastné DNS

Začnite zoznamom všetkých subdomén, ktoré máte. Najlepším zdrojom je export zóny od vášho poskytovateľa DNS. Dobrým doplnkom je história certifikátov, pretože takmer každý certifikát vydaný pre vaše mená je zapísaný v záznamoch Certificate Transparency.

Pri každej subdoméne zistite, kam smeruje:

dig +short CNAME promo.yourcompany.com
dig +short NS dev.yourcompany.com
dig +short MX shop.yourcompany.com

Potom overte, že každý cieľ ešte existuje a stále patrí vám:

dig promo.yourcompany.com
curl -sI https://promo.yourcompany.com

Varovné signály:

  • cieľ CNAME vracia NXDOMAIN (meno už neexistuje),
  • stránka ukazuje chybu platformy ako „No such app“, „Repository not found“ alebo „There isn't a GitHub Pages site here“,
  • záznam NS smeruje na nameservery na doméne, ktorú nepoznáte alebo ktorá expirovala,
  • nikto vo firme nevie povedať, na čo subdoména slúžila.

Testujte len mená na vlastnej doméne. Nepokúšajte sa prostriedok privlastniť, aby ste problém „dokázali“. Stačí záznam odstrániť.

Ako to opraviť

  1. Zmažte visiaci záznam zo svojej zóny DNS. Takúto opravu odporúčajú Microsoft aj OWASP.
  2. Ak subdoménu stále potrebujete, vytvorte prostriedok znova pod vlastným účtom skôr, než naň opäť nasmerujete prevádzku.
  3. Overte, či sa niečo nestalo, kým záznam visel: nezvyčajné certifikáty pre to meno, odkazy vo vašej aplikácii alebo mailoch, ktoré ho stále používajú, presmerovacie adresy OAuth, ktoré ho obsahujú.
  4. Používajte overenie vlastníctva, kde ho platforma ponúka. Azure App Service napríklad podporuje záznam TXT asuid.<subdomain>, aby žiadne iné predplatné nemohlo vlastnú doménu overiť.
  5. Opravte proces, nielen záznam. Pridajte „odstrániť záznam DNS“ do kontrolného zoznamu pri vypínaní každej služby a veďte jednoduchý prehľad, ktorá subdoména smeruje na ktorú platformu a kto za ňu zodpovedá.

Krátky kontrolný zoznam

  • Exportujte zónu DNS a vypíšte každý záznam CNAME, NS a MX.
  • Pri každom overte, že cieľ existuje a patrí vašej firme.
  • Odstráňte záznamy služieb, ktoré boli vypnuté.
  • Porovnajte zónu s menami v záznamoch Certificate Transparency a nájdite subdomény, ktoré nikto nezdokumentoval.
  • Kontrolu zopakujte vždy, keď skončí kampaň, produkt alebo dodávateľ.

Visiace záznamy sa často vyskytujú spolu s inými zabudnutými vecami, napríklad starých testovacích serverov. Upratať oboje naraz je zvyčajne najrýchlejšie zlepšenie.

Kde pomáha Datahorses

Datahorses každý deň stráži vašu firmu zvonku: zostaví zoznam vašich subdomén, overí, kam smeruje každý CNAME, a označí záznamy, ktoré vedú na služby, ktoré už neexistujú. Do vašich systémov nevstupujeme a žiadne prístupy nepotrebujeme. Každé zistenie dostanete s presným postupom pre vášho vývojára. Pozrite sa, čo všetko strážime, alebo si otvorte ukážkový prehľad.

Ďalšie články

Všetky články