Enumerate Applications

Check List

Cheat Sheet

Different URL

Subdomain Fuzzing

dnsenum $WEBSITE -f /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt

dnsrecon -d $WEBSITE -D /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt -t brt

gobuster dns --wildcard -d $WEBSITE -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt

urlfinder -d $WEBSITE

Passive Scan

amass enum -passive -d $WEBSITE

Active Scan

amass enum -active -brute -d $WEBSITE -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt
amass intel -ip -cidr $TARGET
amass intel -active -asn $ASN

echo | openssl s_client -showcerts -servername $WEBSITE -connect $IP:443 2>/dev/null | openssl x509 -inform pem -noout -text

assetfinder $WEBSITE

Subdomain Fuzzing

subfinder -d $WEBSITE -all -o subdomains.txt

Subdomain New Gen

cat subdomains.txt | alterx | tree gen-subdomains.txt

Resolve New Gen

puredns resolve gen-subdomains.txt -r resolve-subdomains.txt

Directory Fuzzing

dirb $WEBSITE /usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt

dirsearch -u $WEBSITE -w /usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt

wfuzz -c -z file,/usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt --sc 200 "$WEBSITE/FUZZ"

gobuster dir -u $WEBSITE -w /usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt

ffuf -u $WEBSITE/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt

feroxbuster --url $WEBSITE -C 200

Non-Standard Ports

Port Scans

TCP Ports

nmap -sS -sV --mtu 5000 $WEBSITE

UDP Ports

nmap -sU -sV --mtu 5000 $WEBSITE

TCP Ports

nc -zv -w 1 $WEBSITE 1-65535

UDP Ports

nc -zvu -w 1 $WEBSITE 1-65535

naabu -host $TARGET -p $PORT

masscan $TARGET -p1-1000 --rate 1000

CIDR Discovery

ASN Discovery

whois -h whois.cymru.com $TARGET 
curl -s https://api.bgpview.io/ip/$TARGET | jq -r ".data.prefixes[] | {prefix: .prefix, ASN: .asn.asn}"

Virtual Hosts

DNS Zone Transfer

nslookup -type=ns $WEBSITE

dig $WEBSITE NS +noall +answer; \
dig {a|txt|ns|mx} $WEBSITE; \
dig AXRF @ns1.$WEBSITE $WEBSTITE \
dig @$NS $WEBSITE

Host

host -t ns $WEBSITE; \
host -t {a|txt|ns|mx} $WEBSITE; \
host -a $WEBSITE; \
host -C $WEBSITE; \
host -R 3 $WEBSITE

gobuster vhost ‐u $WEBSITE -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt --append-domain

DNS Inverse Queries

dig -x $IP

shuffledns -d $WEBSITE -list target-domains.txt -mode resolve -r resolver.txt
subfinder -d $WEBSITE | shuffledns -d $WEBSITE -r resolvers.txt -mode resolve

subfinder -silent -d $WEBSITE | dnsx -silent

dnsgen target-domains.txt

Combine with shuffledns

cat target-domains.txt | dnsgen - | shuffledns -d $WEBSITE -list target-domains.txt -mode resolve -r resolver.txt

Web Service Discovery

httpx -silent -u $WEBSITE
  1. Host: [FUZZ]

ffuf -w /usr/share/seclists/Discovery/DNS/namelist.txt -u $TARGET -H "Host: FUZZ"
  1. Host: [FUZZ].$WEBSITE

ffuf -w /usr/share/seclists/Discovery/DNS/namelist.txt -u $TARGET -H "Host: FUZZ.$WEBSITE"
  1. Host: [FOUND-SUBDOMAINS]

ffuf -w target-subdomains.txt -u $TARGET -H "Host: FUZZ"

ViewDNS

YouGetSignal

Website Informer

Reverse Whois

Whoxy

Security Insights

Reverse IP Service

  1. Query DNS records of domains and subdomains to get IP

for domain in $(subfinder -d $WEBSITE -silent); do echo $domain | dnsx -a -silent -resp-only; done
  1. Whois the IP addresses and extract the properties

whois $TARGET
  1. Reverse Lookup on the properties

Query Ripe

mnt-by field

whois -h whois.ripe.net -i mnt-by $COMPANY 

person field

whois -h whois.ripe.net -- -i person $NAME 

admin-c field

whois -h whois.ripe.net -- -i admin-c $NAME 

Query Arin

Network address space (Net Handle) field

whois -h whois.arin.net -- 'n ! $NAME'

OrgId field

whois -h whois.arin.net -- 'o ! $NAME'

amass intel -org $ORG
amass intel -ip -cidr $TARGET
amass intel -active -asn $ASN

Digital Certificate

curl -s "https://crt.sh/?q=$WEBSITE&output=json" | jq -r ".[].common_name" | sort -u
curl -s "https://crt.sh/?q=$WEBSITE&output=json" | jq -r ".[].name_value" | sort -u

curl -X 'POST' 'https://search.censys.io/api/v2/certificates/search' -H 'Authorization: Basic API_SECRET' -H "content-type: application/json" --data '{"q":"parsed.subject.organization: Google"}' | jq -r '.result.hits[] | (.parsed.subject_dn | capture("CN=(?<cn>[^,]+)") | .cn), (.names | if type=="array" and (.[0] | type) == "array" then .[][] else .[] end)'

github-subdomains -d $WEBSITE -t $TOKEN

waybackurls $WEBSITE

Last updated

Was this helpful?