Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sysevil/rusho
subdomain tool cli for shodan by Rust lang
https://github.com/sysevil/rusho
bugbounty hacking hacking-tool recon reconnaissance rust rust-lang subdomain-enumeration
Last synced: 17 days ago
JSON representation
subdomain tool cli for shodan by Rust lang
- Host: GitHub
- URL: https://github.com/sysevil/rusho
- Owner: sysevil
- License: apache-2.0
- Created: 2024-10-26T20:40:53.000Z (20 days ago)
- Default Branch: main
- Last Pushed: 2024-10-26T20:54:25.000Z (20 days ago)
- Last Synced: 2024-10-26T22:38:21.747Z (20 days ago)
- Topics: bugbounty, hacking, hacking-tool, recon, reconnaissance, rust, rust-lang, subdomain-enumeration
- Language: Rust
- Homepage:
- Size: 469 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rust Shodan CLI - Rusho 🦀🏴☠️
A Rust-based CLI utility for querying subdomains and API credits on Shodan, with automatic key rotation to maximize usage.
## Features
- **Credit Check**: Before querying subdomains, the CLI checks if the API key has available credits to prevent request errors.
- **Subdomain Lookup**: Queries subdomains for a specific domain using the Shodan API.
- **Key Rotation**: Allows rotation between multiple Shodan keys specified in a `.txt` file, ensuring that only keys with credits are used.
- **Flexible Configuration**:
- **Default Key Configuration**: If no key file is provided, the application will use the default API key configured in `$HOME/.config/rusho/config.yaml` or passed by the user via flag.
- **Output File**: Specifies a custom output file or defaults to a file named `.rusho`.## Installation
Clone the repository and compile the binary with Rust installed:
```bash
git clone https://github.com/your_username/rusho.git
cd rusho
cargo build --release
```The binary will be available in target/release/rusho.
Usage
./rusho [FLAGS] -d
Flags and Arguments
Flag Description Example
-d, --domain (Required) Defines the domain for subdomain lookup. -d example.com
-c, --config (Optional) Path to a YAML configuration file with the default Shodan key. -c /path/to/config.yaml
-x, --key_file (Optional) .txt file with multiple Shodan keys, one per line, for key rotation. -x /path/to/keys.txt
-o, --output (Optional) Sets the output file to save the found subdomains. -o results.txtExamples
1. Using a Single Shodan Key (configured in the YAML file):
```bash
./rusho -d example.com
```2. Using a File with Multiple Keys for Rotation:
```bash
./rusho -d example.com -x keys.txt
```3. Specifying a Configuration File and an Output File:
```bash
./rusho -d example.com -c custom_config.yaml -o output.txt
```YAML Configuration File Format
To define a default key, the YAML file (config.yaml) should have the following structure:
key: "your_shodan_key_here"
Key File Format (keys.txt)
The keys.txt file should contain one Shodan key per line:
shodan_key_1
shodan_key_2
shodan_key_3- Example
![](rusho.png)