18 | Feature • 19 | Install • 20 | Run • 21 | Wildcard • 22 | License • 23 | Discord 24 |
25 | 26 | --- 27 | 28 | 29 | `shuffleDNS` is a wrapper around `massdns`, written in go, that allows you to enumerate valid subdomains using active bruteforce, as well as resolve subdomains with wildcard handling and easy input-output support. 30 | 31 | Based on the work on `massdns` project by [@blechschmidt](https://github.com/blechschmidt). 32 | 33 | # Features 34 | 35 |102 | 103 | ## Prerequisite 104 | 105 | `shuffledns` requires `massdns` to be installed in order to perform its operations. You can see the installation instructions at [massdns project](https://github.com/blechschmidt/massdns#compilation). If you place the binary in `/usr/bin/massdns` or `/usr/local/bin/massdns`, the tool will auto-detect the presence of the binary and use it. On Windows, you need to supply the path to the binary for the tool to work. 106 | 107 | The tool also needs a list of valid resolvers. The [dnsvalidator](https://github.com/vortexau/dnsvalidator) project can be used to generate these lists. You also need to provide wordlist, you can use a custom wordlist or use the [commonspeak2-wordlist](https://wordlists-cdn.assetnote.io/data/manual/best-dns-wordlist.txt). 108 | 109 | | 110 |
162 | 163 | ## Handling Wildcards 164 | 165 | A special feature of `shuffleDNS` is its ability to handle multi-level DNS based wildcards, and do it so with a very reduced number of DNS requests. Sometimes all the subdomains would resolve, leading to lots of garbage in the results. The way `shuffleDNS` handles this is by keeping track of how many subdomains point to an IP, and if the number of subdomains increase beyond a certain small threshold, it checks for wildcard on all the levels of the hosts for that IP iteratively. 166 | 167 | | 168 |