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
,medium
orinfo
)requests
: Some request attributes and List ofpaths
andpatterns
method
: HTTP request method (GET
orPOST
)redirects
: Allow redirection or not (ture
orfalse
)paths
: List of paths to send requestspatterns
: List of Regular Expressioins to match in the responses (withAND
condition)