CyberChef
Das Cyber-Schweizer Taschenmesser
CyberChef ist eine einfache, intuitive Web-App zur Durchführung aller Arten von „Cyber“-Vorgängen in einem Webbrowser. Zu diesen Vorgängen gehören einfache Kodierungen wie XOR und Base64, komplexere Verschlüsselungen wie AES, DES und Blowfish, das Erstellen von Binär- und Hexdumps, die Komprimierung und Dekomprimierung von Daten, das Berechnen von Hashes und Prüfsummen, das Parsen von IPv6 und X.509, das Ändern von Zeichenkodierungen und vieles mehr .
Das Tool soll es sowohl technischen als auch nichttechnischen Analysten ermöglichen, Daten auf komplexe Weise zu manipulieren, ohne sich mit komplexen Tools oder Algorithmen auseinandersetzen zu müssen. Es wurde von einem Analysten in seiner 10-prozentigen Innovationszeit über mehrere Jahre hinweg konzipiert, entworfen, gebaut und schrittweise verbessert.
Live-Demo
CyberChef befindet sich noch in der aktiven Entwicklung. Daher sollte es nicht als fertiges Produkt betrachtet werden. Es müssen noch Tests durchgeführt und Fehler behoben, neue Funktionen hinzugefügt und zusätzliche Dokumentation geschrieben werden. Bitte tragen Sie bei!
Man sollte sich in keiner Situation darauf verlassen, dass kryptografische Vorgänge in CyberChef für Sicherheit sorgen. Für deren Richtigkeit wird keine Gewähr übernommen.
Eine Live-Demo finden Sie hier – viel Spaß!
Container
Wenn Sie CyberChef lokal ausprobieren möchten, können Sie es entweder selbst erstellen:
docker build --tag cyberchef --ulimit nofile=10000 .
docker run -it -p 8080:80 cyberchef
Oder Sie nutzen direkt unser Bild:
docker run -it -p 8080:80 ghcr.io/gchq/cyberchef:latest
Dieses Image wird über unsere GitHub-Workflows erstellt und veröffentlicht
Wie es funktioniert
Es gibt vier Hauptbereiche in CyberChef:
- Das Eingabefeld oben rechts, in das Sie den Text oder die Datei, die Sie bearbeiten möchten, einfügen, eingeben oder ziehen können.
- Das Ausgabefeld unten rechts, in dem das Ergebnis Ihrer Bearbeitung angezeigt wird.
- Die Operationsliste ganz links, in der Sie alle Operationen, zu denen CyberChef in der Lage ist, in kategorisierten Listen oder durch Suche finden.
- Der Rezeptbereich in der Mitte, in den Sie die Operationen ziehen können, die Sie verwenden möchten, und Argumente und Optionen angeben können.
Sie können beliebig viele Operationen auf einfache oder komplexe Weise verwenden. Einige Beispiele sind wie folgt:
- Dekodieren Sie eine Base64-kodierte Zeichenfolge
- Konvertieren Sie ein Datum und eine Uhrzeit in eine andere Zeitzone
- Analysieren Sie eine Teredo-IPv6-Adresse
- Konvertieren Sie Daten aus einem Hexdump und dekomprimieren Sie sie anschließend
- Shellcode entschlüsseln und zerlegen
- Zeigen Sie mehrere Zeitstempel als vollständige Daten an
- Führen Sie verschiedene Operationen an Daten unterschiedlichen Typs durch
- Verwenden Sie Teile der Eingabe als Argumente für Operationen
- Führen Sie eine AES-Entschlüsselung durch und extrahieren Sie die IV vom Anfang des Chiffrierstroms
- Erkennen Sie automatisch mehrere Ebenen verschachtelter Codierung
Merkmale
- Ziehen und ablegen
- Vorgänge können in die Rezeptliste hinein- und herausgezogen oder neu organisiert werden.
- Dateien bis zu 2 GB können über das Eingabefeld gezogen werden, um sie direkt in den Browser zu laden.
- Automatisches Backen
- Wann immer Sie die Eingabe oder das Rezept ändern, „backt“ CyberChef automatisch für Sie und produziert sofort die Ausgabe.
- Dies kann ausgeschaltet und manuell bedient werden, wenn es die Leistung beeinträchtigt (z. B. wenn die Eingabe sehr groß ist).
- Automatische Codierungserkennung
- CyberChef verwendet eine Reihe von Techniken, um automatisch zu erkennen, welchen Verschlüsselungen Ihre Daten unterliegen. Wenn eine geeignete Operation gefunden wird, die einen Sinn für Ihre Daten ergibt, wird im Ausgabefeld das „magische“ Symbol angezeigt, auf das Sie klicken können, um Ihre Daten zu dekodieren.
- Haltepunkte
- Sie können für jede Operation in Ihrem Rezept Haltepunkte festlegen, um die Ausführung vor der Ausführung anzuhalten.
- Sie können das Rezept auch Schritt für Schritt durchgehen, um zu sehen, wie die Daten in den einzelnen Phasen aussehen.
- Rezepte speichern und laden
- Wenn Ihnen ein tolles Rezept einfällt, von dem Sie wissen, dass Sie es wieder verwenden möchten, klicken Sie einfach auf „Rezept speichern“ und fügen Sie es Ihrem lokalen Speicher hinzu. Es wird auf Sie warten, wenn Sie CyberChef das nächste Mal besuchen.
- Sie können auch die URL kopieren, die Ihr Rezept und Ihre Eingaben enthält, um sie einfach mit anderen zu teilen.
- Suchen
- Wenn Sie den Namen der gewünschten Operation oder ein damit verbundenes Wort kennen, beginnen Sie mit der Eingabe in das Suchfeld und alle passenden Operationen werden sofort angezeigt.
- Hervorhebung
- Wenn Sie Text in der Eingabe oder Ausgabe markieren, werden die Offset- und Längenwerte angezeigt und, wenn möglich, werden die entsprechenden Daten in der Ausgabe bzw. Eingabe hervorgehoben (Beispiel: Markieren Sie das Wort „Frage“ in der Eingabe, um zu sehen, wo es erscheint in der Ausgabe).
- In Datei speichern und aus Datei laden
- Sie können die Ausgabe jederzeit in einer Datei speichern oder eine Datei laden, indem Sie sie per Drag & Drop in das Eingabefeld ziehen. Es werden Dateien bis zu einer Größe von etwa 2 GB unterstützt (abhängig von Ihrem Browser). Allerdings kann die Ausführung einiger Vorgänge bei dieser Datenmenge sehr lange dauern.
- CyberChef ist vollständig kundenseitig
- Bitte beachten Sie, dass keine Ihrer Rezeptkonfigurationen oder Eingaben (weder Text noch Dateien) jemals an den CyberChef-Webserver gesendet werden – die gesamte Verarbeitung erfolgt in Ihrem Browser auf Ihrem eigenen Computer.
- Aufgrund dieser Funktion kann CyberChef heruntergeladen und lokal ausgeführt werden. Über den Link in der oberen linken Ecke der App können Sie eine vollständige Kopie von CyberChef herunterladen und in einer virtuellen Maschine ablegen, mit anderen Personen teilen oder in einem geschlossenen Netzwerk hosten.
Deep-Linking
Durch die Manipulation des URL-Hashs von CyberChef können Sie die Anfangseinstellungen ändern, mit denen die Seite geöffnet wird. Das Format ist https://gchq.github.io/CyberChef/#recipe=Operation()&input=...
Unterstützte Argumente sind recipe
, input
(in Base64 codiert) und theme
.
Browserunterstützung
CyberChef ist auf Unterstützung ausgelegt
- Google Chrome 50+
- Mozilla Firefox 38+
Node.js-Unterstützung
CyberChef ist so konzipiert, dass es Node.js v16
vollständig unterstützt. Weitere Informationen finden Sie auf der Wiki-Seite „Node API“.
Mitwirken
Es ist ganz einfach, einen neuen Betrieb zu CyberChef beizutragen! Das Schnellstartskript führt Sie durch den Prozess. Wenn Sie einfaches JavaScript schreiben können, können Sie eine CyberChef-Operation schreiben.
Eine Installationsanleitung, Anleitungen zum Hinzufügen neuer Vorgänge und Themen, Beschreibungen der Repository-Struktur, verfügbarer Datentypen und Codierungskonventionen finden Sie alle auf der Wiki-Seite „Mitwirken“.
- Übertragen Sie Ihre Änderungen auf Ihren Fork.
- Senden Sie eine Pull-Anfrage. Wenn Sie dies zum ersten Mal tun, werden Sie aufgefordert, die GCHQ Contributor-Lizenzvereinbarung über den CLA-Assistenten auf der Pull-Anfrage zu unterzeichnen. Dabei werden Sie auch gefragt, ob Sie mit einer Kontaktaufnahme des GCHQ zu einem Dankeschön für Ihren Beitrag oder zu Stellenangeboten beim GCHQ einverstanden sind.
Lizenzierung
CyberChef wird unter der Apache 2.0-Lizenz veröffentlicht und unterliegt dem Crown Copyright.