
CyberChef v11.3.0
El Cyber Swiss Army Knife - una aplicación web para cifrado, codificación, compresión y análisis de datos
CyberChef
La navaja suiza del ciberespacio
CyberChef es una aplicación web sencilla e intuitiva para realizar todo tipo de operaciones «cibernéticas» dentro de un navegador web. Estas operaciones incluyen codificaciones sencillas como XOR y Base64, cifrados más complejos como AES, DES y Blowfish, creación de binarios y volcados hexadecimales, compresión y descompresión de datos, cálculo de hashes y sumas de verificación, análisis de IPv6 y X.509, cambio de codificaciones de caracteres y mucho más.
La herramienta está diseñada para permitir que analistas técnicos y no técnicos manipulen datos de formas complejas sin tener que lidiar con herramientas o algoritmos complejos. Fue concebida, diseñada, construida y mejorada de forma incremental por un analista durante su tiempo de innovación del 10 % a lo largo de varios años.
Contenido
- Sitio web oficial
- Ejecución local
- Cómo funciona
- Características
- Enlaces profundos
- Soporte de navegadores
- Soporte de Node.js
- Seguridad
- Contribuciones
- Licencia
Sitio web oficial
El sitio web oficial de CyberChef se encuentra aquí ¡a disfrutar!
Ejecución local
Puedes ejecutar CyberChef con Docker (sin necesidad de cadena de herramientas) o compilarlo desde el código fuente con Node.js.
Con Docker
Requisitos previos
- Docker
- Docker Desktop debe estar abierto y en ejecución en tu máquina
Opción 1: Compilar la imagen de Docker tú mismo
- Compila la imagen de docker
docker build --tag cyberchef --ulimit nofile=10000 .
- Ejecuta el contenedor de docker
docker run -it -p 8080:8080 cyberchef
- Navega a
http://localhost:8080en tu navegador
Opción 2: Usar la imagen de Docker precompilada
Si prefieres omitir el proceso de compilación, puedes usar la imagen precompilada
docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest
Igual que antes, navega a http://localhost:8080 en tu navegador.
Esta imagen se compila y publica a través de nuestros Flujos de trabajo de GitHub.
Desde el código fuente
Si quieres desarrollar CyberChef o ejecutarlo sin Docker, puedes compilarlo directamente con Node.js.
Requisitos previos
- Node.js
v24(consulta Soporte de Node.js)
[!NOTE]
Puedes usar nvm para gestionar las versiones de Node.js y usar la versión de desarrollo actual en este proyecto para evitar conflictos con otros proyectos en tu máquina.
Configuración
git clone https://github.com/gchq/CyberChef.git
cd CyberChef
npm install
Tareas comunes
| Comando | Descripción |
|---|---|
npm start | Ejecuta el servidor de desarrollo con recarga en vivo en http://localhost:8080. |
npm run build | Produce una compilación de producción en el directorio build/prod. |
npm test | Ejecuta las suites de pruebas de Node.js y de operaciones. |
npm run testui | Ejecuta las pruebas del navegador (UI). |
npm run lint | Comprueba el código contra las reglas de linting. |
npm run newop | Crea una nueva operación mediante el script interactivo de inicio rápido. |
Si te encuentras con un error de memoria insuficiente al compilar recetas grandes, aumenta el tamaño del heap de Node con npm run setheapsize.
Cómo funciona
Hay cuatro áreas principales en CyberChef:
- El cuadro de entrada en la parte superior derecha, donde puedes pegar, escribir o arrastrar el texto o archivo sobre el que quieres operar.
- El cuadro de salida en la parte inferior derecha, donde se mostrará el resultado de tu procesamiento.
- La lista de operaciones en el extremo izquierdo, donde puedes encontrar todas las operaciones que CyberChef es capaz de realizar en listas categorizadas, o mediante búsqueda.
- El área de receta en el centro, donde puedes arrastrar las operaciones que quieras usar y especificar argumentos y opciones.
Puedes usar tantas operaciones como quieras de formas sencillas o complejas. Algunos ejemplos son:
- Decodificar una cadena codificada en Base64
- Convertir una fecha y hora a una zona horaria diferente
- Analizar una dirección IPv6 Teredo
- Convertir datos de un volcado hexadecimal y luego descomprimir
- Descifrar y desensamblar shellcode
- Mostrar múltiples marcas de tiempo como fechas completas
- Realizar diferentes operaciones sobre datos de distintos tipos
- Usar partes de la entrada como argumentos de las operaciones
- Realizar descifrado AES, extrayendo el IV del principio del flujo cifrado
- Una forma más sencilla de realizar el mismo descifrado AES
- Detectar automágicamente varias capas de codificación anidada
Características
- Arrastrar y soltar
- Las operaciones se pueden arrastrar hacia y desde la lista de recetas, o reorganizarse.
- Los archivos de hasta 2GB se pueden arrastrar sobre el cuadro de entrada para cargarlos directamente en el navegador.
- Auto Bake
- Cada vez que modifiques la entrada o la receta, CyberChef «horneará» automáticamente por ti y producirá la salida de inmediato.
- Esto se puede desactivar y operar manualmente si está afectando al rendimiento (si la entrada es muy grande, por ejemplo).
- Detección automática de codificación
- CyberChef utiliza una serie de técnicas para intentar detectar automáticamente bajo qué codificaciones están tus datos. Si encuentra una operación adecuada que dé sentido a tus datos, muestra el icono 'magic' en el campo de Salida, que puedes pulsar para decodificar tus datos.
- Puntos de interrupción
- Puedes establecer puntos de interrupción en cualquier operación de tu receta para pausar la ejecución antes de que se ejecute.
- También puedes recorrer la receta operación a operación para ver cómo son los datos en cada etapa.
- Guardar y cargar recetas
- Si creas una receta increíble que sabes que querrás usar de nuevo, solo haz clic en «Guardar receta» y añádela a tu almacenamiento local. Te estará esperando la próxima vez que visites CyberChef.
- También puedes copiar la URL, que incluye tu receta y entrada, para compartirla fácilmente con otras personas.
- Búsqueda
- Si sabes el nombre de la operación que quieres o una palabra asociada a ella, empieza a escribirla en el campo de búsqueda y las operaciones que coincidan se mostrarán inmediatamente.
- Resaltado
- Cuando resaltas texto en la entrada o la salida, se mostrarán los valores de desplazamiento (offset) y longitud y, si es posible, los datos correspondientes se resaltarán en la salida o la entrada respectivamente (ejemplo: resalta la palabra 'question' en la entrada para ver dónde aparece en la salida).
- Guardar en archivo y cargar desde archivo
- Puedes guardar la salida en un archivo en cualquier momento o cargar un archivo arrastrándolo y soltándolo en el campo de entrada. Se admiten archivos de hasta unos 2GB (según tu navegador); sin embargo, algunas operaciones pueden tardar mucho tiempo en ejecutarse sobre esta cantidad de datos.
- CyberChef es totalmente del lado del cliente
- Cabe señalar que ninguna de tus configuraciones de receta ni de tus entradas (ya sean texto o archivos) se envía jamás al servidor web de CyberChef: todo el procesamiento se lleva a cabo dentro de tu navegador, en tu propio ordenador.
- Gracias a esta característica, CyberChef se puede descargar y ejecutar localmente. Puedes usar el enlace en la esquina superior izquierda de la aplicación para descargar una copia completa de CyberChef y ponerla en una máquina virtual, compartirla con otras personas u hospedarla en una red cerrada.
Enlaces profundos
Al manipular el hash de la URL de CyberChef, puedes cambiar la configuración inicial con la que se abre la página.
El formato es https://gchq.github.io/CyberChef/#recipe=Operation()&input=...
Los argumentos admitidos son recipe, input (codificado en Base64) y theme.
Soporte de navegadores
CyberChef está diseñado para ser compatible con
- Google Chrome 50+
- Mozilla Firefox 38+
Soporte de Node.js
CyberChef está diseñado para ser totalmente compatible con Node.js v24 y también se prueba con Node.js v26 antes de que se convierta en la versión LTS activa. Para más información, consulta la página wiki "Node API"
Seguridad
Consulta la política de seguridad de CyberChef.
Contribuciones
¡Contribuir con una nueva operación a CyberChef es muy fácil! El script de inicio rápido te guiará por el proceso. Si sabes escribir JavaScript básico, puedes escribir una operación de CyberChef.
Puedes encontrar una guía de instalación, tutoriales para añadir nuevas operaciones y temas, descripciones de la estructura del repositorio, tipos de datos disponibles y convenciones de codificación en la página wiki "Contributing".
- Sube tus cambios a tu fork.
- Envía una pull request. Si es la primera vez que lo haces, se te pedirá que firmes el Acuerdo de Licencia de Colaborador de GCHQ mediante el asistente de CLA en la pull request. También te preguntará si estás de acuerdo en que GCHQ te contacte para darte una muestra de agradecimiento por tu contribución o para informarte de oportunidades laborales en GCHQ.
Licencia
CyberChef se publica bajo la Licencia Apache 2.0 y está cubierto por Crown Copyright.