CpanelScanner is a Go CLI tool that reads hosts from stdin, probes HTTPS on a configured port (default 2087), and checks whether the response contains a configured marker string (for example <title>WHM Login</title>).
Its intended use is to identify internet-exposed cPanel/WHM instances so they can be tested in authorized environments against CVE-2026-41940 (cPanel & WHM Authentication Bypass).
If a match is found, the resolved URL is appended to whm.txt.
- Concurrent scanning using configurable worker count
- Config-driven probe behavior via
config.toml - Simple
stdinpipeline workflow for host input - Structured logging with optional debug mode
- Go
1.26.2or compatible environment - Linux/macOS/Windows with network access to target hosts
Edit config.toml:
[scanner]
port = 2087
max_workers = 1000
key = "<title>WHM Login</title>"
[cve]
check_vuln = true
debug = trueKey fields:
scanner.port: target HTTPS portscanner.max_workers: max concurrent probesscanner.key: string to match in response bodycve.debug: enables debug logs
go build -o cpanel-scanner ./cmdThis tool is intended to consume zmap stdout.
Recommended usage:
zmap -p 2087 | go run cmd/main.goYou can also use a built binary in the same pipeline:
zmap -p 2087 | ./cpanel-scannerAccepted input formats per line:
hosthost:port(host portion is used for probing)[host]:port
- Matched URLs are appended to
whm.txtin the project directory.
I do not endorse misuse of this tool.
Port scanning and service probing may be illegal or violate terms/policies when performed without explicit authorization. You are fully responsible for how you use this software, including compliance with all applicable laws, regulations, and network policies.