ShonyDanza is a customizable, easy-to-navigate tool for researching, pen testing, and defending with the power of Shodan.
With ShonyDanza, you can:
- Obtain IPs based on search criteria
- Automatically exclude honeypots from the results based on your pre-configured thresholds
- Pre-configure all IP searches to filter on your specified net range(s)
- Pre-configure search limits
- Use build-a-search to craft searches with easy building blocks
- Use stock searches and pre-configure your own stock searches
- Check if IPs are known malware C2s
- Get host and domain profiles
- Scan on-demand
- Find exploits
- Get total counts for searches and exploits
- Automatically save exploit code, IP lists, host profiles, domain profiles, and scan results to directories within ShonyDanza
git clone https://github.com/fierceoj/ShonyDanza.git
Requirements
- python3
- shodan library
cd ShonyDanza
pip3 install -r requirements.txt
Usage
Edit config.py to include your desired configurationscd configs
sudo nano config.py
config file for shonydanza searches
REQUIRED
maximum number of results that will be returned per search
default is 100
SEARCH_LIMIT = 100
REQUIRED
IPs exceeding the honeyscore limit will not show up in IP results
scale is 0.0 to 1.0
adjust to desired probability to restrict results by threshold, or keep at 1.0 to include all results
HONEYSCORE_LIMIT = 1.0
REQUIRED – at least one key: value pair
add a shodan dork to the dictionary below to add it to your shonydanza stock searches menu
see https://github.com/jakejarvis/awesome-shodan-queries for a great source of queries
check into “vuln:” filter if you have Small Business Plan or higher (e.g., vuln:cve-2019-11510)
STOCK_SEARCHES = {
‘ANONYMOUS_FTP’:’ftp anonymous ok’,
‘RDP’:’port:3389 has_screenshot:true’,
‘OPEN_TELNET’:’port:23 console gateway -password’,
‘APACHE_DIR_LIST’:’http.title:”Index of /”‘,
‘SPRING_BOOT’:’http.favicon.hash:116323821′,
‘HP_PRINTERS’:'”Serial Number:” “Built:” “Server: HP HTTP”‘,
‘DOCKER_API’:'”Docker Containers:” port:2375′,
‘ANDROID_ROOT_BRIDGE’:'”Android Debug Bridge” “Device” port:5555′,
‘MONGO_EXPRESS_GUI’:'”Set-Cookie: mongo-express=” “200 OK”‘,
‘CVE-2019-11510_PULSE_VPN’:’http.html:/dana-na/’,
‘CVE-2019-19781_CITRIX_NETSCALER’:’http.waf:”Citrix NetScaler”‘,
‘CVE-2020-5902_F5_BIGIP’:’http.favicon.hash:-335242539 “3992”‘,
‘CVE-2020-3452_CISCO_ASA_FTD’:’200 “Set-Cookie: webvpn;”‘
}
OPTIONAL
IP or cidr range constraint for searches that return list of IP addresses
use comma-separated list to designate multiple (e.g. 1.1.1.1,2.2.0.0/16,3.3.3.3,3.3.3.4)
NET_RANGE = ‘0.0.0.0/0’
Runcd ../
python3 shonydanza.py