DNSRecon, outil développé en ruby par Carlos Perez (aka Darkoperator), développeur pour le projet MetaSploit et membre de la team PaulDotCom, est tous comme Fierce, ou DNSEnum, un outil de récupération d’informations par le biais des DNS.

Tous comme DNSEnum, DNSRecon effectue une récupération par le biais des “reverses lookup” d’adresses IP. Mais à la différence de DNSEnum qui va découvrir de part lui même les réseaux associés à un nom de domaine, il faut spécifier à DNSRecon une adresse IP de départ et une adresse IP de fin pour la récupération des “reverses lookup”. Cette option est intéressante, car DNSEnum, dans un certain sens, ne nous laisse pas le choix des réseaux à scanner, tandis que DNSRecon nous donnera cette liberté.

ruby dnsrecon.rb -r adresse_ip_de_depart adresse_ip_de_fin serveur_de_dns_alternatif

Une fonctionnalité que par exemple DNSEnum, ou Fierce, n’ont pas est la récupération d’information automatique sur tous les TLD associé à un nom. DNSRecon va automatiquement regarder si un nom de domaine existe pour un certaine liste de TLD, et fournir directement le ou les adresses IP associées. Il est possible facilement de rajouter des TLD à DNSRecon en modifiant le code (par exemple, DNSRecon n’intègre pas le TLD .lu dans sa liste)

82 "com", "org", "net", "edu", "mil", "gov", "uk", "af", "al", "dz",
83 "as", "ad", "ao", "ai", "aq", "ag", "ar", "am", "aw", "ac","au",
84 "at", "az", "bs", "bh", "bd", "bb", "by", "be", "bz", "bj", "bm",
85 "bt", "bo", "ba", "bw", "bv", "br", "io", "bn", "bg", "bf", "bi",
86 "kh", "cm", "ca", "cv", "ky", "cf", "td", "cl", "cn", "cx", "cc",
87 "co", "km", "cd", "cg", "ck", "cr", "ci", "hr", "cu", "cy", "cz",
88 "dk", "dj", "dm", "do", "tp", "ec", "eg", "sv", "gq", "er", "ee",
89 "et", "fk", "fo", "fj", "fi", "fr", "gf", "pf", "tf", "ga", "gm",
90 "ge", "de", "gh", "gi", "gr", "gl", "gd", "gp", "gu", "gt", "gg",
91 "gn", "gw", "gy", "ht", "hm", "va", "hn", "hk", "hu", "is", "in",
92 "id", "ir", "iq", "ie", "im", "il", "it", "jm", "jp", "je", "jo",
93 "kz", "ke", "ki", "kp", "kr", "kw", "kg", "la", "lv", "lb", "ls",
94 "lr", "ly", "li", "lt", "lu", "mo", "mk", "mg", "mw", "my", "mv",
95 "ml", "mt", "mh", "mq", "mr", "mu", "yt", "mx", "fm", "md", "mc",
96 "mn", "ms", "ma", "mz", "mm", "na", "nr", "np", "nl", "an", "nc",
97 "nz", "ni", "ne", "ng", "nu", "nf", "mp", "no", "om", "pk", "pw",
98 "pa", "pg", "py", "pe", "ph", "pn", "pl", "pt", "pr", "qa", "re",
99 "ro", "ru", "rw", "kn", "lc", "vc", "ws", "sm", "st", "sa", "sn",
100 "sc", "sl", "sg", "sk", "si", "sb", "so", "za", "gz", "es", "lk",
101 "sh", "pm", "sd", "sr", "sj", "sz", "se", "ch", "sy", "tw", "tj",
102 "tz", "th", "tg", "tk", "to", "tt", "tn", "tr", "tm", "tc", "tv",
103 "ug", "ua", "ae", "gb", "us", "um", "uy", "uz", "vu", "ve", "vn",
104 "vg", "vi", "wf", "eh", "ye", "yu", "za", "zr", "zm", "zw", "int",
105 "gs", "info", "biz", "su", "name", "coop", "aero" ]

ruby dnsrecon.rb -tld zataz serveur_de_dns_alternatif

De nouveau, tous comme DNSEnum ou Fierce, DNSRecon propose une récupération d’informations “brute force” par le biais d’un fichier contenant tous les sous-domaines que vous désirez tester. Malheureusement, comme Fierce, DNSRecon ne propose pas une mise à jour du fichier contenant tous les sous-domaines qui auraient pu être découverts par les autres options de DNSRecon.

ruby dnsrecon.rb -b zataz.com dns.txt serveur_de_dns_alternatif

Une autre fonctionnalité de DNSRecon est la récupération d’informations basée sur les entrées NS, entrées SOA et entrées MX associées au nom de domaine cible.

ruby dnsrecon.rb -s zataz.com serveur_de_dns_alternatif

Une tentative de transfert de zone est aussi possible par le biais de DNSRecon, tous comme pour DNSEnum ou Fierce.

ruby dnsrecon.rb -axfr zataz.com