Skip to content

Introduction

Plugins are the core of the Nucke. They are responsible for every scan that we can perform with the tool. For example, if you want to run an SQL injection scan on an application, you will need to use an SQL injection plugin for that.

Proposal

The proposal of Nucke is to be a completely flexible tool, allowing researchers to develop plugins to identify dynamic vulnerabilities of high complexity.

The tool is not intended to be a CVE scanner. For that, we already have Nuclei, which fulfills this goal very well ;)

Using a Plugin

To use a plugin, we need to create a configuration file and specify the directory where the plugin is located. By doing this, for each request received by Nucke, the plugin (scan) will be executed on the request.

Example

Below is an example of the configuration file: config.yaml

scope: ".*example\.com" # Regex to filter scope to scan
plugins:
  - name: Example
    path: ~/Desktop/plugins/
    ids:
      - "*" # It will load all plugins
    exclude:
      - xss-blind # Exclude specific plugins
    webhook: "https://webhook.com/event" # Webhook to receive scan results

Remember: The plugin id should be the name of the plugin. E.g.: sample.go => sample

To load the config file, just run nucke using -config argument:

nucke -config config.yaml