grinder  by sdnewhop

CLI tool for automated internet host enumeration and fingerprinting

created 6 years ago
299 stars

Top 90.0% on sourcepulse

GitHubView on GitHub
Project Summary

The Grinder Framework is a Python-based tool for automated internet-connected device discovery and fingerprinting. It targets security researchers and developers needing to enumerate hosts, identify services, and analyze vulnerabilities across large datasets, offering a comprehensive solution for internet-wide scanning and analysis.

How It Works

Grinder leverages Shodan and Censys APIs for initial host discovery, then employs a multi-processed Nmap wrapper for port and service scanning. It integrates with the Vulners API to retrieve exploit and vulnerability information, and can also analyze SSL/TLS configurations. The framework supports custom Python and Lua scripts for extended analysis and can generate interactive world maps and plots for data visualization.

Quick Start & Requirements

  • Install: Clone the repository, create a virtual environment (python3 -m venv grindervenv, source grindervenv/bin/activate), install requirements (pip3 install -r requirements.txt).
  • Prerequisites: Python 3.6+, python3-tk, FreeType library (Python 3.8+), Shodan and Censys accounts. Optional: Vulners account, Nmap 7.60+, Java 8 and TLS-Attacker 3.0 for TLS scanning.
  • Configuration: Set API keys via command-line arguments or environment variables (SHODAN_API_KEY, CENSYS_API_ID, CENSYS_API_SECRET, VULNERS_API_KEY).
  • Run: ./grinder.py -h for help, ./grinder.py -r -q queries/servers.json for basic enumeration.
  • Docs: Wiki

Highlighted Details

  • Automated host enumeration using Shodan and Censys.
  • Enhanced scanning with Nmap and Vulners API integration.
  • Interactive map visualization of discovered hosts.
  • Support for custom Python and NSE scripts.
  • TLS scanning capabilities for configuration and vulnerability analysis.

Maintenance & Community

The project appears to be actively developed, with ongoing work on NSE script integration and testing modules. Users can contribute via pull requests or issues.

Licensing & Compatibility

The repository does not explicitly state a license in the README. Compatibility for commercial use or closed-source linking would require clarification on licensing.

Limitations & Caveats

The README notes that NSE script execution is still a work-in-progress and will be run sequentially. Some tests are also marked as WIP. The project's licensing is not specified, which may impact commercial adoption.

Health Check
Last commit

4 years ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
2 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.