
yakit v1.4.8-0731
All-in-one-Plattform für Penetrationstests mit MITM-Proxy, Web-Fuzzer, Reverse-Connection-Handler und Plugin-System für automatisierte Sicherheitstests und Ausnutzung.
Yakit – Interaktive Plattform für Anwendungssicherheitstests
Whitepaper ansehen • Offizielle Dokumentation • Problem melden • Zur Website • Community beitreten • Projektarchitektur
Einführung in Yakit
Sicherheitsintegration ist eine Reform der Sicherheitsabläufe und des Sicherheitsmanagements für Unternehmen unter den neuen Normalbedingungen und eine dringende Notwendigkeit.
Basierend auf dem Konzept der Sicherheitsintegration hat das Yaklang.io‑Team die vertikale Sicherheitssprache Yaklang entwickelt. Für Produkte/Werkzeuge, die nicht nativ in die Yak‑Plattform integriert werden können, können mit Yaklang „hochwertige Alternativen“ neu geschrieben werden. Für Produkte mit vollständigem Ökosystem und hoher Anerkennung kann Yaklang direkt kompilieren, integrieren und den Quellcode notwendigerweise ändern, um ihn besser an die Yaklang‑Sprache anzupassen. Für Sicherheitsexperten, die keinen Code schreiben möchten, bietet Yakit für alle Fähigkeiten in Yaklang geeignete GUIs; mit den Versionen wird die GUI ausgereifter.
Um die Sicherheitsfähigkeiten von Yaklang näher an die tatsächliche Nutzung zu bringen, haben wir einen gRPC‑Server für Yak geschrieben und mit diesem Server einen Client erstellt: Yakit.
Projektarchitektur
Kerntechnologie: CDSL
CDSL steht für „CyberSecurity Domain Specific Language“, eine domänenspezifische Programmiersprache für die Cybersicherheit. Wir haben einen Stack‑VM geschrieben, die den Laufzeitzustand dieser Turing‑vollständigen Sprache verwaltet. Wir hoffen, durch „CDSL“ die Integration von Sicherheitsfähigkeiten und die große Vereinheitlichung der zugrunde liegenden Plattform zu erreichen.
Um die selbst entwickelte CDSL für den Sicherheitsbereich näher an reale Anwendungsszenarien zu bringen, haben wir einen gRPC‑Server für Yaklang geschrieben und darauf den Client Yakit aufgebaut. Im Grunde wird die Engine über die GUI von Yakit gesteuert. Der gRPC‑Server von Yakit macht die Bereitstellung für Benutzer einfacher und schneller, plattformunabhängig; er kann remote oder direkt lokal auf dem Host eingesetzt werden.
- Kann BurpSuites MITM‑Abfangplattform zu 100 % ersetzen;
- Schwer reproduzierbare MITM‑Passivscan‑GUI;
- Einbetten von Yaklang‑Skripten zur dynamischen Debugging‑Überwachung des Datenverkehrs; Code kann jederzeit dynamisch ausgeführt werden;
- Weltweit erstes visuelles Web‑Fuzzing‑Tool – Web Fuzzer;
- Yakit‑Plugin‑Store:
- Kann während jedes Penetrationstestschritts benutzerdefinierte Yaklang‑Skripte oder Plugins ausführen. … …
Übersicht der Sicherheitsfähigkeiten:
Besondere Technologien
MITM – Interaktives Abfangen
Die MITM‑Konsole kann alle Operationen von BurpSuite zu 100 % ersetzen (Zertifikate herunterladen und installieren, Anfragen und Antworten abfangen, abgefangene Pakete bearbeiten usw.). Sie bietet einen reibungslosen Workflow: Abfangen → History → Repeater/Intruder. Daten abfangen, in History die historischen Daten anzeigen, die zu analysierenden Pakete auswählen und an Web Fuzzer zur Repeater/Intruder‑Operation senden. Neben diesen typischen Szenarien bietet MITM auch flexiblere Funktionen wie Plugin‑Passivscan, Hot‑Reload, Paketersetzung und Markierung.
Das Prinzip des MITM‑Moduls in Yakit ist, einen HTTP‑Proxy zu starten, der Verkehr automatisch weiterleitet. Wenn der Benutzer manuelles Abfangen aktiviert, wird der automatische Verkehr gestoppt, die Anfrage blockiert und die Anfrage aus der Warteschlange genommen, um Gzip zu dekomprimieren, Chunks zu verarbeiten, zu decodieren usw., sodass die Anfrage für Menschen lesbar wird und auf der Benutzeroberfläche angezeigt wird. Der Benutzer kann die Anfrage anzeigen, ändern oder wiedergeben. Beim Wiederholen wird das vom Benutzer erstellte HTTP‑Anfragepaket repariert, um seine Gültigkeit sicherzustellen. Die Yak‑Engine implementiert die HTTP‑Bibliothek manuell, sodass Benutzer fehlerhafte Anfrage‑/Antwortpakete für besondere Exploit‑Szenarien erstellen können.
Interaktiver HTTP‑Traffic‑Replay und Fuzz‑Test
Das Web‑Fuzzer‑Modul unterstützt das Senden benutzerdefinierter HTTP‑Rohdaten. Um die Bedienung intuitiv zu halten und den Benutzer nur mit den Daten betreffen zu müssen, leistet das Yakit‑Backend viel Arbeit. Informationen, die für die Datenübertragung und -analyse im HTTP‑Rohformat notwendig sind, werden vom Backend repariert und ergänzt, z. B. CRLF reparieren, Content‑Type ergänzen, Chunk‑Übertragung, Boundary‑Ergänzung, Content‑Length‑Reparatur usw.
