Во время пентестов очень часто возникает задача просканировать все поддомены у целевого домена. Делать это вручную не очень удобно, поэтому сегодня мы предлагаем вам подборку инструментов для автоматизации сканирования поддоменов.
Чем больше используемых методов, тем больше шансов найти интересные поддомены, которые другие могли пропустить.
Некоторые спецы рекомендуют использовать только несколько инструментов (таких как Amass, Massdns, Subfinder & Gobuster). Правда люди, у которых плохое подключение к Интернету и не VPS, не смогут использовать эти высокоэффективные и быстрые инструменты. Поэтому выбирайте то, что работает для вас!
Subdomain discovery through alterations and permutations
https://github.com/infosec-au/altdns
Installation
git clone https://github.com/infosec-au/altdns.git cd altdns pip install -r requirements.txt
Usage:
Generate a list of altered subdomains: ./altdns.py -i known-subdomains.txt -o new_subdomains.txt
Generate a list of altered subdomains & resolve them: ./altdns.py -i known-subdomains.txt -o new_subdomains.txt -r -s resolved_subdomains.txt
Other options
-w wordlist.txt: Use custom wordlist (default altdns/words.txt)
-t 10 Number of threads
-d $IP: Use custom resolver
Brute force, Google, VirusTotal, alt names, ASN discovery
https://github.com/OWASP/Amass
Installation
go get -u github.com/OWASP/Amass/...
Usage
Get target’s ASN from http://bgp.he.net/
amass -d target.com -o $outfile
Get subdomains from ASN: amass.netnames -asn $asn
Parse net blocks & domain names from SPF records
https://github.com/yamakira/assets-from-spf
Installation
git clone https://github.com/yamakira/assets-from-spf.git pip install click ipwhois
Usage
cd the-art-of-subdomain-enumeration; python assets_from_spf.py target.com
Options
--asn: Enable ASN enumeration
HTML parsing, reverse DNS, TLD expansion, horizontal domain correlation
https://github.com/sensepost/BiLE-suite
Installation
aptitude install httrack git clone https://github.com/sensepost/BiLE-suite.git
Usage
List links related to a site: cd BiLE-suite; perl BiLE.pl target.com target
Extract subdomains from the results of BiLe.pl: ` cat target.mine grep -v “Link from” cut -d’:’ -f2 grep target.com sort uniq`
Usage
Find subsomains: site:target.com
Find subdomains & exclude specific ones: site:target.com -site:www.target.com
pip install censys git clone https://github.com/appsecco/the-art-of-subdomain-enumeration.git
Add your CENSYS API ID & SECRET to the-art-of-subdomain-enumeration/censys_subdomain_enum.py
cd the-art-of-subdomain-enumeration; python censys_enumeration.py target.comExtract subdomains from Cloudflare
DNS aggregator
Installation
pip install censys git clone https://github.com/appsecco/the-art-of-subdomain-enumeration.git
Usage
the-art-of-subdomain-enumeration; python cloudflare_subdomain_enum.py your@cloudflare.email target.com
Query crt.sh postgres interface for subdomains
https://github.com/appsecco/the-art-of-subdomain-enumeration/blob/master/crt_enum_psql.py
Installation
pip install psycopg2 git clone https://github.com/appsecco/the-art-of-subdomain-enumeration.git
Usage
cd python the-art-of-subdomain-enumeration; python crtsh_enum_psql.py target.com
Parse crt.sh web page for subdomains
https://github.com/appsecco/the-art-of-subdomain-enumeration/blob/master/crt_enum_web.py
Installation
pip install psycopg2 git clone https://github.com/appsecco/the-art-of-subdomain-enumeration.git
Usage
cd python the-art-of-subdomain-enumeration; python3 crtsh_enum_web.py target.com
Enumerate subdomains using CT logs (crt.sh)
https://github.com/UnaPibaGeek/ctfr
Installation
git clone https://github.com/UnaPibaGeek/ctfr.git cd ctfr pip3 install -r requirements.txt
Usage
cd ctfr; python3 ctfr.py -d target.com -o $outfile
Zone transfer, DNS lookups & reverse lookups
Installation
Installed by default in Kali, otherwise:
aptitude instal dnsutils
Usage
dig +multi AXFR target.com dig +multi AXFR $ns_server target.com
git clone https://github.com/yamakira/domains-from-csp.git pip install click
cd domains-from-csp; python csp_parser.py $URLcd domains-from-csp; python csp_parser.py $URL -rgit clone https://github.com/rbsec/dnscan.git cd dnscan pip install -r requirements.txt
dnscan.py -d target.com -o outfile -w $wordlistdnscan.py -l $domains_file -o outfile -w $wordlist-i $file: Output discovered IP addresses to a text file-r: Recursively scan subdomains-T: TLD expansionaptitude install dnsrecon on Kali, or:git clone https://github.com/darkoperator/dnsrecon.git cd dnsrecon pip install -r requirements.txt
dnsrecon -d target.com -D wordlist.txt -t brtdnsrecon -t snoop -D wordlist.txt -n 2.2.2.2 where 2.2.2.2 is the IP of the target’s NS server--threads 8: Number of threads-n nsserver.com: Use a custom name server--db: SQLite 3 file--xml: XML file--json: JSON file--csv: CSV filego get github.com/evilsocket/dnssearch
~/.profile: export PATH=$PATH:/home/mima/go/bin/dnssearch -domain target.com -wordlist $wordlist-a bool: Lookup A records (default true)-txt bool: Lookup TXT records (default false)-cname bool: Show CNAME records (default false)-consumers 10: Number of threads (default 8)fierce -dns target.comgit clone https://github.com/OJ/gobuster.git cd gobuster/ go get && go build go install
gobuster -m dns -u target.com -w $wordlist-i: Show IP addresses-t 50: Number of threads (default 10)site:*.target.comsite:*.target.com -site:www.target.com -site:help.target.comapt-get install python-dnspython git clone https://github.com/guelfoweb/knock.git cd knock nano knockpy/config.json # <- set your virustotal API_KEY python setup.py install
knockpy target.comknockpy target.com -w $wordlistknockpy -r target.com or knockpy -r $ipknockpy -c target.comknockpy -j target.comaptitude install ldnsutilsldns-walk target.comldns-walk @nsserver.com target.comgit clone https://github.com/blechschmidt/massdns.git cd massdns/ make
cd massdns; ./bin/massdns -r lists/resolvers.txt -t AAAA -w results.txt domains.txt -o S -w output.txt./scripts/subbrute.py wordlist.txt target.com | ./bin/massdns -r lists/resolvers.txt -t A -o S -w output.txt./scripts/ct.py target.com | ./bin/massdns -r lists/resolvers.txt -t A -o S -w output.txt-s 5000: Number of concurrent lookups (default 10000)-t A (default), -t AAAA, -t PTR…: Type of DNS records to retrieve-o S -w output.txt: Save output as simple text-o F: Save output as full text-o J: Save output as ndjsonwget https://dnscurve.org/nsec3walker-20101223.tar.gz tar -xzf nsec3walker-20101223.tar.gz cd nsec3walker-20101223 make
./collect target.com > target.com.collect
./unhash target.com.collect > target.com.unhash
cat target.com.unhash | grep "target" | wc -l
cat target.com.unhash | grep "target" | awk '{print $2;}'
aptitude install jq pigzwget https://scans.io/data/rapid7/sonar.fdns_v2/20170417-fdns.json.gz cat 20170417-fdns.json.gz | pigz -dc | grep ".target.org" | jq`
git clone https://github.com/appsecco/the-art-of-subdomain-enumeration.gitcd python the-art-of-subdomain-enumeration; ./san_subdomain_enum.py target.comgo get github.com/mhmdiaa/second-ordercp ~/go/src/github.com/mhmdiaa/second-order/config.json ~/go/src/github.com/mhmdiaa/second-order/config-subs-enum.json to replace “LogCrawledURLs”: false with “LogCrawledURLs”: true`second-order -base https://target.com -config config.json -output target.comaptitude install python-dnspython git clone https://github.com/TheRook/subbrute.git
./subbrute.py target.com./subbrute.py target1.com target2.com./subbrute.py -t domains.txt./subbrute.py target.com > target.out ./subbrute.py -t target.out
-s wordlist.txt: Use a custom subdomains wordlist-p: Print data from DNS records-o outfile.txt: Save output in Greppable format-j JSON: Save output to JSON file-c 10: Number of threads (default 8)-r resolvers.txt: Use a custom list of DNS resolversgo get github.com/subfinder/subfinder./subfinder --set-config VirustotalAPIKey=0x41414141./subfinder -d target.com -o $outfilesubfinder -b -d target.com -w $wordlist -o $outfile./subfinder --no-passive -d target.com -b -w $wordlist -o $outfie-t 100: Number of threads (default 10)-r 8.8.8.8,1.1.1.1 or -rL resolvers.txt: Use custom resolvers-nW: Exclude wildcard subdomains-recursive: Use recursion-o $outfile -oJ: JSON outputgit clone https://github.com/aboul3la/Sublist3r.git cd Sublist3r pip install -r requirements.txt
./sublist3r.py -d target.com -o $outfile./sublist3r.py -b -d target.com -o $outfile-p 80,443: Show only subdomains which have open ports 80 and 443aptitude install theharvestertheharvester -d target.com -b all-h output.html: Save output to HTML file-f output.html: Save output to HTML & XML files-t: Also do TLD expansion discovery-c: Also do subdomain bruteforce-n: Also do a DNS reverse query on all ranges discoveredaptitude install php-curl git clone https://github.com/gwen001/vhost-brute.git
php vhost-brute.php --ip=$ip --domain=target.com --wordlist=$outfile--threads=5: Maximum threads (default 1)--port: Set port--ssl: Force SSLgit clone https://github.com/jobertabma/virtual-host-discovery.gitcd virtual-host-discover; ruby scan.rb --ip=1.1.1.1 --host=target.com --output output.txt--ssl=on: Enable SSL--port 8080: Use a custom port--wordlist wordlist.txt: Use a custom wordlistgit clone https://github.com/appsecco/the-art-of-subdomain-enumeration.gitpython virustotal_subdomain_enum.py target.com 40Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…
Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…
Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…
С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…
Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…
Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…