
Ein plattformübergreifender Fuzzer zum Testen von Userland-Binärdateien, Netzwerk-Clients und -Servern.
Ein plattformübergreifender Fuzzer zum Testen von Userland-Binärdateien, Clients und Servern.
Es hat Fehler in 50+ Apps und Bibliotheken von Top-Unternehmen und Open Source gefunden.
Einfache Einrichtung, um auf Linux, Mac und Windows mit dem Fuzzing zu beginnen.
Litefuzz soll einem Zweck dienen: auf allen wichtigen Plattformen zu fuzzen und zu triagen, sowohl CLI-/GUI-Apps als auch Netzwerk-Clients und -Server zu unterstützen, um sicherheitsrelevante Fehler zu finden.
Es vereinfacht den Prozess und erleichtert das Auffinden von Sicherheitsfehlern in vielen verschiedenen Zielen, plattformübergreifend, während es nur wenige ehrliche Kompromisse eingeht.
Es ist nicht für Geschwindigkeit oder Skalierbarkeit gebaut und soll keine Preise in der akademischen Welt gewinnen. Es wendet einfache Techniken aus verschiedenen Blickwinkeln an, um Ergebnisse zu erzielen. Für konsolenbasiertes Datei-Fuzzing sollten Sie wahrscheinlich einfach AFL verwenden. Es hat überlegene Leistung, Instrumentierungsfähigkeiten (und schnellere nicht instrumentierte Ausführungen), Skalierbarkeit und kann verdammte JPEGs aus dem Nichts erzeugen. Für Netzwerk-Fuzzing funktioniert auch der mutiny fuzzer gut, wenn Sie PCAPs zum Abspielen haben, und frizzer sieht ebenfalls vielversprechend aus. Aber wenn Sie es mit diesem hier versuchen möchten, kann es diese Arten von Zielen plattformübergreifend mit nur einem einzigen Werkzeug fuzzen.
./ und geben Sie Ihrem Ziel... einen leichten Fuzz.``` $ sudo apt install -y latex2rtf
$ ./litefuzz.py -l -c "latex2rtf FUZZ" -i input/tex -o crashes/latex2rtf -n 1000 -z --========================-- --======| litefuzz |======-- --========================--
[STATS] run id: 3516 cmdline: latex2rtf FUZZ crash dir: crashes/latex2rtf input dir: input/tex inputs: 1 iterations: 1000 mutator: random(mutators)
@ 1000/1000 (3 crashes, 127 duplicates, ~0:00:00 remaining)
[RESULTS]
completed (1000) iterations with (3) unique crashes and 127 dups
check crashes/latex2rtf for more details
Dies ist ein einfaches lokales Ziel, das AFL++ problemlos handhaben kann und hier nur kurz als Beispiel gegeben wird. Litefuzz wurde entwickelt, um im Bereich Netzwerk- und GUI-Fuzzing viel mehr zu leisten, wie Sie sehen werden, wenn Sie tiefer einsteigen.
## Warum
Ja, ein weiterer Fuzzer, und zwar einer, der nicht so richtig mit den aktuellen Trends und Konventionen mithält. Es wurden Kompromisse eingegangen, um bestimmte Anforderungen zu erfüllen. Diese Anforderungen sind ein Fuzzer, der standardmäßig auf mehreren Plattformen funktioniert, sowohl lokale als auch Netzwerk-Ziele fuzzt und sehr einfach zu bedienen ist. Ich versuche nicht, irgendjemanden von irgendetwas zu überzeugen, aber lassen Sie uns etwas Kontext liefern. Manche Ziele erfordern viel Aufwand, um Fuzzer wie AFL in die Build-Kette zu integrieren. Das ist kein Problem, da dieser Fuzzer keine Instrumentierung benötigt und die durch Instrumentierung gewonnene präzise Abdeckung für Benutzerfreundlichkeit und Portabilität opfert. AFL unterstützt auch nicht standardmäßig Netzwerk-Fuzzing, und obwohl es darauf basierende Projekte gibt, die dies tun, sind sie weit davon entfernt, einfach zu bedienen zu sein, und erfordern in der Regel mehr Code-Änderungen und Harness, um zu funktionieren (ähnlich verhält es sich mit [Libfuzzer](https://llvm.org/docs/LibFuzzer.html)).
Es führt kein paralleles Fuzzing durch und unterstützt auch nichts wie die blitzschnellen Verbesserungen, die der [persistente Modus](https://lcamtuf.blogspot.com/2015/06/new-in-afl-persistent-mode.html) bieten kann, sodass es nicht annähernd so skalieren kann wie Fuzzer mit solchen Fähigkeiten. Auch dies ist kein hochmoderner Fuzzer. Aber er benötigt keinen Quellcode, keinen ordnungsgemäßen Build oder bestimmte Betriebssystemfunktionen. Er kann sogar einige GUI-Clients und interaktive Anwendungen fuzzen. Er lebt auf vielfältige Weise von dem, was vorhanden ist, und viele der Funktionen wie Mutatoren und Minimierung wurden von Grund auf neu geschrieben.