Recon NG Guide
Recon NG Guide
Recon NG Guide
Reference
Automate your
Intelligence Collection
Recon-ng Reference
Automate your Intelligence Collection
1
Recon-ng is an incredible tool for automating OSINT collection, but
its power comes with complexity. Modules offer their own capabilities
and options, and knowing what they all do takes many long hours
of practice. This reference book helps you navigate the power at
your fingertips without endlessly guessing at what modules do and
constantly typing “show info.” The module descriptions below are all
extracted directly from recon-ng’s source code, so you know they’re
straight from the source.
Happy hunting!
Dakota
2
Contents
Discovery 7
DNS Cache Snooper . . . . . . . . . . . . . . . . . . . . . . . . . 7
Interesting File Finder . . . . . . . . . . . . . . . . . . . . . . . . 7
Exploitation 8
Xpath Injection Brute Forcer . . . . . . . . . . . . . . . . . . . . 8
Remote Command Injection Shell Interface . . . . . . . . . . . . 8
Recon 9
DNS Public Suffix Brute Forcer . . . . . . . . . . . . . . . . . . . 9
Ports to Hosts Data Migrator . . . . . . . . . . . . . . . . . . . . 9
Hosts to Domains Data Migrator . . . . . . . . . . . . . . . . . . 9
LinkedIn Authenticated Contact Enumerator . . . . . . . . . . . 9
Bing Cache Linkedin Profile and Contact Harvester . . . . . . . . 9
Indeed Resume Crawl . . . . . . . . . . . . . . . . . . . . . . . . 10
Jigsaw - Single Contact Retriever . . . . . . . . . . . . . . . . . . 10
Jigsaw - Point Usage Statistics Fetcher . . . . . . . . . . . . . . . 10
Jigsaw Contact Enumerator . . . . . . . . . . . . . . . . . . . . . 11
Twitter Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
OSINT HUMINT Profile Collector . . . . . . . . . . . . . . . . . 11
NameChk.com Username Validator . . . . . . . . . . . . . . . . . 11
Hashes.org Hash Lookup . . . . . . . . . . . . . . . . . . . . . . . 11
PyBozoCrack Hash Lookup . . . . . . . . . . . . . . . . . . . . . 12
Adobe Hash Cracker . . . . . . . . . . . . . . . . . . . . . . . . . 12
Shodan IP Enumerator . . . . . . . . . . . . . . . . . . . . . . . . 12
Contact Name Mangler . . . . . . . . . . . . . . . . . . . . . . . 12
Contact Name Unmangler . . . . . . . . . . . . . . . . . . . . . . 13
MailTester Email Validator . . . . . . . . . . . . . . . . . . . . . 13
Github Code Enumerator . . . . . . . . . . . . . . . . . . . . . . 13
Meta Data Extractor . . . . . . . . . . . . . . . . . . . . . . . . . 13
3
Whois POC Harvester . . . . . . . . . . . . . . . . . . . . . . . . 14
PGP Key Owner Lookup . . . . . . . . . . . . . . . . . . . . . . 14
Reverse Geocoder . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Address Geocoder . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Github Profile Harvester . . . . . . . . . . . . . . . . . . . . . . . 14
Dev Diver Repository Activity Examiner . . . . . . . . . . . . . . 15
IPInfoDB GeoIP . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Hostname Resolver . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Bing API IP Neighbor Enumerator . . . . . . . . . . . . . . . . . 15
Reverse Resolver . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
FreeGeoIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
SSLTools.com Host Name Lookups . . . . . . . . . . . . . . . . . 16
Flickr Geolocation Search . . . . . . . . . . . . . . . . . . . . . . 16
Instagram Geolocation Search . . . . . . . . . . . . . . . . . . . . 16
Twitter Geolocation Search . . . . . . . . . . . . . . . . . . . . . 17
Shodan Geolocation Search . . . . . . . . . . . . . . . . . . . . . 17
Picasa Geolocation Search . . . . . . . . . . . . . . . . . . . . . . 17
YouTube Geolocation Search . . . . . . . . . . . . . . . . . . . . 17
Reverse Resolver . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Shodan Network Enumerator . . . . . . . . . . . . . . . . . . . . 18
PwnedList - Account Credentials Fetcher . . . . . . . . . . . . . 18
PwnedList - Leak Details Fetcher . . . . . . . . . . . . . . . . . . 18
PwnedList - Pwned Domain Credentials Fetcher . . . . . . . . . 18
PwnedList - Leak Details Retriever . . . . . . . . . . . . . . . . . 19
PwnedList - Pwned Domain Statistics Fetcher . . . . . . . . . . . 19
PwnedList - API Usage Statistics Fetcher . . . . . . . . . . . . . 19
Whois Company Harvester . . . . . . . . . . . . . . . . . . . . . 19
FullContact Contact Enumerator . . . . . . . . . . . . . . . . . . 19
Bing Hostname Enumerator . . . . . . . . . . . . . . . . . . . . . 20
Shodan Hostname Enumerator . . . . . . . . . . . . . . . . . . . 20
BuiltWith Enumerator . . . . . . . . . . . . . . . . . . . . . . . . 20
4
HackerTarget Lookup . . . . . . . . . . . . . . . . . . . . . . . . 20
Bing API Hostname Enumerator . . . . . . . . . . . . . . . . . . 21
Netcraft Hostname Enumerator . . . . . . . . . . . . . . . . . . . 21
DNS Hostname Brute Forcer . . . . . . . . . . . . . . . . . . . . 21
ThreatCrowd DNS lookup . . . . . . . . . . . . . . . . . . . . . . 21
VPNHunter Lookup . . . . . . . . . . . . . . . . . . . . . . . . . 21
Google CSE Hostname Enumerator . . . . . . . . . . . . . . . . . 22
Google Hostname Enumerator . . . . . . . . . . . . . . . . . . . . 22
SSL SAN Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
PunkSPIDER Vulnerabilty Finder . . . . . . . . . . . . . . . . . 22
Google Hacking Database . . . . . . . . . . . . . . . . . . . . . . 22
XSSed Domain Lookup . . . . . . . . . . . . . . . . . . . . . . . 23
XSSposed Domain Lookup . . . . . . . . . . . . . . . . . . . . . . 23
Have I been pwned? Breach Search . . . . . . . . . . . . . . . . . 23
Have I been pwned? Paste Search . . . . . . . . . . . . . . . . . . 23
Whois Data Miner . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Github Resource Miner . . . . . . . . . . . . . . . . . . . . . . . 24
Internet Census 2012 Lookup . . . . . . . . . . . . . . . . . . . . 24
censys.io port lookup by netblock . . . . . . . . . . . . . . . . . . 24
Hosts to Locations Data Migrator . . . . . . . . . . . . . . . . . 24
Github Gist Searcher . . . . . . . . . . . . . . . . . . . . . . . . . 25
Github Dork Analyzer . . . . . . . . . . . . . . . . . . . . . . . . 25
Github Commit Searcher . . . . . . . . . . . . . . . . . . . . . . 25
Contacts to Domains Data Migrator . . . . . . . . . . . . . . . . 25
Reporting 26
XML Report Generator . . . . . . . . . . . . . . . . . . . . . . . 26
HTML Report Generator . . . . . . . . . . . . . . . . . . . . . . 26
PushPin Report Generator . . . . . . . . . . . . . . . . . . . . . 26
List Creator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
JSON Report Generator . . . . . . . . . . . . . . . . . . . . . . . 26
CSV File Creator . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
XLSX File Creator . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5
Import 28
Advanced CSV File Importer . . . . . . . . . . . . . . . . . . . . 28
List File Importer . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6
Discovery
DNS Cache Snooper
Uses the DNS cache snooping technique to check for visited domains
7
Exploitation
Xpath Injection Brute Forcer
Provides a shell interface for remote command injection flaws in web applications.
8
Recon
DNS Public Suffix Brute Forcer
Brute forces TLDs and SLDs using DNS. Updates the ‘domains’ table with the
results.
Adds a new host for all the hostnames stored in the ‘ports’ table.
Adds a new domain for all the hostnames stored in the ‘hosts’ table.
9
Author(s): Joe Black (@MyChickenNinja) and @fullmetalcache
Harvests profiles from LinkedIn by querying the Bing API cache for LinkedIn
pages related to the given companies, and adds them to the ‘profiles’ table.
The module will then parse the resulting information to extract the user’s full
name and job title (title parsing is a bit spotty currently). The user’s full name
and title are then added to the ‘contacts’ table. This module does not access
LinkedIn at any time.
Crawls Indeed.com for contacts and resumes. Adds name, title, and location
to the contacts table and a link to the resume in the profiles table. Can only
harvest the first 1,000 results. Result set changes, so running the same crawl
mutiple times can produce new contacts. If the PAST_EMPS option is set to
true, the module will crawl both current and past employees. Given a keyword,
the module will only harvest contacts whose resumes contain the keyword. (e.g.
Linux Admin)
Retrieves a single complete contact from the Jigsaw.com API using points from
the given account.
Queries the Jigsaw API for the point usage statistics of the given account.
10
Jigsaw Contact Enumerator
Harvests contacts from the Jigsaw.com API. Updates the ‘contacts’ table with
the results.
Twitter Handles
Searches Twitter for users that mentioned, or were mentioned by, the given
handle.
Takes each username from the profiles table and searches a variety of web
sites for those users. The list of valid sites comes from the parent project at
https://github.com/WebBreacher/WhatsMyName
11
Author(s): Tim Tomes (@LaNMaSteR53) and Mike Lisi (@MikeCodesThings)
Uses the Hashes.org API to perform a reverse hash lookup. Updates the ‘cre-
dentials’ table with the positive results.
Searches Google for the value of a hash and tests for a match by hashing every
word in the resulting page using all hashing algorithms supported by the ‘hashlib’
library. Updates the ‘credentials’ table with the positive results.
Decrypts hashes leaked from the 2013 Adobe breach. First, the module cross
references the leak ID to identify Adobe hashes in the ‘password’ column of
the ‘creds’ table, moves the Adobe hashes to the ‘hash’ column, and changes
the ‘type’ to ‘Adobe’. Second, the module attempts to crack the hashes by
comparing the ciphertext’s decoded cipher blocks to a local block lookup table
(BLOCK_DB) of known cipher block values. Finally, the module updates the
‘creds’ table with the results based on the level of success.
Shodan IP Enumerator
Harvests port information from the Shodan API by using the ‘ip’ search operator.
Updates the ‘ports’ table with the results.
12
Author(s): Tim Tomes (@LaNMaSteR53)
Applies a mangle pattern to all of the contacts stored in the database, creating
email addresses or usernames for each harvested contact. Updates the ‘contacts’
table with the results.
Applies a regex or unmangle pattern to all of the contacts stored in the database,
pulling out the individual name components. Updates the ‘contacts’ table with
the results.
Uses the Github API to enumerate repositories and gists owned by a Github
user. Updates the ‘repositories’ table with the results.
Searches for files associated with the provided domain(s) and extracts any contact
related metadata.
13
Whois POC Harvester
Uses the ARIN Whois RWS to harvest POC data from whois queries for the
given domain. Updates the ‘contacts’ table with the results.
Searches the MIT public PGP key server for email addresses of the given domain.
Updates the ‘contacts’ table with the results.
Reverse Geocoder
Address Geocoder
Queries the Google Maps API to obtain coordinates for an address. Updates
the ‘locations’ table with the results.
14
Uses the Github API to gather user info from harvested profiles. Updates the
‘contacts’ table with the results.
IPInfoDB GeoIP
Hostname Resolver
Resolves the IP address for a host. Updates the ‘hosts’ table with the results.
Leverages the Bing API and “ip:” advanced search operator to enumerate other
virtual hosts sharing the same IP address. Updates the ‘hosts’ table with the
results.
15
Reverse Resolver
Conducts a reverse lookup for each IP address to resolve the hostname. Updates
the ‘hosts’ table with the results.
FreeGeoIP
Uses the ssltools.com site to obtain host names from a site’s SSL certificate
metadata to update the ‘hosts’ table. Security issues with the certificate trust
are pushed to the ‘vulnerabilities’ table.
16
Author(s): Nathan Malcolm (@SintheticLabs) and Tim Tomes (@LaNMaSteR53)
Searches the YouTube API for media in the specified proximity to a location.
Reverse Resolver
17
Author(s): John Babio (@3vi1john)
Harvests hosts from the Shodan API by using the ‘net’ search operator. Updates
the ‘hosts’ table with the results.
Queries the PwnedList API for credentials associated with the given usernames.
Updates the ‘credentials’ table with the results.
Queries the local database for information associated with a leak ID. The
‘leaks_dump’ module must be used to populate the local database before this
module will execute successfully.
Queries the PwnedList API to fetch all credentials for a domain. Updates the
‘credentials’ table with the results.
18
PwnedList - Leak Details Retriever
Queries the PwnedList API for information associated with all known leaks.
Updates the ‘leaks’ table with the results.
Queries the PwnedList API for a domain to determine if any associated credentials
have been compromised. This module does NOT return any credentials, only a
total number of compromised credentials.
Uses the ARIN Whois RWS to harvest Companies data from whois queries for
the given netblock. Updates the ‘companies’ table with the results.
19
Tomes (@LaNMaSteR53)
Harvests contact information and profiles from the fullcontact.com API using
email addresses as input. Updates the ‘contacts’ and ‘profiles’ tables with the
results.
Harvests hosts from Bing.com by using the ‘site’ search operator. Updates the
‘hosts’ table with the results.
Harvests hosts from the Shodan API by using the ‘hostname’ search operator.
Updates the ‘hosts’ table with the results.
BuiltWith Enumerator
Leverages the BuiltWith API to identify hosts, technologies, and contacts asso-
ciated with a domain.
HackerTarget Lookup
Uses the HackerTarget.com API to find host names. Updates the ‘hosts’ table
with the results.
20
Bing API Hostname Enumerator
Leverages the Bing API and “domain:” advanced search operator to harvest
hosts. Updates the ‘hosts’ table with the results.
Harvests hosts from Netcraft.com. Updates the ‘hosts’ table with the results.
Brute forces host names using DNS. Updates the ‘hosts’ table with the results.
VPNHunter Lookup
Checks vpnhunter.com for SSL VPNs, remote accesses, email portals and generic
login sites. Updates the ‘hosts’ table with the results.
21
Google CSE Hostname Enumerator
Leverages the Google Custom Search Engine API to harvest hosts using the
‘site’ search operator. Updates the ‘hosts’ table with the results.
Harvests hosts from Google.com by using the ‘site’ search operator. Updates
the ‘hosts’ table with the results.
Uses the ssltools.com site to obtain the Subject Alternative Names for a domain.
Updates the ‘hosts’ table with the results.
22
Author(s): Tim Tomes (@LaNMaSteR53)
Checks XSSed.com for XSS records associated with a domain and displays the
first 20 results.
23
Whois Data Miner
Uses the ARIN Whois RWS to harvest companies, locations, netblocks, and
contacts associated with the given company search string. Updates the respective
tables with the results.
Uses the Github API to enumerate repositories and member profiles associated
with a company search string. Updates the respective tables with the results.
24
Author(s): Tim Tomes (@LaNMaSteR53)
Adds a new location for all the locations stored in the ‘hosts’ table.
Uses the Github API to download and search Gists for possible information
disclosures. Updates the ‘vulnerabilities’ table with the results.
Uses the Github API to search for possible vulnerabilites in source code by lever-
aging Github Dorks and the ‘repo’ search operator. Updates the ‘vulnerabilities’
table with the results.
Uses the Github API to gather user profiles from repository commits. Updates
the ‘profiles’ table with the results.
Adds a new domain for all the hostnames associated with email addresses stored
in the ‘contacts’ table.
25
Reporting
XML Report Generator
Creates HTML media and map reports for all of the PushPins stored in the
database.
List Creator
26
Creates a JSON report.
Creates an Excel compatible XLSX file containing the entire data set.
27
Import
Advanced CSV File Importer
Imports values from a list file into a database table and column.
28