Saltar al contenido

Cyberchef, herramienta para descubrir secretos y decodificar datos

En este artículo hablaremos de una herramienta que deberías incorporar cuanto antes a tu arsenal de herramientas de ciberseguridad y hunting.

Cyberchef es una herramienta que nos permite descubrir secretos, decodificar datos y, en general, buscar y encontrar información que está aparentemente oculta al ojo humano.

El mundo de la tecnología en general, y de internet, en particular, está lleno de secretos. Si alguna vez has abierto un navegador y has usado la vista de desarrollador o hecho clic en “Inspeccionar elemento” habrás visto una gran cantidad de información de la cual desconoces su significado y su propósito.

Esto es extrapolable a elementos más ubicuos, como pueden ser los códigos QR que encontramos en todas partes, o como los códigos de barras que podrían, perfectamente, revelar información personal de nosotros.

Es el caso de los billetes de avión el quizá más notorio. Según se trató por parte del experto Bryan Krebs ya en 2015, estos billetes contienen datos como el “frequent flyer number” y otros que permiten saber, por ejemplo, a dónde podríamos viajar en el futuro.

Usando Cyberchef para revelar información oculta

Podríamos describir Cyberchef como una especie de piedra Rosetta, que nos permitirá entender información cuyo formato desconocemos por completo, o incluso identificar patrones de datos conocidos en bloques que aparentemente no contengan nada.

Si eres técnico de ciberseguridad ya habrás visto el potencial que una herramienta como esta tiene para tus futuras investigaciones. Casos de uso puede haber muchos, desde un desarrollador web hasta un threat hunter que necesita recabar información para complementar sus investigaciones.

Se trata de una herramienta creada por el GCHQ británico para investigaciones, que posteriormente fue liberada al público.

Podemos ejecutarlo en la web oficial o descargarnos una página web completa para ejecutarlo en local, por si somos más paranoicos sobre la posible transmisión de información personal a servidores externos (algo que no he experimentado hasta ahora).

Tutorial de Cyberchef
Uso básico de Cyberchef. Fuente: Black Hills Infosec

Casos de uso para Cyberchef

Veamos de qué formas nos podemos beneficiar de esta herramienta, viendo su aplicación en casuísticas reales. No están todas las posibilidadades reflejadas, son realmente muchas, pero sí las más importantes.

Extraer texto de imágenes

Empezaremos por algo realmente cool, que es la posbilidad de extraer texto de imágenes con su motor OCR incorporado.

Realmente, este apartado no tiene como objetivo traducir o descifrar información, pero nos puede ser de ayuda para transcribir a texto imágenes con mucha densidad.

Supongamos que tenemos una imagen como esta, y queremos extraer el texto.

Cyberchef OCR

Los pasos serán:

  1. Buscar la receta apropiada (en este caso, OCR)
  2. Cargar el archivo o carpeta
  3. Pulsar sobre Bake (cocinar). Por defecto el bake es automático.
Cyberchef OCR 2

El resultado se ve en el margen inferior izquierdo. En este caso, no hemos tenido mucha suerte y el margen de confianza es del 41%. Pero suele funcionar bastante bien.

Ahora, podemos incluso apilar diferentes recetas tomando como entrada el resultado de la receta anterior, en forma de embudo para ir moldeando nuestra información (ejemplo siguiente).

Cyberchef crop image

Generar un código QR para EICAR

Otro ejemplo bastante interesante, al menos para mostrarlo al público, es el de producir códigos QR para cosas tan variopintas como una sentencia EICAR (que, por si no lo sabes, sirve para simular una detección de virus).

  • Receta: Generate QR Code
  • Datos de entrada: Copiar lo siguiente.
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Resultado:

Eicar QR

Generar un XSS Polyglot

Si traducimos esto a algo más de uso común, podemos por ejemplo aprovechar ql generador de códigos QR para elaborar un Cross Site Scripting Políglota.

Se trata de un vector que es ejecutable dentro de varios contextos diferentes en su formato en “bruto”, de forma que no tenemos que modificarlo para atacar cada escenario. Es algo así como una llave maestra.

Si, por ejempo, utilizamos el siguiente código, podremos poner a prueba de ataques XSS a cualquier aparato que pueda procesar imágenes.

jaVasCript:/*-/*`/*\`/*'/*"/**/(/* */oNcliCk=alert() )//%0D%0A%0d%0a//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert()//>\x3e

Resultado:

Cross Site Scripting Políglota

Pasemos ahora a utilizar tareas más del día a día. por ejemplo la siguiente.

Cálculo de offset Base64

El cálculo de offsets nos permite conocer el aspecto que tendrá una sentencia en Base64 en función de la posición que ocupe dentro de un bloque de texto. Esto es así porque el Base64 no se representa igual si está al comienzo, al final o entre otros caracteres.

  • Receta: Show Base64 offsets
  • Datos de entrada: elegir un texto al azar
Show Base64 offsets

Generar múltiples hashes

Los hashes son como la matrícula individual e inequívoca de un fichero, carpeta o unidad. Nos sirven para identificar sin lugar a dudas una muestra cuando hablamos de ciberseguridad si, por ejemplo, queremos saber si está contenida en alguna lista negra como pueda ser Virustotal o similar.

Generar todos los hashes nos ahorrará tiempo si tenemos que analizar una muestra con diferentes herramientas, pues no todas utilizan el mismo tipo de hash.

  • Receta: Generate all hashes
  • Datos de entrada: introducir un conjunto de caracteres

Resultado.

Cyberchef Generate all hashes

Analizar un hash

Podremos saber todo sobre un hash (como saber si es un hash válido, su tipo, etc) con esta receta.

  • Receta:Analyse hash
  • Datos de entrada: introducir un hash. Ejemplo: 9fc85f5e44c78b12e7a5997192db22e2
Cyberchef analizar hash

Extraer URLs

Si tenemos que extraer IOC (indicadores de compromiso) en elementos con alta densidad de información, por ejemplo el código fuente de una página o programa, podemos usar esta útil función.

Resultado.

Cyberchef - Extraer URLs

SIempre que nos encontremos con el botón “mágico” presente, quiere decir que podemos volver a tratar esa información de forma diferente para filtrarla mejor.

En este caso, si lo pulsamos conseguiremos que los parámetros pertenecientes a una misma URL no tengan un salto de linea, produciendo resultados más exactos.

Conclusiones

Como se puede observar tras los primeros compases con la herramienta, tiene realmente un montón que ofrecer. Se nota que le han dado cariño.

Por continuar, te sugiero probar cosas como la extracción de direcciones IP o la comprobación de expresiones regulares, que son otras características útiles.Cada receta puede ser guardada y compartida.

Alejandro Ver todo

Trabajo como consultor de ciberseguridad y me gusta lo que hago. Aficionado a la informática / tecnología en general, me gusta compartir con la gente lo poco que sé. También soy aficionado al deporte y los videojuegos.

2 comentarios sobre “Cyberchef, herramienta para descubrir secretos y decodificar datos Deja un comentario

Deja tu comentario (puedes hacerlo de forma anónima)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .

A %d blogueros les gusta esto: