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
gorilla — Tool zum Generieren von Wortlisten oder zum Erweitern einer vorhandenen Liste mittels Mutationen. | Kitploit
Tools/GitHubGitHub/andreiverse/gorilla
Passwort-CrackingPasswortangriffeInformationsbeschaffungCrawler
GitHubandreiverse/gorilla

gorilla

Tool zum Generieren von Wortlisten oder zum Erweitern einer vorhandenen Liste mittels Mutationen.

Repository anzeigen
390229vor 7 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

gorilla

gorilla ist das ultimative Wordlist-Tool, das eine Menge erstaunlicher Werkzeuge bietet, wie:

  • Erstellen von Wortlisten basierend auf Mustern (wie crunch)
  • Erstellen von Wortlisten basierend auf gängigen Passwort-/Benutzernamenformaten (wie cupp)
  • Scrapen einer Webseite und Erstellen einer Wortliste aus deren Wörtern (wie cewl)
  • Erweitern vorhandener Wortlisten mithilfe von Mutationen (wie hashcats regelbasierter Angriff)

Installation mit cargo

Wenn Rusts Cargo installiert ist, führe cargo install --git https://github.com/d4rckh/gorilla --branch main aus

Danach solltest du gorilla --help ausführen können.

Erstellen mit cargo

root@kitploit:~
cargo build --release
# the binary will be located in target/release folder

Berechnen von Passwörtern

Das Argument --from-pattern/-p wird verwendet, um gorilla mitzuteilen, Passwörter basierend auf einem Muster zu berechnen. Zum Beispiel gibt der folgende Befehl jedes einzelne Wort aus, das 5 Kleinbuchstaben enthält.

root@kitploit:~
gorilla --from-pattern "{a-z}{a-z}{a-z}{a-z}{a-z}"

Weitere Beispiele für Muster sind administrator{0-9} (administrator0 -> administrator9); hello_world{a-z}{0-9} (hello_worlda0 -> hello_worldz9).

Wenn du die Ausgabe in einer Datei speichern möchtest, kannst du das Argument --output-file/-o verwenden.

image

Gorilla unterstützt jetzt auch Zeichensätze. Diese sind in src/char_sets.rs definiert. Hier sind einige Beispiele für Muster, die sie verwenden: {l} => a b c d ... z; {u} => A B C D ... Z; {d} => 1 2 3 4 ... 9; {s} => (Leerzeichen) ! " # $ ... ~. Du kannst mehrere davon kombinieren, sodass {luds} einen Zeichensatz ergibt, der alle anderen beschriebenen Zeichensätze enthält (#45).

Wenn du einen Bereich verwendest und jedes Ende 1 Zeichen hat, führst du einen Zeichenbereich aus. Zum Beispiel:

  • {a-z} führt dazu, dass jedes Zeichen des Alphabets einzeln hinzugefügt wird: a, b, c, d, e, f, g,...., x, y und z;
  • {a-c} führt dazu, dass nur a, b und c einzeln hinzugefügt werden;
  • {0-9} führt dazu, dass nur 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 jeweils einzeln hinzugefügt werden. Wenn du einen Bereich verwendest und eines der Enden mehr als 1 Zeichen hat, wird jedes Ende als vorzeichenlose 32-Bit-Zahl geparst und stattdessen ein Zahlenbereich erzeugt. Zum Beispiel:
  • {2020-2026} führt dazu, dass 2020, 2021, 2022, 2023, 2024, 2025 und 2026 einzeln hinzugefügt werden.
  • {1-100} führt dazu, dass die Zahlen von 1 bis 100 (einschließlich) einzeln hinzugefügt werden.

Experimentell: Wenn das Innere deiner Klammern ein Komma enthält, wird die Zeichenkette daran aufgeteilt und jeder Teil einzeln hinzugefügt. Zum Beispiel führt {Jan,Feb,Mar} dazu, dass Jan, Feb und Mar einzeln hinzugefügt werden.

Optional kannst du mehrere Muster-Threads über den Parameter --pattern-threads starten. Ich empfehle, diesen auf die maximale Anzahl an Threads zu setzen, die auf deinem Computer verfügbar sind.

Ändern vorhandener Wortlisten mit Mutationen/Regeln

Über die Befehlszeilenargumente kannst du jede unterstützte Mutation ausführen, bist jedoch auf nur einen Satz von Mutationen beschränkt. Ein Mutationssatz ist eine Menge von Mutationen, die auf ein Wort angewendet werden. Über die CLI werden Mutationen über das Argument --mutation/-m bereitgestellt.

root@kitploit:~
gorilla --from-pattern "administrator" --mutation "prepend:_"

image

Normalerweise möchtest du in diesem Fall das Argument --from-file/-i anstelle von --from-pattern verwenden, um eine Wortliste statt eines einzelnen Worts anzugeben, aber der Einfachheit halber werde ich das verwenden.

Der obige Befehl nimmt 1 Wort entgegen und gibt 1 Wort aus: _administrator. Du kannst mit demselben Parameter mehrere Mutationen hinzufügen.

root@kitploit:~
gorilla --from-pattern "administrator" \
  -m "prepend:_" \
  -m "append:{0-9}"

Dies nimmt erneut ein einzelnes Wort, gibt aber 10 verschiedene aus. Das Hinzufügen der {0-9}-Syntax zu prepend & append führt dazu, dass mehrere Wörter erzeugt werden. Der obige Befehl erzeugt die folgenden Wörter.

root@kitploit:~
_administrator0
_administrator1
_administrator2
[.. snip ..]
_administrator8
_administrator9

Wenn wir über die -i-Datei eine Wortliste bereitstellen würden, bekämen wir die Anzahl der Wörter aus dieser Wortliste mal 10 zurück.

Bisher haben wir nur einen einzigen Mutationssatz angewendet. Normalerweise möchtest du mehrere davon kombinieren. Dies geschieht über die YAML-Dateien. Du gibst eine mithilfe des Arguments --mutations-file/-f an. Ein Beispiel befindet sich in der Datei sets/simple.yml in diesem Repository und sieht wie folgt aus:

root@kitploit:~
name: simple

mutation_sets:
  - [ nothing ] # => word
  - [ reverse ] # => drow
  - [ remove_last_letter ] # => wor
  - [ remove_first_letter ] # => ord
  - [ uppercase_all ] # => WORD
  - [ "append:{0-9}" ] # => word1, word2, word3
  - [ "2 append:{0-9}" ] # => word11, word22, word33
  - [ "replace:o:0", "replace:a:4", "replace:e:3" ] # => w0rd, h3ll0

image

Jede Mutationsdatei muss einen name- und einen mutation_sets-Wert haben, wie im Beispiel gezeigt. Die obigen Mutationssätze erzeugen aus einem einzelnen Wort 27 weitere Wörter.

root@kitploit:~
administrator
administrator
rotartsinimda
administrato
dministrator
ADMINISTRATOR
administrator0
[.. snip ..]
administrator9
administrator00
[.. snip ..]
administrator99
4dministr4t0r

Wenn du deine Mutationsdatei vor der Verwendung auf Fehler überprüfen möchtest, kannst du die folgende Syntax verwenden, um die Zusammenfassung zu parsen und auszugeben.

root@kitploit:~
gorilla --mutations-file muts.yml 

Scrapen von Webseiten nach Wörtern

(Derzeit) kannst du nur eine bestimmte Seite nach Wörtern scrappen. Style- und Script-Tags werden automatisch entfernt.

Du kannst eine Seite über das Argument --from-website/-w angeben. Zum Beispiel

root@kitploit:~
gorilla --from-website https://example.org/

image

Der obige Befehl gibt jedes Wort von dieser Website aus. Du kannst die zuvor gezeigten anderen Argumente wie --mutations-file/-f, --mutation/-m und natürlich --output-file/-o hinzufügen, um sie zu speichern (anstatt sie auszugeben).

Bedingte Mutationen

Du kannst einen Mutationssatz auf bestimmte Wörter anwenden, die bestimmte Bedingungen/eine bestimmte Bedingung erfüllen. Das ergibt nur in YAML-Dateien Sinn.

Die folgende Mutationsdatei entfernt Wörter, die die Zeichenkette admin nicht enthalten. Anders als die bisherigen Mutationen kann diese Wörter entfernen.

root@kitploit:~
name: filtering_words

mutation_sets:
  - [ "if_contains:admin" ]

Ein weiteres Beispiel ist das folgende, das nur Wörtern, die länger als 5 Zeichen sind, einen Unterstrich hinzufügt.

root@kitploit:~
name: conditional_mutation

mutation_sets:
  - [ "if_length:>5", "append:_" ],
  - [ "! if_length:>5" ]

Beachte, dass wir einen weiteren Mutationssatz hinzufügen mussten, der mit der negierten Version der ersten if-Mutation beginnt, da andernfalls die Wörter, die kürzer als 6 Zeichen sind, entfernt würden.

Weitere Mutationen

gorilla unterstützt viele weitere Mutationen, und da sich das Tool in einer frühen Entwicklung befindet, wäre es sehr mühsam, hier eine Liste davon zu pflegen. Wenn du neugierig auf die anderen Mutationen bist, kannst du dir die Action-Enumeration aus der Datei src/mutation.rs ansehen.

Verwenden gängiger Passwort-/Benutzernamenformate zum Erstellen von Wortlisten

Formate werden in Formatierungssätzen über YAML-Dateien definiert und über das Argument --from-formatting/-q an gorilla übergeben. Derzeit gibt es nur einen erstellten Formatierungssatz; er befindet sich unter sets/formatting/basic_usernames.yml. Und er sieht (ähnlich) wie folgt aus.

root@kitploit:~
name: basic_usernames

fields:
  - [ f_name ]
  - [ l_name ]

formatting_sets:
  - [ "{f_name}_{l_name}" ]
  - [ "{l_name}{f_name}" ]
  - [ ["{f_name}", [1st_letter]], "_{l_name}" ]
  - [ ["{f_name}", [1st_letter]], "{l_name}" ]

Die erforderlichen Felder sind name, fields und formatting_sets. Der fields-Wert ist das Profil des Benutzers und enthält Informationen, die später in den formatting_sets verwendet werden.

Wenn du den Satz ausführst, wirst du für jedes Feld zur Eingabe aufgefordert und die Benutzernamen werden erzeugt.

image

Hinweis: Mach die Mutationen in Formatierungssätzen nicht zu komplex, sie laufen alle single-threaded! Kombiniere die Formatierungsdatei mit einer Mutationsdatei, um parallele Mutationen auszuführen. Verwende keine kombinatorischen Muster in den Mutationssätzen von Formatierungssätzen.

Tipp: Du kannst die anderen Argumente ganz normal verwenden, wie --mutations-file/-f, um über Mutationen neue Wörter zu erzeugen, oder --output-file/-o, um die Wörter zu speichern.

Jeder Formatierungssatz ist ein Array von Zeichenketten, die später angehängt werden. Also ist ["{f_name}", "{l_name}"] äquivalent zu ["{f_name}{l_name}"]. Anstelle einer Zeichenkette kannst du ein Array angeben; das erlaubt dir, Mutationen anzuwenden, die du zuvor zur Erweiterung von Wortlisten verwendet hast.

root@kitploit:~
- [ "{f_name}_", [ "{l_name}", [ reverse ] ] ]

Wenn f_name joe und l_name doe ist, erzeugt die resultierende Formatierung joe_eod. Mutationen, die in Formatierungssätzen nützlich sind, sind remove_last_letter, remove_first_letter und 1st_letter.

Wenn du einen Formatierungssatz auf viele Benutzerprofile anwenden möchtest, kannst du das Argument --with-csv/-c verwenden, um eine CSV-Datei bereitzustellen. Für den Formatierungssatz basic_usernames sollte die CSV wie folgt formatiert sein:

root@kitploit:~
f_name,l_name
joe,doe
james,smith
robert,smith

image

Alle verfügbaren Mutationen:

basis

  • append:PATTERN - hängt ein Muster oder nur einen Text an
  • prepend:PATTERN - stellt ein Muster oder nur einen Text voran
  • replace:TEXT1:TEXT2 - ersetzt TEXT1 durch TEXT2
  • reverse - kehrt das Wort um
  • uppercase_all - schreibt alles in Großbuchstaben
  • lowercase_all - schreibt alles in Kleinbuchstaben
  • remove_first_letter - entfernt den ersten Buchstaben
  • remove_last_letter - entfernt den letzten Buchstaben
  • capitalize - schreibt das Wort mit großem Anfangsbuchstaben (erster Buchstabe groß, Rest klein)
  • toggle_case - wechselt die Groß-/Kleinschreibung jedes Zeichens

fortgeschritten

  • if_length:COND - löscht das Wort, wenn es die Bedingung zur Wortlänge nicht erfüllt (COND = >NUMBER/<NUMBER/=NUMBER)
  • if_contains:TEXT - wie oben, löscht aber, wenn es ein Wort nicht enthält
  • clone - klont das Wort
  • wipe - entfernt alles aus dem Wort
  • 1st_letter - behält alles außer dem ersten Buchstaben
  • nothing - tut nichts
Tool herunterladen