
CyberChef v11.4.0
Das Cyber Swiss Army Knife - eine Web-App für Verschlüsselung, Kodierung, Komprimierung und Datenanalyse
CyberChef
Das Cyber-Schweizer-Taschenmesser
CyberChef ist eine einfache, intuitive Web-App zur Durchführung aller Arten von „Cyber“-Operationen in einem Webbrowser. Zu diesen Operationen gehören einfache Kodierungen wie XOR und Base64, komplexere Verschlüsselungen wie AES, DES und Blowfish, das Erstellen von Binär- und Hexdumps, das Komprimieren und Dekomprimieren von Daten, das Berechnen von Hashes und Prüfsummen, das Parsen von IPv6- und X.509-Daten, das Ändern von Zeichenkodierungen und vieles mehr.
Das Tool ist so konzipiert, dass sowohl technische als auch nicht-technische Analysten Daten auf komplexe Weise manipulieren können, ohne sich mit komplexen Tools oder Algorithmen befassen zu müssen. Es wurde von einem Analysten über mehrere Jahre hinweg in seiner 10-Prozent-Innovationszeit konzipiert, entworfen, gebaut und schrittweise verbessert.
Inhaltsverzeichnis
- Offizielle Website
- Lokale Ausführung
- So funktioniert es
- Funktionen
- Deep Linking
- Browserunterstützung
- Node.js-Unterstützung
- Sicherheit
- Mitwirken
- Lizenz
Offizielle Website
[Die offizielle Website von CyberChef findest du hier][1] - viel Spaß!
Lokale Ausführung
Du kannst CyberChef mit Docker ausführen (keine Toolchain erforderlich) oder es mit Node.js aus dem Quellcode erstellen.
Mit Docker
Voraussetzungen
- Docker
- Docker Desktop muss auf deinem Rechner geöffnet sein und laufen.
Option 1: Erstelle das Docker-Image selbst
- Erstelle das Docker-Image
docker build --tag cyberchef --ulimit nofile=10000 .
- Führe den Docker-Container aus
docker run -it -p 8080:8080 cyberchef
- Öffne
http://localhost:8080in deinem Browser
Option 2: Verwende das vorgefertigte Docker-Image
Wenn du den Build-Prozess überspringen möchtest, kannst du das vorgefertigte Image verwenden.
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
Öffne wie zuvor http://localhost:8080 in deinem Browser.
Dieses Image wird über unsere GitHub Workflows erstellt und veröffentlicht.
Aus dem Quellcode
Wenn du CyberChef weiterentwickeln oder ohne Docker ausführen möchtest, kannst du es direkt mit Node.js erstellen.
Voraussetzungen
- Node.js
v24(siehe Node.js-Unterstützung)
[!NOTE]
Du kannst nvm zum Verwalten von Node.js-Versionen verwenden und die aktuelle Entwicklungsversion aus diesem Projekt nutzen, um Konflikte mit anderen Projekten auf deinem Rechner zu vermeiden.
Einrichtung
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
Häufige Aufgaben
| Befehl | Beschreibung |
|---|---|
npm start | Startet den Entwicklungsserver mit Live-Reload unter http://localhost:8080. |
npm run build | Erzeugt einen Produktions-Build im Verzeichnis build/prod. |
npm test | Führt die Node.js- und Operationstest-Suiten aus. |
npm run testui | Führt die Browser-Tests (UI) aus. |
npm run lint | Prüft den Code gegen die Linting-Regeln. |
npm run newop | Erstellt eine neue Operation über das interaktive Quickstart-Skript. |
Wenn beim Erstellen umfangreicher Recipes ein Out-of-Memory-Fehler auftritt, erhöhe die Heap-Größe von Node mit npm run setheapsize.
So funktioniert es
Es gibt vier Hauptbereiche in CyberChef:
- Das Eingabefeld oben rechts, in das du den zu verarbeitenden Text oder die zu verarbeitende Datei einfügen, eingeben oder hineinziehen kannst.
- Das Ausgabefeld unten rechts, in dem das Ergebnis deiner Verarbeitung angezeigt wird.
- Die Operationsliste ganz links, in der du alle Operationen, die CyberChef beherrscht, in kategorisierten Listen oder über die Suche finden kannst.
- Der Recipe-Bereich in der Mitte, in den du die gewünschten Operationen ziehen und Argumente und Optionen festlegen kannst.
Du kannst beliebig viele Operationen auf einfache oder komplexe Weise verwenden. Hier sind einige Beispiele:
- [Base64-kodierten String dekodieren][2]
- [Ein Datum und eine Uhrzeit in eine andere Zeitzone umrechnen][3]
- [Eine Teredo-IPv6-Adresse parsen][4]
- [Daten aus einem Hexdump konvertieren und dann dekomprimieren][5]
- [Shellcode entschlüsseln und disassemblieren][6]
- [Mehrere Zeitstempel als vollständige Datumsangaben anzeigen][7]
- [Unterschiedliche Operationen an Daten verschiedener Typen durchführen][8]
- [Teile der Eingabe als Argumente für Operationen verwenden][9]
- [Eine AES-Entschlüsselung durchführen und den IV vom Anfang des Cipher-Streams extrahieren][10]
- [Eine einfachere Möglichkeit, dieselbe AES-Entschlüsselung durchzuführen][13]
- [Automagisch mehrere Ebenen verschachtelter Kodierung erkennen][12]