Inspired by Lazy-Hunter
ipvuln is a command-line tool written in Go that leverages Shodan's Internetdb API to perform reconnaissance on IP addresses. It can identify open ports, associated hostnames, and known vulnerabilities (CVEs) for target IPs.
- IP Scanning: Scan single IP addresses, a list of IPs from a file, or IPs piped via standard input. Automatically parses CIDR ranges.
- Port Discovery: Lists open ports found on the target IP(s).
- Hostname Resolution: Displays hostnames associated with the target IP(s).
- CVE Identification: Fetches and displays Common Vulnerabilities and Exposures (CVEs) linked to the IP, including severity levels and summaries.
- Concurrency: Process multiple IP addresses concurrently to speed up scanning.
To install ipvuln, you need to have Go installed on your system.
- Clone the repository (if applicable) or navigate to the
ipvulndirectory:cd /path/to/ipvuln - Build the executable:
This will create an executable named
go build -o ipvuln
ipvulnin the current directory.
By default, if no specific display flags are provided, ipvuln will show open ports, hostnames, and CVEs.
# Example using stdin (replace with your IP source)
echo "8.8.8.8" | ./ipvuln-ip <IP_ADDRESS>: Specify a single IP address to scan.-file <FILE_PATH>: Provide a file containing a list of IP addresses (one per line).-cves: Show only CVEs.-ports: Show only open ports.-host: Show only hostnames.-cve+ports: Show CVEs with severity level and associated open ports.-c <NUMBER>: Set the number of concurrent IP scans (default is 10).
Scan a single IP and show all default information:
./ipvuln -ip 54.198.147.148Scan IPs from a file, showing only CVEs:
./ipvuln -file ips.txt -cvesScan IPs piped from another tool, showing hostnames and ports, with 20 concurrent scans:
cat ips.txt | ./ipvuln -host -ports -c 20Scan IPs from stdin, showing CVEs with ports:
echo "54.198.147.148" | ./ipvuln -cve+portsScan a CIDR range from stdin:
echo "192.168.1.0/30" | ./ipvuln