diff options
| author | Danilo M. <danix@danix.xyz> | 2026-04-03 22:38:52 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-04-03 22:38:52 +0200 |
| commit | ff22ff3ffa55cc607aacc1bf4fa026e651466c9a (patch) | |
| tree | 6b0ebb98cf1bb666c2c7e513b43be481ce7c7b09 /nuclei | |
| parent | c393d0e98cd3fdf02305f7659afa1bb1e4a02a7e (diff) | |
| download | slackware-pentesting-suite-ff22ff3ffa55cc607aacc1bf4fa026e651466c9a.tar.gz slackware-pentesting-suite-ff22ff3ffa55cc607aacc1bf4fa026e651466c9a.zip | |
moved all packages to the root of the repository
Diffstat (limited to 'nuclei')
| -rw-r--r-- | nuclei/README | 21 | ||||
| -rw-r--r-- | nuclei/nuclei.SlackBuild | 129 | ||||
| -rw-r--r-- | nuclei/nuclei.info | 10 | ||||
| -rw-r--r-- | nuclei/patches/Build-doc.patch | 31 | ||||
| -rw-r--r-- | nuclei/patches/Change-default-directory-of-nuclei-templates.patch | 25 | ||||
| -rw-r--r-- | nuclei/patches/Disable-update.patch | 22 | ||||
| -rw-r--r-- | nuclei/patches/series | 3 | ||||
| -rw-r--r-- | nuclei/slack-desc | 19 |
8 files changed, 260 insertions, 0 deletions
diff --git a/nuclei/README b/nuclei/README new file mode 100644 index 0000000..c2f70b6 --- /dev/null +++ b/nuclei/README @@ -0,0 +1,21 @@ +Nuclei is a modern, high-performance vulnerability scanner that +leverages simple YAML-based templates. +It empowers you to design custom vulnerability detection scenarios that +mimic real-world conditions, leading to zero false positives. + + - Simple YAML format for creating and customizing vulnerability + templates. + - Contributed by thousands of security professionals to tackle + trending vulnerabilities. + - Reduce false positives by simulating real-world steps to verify a + vulnerability. + - Ultra-fast parallel scan processing and request clustering. + - Integrate into CI/CD pipelines for vulnerability detection and + regression testing. + - Supports multiple protocols like TCP, DNS, HTTP, SSL, WHOIS, + JavaScript, Code and more. + - Integrate with Jira, Splunk, GitHub, Elastic, GitLab. + +Only the nuclei binary will be linked in /usr/bin. All the other +binaries will be available in /opt/nuclei/bin + diff --git a/nuclei/nuclei.SlackBuild b/nuclei/nuclei.SlackBuild new file mode 100644 index 0000000..fa5706e --- /dev/null +++ b/nuclei/nuclei.SlackBuild @@ -0,0 +1,129 @@ +#!/bin/bash + +# Slackware build script for nuclei + +# Copyright 2026 danix < danix@danix.xyz > +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=nuclei +VERSION=${VERSION:-3.7.1} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Apply patches +if compgen -G "$CWD/patches/*.patch" > /dev/null; then + if [ -f "$CWD/patches/series" ]; then + while IFS= read -r PATCH; do + [ -z "$PATCH" ] && continue + [ "${PATCH#\#}" != "$PATCH" ] && continue + patch -p1 -i "$CWD/patches/$PATCH" + done < "$CWD/patches/series" + else + for PATCH in "$CWD"/patches/*.patch; do + patch -p1 -i "$PATCH" + done + fi +fi + +MOD_STRATEGY="-mod=readonly" +export CGO_CPPFLAGS="$SLKCFLAGS" +export CGO_CFLAGS="$SLKCFLAGS" +export CGO_CXXFLAGS="$SLKCFLAGS" +export GOPATH="$(pwd)/.gocache" +export GOPROXY="https://proxy.golang.org,direct" +export GOFLAGS="$MOD_STRATEGY -buildmode=pie -trimpath -modcacherw" +LIB_LDFLAGS="-linkmode=external -s -w" + +mkdir -p "$PKG"/usr/bin +mkdir -p "$PKG"/opt/${PRGNAM}/bin +go build -ldflags="$LIB_LDFLAGS" -o "$PKG"/opt/${PRGNAM}/bin ./... + +ln -sf ../../opt/${PRGNAM}/bin/nuclei "$PKG"/usr/bin/nuclei + +# cleanup to save space +rm -rf "$GOPATH" +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + CLAUDE.md CONTRIBUTING.md DEBUG.md DESIGN.md LICENSE.md README.md SYNTAX-REFERENCE.md THANKS.md \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +# a .md file was shipping as 775 from upstream +chmod 644 $PKG/usr/doc/$PRGNAM-$VERSION/* + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/nuclei/nuclei.info b/nuclei/nuclei.info new file mode 100644 index 0000000..60404bf --- /dev/null +++ b/nuclei/nuclei.info @@ -0,0 +1,10 @@ +PRGNAM="nuclei" +VERSION="3.7.1" +HOMEPAGE="https://github.com/projectdiscovery/nuclei" +DOWNLOAD="https://github.com/projectdiscovery/nuclei/archive/v3.7.1/nuclei-3.7.1.tar.gz" +MD5SUM="e3a70d60628881fee69d57536c411938" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="google-go-lang" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/nuclei/patches/Build-doc.patch b/nuclei/patches/Build-doc.patch new file mode 100644 index 0000000..17f054e --- /dev/null +++ b/nuclei/patches/Build-doc.patch @@ -0,0 +1,31 @@ +From: Sophie Brun <sophie@offensive-security.com> +Date: Fri, 10 Dec 2021 09:08:38 +0100 +Subject: Build doc + +--- + Makefile | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 719c308..ca2e684 100644 +--- a/Makefile ++++ b/Makefile +@@ -59,10 +59,7 @@ docgen: GOBUILD_OUTPUT = ./bin/docgen + docgen: GOBUILD_PACKAGES = cmd/docgen/docgen.go + docgen: bin = dstdocgen + docgen: +- @if ! which $(bin) >/dev/null; then \ +- echo "Command $(bin) not found! Installing..."; \ +- go install -v github.com/projectdiscovery/yamldoc-go/cmd/docgen/$(bin)@latest; \ +- fi ++ go install -v github.com/projectdiscovery/yamldoc-go/cmd/docgen/$(bin)@latest; \ + # TODO: FIX THIS PANIC + $(GOCMD) generate pkg/templates/templates.go + $(GOBUILD) -o "${GOBUILD_OUTPUT}" $(GOBUILD_PACKAGES) +@@ -156,4 +153,4 @@ template-validate: + ./bin/nuclei -validate \ + -w workflows \ + -et http/technologies \ +- -ept code +\ No newline at end of file ++ -ept code diff --git a/nuclei/patches/Change-default-directory-of-nuclei-templates.patch b/nuclei/patches/Change-default-directory-of-nuclei-templates.patch new file mode 100644 index 0000000..447f42d --- /dev/null +++ b/nuclei/patches/Change-default-directory-of-nuclei-templates.patch @@ -0,0 +1,25 @@ +From: Sophie Brun <sophie@offensive-security.com> +Date: Thu, 20 Apr 2023 14:51:31 +0200 +Subject: Fix path to nuclei-templates + +By default the nuclei-templates is located directly in /home/user. +Change the default location to /home/user/.local + +Last-Update: 2023-06-27 +--- + pkg/catalog/config/constants.go | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pkg/catalog/config/constants.go b/pkg/catalog/config/constants.go +index fab1884..6d78e7f 100644 +--- a/pkg/catalog/config/constants.go ++++ b/pkg/catalog/config/constants.go +@@ -22,7 +22,7 @@ var ( + + const ( + TemplateConfigFileName = ".templates-config.json" +- NucleiTemplatesDirName = "nuclei-templates" ++ NucleiTemplatesDirName = ".local/nuclei-templates" + OfficialNucleiTemplatesRepoName = "nuclei-templates" + NucleiIgnoreFileName = ".nuclei-ignore" + NucleiTemplatesIndexFileName = ".templates-index" // contains index of official nuclei templates diff --git a/nuclei/patches/Disable-update.patch b/nuclei/patches/Disable-update.patch new file mode 100644 index 0000000..3472208 --- /dev/null +++ b/nuclei/patches/Disable-update.patch @@ -0,0 +1,22 @@ +From: Sophie Brun <sophie@offensive-security.com> +Date: Wed, 8 Dec 2021 08:40:42 +0100 +Subject: Disable update + +Last-Update: 2023-10-27 +Updates must be done with apt. +--- + cmd/nuclei/main.go | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/cmd/nuclei/main.go b/cmd/nuclei/main.go +index 8421d1d..095f5d5 100644 +--- a/cmd/nuclei/main.go ++++ b/cmd/nuclei/main.go +@@ -469,7 +469,6 @@ on extensive configurability, massive extensibility and ease of use.`) + ) + + flagSet.CreateGroup("update", "Update", +- flagSet.BoolVarP(&updateNucleiBinary, "update", "up", false, "update nuclei engine to the latest released version"), + flagSet.BoolVarP(&options.UpdateTemplates, "update-templates", "ut", false, "update nuclei-templates to latest released version"), + flagSet.StringVarP(&options.NewTemplatesDirectory, "update-template-dir", "ud", "", "custom directory to install / update nuclei-templates"), + flagSet.CallbackVarP(disableUpdatesCallback, "disable-update-check", "duc", "disable automatic nuclei/templates update check"), diff --git a/nuclei/patches/series b/nuclei/patches/series new file mode 100644 index 0000000..4741101 --- /dev/null +++ b/nuclei/patches/series @@ -0,0 +1,3 @@ +Disable-update.patch +Build-doc.patch +Change-default-directory-of-nuclei-templates.patch diff --git a/nuclei/slack-desc b/nuclei/slack-desc new file mode 100644 index 0000000..c219fdb --- /dev/null +++ b/nuclei/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +nuclei: nuclei (a modern, high-performance vulnerability scanner) +nuclei: +nuclei: Nuclei is a modern, high-performance vulnerability scanner that +nuclei: leverages simple YAML-based templates. +nuclei: It empowers you to design custom vulnerability detection scenarios +nuclei: that mimic real-world conditions, leading to zero false positives. +nuclei: +nuclei: +nuclei: Home: https://github.com/projectdiscovery/nuclei +nuclei: +nuclei: |
