https://github.com/m4ary/shodan-executer
Shodan Executer: A Python tool for scanning and testing remote systems via the Shodan API.
https://github.com/m4ary/shodan-executer
automation cybersecurity enumeration hacking python reconnaissance shodan shodan-api
Last synced: about 1 year ago
JSON representation
Shodan Executer: A Python tool for scanning and testing remote systems via the Shodan API.
- Host: GitHub
- URL: https://github.com/m4ary/shodan-executer
- Owner: m4ary
- License: mit
- Created: 2023-10-25T12:37:12.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-21T09:01:44.000Z (over 2 years ago)
- Last Synced: 2023-11-21T10:26:22.254Z (over 2 years ago)
- Topics: automation, cybersecurity, enumeration, hacking, python, reconnaissance, shodan, shodan-api
- Language: Python
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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
```
2. Navigate to the Shodan Executer directory:
```
cd Shodan-Executer
```
3. 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 -p [--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](https://choosealicense.com/licenses/mit/)