DNS
| Server Type | Description |
|---|---|
DNS Root Server |
The root servers of the DNS are responsible for the top-level domains (TLD). As the last instance, they are only requested if the name server does not respond. Thus, a root server is a central interface between users and content on the Internet, as it links domain and IP address. The Internet Corporation for Assigned Names and Numbers (ICANN) coordinates the work of the root name servers. There are 13 such root servers around the globe. |
Authoritative Nameserver |
Authoritative name servers hold authority for a particular zone. They only answer queries from their area of responsibility, and their information is binding. If an authoritative name server cannot answer a client's query, the root name server takes over at that point. |
Non-authoritative Nameserver |
Non-authoritative name servers are not responsible for a particular DNS zone. Instead, they collect information on specific DNS zones themselves, which is done using recursive or iterative DNS querying. |
Caching DNS Server |
Caching DNS servers cache information from other name servers for a specified period. The authoritative name server determines the duration of this storage. |
Forwarding Server |
Forwarding servers perform only one function: they forward DNS queries to another DNS server. |
Resolver |
Resolvers are not authoritative DNS servers but perform name resolution locally in the computer or router. |
Footprinting the Service
Query DNS server if other name servers are known
neutron@kali[/kali]$ dig ns LEGALCORP.xyz @10.129.14.128
; <<>> DiG 9.16.1-Ubuntu <<>> ns LEGALCORP.xyz @10.129.14.128
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45010
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: ce4d8681b32abaea0100000061475f73842c401c391690c7 (good)
;; QUESTION SECTION:
;LEGALCORP.xyz. IN NS
;; ANSWER SECTION:
LEGALCORP.xyz. 604800 IN NS ns.LEGALCORP.xyz.
;; ADDITIONAL SECTION:
ns.LEGALCORP.xyz. 604800 IN A 10.129.34.136
;; Query time: 0 msec
;; SERVER: 10.129.14.128#53(10.129.14.128)
;; WHEN: So Sep 19 18:04:03 CEST 2021
;; MSG SIZE rcvd: 107
use any to view all available records
neutron@kali[/kali]$ dig any LEGALCORP.xyz @10.129.14.128
; <<>> DiG 9.16.1-Ubuntu <<>> any LEGALCORP.xyz @10.129.14.128
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7649
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 064b7e1f091b95120100000061476865a6026d01f87d10ca (good)
;; QUESTION SECTION:
;LEGALCORP.xyz. IN ANY
;; ANSWER SECTION:
LEGALCORP.xyz. 604800 IN TXT "v=spf1 include:mailgun.org include:_spf.google.com include:spf.protection.outlook.com include:_spf.atlassian.net ip4:10.129.124.8 ip4:10.129.127.2 ip4:10.129.42.106 ~all"
LEGALCORP.xyz. 604800 IN TXT "atlassian-domain-verification=t1rKCy68JFszSdCKVpw64A1QksWdXuYFUeSXKU"
LEGALCORP.xyz. 604800 IN TXT "MS=ms97310371"
LEGALCORP.xyz. 604800 IN SOA LEGALCORP.xyz. root.LEGALCORP.xyz. 2 604800 86400 2419200 604800
LEGALCORP.xyz. 604800 IN NS ns.LEGALCORP.xyz.
;; ADDITIONAL SECTION:
ns.LEGALCORP.xyz. 604800 IN A 10.129.34.136
;; Query time: 0 msec
;; SERVER: 10.129.14.128#53(10.129.14.128)
;; WHEN: So Sep 19 18:42:13 CEST 2021
;; MSG SIZE rcvd: 437
DIG - AXFR Zone Transfer
neutron@kali[/kali]$ dig axfr LEGALCORP.xyz @10.129.14.128
; <<>> DiG 9.16.1-Ubuntu <<>> axfr LEGALCORP.xyz @10.129.14.128
;; global options: +cmd
LEGALCORP.xyz. 604800 IN SOA LEGALCORP.xyz. root.LEGALCORP.xyz. 2 604800 86400 2419200 604800
LEGALCORP.xyz. 604800 IN TXT "MS=ms97310371"
LEGALCORP.xyz. 604800 IN TXT "atlassian-domain-verification=t1rKCy68JFszSdCKVpw64A1QksWdXuYFUeSXKU"
LEGALCORP.xyz. 604800 IN TXT "v=spf1 include:mailgun.org include:_spf.google.com include:spf.protection.outlook.com include:_spf.atlassian.net ip4:10.129.124.8 ip4:10.129.127.2 ip4:10.129.42.106 ~all"
LEGALCORP.xyz. 604800 IN NS ns.LEGALCORP.xyz.
app.LEGALCORP.xyz. 604800 IN A 10.129.18.15
internal.LEGALCORP.xyz. 604800 IN A 10.129.1.6
mail1.LEGALCORP.xyz. 604800 IN A 10.129.18.201
ns.LEGALCORP.xyz. 604800 IN A 10.129.34.136
LEGALCORP.xyz. 604800 IN SOA LEGALCORP.xyz. root.LEGALCORP.xyz. 2 604800 86400 2419200 604800
;; Query time: 4 msec
;; SERVER: 10.129.14.128#53(10.129.14.128)
;; WHEN: So Sep 19 18:51:19 CEST 2021
;; XFR size: 9 records (messages 1, bytes 520)
DIG - AXFR Zone Transfer - Internal
neutron@kali[/kali]$ dig axfr internal.LEGALCORP.xyz @10.129.14.128
; <<>> DiG 9.16.1-Ubuntu <<>> axfr internal.LEGALCORP.xyz @10.129.14.128
;; global options: +cmd
internal.LEGALCORP.xyz. 604800 IN SOA LEGALCORP.xyz. root.LEGALCORP.xyz. 2 604800 86400 2419200 604800
internal.LEGALCORP.xyz. 604800 IN TXT "MS=ms97310371"
internal.LEGALCORP.xyz. 604800 IN TXT "atlassian-domain-verification=t1rKCy68JFszSdCKVpw64A1QksWdXuYFUeSXKU"
internal.LEGALCORP.xyz. 604800 IN TXT "v=spf1 include:mailgun.org include:_spf.google.com include:spf.protection.outlook.com include:_spf.atlassian.net ip4:10.129.124.8 ip4:10.129.127.2 ip4:10.129.42.106 ~all"
internal.LEGALCORP.xyz. 604800 IN NS ns.LEGALCORP.xyz.
dc1.internal.LEGALCORP.xyz. 604800 IN A 10.129.34.16
dc2.internal.LEGALCORP.xyz. 604800 IN A 10.129.34.11
mail1.internal.LEGALCORP.xyz. 604800 IN A 10.129.18.200
ns.internal.LEGALCORP.xyz. 604800 IN A 10.129.34.136
vpn.internal.LEGALCORP.xyz. 604800 IN A 10.129.1.6
ws1.internal.LEGALCORP.xyz. 604800 IN A 10.129.1.34
ws2.internal.LEGALCORP.xyz. 604800 IN A 10.129.1.35
wsus.internal.LEGALCORP.xyz. 604800 IN A 10.129.18.2
internal.LEGALCORP.xyz. 604800 IN SOA LEGALCORP.xyz. root.LEGALCORP.xyz. 2 604800 86400 2419200 604800
;; Query time: 0 msec
;; SERVER: 10.129.14.128#53(10.129.14.128)
;; WHEN: So Sep 19 18:53:11 CEST 2021
;; XFR size: 15 records (messages 1, bytes 664)
The individual A records with the hostnames can also be found out with the help of a brute-force attack.
neutron@kali[/kali]$ for sub in $(cat /opt/useful/SecLists/Discovery/DNS/subdomains-top1million-110000.txt);do dig $sub.LEGALCORP.xyz @10.129.14.128 | grep -v ';\|SOA' | sed -r '/^\s*$/d' | grep $sub | tee -a subdomains.txt;done
ns.LEGALCORP.xyz. 604800 IN A 10.129.34.136
mail1.LEGALCORP.xyz. 604800 IN A 10.129.18.201
app.LEGALCORP.xyz. 604800 IN A 10.129.18.15
Using DNSenum
neutron@kali[/kali]$ dnsenum --dnsserver 10.129.14.128 --enum -p 0 -s 0 -o subdomains.txt -f /opt/useful/SecLists/Discovery/DNS/subdomains-top1million-110000.txt LEGALCORP.xyz
dnsenum VERSION:1.2.6
----- LEGALCORP.xyz -----
Host's addresses:
__________________
Name Servers:
______________
ns.LEGALCORP.xyz. 604800 IN A 10.129.34.136
Mail (MX) Servers:
___________________
Trying Zone Transfers and getting Bind Versions:
_________________________________________________
unresolvable name: ns.LEGALCORP.xyz at /usr/bin/dnsenum line 900 thread 1.
Trying Zone Transfer for LEGALCORP.xyz on ns.LEGALCORP.xyz ...
AXFR record query failed: no nameservers
Brute forcing with /home/cryanight/Pentesting/SecLists/Discovery/DNS/subdomains-top1million-110000.txt:
_______________________________________________________________________________________________________
ns.LEGALCORP.xyz. 604800 IN A 10.129.34.136
mail1.LEGALCORP.xyz. 604800 IN A 10.129.18.201
app.LEGALCORP.xyz. 604800 IN A 10.129.18.15
ns.LEGALCORP.xyz. 604800 IN A 10.129.34.136
...SNIP...
done.
