{"id":15374455,"url":"https://github.com/ivan-sincek/dnsrecon-chunked","last_synced_at":"2025-02-28T00:32:29.862Z","repository":{"id":107018908,"uuid":"372010241","full_name":"ivan-sincek/dnsrecon-chunked","owner":"ivan-sincek","description":"Brute force subdomains in multiple smaller iterations. Based on DNSRecon.","archived":true,"fork":false,"pushed_at":"2023-04-27T20:54:00.000Z","size":5,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-16T14:56:51.827Z","etag":null,"topics":["bash","bug-bounty","dns","dnsrecon","ethical-hacking","offensive-security","penetration-testing","red-team-engagement","security","web","web-penetration-testing"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ivan-sincek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-29T15:40:29.000Z","updated_at":"2024-11-17T22:25:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"235ab622-a3b1-48fa-bfa2-b4f2114938cd","html_url":"https://github.com/ivan-sincek/dnsrecon-chunked","commit_stats":{"total_commits":1,"total_committers":1,"mean_commits":1.0,"dds":0.0,"last_synced_commit":"a722905704dc490a49ce7c632c05706538b4c6eb"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivan-sincek%2Fdnsrecon-chunked","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivan-sincek%2Fdnsrecon-chunked/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivan-sincek%2Fdnsrecon-chunked/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ivan-sincek%2Fdnsrecon-chunked/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ivan-sincek","download_url":"https://codeload.github.com/ivan-sincek/dnsrecon-chunked/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241078874,"owners_count":19905949,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","bug-bounty","dns","dnsrecon","ethical-hacking","offensive-security","penetration-testing","red-team-engagement","security","web","web-penetration-testing"],"created_at":"2024-10-01T13:58:49.573Z","updated_at":"2025-02-28T00:32:29.855Z","avatar_url":"https://github.com/ivan-sincek.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DNSRecon Chunked\n\nBrute force subdomains in multiple smaller iterations. Based on DNSRecon.\n\nScript will split a wordlist into multiple smaller chunks and run each chunk through DNSRecon.\n\nYou can easily cancel brute forcing and continue later.\n\nTested on Kali Linux v2023.1 (64-bit).\n\nMade for educational purposes. I hope it will help!\n\n## How to Run\n\nOpen your preferred console from [/src/](https://github.com/ivan-sincek/dnsrecon-chunked/tree/main/src) and run the commands shown below.\n\nInstall required packages:\n\n```fundamental\napt-get -y install bc jq dnsrecon\n```\n\nChange file permissions:\n\n```fundamental\nchmod +x dnsrecon_chunked.sh\n```\n\nRun the script:\n\n```fundamental\n./dnsrecon_chunked.sh\n```\n\n**Use DNSRecon [v1.1.0](https://github.com/darkoperator/dnsrecon/releases/tag/1.1.0) for best results.**\n\nIf you want to run DNSRecon as a Python3 script, replace `dnsrecon` with e.g. `python3 /root/Desktop/dnsrecon-0.10.0/dnsrecon.py`.\n\n## Extract Results\n\nThe tool will do this for you.\n\nExtract name servers from the results:\n\n```bash\nfor file in dnsrecon_chunked/*_chunked.json; do jq -r '.[] | if (.type == \"NS\") then (.target) else (empty) end | select(. != null)' \"${file}\"; done | sort -u -f | tee -a ns.txt\n```\n\nExtract exchange servers from the results:\n\n```bash\nfor file in dnsrecon_chunked/*_chunked.json; do jq -r '.[] | if (.type == \"MX\") then (.exchange) else (empty) end | select(. != null)' \"${file}\"; done | sort -u -f | tee -a mx.txt\n```\n\nExtract hosts from the results:\n\n```bash\nfor file in dnsrecon_chunked/*_chunked.json; do jq -r '.[] | if (.type == \"A\" or .type == \"AAAA\" or .type == \"CNAME\" or .type == \"PTR\" or .type == \"NS\" or .type == \"MX\") then (.name, .target, .exchange) else (empty) end | select(. != null)' \"${file}\"; done | sort -u -f | tee -a subdomains.txt\n```\n\nExtract IPs from the results:\n\n```bash\nfor file in dnsrecon_chunked/*_chunked.json; do jq -r '.[] | if (.type == \"A\" or .type == \"CNAME\" or .type == \"PTR\" or .type == \"NS\" or .type == \"MX\") then (.address) else (empty) end | select(. != null)' \"${file}\"; done | sort -u -f | tee -a ips.txt\n```\n\nExtract canonical names for a subdomain takeover vulnerability from the results:\n\n```bash\nfor file in dnsrecon_chunked/*_chunked.json; do jq -r '.[] | if (.type == \"CNAME\") then (.target) else (empty) end | select(. != null)' \"${file}\"; done | sort -u -f | tee -a cnames.txt\n```\n\nP.S. You can find `subdomains-top1mil.txt` wordlist located at `/usr/share/dnsrecon/` directory.\n\n## Usage\n\n```fundamental\nDNSRecon Chunked v3.0 ( github.com/ivan-sincek/dnsrecon-chunked )\n\n--- Brute force subdomains ---\nUsage:   ./dnsrecon_chunked.sh -d domain      -f file                   [-s size] [-w wildcards       ]\nExample: ./dnsrecon_chunked.sh -d example.com -f subdomains-top1mil.txt [-s 2000] [-w wildcard_ips.txt]\n\n--- Continue where you left off ---\nUsage:   ./dnsrecon_chunked.sh -c continue\nExample: ./dnsrecon_chunked.sh -c yes\n\nDESCRIPTION\n     Brute force subdomains in multiple smaller iterations\nDOMAIN\n    Domain to brute force\n    -d \u003cdomain\u003e - example.com | etc.\nFILE\n    File with subdomains to use\n    -f \u003cfile\u003e - subdomains-top1mil.txt | etc.\nSIZE\n    Maximum number of lines for each file chunk\n    Default: 1000\n    -s \u003csize\u003e - 2000 | etc.\nWILDCARDS\n    File with wildcard IPs to filter out subdomains\n    Sometimes DNSRecon fails to filter multiple different wildcard IPs\n    -w \u003cwildcards\u003e - wildcard_ips.txt | etc.\nCONTINUE\n    Continue where you left off\n    -c \u003ccontinue\u003e - yes\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivan-sincek%2Fdnsrecon-chunked","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fivan-sincek%2Fdnsrecon-chunked","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fivan-sincek%2Fdnsrecon-chunked/lists"}