A simple template based vulnerability scanner (Inspired by ProjectDiscovery's Nuclei)
nuclipy depends upon python3 and the following modules requests, argparse and PyYaml.
- Installation on Windows:
python -m pip install nuclipy
- Installation on Linux:
sudo pip3 install nuclipy
| Short from | Long form | Description |
|---|---|---|
| -h | --help | Show the help menu |
| -u | --hostname | Hostname to scan for vulnerabilities |
| -U | --hostnames | File containing target hostnames |
| -t | --template | Template id or path of template |
| -T | --threads | Number of threads (default=10) |
| -o | --output | Output file |
You can find some templates in templates/ directory.
- Use a specific template
python -m nuclipy -u example.com -t git-config.yaml
- Use all templates
python -m nuclipy -u example.com -t all
- Save the output to a file
python -m nuclipy -u example.com -t all -o nuclipy-output.txt
- Check all templates, for multiple targets
python -m nuclipy -U target_hostnames.txt -t all
id: git-config
name: Git Config Exposure
severity: medium
requests:
- method: GET
paths:
- "HOSTNAME/.git/config"
patterns:
- \[core\]id: id_of_the_template, usually resembles to the filename of the template without extensionname: Name of the template to show in the resultsseverity: severity of the vulnerability (high,low,mediumorinfo)requests: Some request attributes and List ofpathsandpatternsmethod: HTTP request method (GETorPOST)redirects: Allow redirection or not (tureorfalse)paths: List of paths to send requestspatterns: List of Regular Expressioins to match in the responses (withANDcondition)