Datahorses

Aliverkkotunnuksen kaappaus: miten unohtunut DNS-tietue muuttuu jonkun toisen sivustoksi

Kirjoittaja · · 3 min lukuaika

Aliverkkotunnuksen kaappaus (subdomain takeover) tapahtuu, kun verkkotunnuksenne DNS-tietue osoittaa yhä ulkoiseen palveluun, jota ette enää käytä. Jos palvelu antaa kenen tahansa ottaa käyttöön jälkeenne jääneen nimen, ulkopuolinen voi rekisteröidä sen ja alkaa näyttää omaa sisältöään osoitteessa promo.yourcompany.com. Kävijät näkevät osoiterivillä teidän verkkotunnuksenne, joten heillä ei ole syytä epäillä sivua.

Perimmäinen syy on lähes aina sama: niin sanottu "dangling DNS" eli orpo DNS-tietue. Joku käynnisti kampanjasivun, tukikeskuksen tai testisovelluksen pilvialustalla, ohjasi aliverkkotunnuksen siihen ja poisti myöhemmin sovelluksen, mutta ei DNS-tietuetta. Microsoft kuvaa juuri tämän kulun Azuren osalta, ja sama kaava pätee moniin hosting-, tallennus- ja SaaS-alustoihin.

Hyvä uutinen: kyse on kirjanpito-ongelmasta, ja voitte tarkistaa tilanteen itse muutamalla DNS-kyselyllä.

Miten orvosta tietueesta tulee kaappaus

Ongelma etenee tavallisesti 3 vaiheessa:

  1. Luominen. Tiimi luo palvelun yourcompany-promo.azurewebsites.net (tai bucketin, Pages-sivuston, CDN-päätepisteen) ja lisää CNAME-tietueen, jotta promo.yourcompany.com osoittaa siihen.
  2. Käytöstä poisto. Kampanja päättyy ja sovellus poistetaan, mutta kukaan ei poista CNAME-tietuetta. Aliverkkotunnus osoittaa nyt nimeen, joka ei enää kuulu teille.
  3. Kaappaus. Joku huomaa orvon nimen, luo samalle alustalle samannimisen resurssin ja määrää siitä hetkestä lähtien, mitä promo.yourcompany.com näyttää.

Kaikki alustat eivät salli viimeistä vaihetta. Yhteisöprojekti can-i-take-over-xyz ylläpitää luetteloa palveluista, merkitsee haavoittuvat ja kirjaa virhetekstin, jonka kukin näyttää vapaalle nimelle, esimerkiksi Amazon S3:n "The specified bucket does not exist".

Miksi tämä on vakavampaa kuin töhritty sivu

Kaapattu aliverkkotunnus ei ole vain nolo sivu. Microsoftin ohjeen mukaan riskejä ovat:

  • Evästeiden varastaminen. Monet verkkosovellukset rajaavat istuntoevästeet koko alueelle *.yourcompany.com, joten mikä tahansa aliverkkotunnus voi lukea ne.
  • Voimassa oleva varmenne hyökkääjälle. Aliverkkotunnusta hallitseva voi hankkia sille TLS-varmenteen, joten selaimen lukkokuvakekin näkyy.
  • Vakuuttava tietojenkalastelu. Kirjautumissivu teidän oikeassa verkkotunnuksessanne on paljon vaikeampi tunnistaa kuin sivu samankaltaisessa verkkotunnuksessa.
  • Sähköpostin sieppaus. Orpo MX-tietue voi antaa jollekulle mahdollisuuden vastaanottaa aliverkkotunnukseen lähetettyä postia.

OWASP Web Security Testing Guide lisää vakavimman muunnelman: NS-tietue, joka delegoi aliverkkotunnuksen nimipalvelimille verkkotunnuksessa, jota ei enää ole rekisteröity. Se, joka rekisteröi kyseisen verkkotunnuksen, hallitsee koko delegoitua vyöhykettä.

Miten tarkistatte oman DNS:nne

Aloittakaa luettelosta kaikista aliverkkotunnuksistanne. Paras lähde on DNS-palveluntarjoajanne vyöhykevienti. Varmennehistoria on hyödyllinen toinen lähde, koska lähes jokainen nimillenne myönnetty varmenne kirjautuu Certificate Transparency -lokeihin.

Katsokaa jokaisen aliverkkotunnuksen kohdalla, mihin se osoittaa:

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

Tarkistakaa sitten, että jokainen kohde on yhä olemassa ja kuuluu edelleen teille:

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

Varoitusmerkkejä:

  • CNAME-kohde palauttaa NXDOMAIN (nimeä ei enää ole),
  • sivu näyttää alustan virheilmoituksen, kuten "No such app", "Repository not found" tai "There isn't a GitHub Pages site here",
  • NS-tietue osoittaa nimipalvelimiin verkkotunnuksessa, jota ette tunnista tai joka on vanhentunut,
  • kukaan yrityksessä ei osaa sanoa, mihin aliverkkotunnusta käytettiin.

Testatkaa vain oman verkkotunnuksenne nimiä. Älkää yrittäkö ottaa resurssia haltuun ongelman "todistamiseksi"; tietueen poistaminen riittää.

Miten korjaatte sen

  1. Poistakaa orpo tietue DNS-vyöhykkeeltä. Tämä on korjaus sekä Microsoftin että OWASPin ohjeissa.
  2. Jos aliverkkotunnusta tarvitaan yhä, luokaa resurssi uudelleen omalle tilillenne, ennen kuin ohjaatte liikenteen siihen jälleen.
  3. Tarkistakaa, tapahtuiko jotain sinä aikana, kun tietue oli orpona: epätavallisia varmenteita kyseiselle nimelle, sovelluksenne tai sähköpostienne linkkejä, jotka käyttävät sitä yhä, tai OAuth-uudelleenohjausosoitteita, joissa se on mukana.
  4. Käyttäkää omistajuuden vahvistusta, jos alusta tarjoaa sen. Esimerkiksi Azure App Service tukee TXT-tietuetta asuid.<subdomain>, jotta mikään muu tilaus ei voi vahvistaa mukautettua verkkotunnusta.
  5. Korjatkaa prosessi, ei vain tietuetta. Lisätkää "poista DNS-tietue" jokaisen palvelun alasajon tarkistuslistaan ja pitäkää yksinkertaista kirjaa siitä, mikä aliverkkotunnus osoittaa mihinkin alustaan ja kuka siitä vastaa.

Lyhyt tarkistuslista

  • Hakekaa DNS-vyöhykkeen vientitiedosto ja listatkaa kaikki CNAME-, NS- ja MX-tietueet.
  • Varmistakaa jokaisen kohdalla, että kohde on olemassa ja kuuluu yrityksellenne.
  • Poistakaa tietueet palveluilta, jotka on ajettu alas.
  • Verratkaa vyöhykettä Certificate Transparency -lokien nimiin löytääksenne aliverkkotunnukset, joita kukaan ei ole dokumentoinut.
  • Toistakaa läpikäynti aina, kun kampanja, tuote tai toimittajasuhde päättyy.

Orvot tietueet löytyvät usein muiden unohdettujen osien rinnalta, kuten vanhoilta staging- ja testipalvelimilta. Molempien siivoaminen samalla kertaa tuottaa yleensä nopeimman hyödyn.

Miten Datahorses auttaa

Datahorses valvoo yritystänne ulkoapäin joka päivä: kokoaa luettelon aliverkkotunnuksistanne, tarkistaa, mihin kukin CNAME osoittaa ja merkitsee tietueet, jotka johtavat palveluihin, joita ei enää ole. Emme mene järjestelmiinne emmekä tarvitse pääsyoikeuksia, ja jokaisen havainnon mukana tulevat tarkat korjausohjeet kehittäjällenne. Voitte katsoa koko luettelon siitä, mitä valvomme, tai tutustua esimerkkinäkymään.

Lisää artikkeleita

Kaikki artikkelit