Enumeration
Sub-domains
Amass
Amass performs network mapping of attack surfaces and external asset discovery using open source information gathering and active reconnaissance techniques.
Github link.
Installation
Download release binary.
Examples
➜ amass enum -passive -d domain.com -o dns_amass.lst -o dns_tech.lst
➜ wc -l dns_amass.lst
2534 dns_amass.lst
Google dorks
site:*.example.com
assetfinder
Find domains and subdomains potentially related to a given domain.
Github link.
Installation
➜ go install github.com/tomnomnom/assetfinder@latest
Examples
➜ echo xanhacks.xyz | assetfinder | sort -u
decoder.xanhacks.xyz
docs.xanhacks.xyz
dorks.xanhacks.xyz
www.xanhacks.xyz
xanhacks.xyz
Paths
getallurls (gau)
getallurls (gau) fetches known URLs from AlienVault's Open Threat Exchange, the Wayback Machine, Common Crawl, and URLScan for any given domain.
Github link.
Installation
go install github.com/lc/gau/v2/cmd/gau@latest
Examples
➜ cat domains.lst | gau
➜ echo xanhacks.xyz | gau --fc 404 --threads 5 --subs --o gau_wayback.out
unfurl
Pull out bits of URLs provided on stdin.
Github link.
Installation
➜ go install github.com/tomnomnom/unfurl@latest
Examples
➜ head gau_wayback.out
https://www.xanhacks.xyz/
https://www.xanhacks.xyz/apple-touch-icon.png
https://www.xanhacks.xyz/assets/built/main.min.js?v=02b714b121
https://www.xanhacks.xyz/assets/built/main.min.js?v=ca9e4c8359
https://www.xanhacks.xyz/assets/built/screen.css?v=02b714b121
https://www.xanhacks.xyz/assets/built/screen.css?v=ca9e4c8359
https://www.xanhacks.xyz/assets/css/fonts/latin-ext700n.woff2
https://www.xanhacks.xyz/assets/css/fonts/latin400n.woff2
https://www.xanhacks.xyz/assets/css/fonts/latin800n.woff2
https://www.xanhacks.xyz/assets/css/fonts/muli.css?v=02b714b121
➜ head gau_wayback.out | unfurl --unique domains
www.xanhacks.xyz
# keys, values, keypairs
➜ head gau_wayback.out | unfurl --unique keypairs
v=02b714b121
v=ca9e4c8359
➜ head gau_wayback.out | unfurl format %d%p
www.xanhacks.xyz/
www.xanhacks.xyz/apple-touch-icon.png
www.xanhacks.xyz/assets/built/main.min.js
www.xanhacks.xyz/assets/built/screen.css
www.xanhacks.xyz/assets/css/fonts/latin-ext700n.woff2
www.xanhacks.xyz/assets/css/fonts/latin400n.woff2
www.xanhacks.xyz/assets/css/fonts/latin800n.woff2
www.xanhacks.xyz/assets/css/fonts/muli.css
Server & Technology
httpx
httpx is a fast and multi-purpose HTTP toolkit allow to run multiple probers using retryablehttp library, it is designed to maintain the result reliability with increased threads.
Github link.
Installation
➜ go install github.com/projectdiscovery/httpx/cmd/httpx@latest
Example
$ httpx -title -server -status-code -tech-detect -list dns_amass.lst
https://migration.domain.com [302] [302 Found] []
https://example.domain.com [403] [403 Forbidden] [Apache] [Apache]
https://api.domain.com [403] [403 Forbidden] []
https://alerts.domain.com [200] [] [] [AngularJS,Java]
https://grafana.domain.com [200] [] [] [AngularJS,Java]
https://prom.domain.com [200] [] [] [AngularJS,Java]
[...]
$ httpx -title -server -status-code -tech-detect -list dns_amass.lst -fc 401,403,404,502,503 -o dns_availabe.lst
[...]
Parameters
Arjun
Arjun can find query parameters for URL endpoints.
Github link.
Installation
➜ python3 -m pip install arjun
Examples
➜ arjun -u https://0a1d003d04377e8ac078557300b70020.web-security-academy.net/
_
/_| _ '
( |/ /(//) v2.1.51
_/
[*] Probing the target for stability
[*] Analysing HTTP response for anomalies
[*] Analysing HTTP response for potential parameter names
[+] Heuristic scanner found 1 parameter: search
[*] Logicforcing the URL endpoint
[✓] name: search, factor: body length
Scope
inscope
Prototype tool for filtering URLs and domains supplied on stdin to make sure they meet one of a set of regular expressions.
Github link.
Installation
➜ go install github.com/tomnomnom/hacks/inscope@latest
Examples
➜ cat domains.lst
https://example.com/footle
https://inscope.example.com/some/path?foo=bar
https://outofscope.example.net/bar
➜ cat .scope
.*\.example\.com$
^example\.com$
.*\.example\.net$
!.*outofscope\.example\.net$
➜ cat domains.lst | inscope
https://example.com/footle
https://inscope.example.com/some/path?foo=bar