Tendencias:
magic numbers

Magic Numbers, la información oculta en los archivos

11/09/2023
Número de visualizaciones

¿Alguna vez has escuchado qué son los Magic Numbers o números mágicos en informática? Seguramente si ya tienes rodaje en este campo al menos te sonarán.

¿Qué son los Magic Numbers?

Los magic numbers son unos números alfanuméricos que de manera codificada identifican el tipo o formato de un archivo, suelen estar ubicados al principio del archivo. Estas secuencias de Bytes se utilizan para que los programas informáticos puedan reconocer el tipo de archivo sin depender únicamente de su extensión de archivo o su contenido interno. Son muy importantes en sistemas operativos y aplicaciones que necesitan determinar cómo procesar un archivo.

Un ejemplo de uso, en sistemas Unix y Linux, los números mágicos son comunes en los archivos ejecutables. Un archivo ejecutable puede comenzar con una secuencia específica de bytes que indica si es un archivo binario ELF (Executable and Linkable Format) o un script de shell. Esto permite que el sistema operativo ejecute el programa adecuado según su formato sin depender de la extensión del archivo.

Magic Numbers, en el análisis forense

Aquí los magic numbers son extremadamente importantes y se utilizan para identificar y analizar archivos en dispositivos digitales en busca de pruebas y evidencia en investigaciones criminales.
Aquí os explico algunas formas en las que se utilizan los números mágicos en el análisis forense:

Identificar archivos

Se puede utilizar para identificar los tipos de los archivos. Con esto podemos averiguar qué aplicaciones o programas se utilizaron para crear, abrir o manipular estos archivos específicos. Por ejemplo, un analista forense puede usar los números mágicos para identificar si un archivo es un documento de texto, una imagen, un archivo de vídeo u otro tipo de archivo.

Como ejemplo, para identificar as imágenes PNG tienen estos números mágicos al inicio del archivo: 89 50 4E 47 0D 0A 1A 0A

Obviamente, para poder identificar estos números necesitamos de herramientas que nos pueda desglosar el archivo en este formato para poder investigarlo.

Verificar integridad de archivos

También los números mágicos se pueden utilizar para verificar la integridad de los archivos. Si un archivo se corrompe o se modifica de manera no autorizada, los números mágicos pueden utilizarse para identificar si el encabezado del archivo sigue siendo coherente con el tipo de archivo que debería ser, en caso de haber discrepancia puede indicar que se ha intentado alterar los datos o bien se han corrompido.

Dando un ejemplo de esto, es que en un archivo al revisar el hexadecimal hay magic numbers de un .png y también de un .zip. Aunque el archivo se identifique como un .png, hay también un .zip integrado, por lo que se podrían separar para recuperar el .zip que había oculto.

Recuperación de datos

Pueden ser útiles para ayudar a identificar fragmentos de archivos que pueden estar incompletos o dañados. Esto puede ser útil para intentar reconstruir archivos dañados o eliminar de manera segura archivos que deben ser eliminados.

Análisis de malware

Un perito forense o analista forense también puede utilizar los magic numbers para identificar archivos maliciosos o potencialmente peligrosos para los dispositivos. Al detectar ciertos patrones de bytes asociados con malware conocido, se pueden identificar y tomar medidas.

Herramientas

En las distribuciones Linux como Kali, que está enfocada a ciberseguridad, tiene herramientas con las que podemos manipular o visualizar los archivos.

La herramienta xxd (se utiliza en línea de comandosnos permite ver un archivo a hexadecimal y poder ver los magic numbers, entre otras cosas, de un archivo.

Para el caso de edición en Linux, hexedit, que su nombre viene de un juego de palabras entre edición y hexadecimal en inglés.

Con este podemos editar el formato hexadecimal de un archivo por lo que ya podríamos tocar los magic numbers sin problema.

En el caso de Windows hay un montón de editores hexadecimales, la mayoría muy anticuados, pero personalmente voy a destacar uno bastante más moderno, ImHex, ya que tiene una interfaz muy atractiva y es bastante más fácil de usar que la mayoría de editores que hay en Linux o los que están ya estandarizados en Windows.

CASO PRÁCTICO 

Vamos a utilizar ImHex para alterar los Magic Numbers de un archivo.

[caption id="attachment_4152" align="alignnone" width="1020"]Interfaz de ImHex Abriremos un archivo png para comprobar sus Magic Numbers.También tendremos una lista preparada para saber qué magic number corresponde con qué archivo.
Podemos utilizar esterecurso
Al abrir una imagen, si miramos los primeros 8 bytes de un archivo y lo comparamos con su código en la lista.[/caption]

 

Magic Numbers con Análisis Forense

Observamos que sí coincide con el de un png.
Ahora vamos a alterar adrede el archivo, para que no puedan leerlo nuestros programas.

Magic Numbers con Análisis Forense

Le he puesto un Magic Number de txt.
Pero si intentamos abrir nuestro archivo con Paint ya nos dará un error, debido a que no puede interpretarlo aunque el contenido esté intacto. 

error

Pero Fotografías de Windows sí, porque comprueba la extensión del archivo, por lo que todavía no hemos conseguido ocultar el archivo totalmente.

Además, si le damos otra vuelta de tuerca, si ponemos la extensión png algunos programas pueden interpretarlo, pero si lo ponemos en txt. Ya pierde sentido completamente y los programas muy difícilmente podrán recuperar la información original del archivo.

Los Magic Numbers son muy importantes para el trabajo de un analista forense informático, ya hemos visto como se pueden trabajar con ellos a un nivel básico.

Os dejo aquí mi perfil donde podéis ver otros artículos míos.

Categorizado en: Informática y TICS

Deja un comentario

Tu dirección de correo electrónico no será publicada.

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

Descubre nuestro contenido más actualizado en TERRITORIO INESEM

PRÓXIMOS EVENTOS

CRO: Cómo mejorar tu Tasa de Conversión

CRO: Cómo mejorar tu Tasa de Conversión

Yago González
1 hora
10/06/2024 17:00
¡El último hasta Septiembre! - Cómo entender a tu Cliente

¡El último hasta Septiembre! - Cómo entender a tu Cliente

Marta Falcón
45 minutos
17/06/2024 17:00
Universidades colaboradoras
La universidad Antonio de Nebrija es Universidad colaboradora con INESEM Business School La universidad a Distancia de Madrid es Universidad colaboradora con INESEM Business School