Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cook — Ein Wordlist-Framework, um Ihre Kinks mit Ihren Wortlisten zu erfüllen. Für Sicherheitsforscher, Bug Bounty und Hacker. | Kitploit
Tools/GitHubGitHub/glitchedgitz/cook
Passwort-CrackingFuzzingPenetrationstestsDienstprogramme & Frameworks
GitHubglitchedgitz/cook

cook

Ein Wordlist-Framework, um Ihre Kinks mit Ihren Wortlisten zu erfüllen. Für Sicherheitsforscher, Bug Bounty und Hacker.

Repository anzeigen
1.4k140vor 6 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

COOK

Ein übermächtiger Wordlist-Generator, -Splitter, -Merger, -Finder, -Saver, der Wörter-Permutationen und -Kombinationen erstellt, verschiedene Kodierungen/Dekodierungen anwendet und alles, was du brauchst.

Frustrationstöter! & Anpassbar!

Index

  • Installation
    • Konfiguration
  • Grundlagen
    • Bereiche
    • Parameter-Ansatz
  • COOKs Zutaten
    • Kategorien
    • Wordlists/Listen/Zeichen in my.yaml speichern
    • Funktionen
    • my.yaml anpassen
      ▸ Hinzufügen/Aktualisieren
      ▸ Löschen
    • Lokale Datei / URL abrufen
  • Methoden
    • Mehrfachkodierung
    • Namenskonventionen durchbrechen 💫
    • Alle Methoden cook help methods
  • Einige Anwendungsbeispiele
    • Wordlists zeilenweise zusammenführen
    • Bei jedem Schritt ausgeben
    • Mit Tools kombinieren
  • ULTIMATIVE NUTZUNG
    • Beispiel aus der Praxis:
  • Wiederholungsoperator * und **
  • Parser-Regeln
  • Flags
  • Als Bibliothek verwenden
  • Teile deine Rezepte/Zutaten in cook-ingredients
  • Mitwirken

Installation

Nutze Go oder lade die neuesten Builds herunter

root@kitploit:~
go install -v github.com/glitchedgitz/cook/v2/cmd/cook@latest

Konfiguration

Ab Version v2.2 speichert cook cook-ingredients unter $home/.config/cook/cook-ingredients

Um das zu ändern, erstelle eine Pfad-Variable mit dem Namen COOK=[DEIN_PFAD]

Grundlagen

Ohne Grundlagen ist alles komplex.

Bereiche

Parameter-Ansatz

Gib ihnen beliebige Namen und verwende sie, um das Muster zu erzeugen. Das wird noch nützlicher, wenn du Kodierungen spaltenweise mit Methoden anwendest.

root@kitploit:~
cook -start intigriti,bugcrowd  -sep _,- -end users.rar,secret.zip  / start sep end
root@kitploit:~
Hinweis: Du musst den Parameter im Muster angeben, sonst wird nichts ausgegeben.

COOKs Zutaten

Cook hängt von cook-ingredients ab, das sind .yaml-Dateien mit Sammlungen von Wörtern, Funktionen, Ports, Wordlists von assetnotes, seclist, fuzzdb, 15+ etc.

Kategorien

Wordlists/Listen/Zeichen alles in my.yaml speichern

Funktionen

root@kitploit:~
cook -dob date[17,Sep,1994] elliot _,-, dob

my.yaml anpassen

Bearbeite my.yaml manuell oder verwende diese Befehle.

▸ Hinzufügen/Aktualisieren

Wenn das keyword nicht existiert, wird es erstellt. Andernfalls wird es aktualisiert und der neue Wert in derselben Variable hinzugefügt.

root@kitploit:~
# Syntax
cook add [keyword]=[wert1, wert2, ..., wertN] in [kategorie]

# Befehl
cook add unique_name=wort1,wort2,wort3 in lists

▸ Löschen

root@kitploit:~
cook delete [keyword]

Lokale Datei / URL abrufen

Verwende : nach dem Parameternamen.

root@kitploit:~
cook -f: live.txt f
root@kitploit:~
cook -f: https://example.com/wordlist.txt f

Auf Wordlists aus Datenbanken zugreifen

Cook hat mehrere Repositories abgerufen und kann Wordlists aus diesen Repos direkt verwenden...

assetnotes, seclist, fuzzdb, etc.

Methoden

Mit Methoden kannst du kodieren, dekodieren, umkehren, teilen, sortieren, extrahieren und vieles mehr...

Methoden können auf die endgültige Ausgabe oder spaltenweise angewendet werden

  • -m/-method um Methoden auf die endgültige Ausgabe anzuwenden
  • -mc/-methodcol um spaltenweise anzuwenden.
  • param.methodenname auf einen beliebigen Parameter anwenden – dieses Parameter-Ding wird später erklärt.

Mehrfachkodierung

  • Überlappende Kodierungen:
    • Verwende Punkt .
    • md5.b64e.urle wendet mehrere Methoden nacheinander an.
    • Ausgabelogik:
      • Generiertes Muster > md5-Hash > Base64-Kodierung > URL-Kodierung.
  • Verschiedene Kodierungen:
    • Verwende Komma ,
    • md5,sha1,sha256 wendet unterschiedliche Kodierungen auf dasselbe generierte Muster an.
    • Ausgabelogik:
      • Generiertes Muster > md5-Hash
      • Generiertes Muster > sha1-Hash
      • Generiertes Muster >

Namenskonventionen durchbrechen 💫

Besonderes Augenmerk auf diese beiden Methoden – sie werden jedes Mal eine große Hilfe sein, wenn du eine Wordlist verwendest.

Smart Break -m smart

root@kitploit:~
▶ cook adminNew,admin_new -m smart
root@kitploit:~
Ausgabe:

admin
New
admin
new

Smart Join -m smartjoin[<case>:<char>]

Es trennt und fügt mit dem angegebenen Zeichen wieder zusammen.

root@kitploit:~
▶ cook adminNew,admin-old -m smartjoin[:_]
root@kitploit:~
Ausgabe:

admin_New
admin_old

Groß-/Kleinschreibung auf getrennte Teile anwenden

Hier haben wir CamelCase angewendet.

root@kitploit:~
▶ cook suppose_this_is_long_text -m smartjoin[c:_]
root@kitploit:~
Ausgabe:

suppose_This_Is_Long_Text

Alle Methoden cook help methods

root@kitploit:~
sort                           - Sortieren
sortu                          - Sortieren mit nur eindeutigen Werten
reverse                        - Zeichenkette umkehren
leet                           - a->4, b->8, e->3 ...
                                    leet[0] or leet[1]

smart                          - Wörter nach Namenskonventionen trennen
                                    redirectUri, redirect_uri, redirect-uri  ->  [redirect, uri]
smartjoin                      - Trennt Wörter nach Namenskonventionen &
                                    param.smartjoin[c,_] (Groß-/Kleinschreibung, Trennzeichen)
                                    redirect-uri, redirectUri, redirect_uri ->  redirect_Uri

u          upper               - Großbuchstaben
l          lower               - Kleinbuchstaben
t          title               - Titel (erster Buchstabe groß)

Zeichenketten-Operationen

root@kitploit:~
split                          - split[zeichen]
splitindex                     - splitindex[zeichen:index]
replace                        - Alle ersetzen replace[dies:durchdas]

JSON

root@kitploit:~
json                           - JSON-Feld extrahieren
                                    json[schlüssel] or json[schlüssel:unterschlüssel:unter-unterschlüssel]

URL-Operationen

root@kitploit:~
fb         filebase            - Dateinamen aus Pfad oder URL extrahieren
s          scheme              - http, https, gopher, ws, etc. aus URL extrahieren
           user                - Benutzernamen aus URL extrahieren
           pass                - Passwort aus URL extrahieren
h          host                - Host aus URL extrahieren
p          port                - Port aus URL extrahieren
ph         path                - Pfad aus URL extrahieren
f          fragment            - Fragment aus URL extrahieren
q          query               - gesamte Query aus URL extrahieren
k          keys                - Schlüssel aus URL extrahieren
v          values              - Werte aus URL extrahieren
d          domain              - Domain aus URL extrahieren
           tld                 - TLD aus URL extrahieren
           alldir              - Alle Verzeichnisse aus dem URL-Pfad extrahieren
sub        subdomain           - Subdomain aus URL extrahieren
           allsubs             - Subdomain aus URL extrahieren

Kodieren/Dekodieren

root@kitploit:~
b64e       b64encode           - Base64-Kodierung
b64d       b64decode           - Base64-Dekodierung

           charcode            - Zeichencode-Kodierung
                                    - charcode[0]
                                        &#97&#98&#99
                                    - charcode[1] mit Semikolon
                                        &#97;&#98;&#99;

hexe       hexencode           - Hex-String-Kodierung
hexd       hexdecode           - Hex-String-Dekodierung

jsone      jsonescape          - JSON-Escape
jsonu      jsonunescape        - JSON-Unescape

urle       urlencode           - URL-Kodierung reservierter Zeichen
            utf16                - UTF-16-Kodierung (Little Endian)
            utf16be              - UTF-16-Kodierung (Big Endian)
urld       urldecode           - URL-Dekodierung
urleall    urlencodeall        - URL-Kodierung aller Zeichen

xmle       xmlescape           - XML-Escape
xmlu       xmlunescape         - XML-Unescape

unicodee   unicodeencodeall    - Unicode-Escape-String-Kodierung (alle Zeichen)
unicoded   unicodedecode       - Unicode-Escape-String-Dekodierung

HASHES

root@kitploit:~
md5                            - MD5-Prüfsumme
sha1                           - SHA1-Prüfsumme
sha224                         - SHA224-Prüfsumme
sha256                         - SHA256-Prüfsumme
sha384                         - SHA384-Prüfsumme
sha512                         - SHA512-Prüfsumme

Einige Anwendungsbeispiele

Einige allgemeine Anwendungsfälle zum Verständnis von Cook.

▸ Websites mit benutzerdefiniertem Suffix/Präfix?

▸ Wordlists zeilenweise zusammenführen

Verwende das Flag -append:

root@kitploit:~
cook -l: live.txt -p: payloads.txt l / p -append 2
root@kitploit:~
# Mehrere Spalten
cook col1 col2 col3 col4 col5 -append 2,5

Hinweis: Manchmal ist es verwirrend, den Index einer Spalte zu finden, dann benutze -col

▸ Bei jedem Schritt ausgeben

Wenn du die Daten für jede Permutation bereits ab einem bestimmten Punkt ausgeben möchtest, verwende das Flag -min

Hinweis: Manchmal ist es verwirrend, den Index einer Spalte zu finden, dann benutze -col

Mit Tools kombinieren

Erzeuge ein Muster und kombiniere es mit anderen Tools über PIPE.

root@kitploit:~
cook [Generiertes Muster] | [Beliebiges Tool mit Pipe-Eingabe]

▸ Basic Auth Fuzzing mit FFUF

root@kitploit:~
cook usernames_list : passwords_list -m b64e | ffuf -u https://target.com -w - -H "Authorization: Basic FUZZ"

▸ Null Payload Fuzzing mit FFUF

root@kitploit:~
cook https://target.com/**100 | ffuf -u FUZZ -w -

▸ Versteckte Parameter mit x8

root@kitploit:~
cook [generierte Ausgabe] | x8 -u https://target.com

▸ Live Top-Level-Domains mit dnsx oder httprobe

root@kitploit:~
cook example.com seclists-tlds.txt  | dnsx -v

ULTIMATIVE NUTZUNG

Zu übermächtig? Aber jeden Tag stößt du auf seltsame BB-Dinge, wie eine große JSON-Datei vom Ziel? Vielleicht möchtest du etwas extrahieren, zusammenführen, zusammenfassen oder sonst etwas. Du kannst Cook clever für deinen Anwendungsfall einsetzen.

Beispiel aus der Praxis:

Als BBH stoßen wir oft auf JSON-Dateien. Vielleicht liest du einen Blog und möchtest eine Wordlist in deiner Sammlung speichern.

Angenommen, du liest diesen Blog über IIS-Shortname-Schwachstellen: https://blog.assetnote.io/2020/09/18/finding-hidden-files-folders-iis-bigquery/.

Assetnote hat eine GROSSE ZIP-DATEI geteilt. Jetzt brauchst du etwas, das diese Datei speichern kann, und du kannst sie abrufen, wenn du sie brauchst.

Speichere sie so... das speichert die Datei in my.yaml

root@kitploit:~
cook add shub_zip_files=[URL] in files

Oder speichere manuell in my.yaml,

root@kitploit:~
shub_zip_files: [https://storage.googleapis.com/zipfilesbq/zipfiles.json]

Hinweis: Cook hat sie bereits in den Standard-Wordlists gespeichert, du kannst cook shub_zip_files verwenden, um darauf zuzugreifen

▸ Die Datei enthält Daten wie diese, aber das ist nicht direkt nützlich.

root@kitploit:~
{"repo_name":"cocowool/RoseCMS","ref":"refs/heads/1","path":"user_guide/_downloads/ELDocs.tmbundle.zip","mode":"33261","id":"f7a11b364ca918379b48ad525798148e7470b6b1"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/fast.zip","mode":"33188","id":"f4ed17b98c9d7bcd21efc4523ce75fbe2b071d0a"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/store.zip","mode":"33188","id":"e2add30dc0e3129dc89e20a71abe7314052d0002"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/ultra.zip","mode":"33188","id":"86a8ec776107c075ce2c7f803472aa97dc25cbf7"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/normal.zip","mode":"33188","id":"b4602c94ee000ee54c71c9302b9db956b3fd9f0e"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/fastest.zip","mode":"33188","id":"f4ed17b98c9d7bcd21efc4523ce75fbe2b071d0a"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/maximum.zip","mode":"33188","id":"86a8ec776107c075ce2c7f803472aa97dc25cbf7"}
...

Angenommen, du musst: ▸ JSON-Feld path extrahieren
▸ filebase aus path extrahieren
▸ dann nach Namenskonventionen aufteilen

Lösung in einer Zeile

▸ Mit Cook können wir nicht nur extrahieren, sondern auch Filebase aus dem Pfad extrahieren, eindeutig sortieren und dann mit smartjoin verschiedene Permutationen erstellen.

root@kitploit:~
cook -z shub_zip_files z.json[path].fb.sortu.smartjoin[c:_]

Und so wurde Cook auch geboren – beim Fuzzing von IIS-Shortnames, und später habe ich weitere Funktionen hinzugefügt.

Wiederholungsoperator * und **

  • Verwende * für horizontale Wiederholung.
  • Verwende ** für vertikale Wiederholung.
  • Und probiere *10-1 oder *1-10 aus.

Parser-Regeln

Flags

Als Bibliothek verwenden

Du kannst Cook als Bibliothek in deinen Go-Projekten verwenden.

Grundlegende Nutzung

root@kitploit:~
package main

import (
	"fmt"
	"github.com/glitchedgitz/cook/v2/pkg/cook"
)

func main() {
	// Neue Cook-Instanz erstellen
	cookInst := cook.New(&cook.COOK{
		Pattern:     []string{"a,b,c", "1,2,3"},
		PrintResult: false, // Nicht auf stdout ausgeben
	})

	// Muster generieren
	cookInst.Generate()

	fmt.Println("Generierte Muster:", cookInst.Final)
}

Effiziente Mehrfach-Muster-Generierung (v2.X.X und höher)

Um mehrere Muster zu generieren, ohne jedes Mal Ressourcen neu zu initialisieren:

root@kitploit:~
package main

import (
	"fmt"
	"github.com/glitchedgitz/cook/v2/pkg/cook"
)

func main() {
	// Einen Generator erstellen, der gemeinsame Ressourcen einmal initialisiert
	generator := cook.NewGenerator()

	// Mehrere Muster effizient generieren
	list1 := generator.Generate([]string{"a,b,c", "1,2,3"})
	list2 := generator.Generate([]string{"admin", "password-2023"})

	fmt.Println("Muster 1:", list1)
	fmt.Println("Muster 2:", list2)
}

Gleichzeitige Muster-Generierung

Der Generator unterstützt auch gleichzeitige Muster-Generierung:

root@kitploit:~
package main

import (
	"fmt"
	"sync"
	"github.com/glitchedgitz/cook/v2/pkg/cook"
)

func main() {
	generator := cook.NewGenerator()
	patterns := [][]string{
		{"user-1-5", "pass-1-3"},
		{"admin", "Admin-2023-2025"},
	}

	var wg sync.WaitGroup
	results := make([][]string, len(patterns))

	// Muster gleichzeitig generieren
	for i, pattern := range patterns {
		wg.Add(1)
		go func(idx int, p []string) {
			defer wg.Done()
			results[idx] = generator.Generate(p)
		}(i, pattern)
	}

	wg.Wait()

	// Ergebnisse verwenden
	for i, r := range results {
		fmt.Printf("Muster %d erzeugte %d Ergebnisse\n", i, len(r))
	}
}

Suchbeispiel

Durchsuche die cook-ingredients mit der Bibliothek:

root@kitploit:~
package main

import (
	"fmt"
	"github.com/glitchedgitz/cook/v2/pkg/cook"
)

func main() {
	cookInst := cook.NewWithoutConfig()
	results := cookInst.Search("api")
	fmt.Printf("Durchsuchte API-Muster: %v\n", results)
}

Teile deine Rezepte und Zutaten in cook-ingredients

  • Teile deine yaml-Datei mit der Community

Mitwirken

  • Nutze Parallelität und mache es schneller
  • Autovervollständigung für Shells
  • Mache append so, dass es so funktioniert: cook datei1 =/= datei2, stelle sicher, dass Zeichen direkt mit allen Terminals funktionieren.
  • Rohe Zeichenketten so zum Laufen bringen, wie sie in Programmiersprachen funktionieren. Das bedeutet einen besseren Parser.
  • Ich weiß nicht, du könntest deine Kreativität einsetzen und einige großartige Funktionen hinzufügen.
  • Du kannst mir einen Kaffee kaufen☕
Tool herunterladen
KategorieBeschreibung
listsArray von Werten, die direkt verwendet werden können
filesArray von URLs
portsZahlenbereiche
raw-filesArray lokaler Dateien
functionsFunktionen werden verwendet, um Muster zu erzeugen
sha256-Hash
SpaltenDurch Leerzeichen getrennt
WerteDurch Komma getrennt
ParameterDu kannst jedem Parameter einen beliebigen Namen geben; verwende - vor etwas, um es zum Parameter zu machen -param wert
Rohe ZeichenkettenVerwende vor und nach der Zeichenkette, um Cooks Parsing zu stoppen. Nützlich, wenn du ein Schlüsselwort als Wort benötigst.
Pipe-EingabeNimm Pipe-Eingabe mit - als Wert eines beliebigen Parameters entgegen.
Datei-EingabeVerwende : nach dem Parameternamen, um Datei-Eingabe zu nehmen. cook -f: live.txt f
FunktionenKönnen nur über Parameter aufgerufen werden.
MethodenKönnen auf Parametern oder auf der endgültigen Ausgabe verwendet werden.
FlagNutzung
-peekVorschau der Ausgabe mit -peek 50 für die ersten 50 Zeilen
-a, -appendAn vorherige Zeilen anhängen, statt Permutationen
-c, -colSpaltennummern und deren Werte anzeigen
-conf, -configKonfigurationsinformationen
-mc, -methodcolMethoden spaltenweise anwenden -mc 0:md5,b64e; 1:reverse
Für alle Spalten getrennt -mc md5,b64e
-m, -methodMethoden auf die endgültige Ausgabe anwenden
-h, -helpHilfe
-minMinimale Anzahl von Spalten zum Ausgeben