Ce este transferul de zonă DNS?
Transferul de zonă DNS, cunoscut și sub numele de interogare DNS de tip AXFR, este un proces prin care un server DNS transmite o copie a unei părți din baza sa de date către un alt server DNS. Porțiunea din baza de date care este replicată este cunoscută sub numele de zonă.
Un transfer de zonă utilizează protocolul de control al transmisiei (TCP) și ia forma unei tranzacții client-server.
Clientul care solicită un transfer de zonă poate fi un server sclav sau un server secundar, care solicită date de la un server principal sau un server primar.
Când are loc, de obicei, un transfer de zonă DNS?
Un transfer de zonă are loc, de obicei, atunci când aduceți un nou server DNS ca server DNS secundar.
Un transfer complet al tuturor informațiilor din zonă va avea loc pentru a replica înregistrările deja existente pentru zona respectivă. Acesta este un proces consumator de timp și de resurse. Astfel, au fost dezvoltate transferurile DNS incrementale.
În cadrul transferului incremental, serverul recuperează doar înregistrările de resurse care s-au modificat în cadrul unei zone, astfel încât să rămână sincronizat cu serverul DNS primar.
Când se utilizează transferul incremental, înregistrarea SOA este comparată pentru a vedea dacă au fost efectuate modificări. Dacă serverul de nume primar are un număr de versiune SOA mai mare decât serverul de nume secundar, atunci va fi inițiat un transfer de zonă.
Dacă numărul de versiune al înregistrărilor SOA este același, nu va fi inițiat un transfer de zonă.
Când au fost efectuate modificări în fișierul de zonă pe serverul de nume primar și există o listă de notificare DNS, serverul de nume primar notifică imediat serverul de nume secundar că fișierul de zonă a fost modificat. Apoi îl instruiește să inițieze un transfer de zonă fără a aștepta ca intervalul de reîmprospătare să expire.
Lista de notificare este o listă de adrese IP care specifică serverele de nume secundare cărora li se permite să acceseze informațiile de zonă de pe serverul de nume primar în scopul transferului de zonă.
Iată un exemplu care arată cum se efectuează un transfer de zonă DNS folosind dig:
Comandă:
Aici, nsztm1.digi.ninja este serverul de nume și zonetransfer.me este numele de domeniu.
Aceste înregistrări DNS sunt explicate mai jos.
Înregistrare SOA
Informațiile stocate într-o zonă DNS încep cu o înregistrare SOA (Start Of Authority).
Această înregistrare conține informații despre:
-
denumirea serverului
-
denumirea administratorului zonei
-
versiunea curentă a înregistrării SOA
-
numărul de secunde pe care un server de nume secundar trebuie să îl aștepte înainte de a verifica dacă există actualizări
-
numărul de secunde care trebuie să aștepte înainte de a încerca din nou un transfer de zonă eșuat
-
numărul maxim de secunde în care un server de nume secundar poate utiliza datele înainte ca acestea să fie actualizate sau să expire
-
numărul implicit de secunde pentru timp-to-live (TTL) pentru înregistrările de resurse.
.
Aici:
-
zonetransfer.me este numele de domeniu
-
nsztm1.digi.ninja.este serverul de nume primar
-
robin.digi.ninja. reprezintă persoana responsabilă de domeniu
-
adresa de e-mail (swap first . pentru un @)
-
2014101601- numărul de serie SOA actual pentru domeniu
-
172800- numărul de secunde pe care un server de nume secundar ar trebui să le aștepte între solicitările de modificări
-
900- numărul de secunde pe care un server de nume primar ar trebui să le aștepte dacă nu reușește să se reîmprospăteze corect
-
1209600- Numărul de secunde în care un server de nume secundar poate pretinde că deține informații autoritare
-
3600- TTL minim
Înregistrare MX
O înregistrare MX (Mail eXchange record) specifică serverul de poștă electronică responsabil pentru acceptarea mesajelor de e-mail în numele unui nume de domeniu. În cazul de față, victima folosește serviciul de e-mail al Google. Aceasta este o informație utilă atunci când se efectuează orice atac de inginerie socială.
Înregistrare TXT
O înregistrare Text (TXT) este un tip de înregistrare de resurse din Sistemul de nume de domeniu (DNS) utilizat pentru a oferi posibilitatea de a asocia text arbitrar cu o gazdă sau nume, cum ar fi informații lizibile de către om, rețea, centru de date sau alte informații contabile.
Înregistrările TXT pot conține informații valoroase. Din această înregistrare TXT, am obținut un ID de e-mail și un număr de telefon.
Înregistrare SRV
O înregistrare SRV (Service) arată locația serverului SIP, identifică un serviciu prin indicarea protocolului, a gazdei și a portului pe care rulează.
Aceasta indică un server numit _sip._tcp.zonetransfer.me care ascultă pe portul TCP 5060 pentru Session Initiation Protocol (SIP), iar www.zonetransfer.me este gazda care furnizează serviciul. Prioritatea acordată aici este 0, iar ponderea este 0.
O înregistrare
O înregistrare mapează un nume de domeniu cu adresa IP corespunzătoare. Din înregistrarea A am obținut trei IP-uri ale centrului de date și trei IP-uri ale biroului, ceea ce dă un total de 6 ținte.
CNAME
O înregistrare Canonical Name (CNAME) este utilizată pentru a mapa un alias de la un nume de domeniu la un alt nume de domeniu. Din aceasta, putem vedea un server de testare și de staging.
Impact al vulnerabilității de transfer de zonă DNS
Transferul de zonă DNS nu oferă nicio autentificare. Astfel, orice client sau cineva care se dă drept client poate cere unui server DNS o copie a întregii zone.
Aceasta înseamnă că, dacă nu se introduce un anumit tip de protecție, oricine este capabil să obțină o listă cu toate gazdele pentru un anumit domeniu, ceea ce îi oferă o mulțime de potențiali vectori de atac.
Cum se poate preveni vulnerabilitatea transferului de zonă DNS?
- Permiteți transferul de zonă numai de la IP-uri de încredere. Următorul este un exemplu de rezolvare a acestei probleme în serverul DNS BIND.
Navigați în /etc/named.conf și adăugați următoarele:
- Utilizați Transaction SIGnatures (TSIG) pentru transferurile de zonă
identificați vulnerabilitățile înainte ca hackerii să le exploateze.
.