Aller au contenu
Sécurité medium

CyberChef : le couteau suisse de l'analyse de données

9 min de lecture

CyberChef est une application web open source créée par le GCHQ (le renseignement britannique) pour encoder, décoder, déchiffrer, compresser et analyser des données sans écrire une ligne de code. Son principe : enchaîner des opérations dans une recette, comme une suite de filtres. Atout majeur pour un analyste SOC ou un DevSecOps : tout le traitement se fait dans votre navigateur, aucune donnée n'est envoyée à un serveur. Ce guide explique son fonctionnement, ses opérations clés, ses cas d'usage en sécurité (décoder une payload, défanger des IoC) et comment l'auto-héberger.

  • Ce qu'est CyberChef et pourquoi tout se passe dans le navigateur.
  • Le principe des recettes et des opérations.
  • Les opérations à connaître pour la sécurité.
  • Des cas d'usage SOC : décoder une payload, défanger des IoC, lire un JWT.
  • Comment auto-héberger CyberChef en Docker et l'utiliser en ligne de commande.

CyberChef se présente comme « le couteau suisse cyber » (The Cyber Swiss Army Knife). C'est une application web publiée par le GCHQ sous licence Apache 2.0 (Crown Copyright), dont le code est sur github.com/gchq/CyberChef.

Sa caractéristique la plus importante pour la sécurité : 100% côté navigateur. La documentation officielle est explicite : aucune configuration de recette ni aucune entrée (texte ou fichier) n'est envoyée au serveur web. Tout le traitement a lieu localement. Vous pouvez donc y coller des données sensibles sans les exposer, ou l'utiliser hors-ligne.

CyberChef réunit en un seul endroit ce qui demanderait sinon une dizaine d'outils en ligne de commande (base64, xxd, openssl, gzip...), avec un aperçu instantané à chaque étape.

Le cœur de CyberChef tient en deux notions :

  • une opération (operation) est une transformation unitaire : décoder du Base64, déchiffrer en AES, extraire des adresses IP...
  • une recette (recipe) est une suite ordonnée d'opérations appliquée à votre entrée.

Vous glissez-déposez les opérations (plus de 300 disponibles) dans la zone recette, vous les réordonnez, et le résultat se recalcule en direct. On peut traiter des fichiers jusqu'à 2 Go.

Quand vous ne savez pas sous quel encodage se trouve une donnée, l'opération Magic l'analyse et propose les décodages probables, souvent en un clic. C'est le premier réflexe face à une chaîne obscure : Magic reconnaît Base64, hexadécimal, URL encoding, compression et bien d'autres, et détecte les encodages en cascade.

Quelques opérations reviennent constamment en sécurité (noms exacts CyberChef) :

CatégorieOpérations
EncodageFrom Base64 / To Base64, From Hex / To Hex, URL Decode / URL Encode
ChiffrementXOR, AES Decrypt, DES Decrypt, JWT Decode
CompressionGunzip / Gzip
Analyse (IoC)Extract IP addresses, Extract URLs, Defang URL, Defang IP Addresses
DiversRegular expression, From Hexdump, Magic

Pour comprendre ce que fait chaque opération, rien ne vaut l'équivalent en ligne de commande. Ces transformations, validées en lab, sont exactement ce que CyberChef enchaîne visuellement :

Fenêtre de terminal
# From Base64 : decoder une chaine encodee
echo "RGV2U2VjT3BzIQ==" | base64 -d # -> DevSecOps!
# To Hex : representation hexadecimale
echo -n "Hello" | od -An -tx1 | tr -d ' ' # -> 48656c6c6f
# ROT13
echo "Hello DevSecOps" | tr 'A-Za-z' 'N-ZA-Mn-za-m' # -> Uryyb QriFrpBcf
# Base64 en cascade (double encodage, frequent dans les payloads)
echo -n "secret" | base64 | base64 # -> YzJWamNtVjAK

CyberChef brille dans le travail d'analyse au quotidien :

  1. Décoder une payload encodée en cascade

    Une charge malveillante est souvent empilée : Base64, puis Gunzip, puis Hex. Recette : From Base64 -> Gunzip -> From Hex. En cas de doute, Magic identifie la pile.

  2. Désobfusquer une commande PowerShell

    Le paramètre -EncodedCommand de PowerShell est du Base64 en UTF-16LE. Recette : From Base64 puis Decode text (UTF-16LE). La commande réelle apparaît.

  3. Défanger des IoC pour les partager sans risque

    Avant de partager une URL ou une IP malveillante, on la défang pour qu'elle ne soit pas cliquable : Defang URL transforme http://mechant.com en hxxp://mechant[.]com. Defang IP Addresses fait de même pour les IP.

  4. Extraire des IoC d'un texte

    Extract IP addresses et Extract URLs récupèrent tous les indicateurs d'un log ou d'un mail de phishing en une opération.

  5. Lire un JWT

    JWT Decode affiche l'en-tête et la charge utile d'un jeton, utile pour vérifier les claims sans déchiffrer.

Oui. CyberChef ne transmet rien : pas de recette, pas d'entrée. Tout est traité par le moteur JavaScript de votre navigateur. C'est ce qui le rend acceptable pour analyser des données sensibles, à condition d'utiliser une instance de confiance. Pour un usage en environnement isolé (air-gap, SOC durci), on l'auto-héberge ou on utilise la version standalone (un fichier HTML autonome).

Trois options selon le besoin :

L'image officielle du GCHQ, exposée sur le port 8080 :

Fenêtre de terminal
docker run -d -p 8080:8080 ghcr.io/gchq/cyberchef:latest

Validé en lab : la page répond en HTTP 200 avec le titre CyberChef. Ouvrez http://localhost:8080.

Pour scripter des recettes ou les intégrer à un pipeline, le projet CyberChef-server (github.com/gchq/CyberChef-server) expose une API HTTP qui « cuisine » une recette côté serveur :

Fenêtre de terminal
docker run -d --rm -p 3000:3000 cyberchef-server
# POST /bake : { "input": "...", "recipe": [{ "op": "From Base64" }] }

CyberChef fournit aussi une API Node.js utilisable par programme. Le bon partage des rôles : l'interface web pour l'exploration interactive, CyberChef-server pour l'automatisation.

Les deux ont leur place :

CyberChefCommandes Unix
Exploration interactiveexcellente (visuel, Magic)fastidieuse
Mémorisationaucune (drag-drop)il faut connaître base64, xxd, openssl...
Automatisation / CIvia CyberChef-servernative
Partage d'une analysepar URLpar script

Pour analyser et comprendre une donnée inconnue, CyberChef est imbattable. Pour un pipeline reproductible, les outils en ligne de commande (ou CyberChef-server) restent la bonne réponse.

  • CyberChef est l'app web du GCHQ (Apache 2.0) pour encoder, déchiffrer et analyser des données par recettes d'opérations.
  • Tout est traité dans le navigateur : aucune donnée n'est envoyée à un serveur.
  • Une recette enchaîne des opérations (plus de 300) ; l'opération Magic détecte l'encodage automatiquement.
  • Cas d'usage clés : décoder des payloads en cascade, désobfusquer PowerShell, défanger et extraire des IoC, lire un JWT.
  • Base64 n'est pas du chiffrement : CyberChef le rappelle en une opération.
  • Auto-hébergement Docker : ghcr.io/gchq/cyberchef (port 8080) ou mpepping/cyberchef (8000) ; CyberChef-server pour l'API.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn