In this blog post, I will cover the basic steps to performing bug bounty recon against large, open scoped programs and penetration tests.
If you're like most starting out, this process can seem daunting and overwhelming depending on how many hosts you're dealing with. Twitter for instance has 20,000+ subdomains and a HUGE attack surface to go through. How do you know where to focus your time? How do you keep track of which hosts you scanned and reviewed? These questions can quickly lead you spinning in circles, wasting valuable time while more experienced hunters get the gold. Luckily, there are tools and methodologies that can assist and make your life easier as a bug bounty hunter or penetration tester. This is where Sn1per comes in...
What is Sn1per?
Sn1per is an automated pentest reconnaissance scanner that can be used during penetration tests and bug bounties and to enumerate targets and scan for vulnerabilities. There are two versions of Sn1per available depending on your needs. Sn1per Community Edition (CE) is the open source scan engine that is maintained on Github (https://github.com/1N3/Sn1per). Sn1per Professional is XeroSecurity's premium reporting add on for Sn1per and is available exclusively from the XeroSecurity website (https://xerosecurity.com).
Installation is extremely easy. Just clone the Github repo (git clone https://github.com/1N3/Sn1per) and run ./install.sh from a Kali Linux OS. This will install all tools and dependencies which are used to collect recon info and scan for vulnerabilities.
Scoping your target
So we have Sn1per installed and we've recited "The Rifleman's Creed" a few times, the next phase is scoping our target. This is fairly obvious but we need to carefully review the bug bounty or pentest scope which gives us legal permission to test without getting thrown in prison. If you find yourself getting outside the intended scope, you've been warned - This "could" land you in jail!.
Now that the legal disclaimer is out of the way, what's the first step?
Tactical Reconnaissance & OSINT
The first step in your reconnaissance process should be enumerating all subdomains and hosts within the target scope. For this, we're interested in any wildcard domains (ie. *.target.com). In this case, it is up to the researcher to hunt for subdomains and hosts which fall within this target scope but haven't been explicitly stated. For this, we will use sniper to actively and passively scan a target domain for subdomains via the -re switch and we'll create a new workspace to store all our hosts via the -w switch. Additionally, we'll also add the --osint switch to our scan to perform basic OSINT (Open Source Intelligence Gathering) searches on the target domain. This can reveal tons of useful information such as email addresses, public domains, documents, usernames, software used, whois info, reverse IP lookups, virtual hosts, etc. In addition, Sn1per will perform basic checks for subdomain hijacking and takeovers.
sniper -t target.com --recon --osint -w target
This will store a complete list of all subdomains discovered and sorted at the following location:
Now that we've enumerated all subdomains for the in-scope wildcard domain, we need to quickly enumerate all hosts with a high level flyover. This can be done by passing our host list from the previous step via the -f switch and running sniper in airstrike mode via the -m airstrike options. This will store all gathered data to our workspace and combine the data from all hosts scanned under /usr/share/sniper/loot/workspace//. Some basic info gathered from this mode include: DNS, open ports, HTTP headers, SSL ciphers, web fingerprints, TCP banners, WAF detection and basic file/directory and passive URL discovery.
After the Sn1per finishes scanning all hosts in our workspace, Sn1per Professional gives us some high level info via the console for each host as shown below. This will help us get a high level visual of the attack surface based on which ports are open, interesting HTTP headers, page titles and DNS records. It will become very clear that if the host has no DNS or open ports, there probably isn't much of an attack surface to dig into further. It's best to focus on interesting ports (ie. port 21 (FTP), port 22 (SSH), 3306 (MySQL), etc.) and web targets with interesting headers (ie. Server: Apache Tomcat v7.0.0) may be vulnerable and have known exploit code available.
Professional Reporting Interface
After our report gets generated, we can see Sn1per enumerated and scanned 1268 unique hosts automatically. As a penetration tester, you can now sift through all the information contained in your workspace to begin looking for interesting hosts and potential vulnerabilities. To help us manage all this data, we will leverage Sn1per Professional for the next steps in the process. Sn1per Professional offers the following features to help make our lives a bit easier.
- Professional reporting interface.
- Slideshow for all gathered screenshots.
- Searchable and sortable DNS, IP and open port database.
- Quick links to online recon tools and Google hacking queries.
- Personalized notes field for each host.
Slideshow For All Gathered Screenshots
From here, we can perform visual recon via the "Slideshow" feature in Sn1per Pro. This can reveal all sorts of potentially interesting hosts which can help identify which hosts need to be scanned further for more information.
Searchable/Sortable DNS, IP and Open Port Database
To supplement our surface level reconnaissance, we can also utilize the "Port List" feature which provides a widget of all subdomains, open ports, DNS and page titles. All data stored within this widget can then be sorted and searched for based on your needs (ie. If you're looking for port 22/tcp (SSH), search for "22". If you want to find all virtual hosts in the environment based on the same page title, enter the full page title (ie. "Overstock Cars"), etc. The possibilities here are endless but we can quickly find interesting hosts and ports or DNS records using this feature in Sn1per Professional.
This concludes part one of this series. This is by no means a comprehensive recon tutorial, but it should be enough to get you started in the process. Stay tuned for more recon tips and tricks for getting the most out of your bug bounty and pentest recon with Sn1per.