Salt la conținut

Scanare de preluare a subdomeniilor

Găsiți subdomeniile al căror DNS indică încă un serviciu care nu le mai servește, înainte ca altcineva să revendice numele.

Rulează pe serverul XGM. Nimic nu este stocat.

Zona ale cărei subdomenii sunt verificate, de exemplu example.com.
Câte unul pe linie sau separate prin virgulă, cel mult 200. O etichetă simplă precum www este citită ca www sub domeniu.

Domeniul este trimis către crt.sh, o căutare publică în transparența certificatelor, pentru a aduna subdomeniile candidate. Acele jurnale sunt publice: astfel se găsesc numele pe care le-ar găsi un atacator. Nimic altceva nu iese din XGM.

Despre acest instrument

Scanarea de preluare a subdomeniilor caută înregistrările DNS pe care le uită toată lumea: un CNAME lăsat să indice spre un serviciu de găzduire, spre un bucket S3 sau spre un help-desk după ce contul a fost închis. Înregistrarea încă se rezolvă din punctul de vedere al proprietarului domeniului, dar numele de la celălalt capăt este liber - iar cine îl înregistrează după aceea își servește propriul conținut pe subdomeniul dumneavoastră, cu certificatul și cookie-urile dumneavoastră. XGM adună subdomenii candidate din transparența certificatelor, ceea ce înseamnă că găsește ce ar găsi un atacator care scanează aceleași jurnale publice, și adaugă numele pe care le lipiți dumneavoastră. Fiecare candidat este rezolvat, iar un CNAME care indică spre un furnizor cunoscut este verificat față de comportamentul „nu există un astfel de site” al acelui furnizor. Verdictul este deliberat îngust: un subdomeniu este numit vulnerabil doar atunci când există o dovadă - ținta nu se rezolvă sau furnizorul a răspuns cu pagina sa pentru nume nerevendicate - iar rândul spune care dintre ele. Orice altceva este incert sau neverificat, niciodată „sigur” pe tăcute. Scanarea trimite numele domeniului către crt.sh, care este o sursă de date publice, și se conectează la țintele CNAME de pe serverul XGM, sub aceeași protecție ca orice altă verificare către exterior.

Preluarea unui subdomeniu începe cu o înregistrare pe care nimeni nu a șters-o. Un nume este îndreptat către un furnizor de găzduire printr-un CNAME, site-ul de acolo este șters sau contul expiră, iar înregistrarea rămâne în urmă, indicând un nume acum liber. Cine revendică apoi acel nume servește ce dorește pe subdomeniul dumneavoastră - cu cookie-urile dumneavoastră, cu regulile dumneavoastră CORS și, pentru un cititor, cu marca dumneavoastră.

Această verificare adună subdomenii candidate din transparența certificatelor, care este publică, așa că vede aproximativ ce vede un atacator, rezolvă fiecare nume și raportează ce a observat: un CNAME a cărui țintă nu se rezolvă sau un furnizor care răspunde cu propria pagină „nu există un astfel de site”. Orice nu ajunge până acolo este raportat ca incert, nu ca o constatare, iar un nume la care scanarea nu a ajuns este raportat ca neverificat, niciodată ca sigur.

Pentru a vedea direct înregistrările unui singur nume, folosiți Căutare DNS; pentru a vedea ce răspunde serviciul din spatele lui, Antete HTTP.

Cum se folosește

  1. Introduceți domeniul. Adăugați subdomeniile pe care le cunoașteți deja; Certificate Transparency nu listează totul.
  2. Citiți mai întâi rândurile vulnerabile: fiecare indică furnizorul și ce s-a observat.
  3. Pentru o înregistrare pe care nu o mai folosiți, ștergeți-o la furnizorul dumneavoastră DNS - asta închide imediat breșa.
  4. Pentru una pe care încă o doriți, revendicați din nou numele la furnizor înainte de a elimina ceva.
  5. Rulați scanarea din nou după modificare și adăugați acest pas la ce faceți atunci când un serviciu este scos din uz.

Întrebări frecvente

Ce este preluarea unui subdomeniu?

O înregistrare DNS de pe domeniul dumneavoastră indică un nume din serviciul altcuiva - app.example.com către o platformă de găzduire, help.example.com către un serviciu de asistență. Când contul de acolo este închis, înregistrarea rămâne. Furnizorul va da acel nume următoarei persoane care îl cere, iar de atunci conținutul acesteia este servit pe subdomeniul dumneavoastră: în bara de adrese este domeniul dumneavoastră, cookie-urile dumneavoastră dacă sunt delimitate larg și reputația dumneavoastră în spatele a orice apare acolo. Soluția este aproape întotdeauna ștergerea unei înregistrări de care nimeni nu mai avea nevoie.

De unde vin subdomeniile?

Din jurnalele Certificate Transparency, prin crt.sh. Fiecare certificat de încredere publică este înregistrat, așa că orice nume care a avut vreodată unul este public - și tocmai acesta este aspectul important: un atacator care caută pe domeniul dumneavoastră o înregistrare rămasă fără destinație pornește exact de la aceeași listă. Lista nu este completă, pentru că un subdomeniu care nu a avut niciodată un certificat nu apare deloc, așa că lipiți în casetă și numele pe care le cunoașteți.

De ce un rând spune incert în loc de vulnerabil?

Pentru că dovezile nu au lămurit-o. Un CNAME care indică un furnizor nu este în sine o preluare: site-ul poate fi activ sau furnizorul poate să nu permită ca un nume eliberat să fie revendicat de altcineva. Eticheta vulnerabil este rezervată cazurilor cu dovezi - numele țintă nu se rezolvă deloc sau furnizorul a returnat propria pagină pentru nume nerevendicate - iar rândul spune care dintre ele a fost observată. A numi vulnerabil tot ce indică un furnizor ar face rezultatul inutil.

Scanarea încearcă să preia ceva?

Nu. Rezolvă nume și, acolo unde răspunsul unui furnizor este ceea ce deosebește un site activ de un nume liber, face o singură cerere GET obișnuită și citește începutul răspunsului. Nu înregistrează niciodată un nume, nu se autentifică nicăieri și nu trimite nimic către furnizor în afara acelei cereri. Confirmarea unei constatări prin revendicarea numelui este decizia dumneavoastră, pe propriul domeniu.

Am șters înregistrarea. Am terminat?

Pentru acel subdomeniu, da - înregistrarea este întreaga problemă, iar eliminarea ei are efect imediat. Merită făcute două lucruri după aceea: verificați dacă ceva mai trimite către acel nume, pentru că un link mort este mai bun decât unul deturnat, și adăugați „eliminați înregistrarea DNS” la ce faceți atunci când un serviciu este oprit. Aproape fiecare preluare este un pas de dezafectare pe care nimeni nu l-a scris.