image
Syborg is a Recursive DNS Domain Enumerator which is neither active nor completely passive. This tool simply constructs a domain name and queries it with a specified DNS Server. Syborg has a Dead-end Avoidance system inspired from @Tomnomnom ‘s ettu . When you run subdomain enumeration with some of the tools, most of them passively query public records like virustotal , crtsh or censys . This enumeration technique is really fast and helps to find out a lot of domains in much less time. However, there are some domains that may not be mentioned in these public records. In order to find those domains, Syborg interacts with the nameservers and recursively brute-forces subdomain from the DNS until it's queue is empty. Image Credits: Carbon As mentioned on ettu ‘s page, I quote: Ordinarily if there are no records to return for a DNS name you might expect an NXDOMAIN error: ▶ host four.tomnomnom.uk Host four.tomnomnom.uk not found: 3(NXDOMAIN) You may have noticed that sometimes you get an empty response instead though: ▶ host three.tomnomnom.uk The difference in the latter case is often that another name – one that has your queried name as a suffix – exists and has records to return ▶ host one.two.three.tomnomnom.uk one.two.three.tomnomnom.uk has address 46.101.59.42 This difference in response can be used to help avoid dead-ends in recursive DNS brute-forcing by not recursing in the former situation: ▶ echo -e "wwwnonentwonthree" |…

Source