/////// / \ ||\ || ||||||| |||||| |||||| ||\ ||
|| || // \\ || \ || || || || || || || \ ||
|| || // \\ || \ || || || || || || || \ ||
||/////// // \\ || \ || || |||| || || || || || \ ||
||\/\ ||||||||||| || \ || || || || || || || || || \ ||
|| \/\ || || || \ || || || || || || || || || \ ||
|| \/\ || || || \|| || || || || || || || || \||
|| \/\ || || || || |||| || |||||| |||||| || ||
@prakashzhaa
Rangoon* automates the entire process of reconnaisance for you. It outperforms the work of subdomain enumeration along with various vulnerability checks and obtaining maximum information about your target.
ghost uses lot of techniques (passive, bruteforce, certificate transparency, source code scraping, analytics, DNS records...) for subdomain enumeration which helps you getting the maximum and the most interesting subdomains so that you be ahead of the competition.
It also performs various vulnerability checks like XSS, Open Redirects, SSRF, CRLF, LFI, SQLi, SSL tests, SSTI, DNS zone transfers, and much more. Along with these, it performs OSINT techniques, directory fuzzing, dorking, ports scanning, screenshots, nuclei scan on your target.
Now we can set up everything, it's quite simple:
git clone https://github.com/prakashzhaa/rangoon.git
cd rangoon
chmod +x install.sh
chmod +x rangoon.sh
./install.sh
Grab a cup of coffee since this will take a while.
After installing all of the dependencies for the rangoon you can finally start doing some recon!
$ rangoon <domain.tld>
rangoon.sh
will first gather resolvers for the given target, followed by subdomain enumeration and checking those assets for potential subdomain takeover. When this is done the IP addresses of the target are enumerated. Open ports will be discovered accompanied by a service scan provided by Nmap.
Nuclei and its templates have been implemented in the routine!
Finally the live targets will be screenshotted and evaluated to discover endpoints.
Results will be stored on the Recon Pi and can be viewed by running `python -m SimpleHTTPServer 1337" in your results directory. Your results will be accessible from any system with a browser that exists in the same network.
Make sure to add your SLACK token to the tokens.txt file if you want to get slack notification after the completion of recon process.
github_subdomains_token=""
SLACK_WEBHOOK_URL="https://hooks.slack.com/services/xxx/xxx/xxx"
findomain_spyse_token=""
findomain_virustotal_token=""
findomain_securitytrails_token=""
CHAOS_KEY=""
hackerhandle="rangoon"
Config Files (Note: config file for amass, subfinder and naabu are stored inside rangoon/configs/ folder, provide your api keys in these files)
Input your API keys in these files to get better results
Subfinder Config file path : $HOME/rangoon/configs/config.yaml
Amass Config file path : $HOME/rangoon/configs/config.ini
We have added a $hackerhandle
which is used in the nuclei scans. An additional x-bug-bounty: rangoon
header will be added, please update this with your own handle :)
-
Script folder contains a script named daily which can be used as a cronjob to run subdomain enumeration automatically.
-
Methodology is to take already enumerated subdomains as input and use amass on top of them, then track their last 2 result, and alert new subdomains on slack.
Tools that will be installed:
- Go
- Subfinder
- Subjack
- Aquatone
- httprobe
- assetfinder
- meg
- tojson
- unfurl
- gf
- anew
- qsreplace
- ffuf
- gobuster
- amass
- getJS
- gau
- shuffledns
- dnsprobe
- naabu
- nuclei
- nuclei-template
- cf-check
- massdns
- jq
- masscan
- Corsy
- Arjun
- Diggy
- Dnsgen
- Sublert
- Findomain
- github-subdomain
- linkfinder
- bass
- interlace
- nmap
- Seclist
- Dirsearch
- Dalfox
- Hakrawler
- Naabu
- chaos
- httpx
- altdns
- gatherResolvers
- gatherSubdomains
- checkTakeovers
- getCNAME
- gatherIPs
- gatherScreenshots
- startMeg
- fetchArchive
- fetchEndpoints
- runNuclei
- portScan
- notifySlack
Subdomain Enumeration:
-
Sublert
-
Subfinder
-
assetfinder
-
amass
-
findomain (Add findomain sources token to get better result)
-
chaos dataset
-
github-subdomains
-
dns.bufferover.run
-
Mutate above Subdomains using commonspeak subdomain list
-
Combine and Sort above result -> Use shuffledns to resolve -> dnsgen(to mutate) -> httprobe (to get alive hosts)
-
Check takeover using subjack and nuclei
-
Get CNAME to check manually for takeovers
-
Use dnsprobe to gather IP, ignore if they fall in cloudflare ip range
-
Do masscan and then nmap scan on them, also use http-title and vulners script.
-
Take Screenshot for visual recon
-
Use gau to to get archive urls, get paramlist, jsurls, phpurls, aspxurls, and jspurls in there own files.
-
Get Endpoints using Linkfinder
-
Run Nuclei Scripts on alive hosts
-
Notify on Slack channel if token is specified.
-
Directory Buteforcing (Not enabled, as it takes long time, it is better to do manually)
More tools will be added in the future, feel free to make a pull request!