Skip to content

Shodan Executer: A Python tool for scanning and testing remote systems via the Shodan API.

License

Notifications You must be signed in to change notification settings

m4ary/Shodan-Executer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shodan Executer

Shodan Executer is a tool designed to utilize the Shodan API to scan and test remote systems for specific vulnerabilities or configurations based on user-defined parameters.

Features

  • Shodan Integration: Leverage the power of the Shodan API to identify potential targets.
  • Custom Configurations: Easily specify test configurations through a JSON file.
  • Multithreading: Efficiently test multiple targets concurrently.
  • Progress Tracking: Ability to resume testing from where it left off.
  • Output Management: Organize logs and results in a specified project folder.
  • Smoke Testing: Run limited tests to verify functionality.

Installation

  1. Clone the repository:
git clone https://github.com/m4ary/Shodan-Executer
  1. Navigate to the Shodan Executer directory:
cd Shodan-Executer
  1. Install the required Python libraries:
pip install -r requirements.txt

Configuration

Configuration parameters should be defined in a JSON file named config.json. A template (config_template.json) is provided in the repository. Rename this file to config.json and fill in the necessary details.

Here are the configuration parameters with examples:

  • SHODAN_API_KEY: Your Shodan API key. (e.g., "YOUR_SHODAN_API_KEY_HERE")
  • remote_code_on_target: The command you want to execute on the target. (e.g., "nc {ip} {port}")
  • success_text: Text that indicates a successful test. (e.g., "Connection successful")
  • error_text: Text that indicates a failed test. (e.g., "Connection failed")
  • search_query: Your Shodan search query. (e.g., "apache")
  • target_port: Target port for the test. (e.g., "80")
  • limit: Limit for the Shodan search results. (e.g., "100")
  • num_threads: Number of threads for testing. (e.g., "10")
  • thread_timeout: Timeout for each thread in seconds. (e.g., "60")

Usage

python Shodan_Executer.py -c <config_file> -p <project_folder> [--smoke] [--reset]
  • -c, --config: Specify the path to the configuration file (Required).
  • -p, --project: Specify the project folder for logs and results (Default: default_project).
  • --smoke: Run a smoke test to verify functionality.
  • --reset: Start from scratch, moving previous logs/results to a backup directory.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

About

Shodan Executer: A Python tool for scanning and testing remote systems via the Shodan API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages