From d8433087d7e45ea77dda3a6deb7304c8ab95dadf Mon Sep 17 00:00:00 2001 From: acidvegas Date: Mon, 18 Mar 2024 17:17:53 -0400 Subject: [PATCH] Added documentation on using GNU parallel with MDAXFR --- README.md | 12 ++++++++---- mdaxfr | 4 +++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index bf77955..68d3e0a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ![](./.screens/preview.gif) ## Information -MDAXFR allows you to perform a DNS [Zone Transfer](https://en.wikipedia.org/wiki/DNS_zone_transfer) against a target domain by resolving all of the domains nameservers to their respective A/AAAA records and making an AXFR attempt against each of the IP addresses. +MDAXFR allows you to perform a DNS [Zone Transfer](https://en.wikipedia.org/wiki/DNS_zone_transfer) against a target domain by resolving all of the domains nameservers to their respective A/AAAA records and making an AXFR attempt against each of the IP addresses. You can also use this tool against the [Root Nameservers](https://en.wikipedia.org/wiki/Root_name_server) and [Top-level Domains](https://en.wikipedia.org/wiki/Top-level_domain) *(TLD)*, including those in the [Public Suffix List](https://en.wikipedia.org/wiki/Public_Suffix_List) *(PSL)* aswell. ## Expectations & Legalities It is expected to set *realistic* expectations when using this tool. In contemporary network configurations, AXFR requests are typically restricted, reflecting best practices in DNS security. While many nameservers now disallow AXFR requests, there may still be occasional instances where configurations permit them. Always exercise due diligence and ensure ethical use. @@ -19,13 +19,17 @@ It is expected to set *realistic* expectations when using this tool. In contempo cat domain_list.txt | ./mdaxfr ``` +.. or for parellel lookups you can use [GNU Parallel](https://www.gnu.org/software/parallel/): + +```shell +parallel -a domain_list.txt -j 10 ./mdaxfr +``` + - AXFR all domains in an AXFR output file ```shell domain="ripe.net" cat axfr-ripe.log | grep -aE "\s+IN\s+NS\s+" | grep -avE "^${domain}\.\s+" | awk '{print $1}' | sort -u | sed 's/\.$//' | ./mdaxfr ``` -###### You can also use this tool against the [Root Nameservers](https://en.wikipedia.org/wiki/Root_name_server) and [Top-level Domains](https://en.wikipedia.org/wiki/Top-level_domain) *(TLD)*, including those in the [Public Suffix List](https://en.wikipedia.org/wiki/Public_Suffix_List) *(PSL)* aswell. - - AXFR on all TLDs ```shell curl -s 'https://data.iana.org/TLD/tlds-alpha-by-domain.txt' | tail -n +2 | tr '[:upper:]' '[:lower:] | ./mdaxfr @@ -39,7 +43,7 @@ curl -s https://publicsuffix.org/list/public_suffix_list.dat | grep -vE '^(//|.* ## Statistics, laughs, & further thinking... I only wrote this to shit on **[this bozo](https://github.com/flotwig/TLDR-2/)** who took a dead project & brought it back to life by making it even worse. Rather than making a pull request to give this bloke more credit in his "tenure" as a developer, I decided to just rewrite it all from scratch so people can fork off of *clean* code instead. -As of my last scan in 2023, I was only able to AXFR the zones for **8** out of **1,456** root TLDs, with a few of them being zones that were already retrieved by [acidvegas/czds](https://github.com/acidvegas/czds/), & **114** out of **7,977** TLDs in the [Public suffix list](https://publicsuffix.org/). The [addition scripts](./extras/) in this repository provide an additional **37** zone files. +As of my last scan in 2023, I was only able to AXFR the zones for **8** *(.er, .fj, .gp, .mp, .mw, .ni, .sl, .xn--54b7fta0cc)* out of **1,456** root TLDs, & **114** out of **7,977** TLDs in the [Public suffix list](https://publicsuffix.org/). The [addition scripts](./extras/) in this repository provide an additional **37** zone files. For laughs, here is a one-liner mass zone axfr: ```bash diff --git a/mdaxfr b/mdaxfr index 7213db7..9928d39 100755 --- a/mdaxfr +++ b/mdaxfr @@ -6,8 +6,10 @@ # ./mdaxfr # AXFR on a list of domains: # cat domain_list.txt | ./mdaxfr +# AXFR on a list of domains using parallel: +# parallel -a domain_list.txt -j 10 ./mdaxfr # AXFR on all domains in an AXFR output file: -# domain="ripe.net" cat axfr-ripe.log | grep -aE "\s+IN\s+NS\s+" | grep -avE "^${domain}\.\s+" | awk '{print $1}' | sort -u | sed 's/\.$//' | ./mdaxfr +# domain="in-addr.arpa" cat axfrout/in-addr.arpa.txt | grep -aE "\s+IN\s+NS\s+" | grep -avE "^${domain}\.\s+" | awk '{print $1}' | sort -u | sed 's/\.$//' | ./mdaxfr # AXFR on all TLDs: # curl -s 'https://data.iana.org/TLD/tlds-alpha-by-domain.txt' | tail -n +2 | tr '[:upper:]' '[:lower:]' | ./mdaxfr # AXFR on all PSL TLDs: