
Eine kuratierte Liste von Fuzzing-Ressourcen (Bücher, Kurse – kostenlos und kostenpflichtig, Videos, Werkzeuge, Tutorials und angreifbare Anwendungen zum Üben) zum Erlernen von Fuzzing und den ersten Phasen der Exploit-Entwicklung wie der Ursachenanalyse.
Eine kuratierte Liste von Fuzzing-Ressourcen (Bücher, Kurse – kostenlos und kostenpflichtig, Videos, Tools, Tutorials und angreifbare Anwendungen zum Üben) zum Erlernen von Fuzzing und den ersten Phasen der Exploit-Entwicklung wie Root-Cause-Analyse.
Bücher über Fuzzing
Fuzzing: Brute Force Vulnerability Discovery von Michael Sutton, Adam Greene, Pedram Amini.
Fuzzing for Software Security Testing and Quality Assurance von Ari Takanen, Charles Miller, Jared D Demott und Atte Kettunen.
Open Source Fuzzing Tools von Gadi Evron und Noam Rathaus.
Gray Hat Python von Justin Seitz.
The Fuzzing Book von Andreas Zeller, Rahul Gopinath, Marcel Böhme, Gordon Fraser und Christian Holler.
Hinweis: Kapitel in den folgenden Büchern sind dem Fuzzing gewidmet.
- The Shellcoder's Handbook: Discovering and Exploiting Security Holes ( Kapitel 15 ) von Chris Anley, Dave Aitel, David Litchfield u. a.
- iOS Hacker's Handbook - Kapitel 1 Charles Miller, Dino DaiZovi, Dion Blazakis, Ralf-Philip Weinmann und Stefan Esser.
Kurse/Schulungsvideos zum Fuzzing
NYU Poly ( siehe Videos für mehr ) – Kostenlos zur Verfügung gestellt von Dan Guido.
Samclass.info ( siehe Projekte-Abschnitt und Kapitel 17 ) – von Sam.
Modern Binary Exploitation ( RPISEC ) – Kapitel 15 – von RPISEC.
Offensive Computer Security – Woche 6 – von W. Owen Redwood und Prof. Xiuwen Liu.
Offensive Security, Cracking The Perimeter ( CTP ) und Advanced Windows Exploitation ( AWE )
SANS 660/760 Advanced Exploit Development for Penetration Testers
Exodus Intelligence – Vulnerability development master class
Ada Logics – Applied Source Code Fuzzing
FuzzingLabs Academy (C/C++, Rust, Go Fuzzing)
Signal Labs – Vulnerability Research & Fuzzing
Videos über Fuzzing-Techniken, Werkzeuge und Best Practices
Fuzzing 101 (Teil 1) – von Mike Zusman.
Fuzzing 101 (Teil 2) – von Mike Zusman.
Fuzzing 101 (2009) – von Mike Zusman.
Fuzzing – Software Security Course on Coursera – von University of Maryland.
Attacking Antivirus Software's Kernel Driver
Fuzzing the Windows Kernel – OffensiveCon 2020
Youtube-Playlist mit verschiedenen Fuzzing-Vorträgen und Präsentationen – Viele gute Inhalte in diesen Videos.
Browser Bug Hunting – Memoirs of a last man standing – von Atte Kettunen
Coverage-based Greybox Fuzzing as Markov Chain
DerbyCon 2016: Fuzzing basics...or how to break software
Fuzz Theory – von Brandon Falk
Tutorials und Blogs, die Methodik, Techniken und Best Practices des Fuzzings erklären
ARMored CoreSight: Towards Efficient Binary-only Fuzzing
Fuzzing Microsoft's RDP Client using Virtual Channels: Overview & Methodology
Fuzzing Closed Source PDF Viewers
Fuzzing Image Parsing in Windows, Part One: Color Profiles
Fuzzing Image Parsing in Windows, Part Two: Uninitialized Memory
Fuzzing Image Parsing in Windows, Part Three: RAW and HEIF
Effective File Format Fuzzing – Mateusz „j00ru“ Jurczyk @ Black Hat Europe 2016, London
A year of Windows kernel font fuzzing Part-1 the results – Fantastischer Artikel von Googles Project Zero, der beschreibt, was zum Fuzzing und zur Erstellung von Fuzzern gehört.
A year of Windows kernel font fuzzing Part-2 the techniques – Fantastischer Artikel von Googles Project Zero, der beschreibt, was zum Fuzzing und zur Erstellung von Fuzzern gehört.
Interesting bugs and resources at fuzzing project – von fuzzing-project.org.
Fuzzing workflows; a fuzz job from start to finish – von @BrandonPrry.
A gentle introduction to fuzzing C++ code with AFL and libFuzzer – von Jeff Trull.
A 15 minute introduction to fuzzing – von den Leuten bei MWR Security.
Hinweis: Die Leute von fuzzing.info haben großartige Arbeit geleistet, indem sie einige fantastische Links gesammelt haben. Ich werde ihre Arbeit nicht duplizieren. Ich füge Papiere hinzu, die von ihnen übersehen wurden, sowie aus den Jahren 2015 und 2016. Fuzzing Papers – von fuzzing.info
Fuzzing Blogs and Books – von fuzzing.info
Root Cause Analysis of the Crash during Fuzzing – von Corelan Team.
Root cause analysis of integer flow – von Corelan Team.
Creating custom peach fuzzer publishers – von Open Security Research
7 Things to Consider Before Fuzzing a Large Open Source Project – von Emily Ratliff.
From fuzzing to 0-day – von Harold Rodriguez(@superkojiman).
From crash to exploit – von Corelan Team.
Fuzzing with Peach Part 1 – von Jason Kratzer vom Corelan Team
Fuzzing with Peach Part 2 – von Jason Kratzer vom Corelan Team.
Auto generation of Peach pit files/fuzzers – von Frédéric Guihéry, Georges Bossert.
Creating a fuzzing harness for FoxitReader 9.7 ConvertToPDF Function
50 CVEs in 50 Days: Fuzzing Adobe Reader
Fuzzing sockets, part 1: FTP servers
Fuzzing software: common challenges and potential solutions (Part 1)
Fuzzing software: advanced tricks (Part 2)
Fuzzing workflows; a fuzz job from start to finish – von @BrandonPrry.
Fuzzing capstone using AFL persistent mode – von @toasted_flakes
RAM disks and saving your SSD from AFL Fuzzing
Bug Hunting with American Fuzzy Lop
Advanced usage of American Fuzzy Lop with real world examples
Segfaulting Python with afl-fuzz
Fuzzing With AFL-Fuzz, a Practical Example ( AFL vs Binutils )
The Importance of Fuzzing...Emulators?
How Heartbleed could've been found
Filesystem Fuzzing with American Fuzzy lop
Fuzzing Perl/XS modules with AFL
How to fuzz a server with American Fuzzy Lop – von Jonathan Foote
Fuzzing with AFL Workshop - a set of challenges on real vulnerabilities
Hunting for bugs in VirtualBox (First Take)
libFuzzer Workshop: "Modern fuzzing of C/C++ Projects"
Double-Free RCE in VLC. A honggfuzz how-to
Fuzzing with Spike to find overflows
Fuzzing with Spike – von samclass.info
Fuzzing with FOE – von Samclass.info
Z3 - A guide – Erste Schritte mit Z3: Ein Leitfaden
Building A Feedback Fuzzer – von @fady_othman
Werkzeuge, die beim Fuzzing von Anwendungen helfen
Fuzzer, die beim Fuzzing in Cloud-Umgebungen helfen.
Cloudfuzzer – Cloud-Fuzzing-Framework, das es ermöglicht, automatisierte Fuzz-Tests in Cloud-Umgebungen einfach durchzuführen.
ClusterFuzzer – ClusterFuzzer, skalierbare Open-Source-Fuzzing-Infrastruktur. Wird von Google zum Fuzzing des Chrome-Browsers verwendet.
Fuzzit – Fuzzit, kontinuierliches Fuzzing als Dienstleistungsplattform. Kostenlos für Open Source. Wird von verschiedenen Open-Source-Projekten (systemd, radare2) und Closed-Source-Projekten verwendet. Für die Teilnahme am OSS-Programm eine E-Mail an [email protected] senden.
Fuzzer, die beim Fuzzing von Dateiformaten wie PDF, MP3, SWF usw. helfen.
pe-afl kombiniert statische Binärinstrumentierung auf PE-Binärdateien und WinAFL
MiniFuzz – Wayback Machine Link – Basis-Dateiformat-Fuzzing-Tool von Microsoft. (Nicht mehr auf der Microsoft-Website verfügbar).
BFF von CERT – Grundlegendes Fuzzing-Framework für Dateiformate.
AFL Fuzzer (nur Linux) – American Fuzzy Lop Fuzzer von Michal Zalewski aka lcamtuf
Win AFL – Ein Fork von AFL zum Fuzzing von Windows-Binärdateien
Shellphish Fuzzer – Eine Python-Schnittstelle zu AFL, die das einfache Einfügen von Testfällen und andere Funktionen ermöglicht.
TriforceAFL – Eine modifizierte Version von AFL, die das Fuzzing von Anwendungen unterstützt, deren Quellcode nicht verfügbar ist.
AFLGo – Gezieltes Greybox-Fuzzing mit AFL zum Fuzzing bestimmter Stellen eines Programms.
Peach Fuzzer – Framework, das hilft, benutzerdefinierte dumme und intelligente Fuzzer zu erstellen.
MozPeach – Ein Fork von Peach 2.7 von Mozilla Security.
Failure Observation Engine (FOE) – Mutationsbasiertes dateibasiertes Fuzz-Testing-Tool für Windows-Anwendungen.
rmadair – Mutationsbasierter Datei-Fuzzer, der PyDBG verwendet, um auf interessante Signale zu achten.
honggfuzz – Ein allgemeiner, benutzerfreundlicher Fuzzer mit interessanten Analyseoptionen. Unterstützt feedbackgesteuertes Fuzzing basierend auf Codeabdeckung. Unterstützt GNU/Linux, FreeBSD, Mac OSX und Android.
zzuf – Ein transparenter Anwendungseingabe-Fuzzer. Er funktioniert, indem er Dateioperationen abfängt und zufällige Bits in der Eingabe des Programms ändert.
radamsa – Ein allgemeiner Fuzzer und Testfallgenerator.
binspector – Ein Binärformat-Analyse- und Fuzzing-Tool
grammarinator – Fuzzing-Tool für Dateiformate basierend auf ANTLR v4-Grammatiken (viele Grammatiken sind bereits vom ANTLR-Projekt verfügbar).
Sloth – Sloth 🦥 ist ein abdeckungsgesteuertes Fuzzing-Framework zum Fuzzing von Android Native Libraries, das libFuzzer und QEMU-Benutzermodus-Emulation verwendet.
ManuFuzzer – Binär-Codeabdeckungs-Fuzzer für macOS, basierend auf libFuzzer und LLVM.
Fuzzer, die beim Fuzzing von Anwendungen helfen, die netzwerkbasierte Protokolle wie HTTP, SSH, SMTP usw. verwenden.
Peach Fuzzer – Framework, das hilft, benutzerdefinierte dumme und intelligente Fuzzer zu erstellen.
Sulley – Ein Fuzzer-Entwicklungs- und Fuzz-Testing-Framework, das aus mehreren erweiterbaren Komponenten von Pedram Amini besteht.
boofuzz – Ein Fork und Nachfolger des Sulley-Frameworks.
Spike – Ein Fuzzer-Entwicklungsframework wie Sulley, ein Vorgänger von Sulley.
Metasploit Framework – Ein Framework, das einige Fuzzing-Fähigkeiten über Auxiliary-Module enthält.
Nightmare – Eine verteilte Fuzz-Testing-Suite mit Webverwaltung, unterstützt Fuzzing mit Netzwerkprotokollen.
rage_fuzzer – Ein einfacher, protokollunabhängiger Paket-Fuzzer/Replayer.
Fuzzotron – Ein einfacher Netzwerk-Fuzzer, der TCP, UDP und Multithreading unterstützt.
Mutiny – Das Mutiny Fuzzing Framework ist ein Netzwerk-Fuzzer, der PCAPs durch einen Mutations-Fuzzer abspielt.
Fuzzing For Worms – Ein Fuzzing-Framework für Netzwerkserver.
AFL (mit Netzwerk-Patch) – Ein inoffizieller American Fuzzy Lop, der Netzwerk-Fuzzing ermöglicht.
AFLNet – Ein Greybox-Fuzzer für Netzwerkprotokolle (eine Erweiterung von AFL).
Pulsar – Protokoll-Lernen, Simulation und zustandsbehafteter Fuzzer.
BFuzz – Ein eingabebasiertes Browser-Fuzzing-Framework. Fuzzinator – Fuzzinator Random Testing Framework Grizzly – Ein plattformübergreifendes Browser-Fuzzing-Framework
Weitere bemerkenswerte Fuzzer wie Kernel-Fuzzer, Allzweck-Fuzzer usw.
Choronzon – Ein evolutionärer wissensbasierter Fuzzer
QuickFuzz – Ein in Haskell geschriebenes Tool, das dazu dient, unerwartete Eingaben gängiger Dateiformate in Drittanbieter-Software zu testen, unter Verwendung handelsüblicher, bekannter Fuzzer.
gramfuzz – Ein grammatikbasierter Fuzzer, mit dem man komplexe Grammatiken zur Modellierung von Text- und Binärdatenformaten definieren kann.KernelFuzzer - Plattformübergreifendes Kernel-Fuzzer-Framework.
honggfuzz - Ein allgemeiner, benutzerfreundlicher Fuzzer mit interessanten Analyseoptionen.
Hodor Fuzzer - Noch ein allgemeiner Fuzzer.
libFuzzer - In-Process-, abdeckungsgesteuerte, evolutionäre Fuzzing-Engine für in C/C++ geschriebene Ziele.
syzkaller - Verteilte, unbeaufsichtigte, abdeckungsgesteuerte Linux-Syscall-Fuzzer.
ansvif - Ein fortschrittliches, plattformübergreifendes Fuzzing-Framework zur Erkennung von Schwachstellen in C/C++-Code.
Tribble - Benutzerfreundliches, abdeckungsgesteuertes JVM-Fuzzing-Framework.
go-fuzz - Abdeckungsgesteuertes Testen von Go-Paketen.
FExM - Automatisiertes Large-Scale-Fuzzing-Framework
Jazzer - Ein abdeckungsgesteuerter, In-Process-Fuzzer für die Java Virtual Machine, basierend auf libFuzzer.
cifuzz - Ein Befehlszeilentool zur Ausführung abdeckungsgesteuerter Fuzz-Tests in mehreren Sprachen und für mehrere Ziele.
WebGL Fuzzer - WebGL-Fuzzer
fast-check - Ein Fuzzer-Tool, geschrieben in TypeScript und entwickelt, um unerwartete Eingaben gegen JavaScript-Code auszuführen.
Wie Benutzereingaben die Ausführung beeinflussen
PANDA ( Platform for Architecture-Neutral Dynamic Analysis )
QIRA (QEMU Interactive Runtime Analyser)
kfetch-toolkit - Tool zur erweiterten Protokollierung von Speicherreferenzen, die von Betriebssystemkerneln durchgeführt werden.
moflow - Ein Software-Sicherheitsframework mit Werkzeugen für Schwachstellen, Erkennung und Triage.
Z3 - Ein Theorembeweiser von Microsoft Research.
SMT-LIB - Eine internationale Initiative zur Förderung von Forschung und Entwicklung in Satisfiability Modulo Theories (SMT)
Symbolic execution with KLEE: From installation and introduction to bug-finding in open source software - Eine Reihe von vier Lehrvideos, die KLEE vorstellen, beginnend mit den ersten Schritten mit KLEE und endend mit einer Demo, die Speicherfehler in echtem Code findet.
Ich habe einige Legenden wie AxMan nicht aufgenommen, bitte beziehen Sie sich für weitere Informationen auf den folgenden Link. https://www.ee.oulu.fi/research/ouspg/Fuzzers
Werkzeuge des Handwerks für Exploit-Entwickler, Reverse Engineers
Windbg - Der bevorzugte Debugger von Exploit-Autoren.
Immunity Debugger - Immunity Debugger von Immunity Sec.
OllyDbg - Der Debugger der Wahl für Reverse Engineers und Exploit-Autoren gleichermaßen.
Mona.py ( Plugin für windbg und Immunity dbg ) - Hervorragende Tools, die das Leben für Exploit-Entwickler erleichtern.
x64dbg - Ein Open-Source-x64/x32-Debugger für Windows.
Evan's Debugger (EDB) - Frontend für gdb.
GDB - Gnu Debugger - Der bevorzugte Linux-Debugger.
PEDA - Python-Exploit-Entwicklungsunterstützung für GDB.
Radare2 - Framework für Reverse-Engineering und Analyse von Binärdateien.
Disassembler, Disassembly-Frameworks usw.,
IDA Pro - Der beste Disassembler
binnavi - Binäranalyse-IDE, kommentiert Kontrollflussgraphen und Aufrufgraphen von disassembliertem Code.
Capstone - Capstone ist ein leichtgewichtiges, plattform- und architekturübergreifendes Disassembly-Framework.
ltrace - Abfängt Bibliotheksaufrufe
strace - Abfängt Systemaufrufe
Exploit-DB - https://www.exploit-db.com (Suchen und Auswählen der Exploits, die entsprechende Apps zum Download bereitstellen, reproduzieren Sie den Exploit mit einem Fuzzer Ihrer Wahl)
PacketStorm - https://packetstormsecurity.com/files/tags/exploit/
Fuzzgoat - Verwundbares C-Programm zum Testen von Fuzzern.
vulnserver - Ein verwundbarer Server zum Testen von Fuzzern.
https://files.fuzzing-project.org/
MS Office-Dateiformatdokumentation
Fuzzer Test Suite - Testsatz für Fuzzing-Engines. Enthält verschiedene bekannte Fehler wie Heartbleed, den c-ares-100.000-Dollar-Fehler und andere.
Fuzzing Corpus - Ein Korpus, der verschiedene Dateiformate zum Fuzzing mehrerer Ziele in der Fuzzing-Literatur enthält.
Einführung in Anti-Fuzzing: Eine Verteidigung in der Tiefe
Fuzzification: Anti-Fuzzing-Techniken
AntiFuzz: Behinderung von Fuzzing-Audits binärer ausführbarer Dateien
Awesome Directed Fuzzing: Eine kuratierte Liste großartiger Forschungsarbeiten zum gerichteten Fuzzing.
Bitte beachten Sie die Richtlinien in contributing.md für Details.
Dank an die folgenden Personen, die zu diesem Projekt beigetragen haben.