{"id":9824,"date":"2020-03-20T11:16:21","date_gmt":"2020-03-20T05:46:21","guid":{"rendered":"http:\/\/kalilinuxtutorials.com\/?p=9824"},"modified":"2020-03-20T11:16:21","modified_gmt":"2020-03-20T05:46:21","slug":"shuffledns","status":"publish","type":"post","link":"https:\/\/kalilinuxtutorials.com\/shuffledns\/","title":{"rendered":"ShuffleDNS : Wrapper Around Massdns Written In Go To Enumerate Valid Subdomains Using Active Bruteforce"},"content":{"rendered":"\n<p> <strong>ShuffleDNS <\/strong>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.&nbsp; <\/p>\n\n\n\n<p class=\"has-background has-text-align-center has-light-green-cyan-background-color\"><strong>Features<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/1.bp.blogspot.com\/-mfpQ-YWUdEs\/XnI1zO0rYpI\/AAAAAAAAFjQ\/5UlmtqWNWcoXpFusUkRts0lAaeS6lgAswCLcBGAsYHQ\/s1600\/shuffledns-run.png\" alt=\"\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>Simple and modular code base making it easy to contribute.<\/li><li>Fast And Simple active subdomain scanning.<\/li><li>Handles wildcard subdomains in a smart manner.<\/li><li>Optimized for&nbsp;<strong>ease of use<\/strong><\/li><li><strong>Stdin<\/strong>&nbsp;and&nbsp;<strong>stdout<\/strong>&nbsp;support for integrating in workflows<\/li><\/ul>\n\n\n\n<p class=\"has-text-align-center\"><strong>Also Read &#8211; <a href=\"https:\/\/kalilinuxtutorials.com\/dirble\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Dirble : Fast Directory Scanning And Scraping Tool (opens in a new tab)\">Dirble : Fast Directory Scanning And Scraping Tool<\/a><\/strong><\/p>\n\n\n\n<p class=\"has-background has-text-align-center has-light-green-cyan-background-color\"><strong><a href=\"https:\/\/github.com\/projectdiscovery\/shuffledns#usage\"><\/a>Usage<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-green-cyan-color has-very-dark-gray-background-color\"><strong>shuffledns -h<\/strong><\/p>\n\n\n\n<p>This will display help for the tool. Here are all the switches it supports.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"\"><thead><tr><th>Flag<\/th><th>Description<\/th><th>Example<\/th><\/tr><\/thead><tbody><tr><td>-d<\/td><td>Domain to find or resolve subdomains for<\/td><td>shuffledns -d hackerone.com<\/td><\/tr><tr><td>-directory<\/td><td>Temporary directory for enumeration<\/td><td>shuffledns -directory \/hdd<\/td><\/tr><tr><td>-r<\/td><td>File containing resolvers for enumeration<\/td><td>shuffledns -r resolvers.txt<\/td><\/tr><tr><td>-nC<\/td><td>Don&#8217;t Use colors in output<\/td><td>shuffledns -nC<\/td><\/tr><tr><td>-o<\/td><td>File to save output result (optional)<\/td><td>shuffledns -o hackerone.txt<\/td><\/tr><tr><td>-list<\/td><td>List of subdomains to process for<\/td><td>shuffledns -list bugcrowd.txt<\/td><\/tr><tr><td>-massdns<\/td><td>Massdns binary path<\/td><td>shuffledns -massdns \/usr\/bin\/massdns<\/td><\/tr><tr><td>-retries<\/td><td>Number of retries for dns enumeration (default 5)<\/td><td>shuffledns -retries 1<\/td><\/tr><tr><td>-silent<\/td><td>Show only subdomains in output<\/td><td>shuffledns -silent<\/td><\/tr><tr><td>-t<\/td><td>Number of concurrent massdns resolves (default 10000)<\/td><td>shuffledns -t 100<\/td><\/tr><tr><td>-v<\/td><td>Show Verbose output<\/td><td>shuffledns -v<\/td><\/tr><tr><td>-version<\/td><td>Show version of shuffledns<\/td><td>shuffledns -version<\/td><\/tr><tr><td>-w<\/td><td>File containing words to bruteforce for domain<\/td><td>shuffledns -w words.txt<\/td><\/tr><tr><td>-wt<\/td><td>Number of concurrent wildcard checks (default 25)<\/td><td>shuffledns -wg 100<\/td><\/tr><tr><td>-raw-input<\/td><td>File containing existing massdns output<\/td><td>shuffledns -massdns-file output.txt<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"has-background has-text-align-center has-light-green-cyan-background-color\"><a href=\"https:\/\/github.com\/projectdiscovery\/shuffledns#installation-instructions\"><\/a><strong>Installation Instructions<\/strong><\/p>\n\n\n\n<p><strong><a href=\"https:\/\/github.com\/projectdiscovery\/shuffledns#prerequisite\"><\/a>Prerequisite<\/strong><\/p>\n\n\n\n<p>It requires massdns to be installed in order to perform its operations. You can see the install instructions at&nbsp;<a href=\"https:\/\/github.com\/blechschmidt\/massdns#compilation\">https:\/\/github.com\/blechschmidt\/massdns#compilation<\/a>.<\/p>\n\n\n\n<p>If you place the binary in&nbsp;<code><strong>\/usr\/bin\/massdns<\/strong><\/code>&nbsp;or&nbsp;<code><strong>\/usr\/local\/bin\/massdns<\/strong><\/code>, 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.<\/p>\n\n\n\n<p>The tool also needs a list of valid resolvers. The&nbsp;dnsvalidator&nbsp;project can be used to generate these lists. Either you can use a custom wordlist or use the commonspeak2 wordlists at&nbsp;<a href=\"https:\/\/github.com\/assetnote\/commonspeak2-wordlists\/tree\/master\/subdomains\">commonspeak2-wordlist<\/a>.<\/p>\n\n\n\n<p class=\"has-background has-text-align-center has-light-green-cyan-background-color\"><strong><a href=\"https:\/\/github.com\/projectdiscovery\/shuffledns#direct-installation\"><\/a>Direct Installation<\/strong><\/p>\n\n\n\n<p><strong><a href=\"https:\/\/github.com\/projectdiscovery\/shuffledns#from-binary\"><\/a>From Binary<\/strong><\/p>\n\n\n\n<p>The installation is easy. You can download the pre-built binaries for your platform from the&nbsp;<a href=\"https:\/\/github.com\/projectdiscovery\/shuffledns\/releases\/\">Releases<\/a>&nbsp;page. Extract them using tar, move it to your $PATH and you&#8217;re ready to go.<\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-green-cyan-color has-very-dark-gray-background-color\"><strong>&gt; tar -xzvf shuffledns-linux-amd64.tar<br>&gt; mv shuffledns-linux-amd64 \/usr\/bin\/shuffledns<br>&gt; shuffledns -h<\/strong><\/p>\n\n\n\n<p><strong>From Source<\/strong><\/p>\n\n\n\n<p>It requires go1.13+ to install successfully. Run the following command to get the repo &#8211;<\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-green-cyan-color has-very-dark-gray-background-color\"><strong>&gt; GO111MODULE=on go get -u -v github.com\/projectdiscovery\/shuffledns\/cmd\/shuffledns<\/strong><\/p>\n\n\n\n<p>In order to update the tool, you can use -u flag with&nbsp;<code><strong>go get<\/strong><\/code>&nbsp;command.<\/p>\n\n\n\n<p class=\"has-background has-text-align-center has-light-green-cyan-background-color\"><strong>Running<\/strong> <strong>The Tool<\/strong><\/p>\n\n\n\n<p>It supports two types of operations.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/projectdiscovery\/shuffledns#1-resolving-subdomains\"><\/a><strong>1. Resolving Subdomains<\/strong><\/p>\n\n\n\n<p>To resolve a list of subdomains, you can pass the list of subdomains via the&nbsp;<strong><code>list<\/code>&nbsp;<\/strong>option.<\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-green-cyan-color has-very-dark-gray-background-color\"><strong>&gt; shuffledns -d example.com -list example.com-subdomains.txt -r resolvers.txt<\/strong><\/p>\n\n\n\n<p>This will run the tool against subdomains in&nbsp;<code><strong>example.com-subdomains.tx<\/strong>t<\/code>&nbsp;and returns the results. The tool uses the resolvers specified with -r option to do the resolving.<\/p>\n\n\n\n<p>You can also pass the list of subdomains at standard input (STDIN). This allows for easy integration in automation pipelines.<\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-green-cyan-color has-very-dark-gray-background-color\"><strong>&gt; subfinder -d example.com | shuffledns -d example.com -r resolvers.txt<\/strong><\/p>\n\n\n\n<p>This uses the subdomains found passively by&nbsp;<strong><code>subfinder<\/code>&nbsp;<\/strong>and resolves them with it returning only the unique and valid subdomains.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/projectdiscovery\/shuffledns#2-bruteforcing-subdomains\"><\/a><strong>2. Bruteforcing Subdomains<\/strong><\/p>\n\n\n\n<p>It also supports bruteforce of a target with a given wordlist. You can use the&nbsp;<strong><code>w<\/code>&nbsp;<\/strong>flag to pass a wordlist which will be used to generate permutations that will be resolved using massdns.<\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-green-cyan-color has-very-dark-gray-background-color\"><strong>&gt; shuffledns -d hackerone.com -w wordlist.txt -r resolvers.txt<\/strong><\/p>\n\n\n\n<p>This will run the tool against&nbsp;<code><strong>hackerone.com<\/strong><\/code>&nbsp;with the wordlist&nbsp;<code><strong>wordlist.txt<\/strong><\/code>. The domain bruteforce can also be done with standard input as in previous example for resolving the subdomains.<\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-green-cyan-color has-very-dark-gray-background-color\"><strong>&gt; echo hackerone.com | shuffledns -w wordlist.txt -r resolvers.txt<\/strong><\/p>\n\n\n\n<p> The -o command can be used to specify an output file. <\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-green-cyan-color has-very-dark-gray-background-color\"><strong>&gt; shuffledns -d hackerone.com -w wordlist.txt -o output.txt<\/strong><\/p>\n\n\n\n<p>The subdomains discovered can be piped to other tools too. For example, you can pipe the host discovered by it to the&nbsp;httprobe&nbsp;tool by @tomnomnom which will then find running http servers on the host.<\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-green-cyan-color has-very-dark-gray-background-color\"><strong>&gt; echo hackerone.com | shuffledns -w wordlist.txt -r resolvers.txt -silent | httprobe<br><br>   http:\/\/docs.hackerone.com<br>   http:\/\/www.hackerone.com<br>   http:\/\/info.hackerone.com<\/strong><\/p>\n\n\n\n<p><strong>Or<\/strong><\/p>\n\n\n\n<p class=\"has-text-color has-background has-vivid-green-cyan-color has-very-dark-gray-background-color\"><strong>&gt; echo hackerone.com | subfinder | shuffledns -d hackerone.com -r resolvers.txt -silent | httprobe<br><br>   http:\/\/docs.hackerone.com<br>   http:\/\/www.hackerone.com<br>   http:\/\/info.hackerone.com<\/strong><\/p>\n\n\n\n<p class=\"has-background has-text-align-center has-light-green-cyan-background-color\"><strong>A Note On Wildcards<\/strong><\/p>\n\n\n\n<p>A special feature of the tool is its ability to handle multi-level DNS based wildcards and do it so with very less number of DNS requests.<\/p>\n\n\n\n<p> Sometimes all the subdomains will resolve which will lead to lots of garbage in the results. <\/p>\n\n\n\n<p>The way it handles this is it will keep track of how many subdomains point to an IP and if the count of the Subdomains increase beyond a certain small threshold, it will check for wildcard on all the levels of the hosts for that IP iteratively.<\/p>\n\n\n\n<div class=\"wp-block-button aligncenter is-style-outline is-style-outline--1\"><a class=\"wp-block-button__link has-background has-vivid-cyan-blue-background-color\" href=\"https:\/\/github.com\/projectdiscovery\/shuffledns\"><strong>Download<\/strong><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>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.&nbsp; Features Simple and modular code base making it easy to contribute. Fast And Simple active subdomain scanning. Handles wildcard subdomains in a smart manner. [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":16182,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png","fifu_image_alt":"ShuffleDNS : Wrapper Around Massdns Written In Go To Enumerate Valid Subdomains Using Active Bruteforce","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[28],"tags":[465,3102,3265],"class_list":["post-9824","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kali","tag-bruteforce","tag-shuffledns","tag-subdomains"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ShuffleDNS : Wrapper Massdns For Subdomains Using Active Bruteforce<\/title>\n<meta name=\"description\" content=\"ShuffleDNS is a wrapper around massdns written in go that allows you to enumerate valid subdomains using active bruteforce as well as resolve subdomains\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kalilinuxtutorials.com\/shuffledns\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ShuffleDNS : Wrapper Massdns For Subdomains Using Active Bruteforce\" \/>\n<meta property=\"og:description\" content=\"ShuffleDNS is a wrapper around massdns written in go that allows you to enumerate valid subdomains using active bruteforce as well as resolve subdomains\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kalilinuxtutorials.com\/shuffledns\/\" \/>\n<meta property=\"og:site_name\" content=\"Kali Linux Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-20T05:46:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png\" \/>\n<meta name=\"author\" content=\"R K\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png\" \/>\n<meta name=\"twitter:creator\" content=\"@CyberEdition\" \/>\n<meta name=\"twitter:site\" content=\"@CyberEdition\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"R K\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/shuffledns\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/shuffledns\/\"},\"author\":{\"name\":\"R K\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad\"},\"headline\":\"ShuffleDNS : Wrapper Around Massdns Written In Go To Enumerate Valid Subdomains Using Active Bruteforce\",\"datePublished\":\"2020-03-20T05:46:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/shuffledns\/\"},\"wordCount\":876,\"publisher\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/shuffledns\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png\",\"keywords\":[\"bruteforce\",\"ShuffleDNS\",\"Subdomains\"],\"articleSection\":[\"Kali Linux\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/shuffledns\/\",\"url\":\"https:\/\/kalilinuxtutorials.com\/shuffledns\/\",\"name\":\"ShuffleDNS : Wrapper Massdns For Subdomains Using Active Bruteforce\",\"isPartOf\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/shuffledns\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/shuffledns\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png\",\"datePublished\":\"2020-03-20T05:46:21+00:00\",\"description\":\"ShuffleDNS is a wrapper around massdns written in go that allows you to enumerate valid subdomains using active bruteforce as well as resolve subdomains\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kalilinuxtutorials.com\/shuffledns\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/shuffledns\/#primaryimage\",\"url\":\"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png\",\"contentUrl\":\"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png\"},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#website\",\"url\":\"https:\/\/kalilinuxtutorials.com\/\",\"name\":\"Kali Linux Tutorials\",\"description\":\"Kali Linux Tutorials\",\"publisher\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kalilinuxtutorials.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#organization\",\"name\":\"Kali Linux Tutorials\",\"url\":\"https:\/\/kalilinuxtutorials.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png\",\"contentUrl\":\"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png\",\"width\":272,\"height\":90,\"caption\":\"Kali Linux Tutorials\"},\"image\":{\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/CyberEdition\",\"https:\/\/www.threads.com\/@cybersecurityedition\",\"https:\/\/www.linkedin.com\/company\/cyberedition\",\"https:\/\/www.instagram.com\/cybersecurityedition\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad\",\"name\":\"R K\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g\",\"caption\":\"R K\"},\"url\":\"https:\/\/kalilinuxtutorials.com\/author\/ranjith\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ShuffleDNS : Wrapper Massdns For Subdomains Using Active Bruteforce","description":"ShuffleDNS is a wrapper around massdns written in go that allows you to enumerate valid subdomains using active bruteforce as well as resolve subdomains","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kalilinuxtutorials.com\/shuffledns\/","og_locale":"en_US","og_type":"article","og_title":"ShuffleDNS : Wrapper Massdns For Subdomains Using Active Bruteforce","og_description":"ShuffleDNS is a wrapper around massdns written in go that allows you to enumerate valid subdomains using active bruteforce as well as resolve subdomains","og_url":"https:\/\/kalilinuxtutorials.com\/shuffledns\/","og_site_name":"Kali Linux Tutorials","article_published_time":"2020-03-20T05:46:21+00:00","og_image":[{"url":"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png","type":"","width":"","height":""}],"author":"R K","twitter_card":"summary_large_image","twitter_image":"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png","twitter_creator":"@CyberEdition","twitter_site":"@CyberEdition","twitter_misc":{"Written by":"R K","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kalilinuxtutorials.com\/shuffledns\/#article","isPartOf":{"@id":"https:\/\/kalilinuxtutorials.com\/shuffledns\/"},"author":{"name":"R K","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad"},"headline":"ShuffleDNS : Wrapper Around Massdns Written In Go To Enumerate Valid Subdomains Using Active Bruteforce","datePublished":"2020-03-20T05:46:21+00:00","mainEntityOfPage":{"@id":"https:\/\/kalilinuxtutorials.com\/shuffledns\/"},"wordCount":876,"publisher":{"@id":"https:\/\/kalilinuxtutorials.com\/#organization"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/shuffledns\/#primaryimage"},"thumbnailUrl":"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png","keywords":["bruteforce","ShuffleDNS","Subdomains"],"articleSection":["Kali Linux"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/kalilinuxtutorials.com\/shuffledns\/","url":"https:\/\/kalilinuxtutorials.com\/shuffledns\/","name":"ShuffleDNS : Wrapper Massdns For Subdomains Using Active Bruteforce","isPartOf":{"@id":"https:\/\/kalilinuxtutorials.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kalilinuxtutorials.com\/shuffledns\/#primaryimage"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/shuffledns\/#primaryimage"},"thumbnailUrl":"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png","datePublished":"2020-03-20T05:46:21+00:00","description":"ShuffleDNS is a wrapper around massdns written in go that allows you to enumerate valid subdomains using active bruteforce as well as resolve subdomains","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kalilinuxtutorials.com\/shuffledns\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/shuffledns\/#primaryimage","url":"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png","contentUrl":"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png"},{"@type":"WebSite","@id":"https:\/\/kalilinuxtutorials.com\/#website","url":"https:\/\/kalilinuxtutorials.com\/","name":"Kali Linux Tutorials","description":"Kali Linux Tutorials","publisher":{"@id":"https:\/\/kalilinuxtutorials.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kalilinuxtutorials.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/kalilinuxtutorials.com\/#organization","name":"Kali Linux Tutorials","url":"https:\/\/kalilinuxtutorials.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/","url":"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png","contentUrl":"https:\/\/kalilinuxtutorials.com\/wp-content\/uploads\/2025\/07\/Kali.png","width":272,"height":90,"caption":"Kali Linux Tutorials"},"image":{"@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/CyberEdition","https:\/\/www.threads.com\/@cybersecurityedition","https:\/\/www.linkedin.com\/company\/cyberedition","https:\/\/www.instagram.com\/cybersecurityedition\/"]},{"@type":"Person","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/69444b58b9e267a4cf08fceb34b6f6ad","name":"R K","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kalilinuxtutorials.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d3937c9687f2da11bc0a716404ff91779fe19ca115208dbf66167ad353aca5aa?s=96&d=mm&r=g","caption":"R K"},"url":"https:\/\/kalilinuxtutorials.com\/author\/ranjith\/"}]}},"jetpack_featured_media_url":"https:\/\/1.bp.blogspot.com\/-oxkad2fGWDc\/XnJe58lo5PI\/AAAAAAAAFjo\/IbUPoxMGIK4tN9IF67NlW0MVAgbf7Pk-QCLcBGAsYHQ\/s1600\/shuffledns-run%25281%2529.png","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":23986,"url":"https:\/\/kalilinuxtutorials.com\/dome\/","url_meta":{"origin":9824,"position":0},"title":"Dome : Fast And Reliable Python Script That Makes Active And\/Or Passive Scan To Obtain Subdomains","author":"R K","date":"April 18, 2022","format":false,"excerpt":"Dome is a fast and reliable python script that makes active and\/or passive scan to obtain subdomains and search for open ports. This tool is recommended for bug bounty hunters and pentester in their reconnaissance phase. the more surface area exposed the faster a rock with break down If you\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEie9Fed0SZ_l15xO5QZ8omXpyD0l62xVRTGQY95-HUslWSkxRwPUrbjRq23WOss-szVvniZNBLA1BX-t9cuaBPkMGc_vQzrkKSQFVTHyW2jY2Ac42l_GwMOuwKOLZY1KQpCuwKqp8mYDb2i7wMZnvwqV4JxSlZu_nUoTNPWnf2GdIAWcymU_SpenEcp\/s728\/Dome_5-761230%20%281%29.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEie9Fed0SZ_l15xO5QZ8omXpyD0l62xVRTGQY95-HUslWSkxRwPUrbjRq23WOss-szVvniZNBLA1BX-t9cuaBPkMGc_vQzrkKSQFVTHyW2jY2Ac42l_GwMOuwKOLZY1KQpCuwKqp8mYDb2i7wMZnvwqV4JxSlZu_nUoTNPWnf2GdIAWcymU_SpenEcp\/s728\/Dome_5-761230%20%281%29.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEie9Fed0SZ_l15xO5QZ8omXpyD0l62xVRTGQY95-HUslWSkxRwPUrbjRq23WOss-szVvniZNBLA1BX-t9cuaBPkMGc_vQzrkKSQFVTHyW2jY2Ac42l_GwMOuwKOLZY1KQpCuwKqp8mYDb2i7wMZnvwqV4JxSlZu_nUoTNPWnf2GdIAWcymU_SpenEcp\/s728\/Dome_5-761230%20%281%29.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEie9Fed0SZ_l15xO5QZ8omXpyD0l62xVRTGQY95-HUslWSkxRwPUrbjRq23WOss-szVvniZNBLA1BX-t9cuaBPkMGc_vQzrkKSQFVTHyW2jY2Ac42l_GwMOuwKOLZY1KQpCuwKqp8mYDb2i7wMZnvwqV4JxSlZu_nUoTNPWnf2GdIAWcymU_SpenEcp\/s728\/Dome_5-761230%20%281%29.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":9896,"url":"https:\/\/kalilinuxtutorials.com\/chepy\/","url_meta":{"origin":9824,"position":1},"title":"Chepy : A Python lib\/cli Equivalent Of The Awesome CyberChef Tool","author":"R K","date":"March 23, 2020","format":false,"excerpt":"Chepy is a python library with a handy cli that is aimed to mirror some of the capabilities of CyberChef. A reasonable amount of effort was put behind it to make it compatible to the various functionalities that CyberChef offers, all in a pure Pythonic manner. There are some key\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":14263,"url":"https:\/\/kalilinuxtutorials.com\/lazyrecon\/","url_meta":{"origin":9824,"position":2},"title":"Lazyrecon : Tool To Automate Your Reconnaissance Process In An Organized Fashion","author":"R K","date":"July 12, 2021","format":false,"excerpt":"Lazyrecon is a subdomain discovery tool that finds and resolves valid subdomains then performs SSRF\/LFI\/SQLi fuzzing, brute-force and port scanning. It has a simple modular architecture and is optimized for speed while working with github and wayback machine. Features Super fast asynchronous executionCI\/CD readyHTML\/pdf reportsDiscord integrationBackground listen serverDomain name, list\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8031,"url":"https:\/\/kalilinuxtutorials.com\/turbolist3r-subdomain-enumeration-tool\/","url_meta":{"origin":9824,"position":3},"title":"Turbolist3r : Subdomain Enumeration Tool With Analysis Features For Discovered Domains","author":"R K","date":"January 5, 2020","format":false,"excerpt":"Turbolist3r is a fork of the sublist3r subdomain discovery tool. In addition to the original OSINT capabilties of sublist3r, turbolist3r automates some analysis of the results, with a focus on subdomain takeover. Turbolist3r queries public DNS servers for each discovered subdomain. If the subdomain exists (i.e. the resolver replied with\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10659,"url":"https:\/\/kalilinuxtutorials.com\/web-hackers-weapons\/","url_meta":{"origin":9824,"position":4},"title":"Web Hacker&#8217;s Weapons : Collection Of Cool Tools Used By Web Hackers","author":"R K","date":"May 29, 2020","format":false,"excerpt":"Web Hacker's Weapons is a collection of cool tools used by Web hackers. Happy hacking , Happy bug-hunting. Weapons Army-Knife\/ALLBurpSuitethe BurpSuite projectArmy-Knife\/SCANjaelesThe Swiss Army knife for automated Web Application TestingArmy-Knife\/ALLzaproxyThe OWASP ZAP core projectDiscovery\/ALLOneForAllOneForAll\u662f\u4e00\u6b3e\u529f\u80fd\u5f3a\u5927\u7684\u5b50\u57df\u6536\u96c6\u5de5\u5177Discovery\/ALLaquatoneA Tool for Domain FlyoversDiscovery\/ALLlazyreconThis script is intended to automate your reconnaissance process in an organized fashionDiscovery\/CRAWLPhotonIncredibly\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9831,"url":"https:\/\/kalilinuxtutorials.com\/pypykatz\/","url_meta":{"origin":9824,"position":5},"title":"Pypykatz : Mimikatz Implementation In Pure Python","author":"R K","date":"March 21, 2020","format":false,"excerpt":"Pypykatz is a mimikatz implementation in pure Python and can be runs on all OS's which support python>=3.6. Installing Install it via pip or by cloning it from github. The installer will create a pypykatz executable in the python's Script directory. You can run it from there, should be in\u2026","rel":"","context":"In &quot;Kali Linux&quot;","block_context":{"text":"Kali Linux","link":"https:\/\/kalilinuxtutorials.com\/category\/kali\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts\/9824","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/comments?post=9824"}],"version-history":[{"count":0,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/posts\/9824\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/media\/16182"}],"wp:attachment":[{"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/media?parent=9824"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/categories?post=9824"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kalilinuxtutorials.com\/wp-json\/wp\/v2\/tags?post=9824"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}