Sexto encuentro

DNS

Conceptos basicos

DNS: es un sistema que permite transformar direcciones unicas en nombres Domain name: es el nombre asignado a una direccion

TOP LEVEL DOMAIN TLD: es lo que esta mas a la derecha, en una direccion, son la parte mas alta de la estructura jerarquica. por eso para tener un .com.ar tenes que pedirle permiso a nic.ar Subdomain: como dns trabaja con jerarquias, TLD puede tener muchos hijos, el subdomain existe para extender el dominio del padre.

FQDN fully qualified domain name: es el domain name absoluto, ex: 'ctf.rlab.be'

**Name Server:**es el server que se encarga de traducir dominios e ips. Cada uno puede redirigir a otro name server o delegado para que sea responsable del subset de subdominios

Zone file: es un archivo que tiene el mapeo entre ips y dominios.

Records: son un solo mapeo entre un recurso y un nombre

Estructura

Root servers -> TLD servers -> Domain level name server

  1. alguien le pregunta a root server la ip de rlab.be, root no sabe pero le da la direccion del responsable de .be
  2. el requester con la ip que el root server le dio pasa al tld , en su zone transfer tld no tiene la ip de rlab.be pero tiene la ip del server encargado de rlab.be
  3. requester manda el request al DL ns y este deberia tener un "www"record con la ip de rlab.be

ZONE FILES

Son estos archivos con todos los records y los mapeos

RECORDS

SOA start of authority

domain.com.  IN SOA ns1.domain.com. admin.domain.com. (
                                            12083   ; serial number
                                            3h      ; refresh interval
                                            30m     ; retry interval
                                            3w      ; expiry period
                                            1h      ; negative TTL
)

domain.com es el root del zone, indica que el zone file es para ee dominio. a veces se remplaza con @, que es un placeholder para $ORIGIN

IN SOA: es un indicador para iniciar el authority record

ns1.domain.com: define el name server primario.

admin.domain.com: es el mail del administrador de la zona, el @ se remplaza por un . .

12083: es el numero serial del zone file.

3h: refresh interval para la zona, es el tiempo que un esclavo espera para traerse el one file

30m: si el slave no se conecta al master, va a esperar esta cantidad antes de volver a tratar

3w: si el slave no se conecto con el master durante este periodo deja de devolver respuestas

1h: el tiempo que va a cachear un error

A y AAAA

A: mapea un host a una ipv4

AAAA: mapea un host a una ipv6

ex:

 ns1   IN  A      10.10.10.10 # es lo mismo que poner ns1.domain.com.
 host  IN  AAAA   2001:db8:85a3:0:0:8a2e:370:7334
 www   IN  A      10.10.10.1

tTenemos que tambien, aparte del host setear el base domain (domain.com), lo podemos hacer con @ @ IN A 222.222.222.22

Y podemos resolver todo lo que no sabemos al mismo server con un wild card

* IN A 222.222.222.222

CNAME

Define un aleas para el nombre canonico definido por A y AAAA

ex:

Si definimos: Server1 IN A 111.111.111.111

Podemos definir un alias que sea: www IN CNAME Server1

MX

Se usa para configurar mails, no mapean el host a nada, por que aplican para toda la zona.

     IN   MX  10   mail.domain.com.
     IN   MX  50   mail2.domain.com
mail IN   A        111.111.111.111
mail IN   A        222.222.222.222

Los numeros sirver para definir la prioridad

NS

Identifican los name servers que se van a usar para la zona. ex:

   IN NS ns1.domain.com
   IN NS ns2.domain.com

PTR

Son la inversa de los registros A y AAAA, aparte empiezan con .arpa y se delegan al dueño de la ip. por ejemplo para la ip 111.222.333.444: 444.333.222.111.in-addr.arpa. 33692 IN PTR host.example.com.

Se puede usar dig -x para buscar el nombre de una IP y +short para mostrar solo eso

n00b@escuelita:~$ dig -x 8.8.8.8 +short
google-public-dns-a.google.com.

CAA

Son para certificate authorities

source: https://www.digitalocean.com/community/tutorials/an-introduction-to-dns-terminology-components-and-concepts

TOOLS

Whois

Es una tool y una base de datos, contiene nombres, registradores y en algunos casos todos los contactos

root@kali:~# whois target.com

Host

host -t ns zonetransfer.me
host -t mx zonetransfer.me

-t para definir el query

Bruteforceando

lista.txt={www,ftp,mail,proxy,owa....}
for ip in $(cat lista.txt); do host $ip.zonetransfer.me;done

nslookup

Name server lookup, se usa para buscar info sobre dominios

nslookup
    nslookup <domain>

    or

    nslookup
    >set type=mx  (mail)
    uocra.org


    >set type=ns (dns)
    [domain]

cosas: https://blog.thesysadmins.co.uk/nslookup-common-usage-examples.html

Dig

Es similar a nslookup
> dig zonetransfer.me
o menos verborragico > dig zonetransfer.me +nocomments +noauthority +noadditional +nostats +notanswer

querry mx records
>dig zonetransfer.me -t MX +noall +answer

Fierce

Escanea DNS root@kali: fierce -dns example.com -threads 10 -file /root/Desktop/example-fierce.txt

Si queremos hacer un zone transfer: $ fierce --domain zonetransfer.me --wide nota: wide busca en ips adjyacentes (/24)

DNSenum

ex:
dnsenum rlab.be

  1. get: A records, Mx records, namservers, performs axfr queries (te trae todo),
  2. consigue extra names y subdominios usando google
  3. bruteforcea subdominioes y busca redes adyacentes
  4. reverse lookup

https://github.com/fwaeytens/dnsenum

Dnsrecon

ex:
dnsrecon -d rlab.be -t axfr
Aparte de lo que hace dnsenum tiene , ptr record lookup y mdns records

No Comments
Back to top