Los números mágicos son los primeros bits de un archivo que identifican de forma única el tipo de archivo. Esto facilita la programación porque no es necesario buscar estructuras de archivos complicadas para identificar el tipo de archivo.
Por ejemplo, un archivo jpeg comienza con ffd8 ffe0 0010 4a46 4946 0001 0101 0047 …… Jfif….. G ffd8 muestra que es un archivo JPEG e ffe0 identifican una estructura de tipo JFIF. Hay una codificación ascii de JFIF que viene después de un código de longitud, pero eso no es necesario para identificar el archivo. Los primeros 4 bytes lo hacen de forma única.
Esto proporciona una lista continua de números mágicos de archivos que puede utilizar en una investigación forense.
Archivos de imágenes
| Tipo de archivo | Ext. típica | Dígitos hexadecimales | Dígitos ASCII |
|---|---|---|---|
| Formato de mapa de bits | .bmp | 42 4d |
Bm |
| Formato FITS | .fits | 53 49 4d 50 4c 45 |
SIMPLE |
| Formato GIF | .gif | 47 49 46 38 |
GIF8 |
| Sistema de núcleos gráficos | .gks | 47 4b 53 4d |
GKSM |
| Formato iris RGB | .rgb | 01 da |
|
| Formato ITC (CMU WM) | .itc | f1 00 40 bb |
|
| Formato de intercambio JPEG | .jpg | ff d8 ff e0 |
|
| NIFF (TIFF de la Marina) | .nif | 49 49 4e 31 |
IIN1 |
| Formato PM | .pm | 56 49 45 57 |
VIEW |
| Formato PNG | .png | 89 50 4e 47 |
.PNG |
| Formato PostScript | .eps | 25 21 |
%! |
| Mapa ráster del sol | .ras | 59 a6 6a 95 |
|
| Formato Targa | .tga | xx xx xx xx |
|
| Formato TIFF (Motorola – big endian) | .tif | 4d 4d 00 2a |
MM.* |
| Formato TIFF (Intel – little endian) | .tif | 49 49 2a 00 |
II*. |
| Formato bitmap X11 | .xbm | xx xx xx |
|
| Estructura XCF Gimp | .xcf | 67 69 6d 70 20 78 63 66 20 76 |
gimp xcf |
| Formato Xfig | .fig | 23 46 49 47 |
#FIG |
| Formato XPM | .xpm | 2f 2a 20 58 50 4d 20 2a 2f |
/* XPM */ |
Archivos de documentos
| Tipo de archivo | Ext. típica | Dígitos hexadecimales | Dígitos ASCII |
|---|---|---|---|
| PDF Document | 25 50 44 46 |
%PDF |
|
| Word Document | .doc | D0 CF 11 E0 A1 B1 1A E1 |
|
| RTF Document | .rtf | 7B 5C 72 74 66 31 |
|
| Excel Document | .xls | D0 CF 11 E0 A1 B1 1A E1 |
|
| PowerPoint Document | .ppt | D0 CF 11 E0 A1 B1 1A E1 |
|
| Visio Document | .vsd | D0 CF 11 E0 A1 B1 1A E1 |
|
| DOCX (Office 2010) | .docx | 50 4B 03 04 |
PK |
| XLSX (Office 2010) | .xlsx | 50 4B 03 04 |
PK |
| PPTX (Office 2010) | .pptx | 50 4B 03 04 |
PK |
Archivos comprimidos
| Tipo de archivo | Ext. típica | Dígitos hexadecimales | Dígitos ASCII |
|---|---|---|---|
| Bzip | .bz | 42 5a |
Bz |
| Compress | .Z | 1f 9d |
|
| Formato gzip | .gz | 1f 8b |
|
| Formato pkzip | .zip | 50 4b 03 04 |
PK.. |
Archivos de archivadores
| Tipo de archivo | Ext. típica | Dígitos hexadecimales | Dígitos ASCII |
|---|---|---|---|
| TAR (pre-POSIX) | .tar | xx xx xx |
(nombre de archivo) |
| TAR (POSIX) | .tar | 75 73 74 61 72 |
ustar (offset 257 bytes) |
Archivos ejecutables
| Tipo de archivo | Ext. típica | Dígitos hexadecimales | Dígitos ASCII |
|---|---|---|---|
| MS-DOS, OS/2 o MS Windows | 4d 5a |
MZ |
|
| Unix ELF | 7f 45 4c 46 |
.ELF |
Otros archivos
| Tipo de archivo | Ext. típica | Dígitos hexadecimales | Dígitos ASCII |
|---|---|---|---|
| Anillo público PGP | 99 00 |
||
| Anillo de seguridad PGP | 95 01 |
||
| Anillo de seguridad PGP | 95 00 |
||
| Datos cifrados PGP | a6 00 |
Uso en Linux
Un comando en linux que puede utilizar para ver el número mágico de un archivo es el siguiente:
xxd test.zip | head
También podemos buscar los números mágicos específicos de un archivo con el comando grep:
xxd output.png | grep PK
Que buscará los números mágicos (PK es el equivalente ASCII de 50 4b) de un archivo zip entre los hexadecimales.
Fuentes: Github, Bill's security site

Leave a Comment
Comments are reviewed before publishing.