diff --git a/cybersecurity/offensive/information-gathering/ffufai.Dockerfile b/cybersecurity/offensive/information-gathering/ffufai.Dockerfile new file mode 100644 index 0000000..00ec9f5 --- /dev/null +++ b/cybersecurity/offensive/information-gathering/ffufai.Dockerfile @@ -0,0 +1,34 @@ +# ffufai.Dockerfile +# Git clone stage +FROM alpine:latest AS source +RUN apk add --no-cache git +WORKDIR /src +RUN git clone https://github.com/jthack/ffufai.git . || exit 1 + +# Build stage +FROM golang:1.21-alpine AS builder +WORKDIR /build +COPY --from=source /src . + +# Set Go build flags +ENV CGO_ENABLED=0 \ + GOOS=linux \ + GOARCH=amd64 \ + GO111MODULE=on + +# Build optimized binary +RUN go mod download && \ + go build -ldflags="-w -s" -o ffufai main.go + +# Final stage +FROM gcr.io/distroless/static-debian12:nonroot +WORKDIR /app + +# Copy binary and wordlists +COPY --from=builder /build/ffufai /app/ +COPY --from=builder /build/wordlists /app/wordlists + +USER nonroot:nonroot +EXPOSE 8080 + +ENTRYPOINT ["/app/ffufai"] \ No newline at end of file diff --git a/cybersecurity/offensive/information-gathering/ffufai.yml b/cybersecurity/offensive/information-gathering/ffufai.yml new file mode 100644 index 0000000..1766c7d --- /dev/null +++ b/cybersecurity/offensive/information-gathering/ffufai.yml @@ -0,0 +1,77 @@ +# ffufai.yml +description: > + ffufai is an AI-powered web fuzzing tool that combines the power of ffuf with + artificial intelligence to find hidden endpoints and vulnerabilities in web applications. + +categories: + - cybersecurity + - offensive + - information-gathering + +functions: + ffufai_default_scan: + description: Perform a default fuzzing scan against a web target + parameters: + target: + type: string + description: The target URL to fuzz + examples: + - https://example.com + - http://localhost:8080 + wordlist: + type: string + description: Wordlist to use for fuzzing + default: "common.txt" + examples: + - "directories.txt" + - "endpoints.txt" + + container: + build: + path: ${cwd}/ffufai.Dockerfile + name: ffufai_local + args: + - --net=host + volumes: + - ${cwd}:/data + + cmdline: + - /app/ffufai + - -u + - ${target} + - -w + - /app/wordlists/${wordlist} + + ffufai_full_scan: + description: Perform comprehensive fuzzing with AI analysis + parameters: + target: + type: string + description: The target URL to fuzz + wordlist: + type: string + description: Wordlist to use for fuzzing + default: "big.txt" + threads: + type: integer + description: Number of concurrent threads + default: 40 + + container: + build: + path: ${cwd}/ffufai.Dockerfile + name: ffufai_local + args: + - --net=host + volumes: + - ${cwd}:/data + + cmdline: + - /app/ffufai + - -u + - ${target} + - -w + - /app/wordlists/${wordlist} + - -t + - ${threads} + - --ai