Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
wtf — Verteilter, code-coverage-gesteuerter snapshot-basierter Fuzzer für Benutzermodus- und Kernelmodus-Ziele auf Windows und Linux, mit Emulator- und Hypervisor-Backends. | Kitploit
Tools/GitHubGitHub/0vercl0k/wtf
Dynamische Analyse (Sandboxing)SchwachstellenanalyseExploitationFuzzingBinäranalyse
GitHub0vercl0k/wtf

wtf

Verteilter, code-coverage-gesteuerter snapshot-basierter Fuzzer für Benutzermodus- und Kernelmodus-Ziele auf Windows und Linux, mit Emulator- und Hypervisor-Backends.

Repository anzeigen
1.8k154107vor 1 MonatVon 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

what the fuzz

Ein verteilter, code-abdeckungsgesteuerter, plattformübergreifender snapshot-basierter Fuzzer, der für Angriffe auf Benutzer- und/oder Kernel-Modus-Ziele unter Microsoft Windows und Linux-Benutzermodus (experimentell!) entwickelt wurde.

Übersicht

what the fuzz oder wtf ist ein verteilter, code-abdeckungsgesteuerter, anpassbarer, plattformübergreifender snapshot-basierter Fuzzer, der für Angriffe auf Benutzer- und/oder Kernel-Modus-Ziele unter Microsoft Windows oder Linux (experimentell, siehe linux_mode) entwickelt wurde. Die Ausführung des Ziels kann innerhalb eines Emulators mit bochscpu (langsam, präzise), innerhalb einer Windows-VM mit den Windows Hypervisor Platform APIs oder innerhalb einer Linux-VM mit den KVM APIs (schnellste) erfolgen.

Es deckte Speicherkorruptions-Schwachstellen in einer Vielzahl von Software auf: IDA Pro, ein beliebtes AAA-Spiel, den Windows-Kernel, den Microsoft RDP-Client, den NVIDIA GPU Display-Treiber, usw.

Kompilierte Binärdateien sind entweder aus den CI-Artefakten oder aus dem Abschnitt Releases für Windows und Linux verfügbar.

Wenn Sie mehr über seine Geschichte oder die Verwendung an einem echten Ziel erfahren möchten, empfehle ich, sich diese Beiträge anzusehen, um loszulegen 🔥

  • Erstellen eines neuen Snapshot-Fuzzers & Fuzzing von IDA
  • Fuzzing moderner UDP-Spielprotokolle mit Snapshot-basierten Fuzzern von Markus Gaasedelen
  • Fuzzing von RDPEGFX mit "what the fuzz" von Colas Le Guernic, Jérémy Rubert und Anonymous
  • Eine Reise zum Fuzzing von Netzwerkprotokollen – Analyse des Microsoft IMAP-Client-Protokolls von Wayne Chin Yick Low
  • Der Abschnitt Snapshot Fuzzing von Trail Of Bits' Testing Handbook
  • Angriff auf EDRs Teil 4: Fuzzing der Scan- und Emulations-Engine von Defender (mpengine.dll) von Manuel Feifel

Verwendung

Die beste Möglichkeit, die Funktionen auszuprobieren, ist die Arbeit mit den Modulen fuzzer_hevd / fuzzer_tlv_server. Sie können die Archive target-hevd.7z / target-tlv_server.7z herunterladen und in das Verzeichnis targets/ extrahieren. Die Archive enthalten die Verzeichnisstrukturen, die für alle Ziele erwartet werden:

  • inputs ist der Ordner, in den Ihre Eingabe-Testfälle abgelegt werden,
  • outputs ist der Ordner, in den die aktuellen Minset-Dateien gespeichert werden,
  • coverage ist der Ordner, in dem die .cov-Dateien erwartet werden,
  • crashes ist der Ort, an dem die Abstürze gespeichert werden,
  • state ist der Ort, an dem der Speicherauszug (mem.dmp) sowie der CPU-Zustand (regs.json) und der Symbol-Store (symbol-store.json) gespeichert werden. Der Symbol-Store ist eine einfache JSON-Datei, die auf Linux-Systemen verwendet wird, um zu wissen, wo Haltepunkte gesetzt werden müssen, da auf diesen Plattformen keine Unterstützung für Symbole / dbgeng vorhanden ist. wtf generiert diese Datei zur Laufzeit jedes Mal, wenn Sie Ihr Ziel unter Windows ausführen.

Im Folgenden wird davon ausgegangen, dass Sie die Datei target-hevd.7z des neuesten Releases heruntergeladen und in das targets-Verzeichnis Ihres Klons von wtf extrahiert haben. Sie sollten wtf/targets/hevd haben, in dem Sie die Verzeichnisse inputs / outputs, usw. finden.

Starten eines Server-Knotens

Der Server ist im Grunde das Gehirn und verwaltet den gesamten Zustand: die aggregierte Code-Abdeckung, das Korpus, er generiert und verteilt die Testfälle an den Client.

So könnten Sie einen lokalen Server-Knoten starten:```text wtf.exe master --name hevd --max_len=1028 --runs=10000000

Die Option `max_len` wird verwendet, um die Größe des generierten Testfalls zu begrenzen, `runs` ist die Anzahl der Testfälle, die generiert werden, `address` gibt an, wo **wtf** lauschen muss, `target` ist ein Verzeichnis mit dem oben beschriebenen Verzeichnisbaum (der Benutzer kann diese Verzeichnisse auch mit `--input` / `--output` / `--crashes` überschreiben) und `name` gibt den Namen Ihres Fuzzing-Moduls an, damit der Master Ihre Generatorfunktion aufrufen kann, falls Sie eine definiert haben.

<p align='center'>
<img src="https://assets.kitploit.com/production/public/readmes/4699/4a03fc75eed3ed5a92f7f10def697dbf220ae36b0701f05b37759eb432fc0fd9.webp">
</p>

### Fuzzing-Knoten

Die Client-Knoten führen einen Testfall aus, der vom Server generiert und verteilt wurde, und übermitteln das Ergebnis zurück an den Server (Codeabdeckung, Ergebnis usw.).

So würden Sie einen Client-Knoten starten, der das *bochscpu*-Backend verwendet:```text
wtf.exe fuzz --name hevd --limit 10000000

Der Befehl fuzz wird mit der Option name verwendet, um anzugeben, welches Fuzzer-Modul verwendet werden soll. backend gibt das Ausführungs-Backend an und limit die maximale Anzahl von Anweisungen, die pro Testfall ausgeführt werden sollen (abhängig vom Backend hat diese Option eine unterschiedliche Bedeutung).

Ausführen eines Testfalls

Wenn Sie einen Testfall (oder einen Ordner mit Testfällen) ausführen möchten, können Sie den Befehl run verwenden.

So würden Sie den Testfall crash-0xfffff764b91c0000-0x0-0xffffbf84fb10e780-0x2-0x0 ausführen:``` wtf.exe run --name hevd --limit 10000000 --input crashes\crash-0xfffff764b91c0000-0x0-0xffffbf84fb10e780-0x2-0x0

<p align='center'>
<img src="https://assets.kitploit.com/production/public/readmes/4699/49b3ca8582d6314724e5615c687472499d5f8f41d04c9543c0a6a070c51f56f8.webp">
</p>

### Minseting a corpus

Um einen Corpus zu minset, müssen Sie einen Serverknoten sowie so viele Clientknoten wie nötig verwenden, ähnlich wie bei einem Fuzzing-Job. Sie können einfach die `runs`-Optionen auf 0 setzen.
Tool herunterladen