AdSense Placeholder
Slot: header_reference_page
Los primeros bytes de un archivo dicen lo que es realmente, diga lo que diga su extensión. Las firmas comunes de esta página (imágenes, archivos comprimidos, audio, vídeo, ELF, SQLite, WebAssembly, pcap) se comprobaron generando archivos reales y pasándolos por file(1), y las demás siguen las especificaciones de cada formato. Las más comunes coinciden además con la tabla de firmas que usa la herramienta de análisis forense binario. Los desplazamientos se cuentan en bytes desde el inicio del archivo; .. indica un byte variable. Para el contexto, vea Cómo funcionan las firmas de archivo (magic bytes).
Imágenes
| Formato |
Firma (hex) |
Como texto |
Desplazamiento |
Extensión |
| PNG |
89 50 4E 47 0D 0A 1A 0A |
.PNG.... |
0 |
.png |
| JPEG |
FF D8 FF |
ÿØÿ |
0 |
.jpg, .jpeg |
| GIF |
47 49 46 38 37 61 o 47 49 46 38 39 61 |
GIF87a, GIF89a |
0 |
.gif |
| BMP |
42 4D |
BM |
0 |
.bmp |
| WebP |
52 49 46 46 .. .. .. .. 57 45 42 50 |
RIFF....WEBP |
0 |
.webp |
| TIFF (little-endian) |
49 49 2A 00 |
II*. |
0 |
.tif, .tiff |
| TIFF (big-endian) |
4D 4D 00 2A |
MM.* |
0 |
.tif, .tiff |
| ICO |
00 00 01 00 |
|
0 |
.ico |
| Photoshop |
38 42 50 53 |
8BPS |
0 |
.psd |
| JPEG 2000 |
00 00 00 0C 6A 50 20 20 0D 0A 87 0A |
....jP .... |
0 |
.jp2 |
| AVIF |
66 74 79 70 61 76 69 66 |
ftypavif |
4 |
.avif |
| HEIC / HEIF |
66 74 79 70 68 65 69 63 (o marca mif1, heix) |
ftypheic |
4 |
.heic, .heif |
Documentos y datos
| Formato |
Firma (hex) |
Como texto |
Desplazamiento |
Extensión |
| PDF |
25 50 44 46 2D |
%PDF- |
0 |
.pdf |
| Archivo compuesto OLE2 (Office antiguo, MSI, Outlook) |
D0 CF 11 E0 A1 B1 1A E1 |
|
0 |
.doc, .xls, .ppt, .msi, .msg |
| Office Open XML, OpenDocument, EPUB |
50 4B 03 04 |
PK.. |
0 |
.docx, .xlsx, .pptx, .odt, .epub |
| Rich Text Format |
7B 5C 72 74 66 31 |
{\rtf1 |
0 |
.rtf |
| PostScript |
25 21 50 53 |
%!PS |
0 |
.ps, .eps |
| Base de datos SQLite 3 |
53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 |
SQLite format 3. |
0 |
.sqlite, .db |
| Certificado X.509 (DER) |
30 82 |
0. |
0 |
.der, .cer |
| PEM (certificado, clave) |
2D 2D 2D 2D 2D 42 45 47 49 4E |
-----BEGIN |
0 |
.pem, .crt, .key |
| Base de datos KeePass 2 |
03 D9 A2 9A 67 FB 4B B5 |
|
0 |
.kdbx |
Los archivos Office Open XML y EPUB son archivos ZIP, así que la firma sola solo dice «ZIP». Hay que mirar dentro: un DOCX tiene [Content_Types].xml y una carpeta word/, mientras que un EPUB guarda el texto mimetypeapplication/epub+zip a partir del byte 30.
Archivos comprimidos
| Formato |
Firma (hex) |
Como texto |
Desplazamiento |
Extensión |
| ZIP (normal) |
50 4B 03 04 |
PK.. |
0 |
.zip, .jar, .apk |
| ZIP (archivo vacío) |
50 4B 05 06 |
PK.. |
0 |
.zip |
| ZIP (multivolumen) |
50 4B 07 08 |
PK.. |
0 |
.zip |
| gzip |
1F 8B (después 08 para deflate) |
|
0 |
.gz, .tgz |
| bzip2 |
42 5A 68 |
BZh |
0 |
.bz2 |
| xz |
FD 37 7A 58 5A 00 |
.7zXZ. |
0 |
.xz |
| Zstandard |
28 B5 2F FD |
|
0 |
.zst |
| Trama LZ4 |
04 22 4D 18 |
|
0 |
.lz4 |
| 7-Zip |
37 7A BC AF 27 1C |
7z.... |
0 |
.7z |
| RAR 4.x |
52 61 72 21 1A 07 00 |
Rar!... |
0 |
.rar |
| RAR 5 |
52 61 72 21 1A 07 01 00 |
Rar!.... |
0 |
.rar |
| TAR (POSIX / GNU) |
75 73 74 61 72 |
ustar |
257 |
.tar |
| Microsoft Cabinet |
4D 53 43 46 |
MSCF |
0 |
.cab |
| cpio (newc) |
30 37 30 37 30 31 |
070701 |
0 |
.cpio |
| Paquete Debian (ar) |
21 3C 61 72 63 68 3E 0A |
!<arch>. |
0 |
.deb, .a |
| Paquete RPM |
ED AB EE DB |
|
0 |
.rpm |
| Imagen de disco ISO 9660 |
43 44 30 30 31 |
CD001 |
32769 (0x8001) |
.iso |
TAR no tiene firma en el byte 0: los archivos POSIX llevan ustar seguido de 00 30 30, y GNU tar escribe ustar seguido de dos espacios y 00.
Audio y vídeo
| Formato |
Firma (hex) |
Como texto |
Desplazamiento |
Extensión |
| WAV |
52 49 46 46 .. .. .. .. 57 41 56 45 |
RIFF....WAVE |
0 |
.wav |
| AVI |
52 49 46 46 .. .. .. .. 41 56 49 20 |
RIFF....AVI |
0 |
.avi |
| AIFF |
46 4F 52 4D .. .. .. .. 41 49 46 46 |
FORM....AIFF |
0 |
.aif, .aiff |
| FLAC |
66 4C 61 43 |
fLaC |
0 |
.flac |
| Ogg (Vorbis, Opus) |
4F 67 67 53 |
OggS |
0 |
.ogg, .opus |
| MP3 con etiqueta ID3v2 |
49 44 33 |
ID3 |
0 |
.mp3 |
| MP3 sin etiqueta |
FF FB (también FF F3, FF F2) |
|
0 |
.mp3 |
| MIDI |
4D 54 68 64 |
MThd |
0 |
.mid |
| MP4, MOV, M4A (ISO base media) |
66 74 79 70 |
ftyp |
4 |
.mp4, .mov, .m4a |
| Matroska, WebM |
1A 45 DF A3 |
|
0 |
.mkv, .webm |
| Flash Video |
46 4C 56 01 |
FLV. |
0 |
.flv |
| MPEG program stream |
00 00 01 BA |
|
0 |
.mpg |
| MPEG transport stream |
47 repetido cada 188 bytes |
G |
0 |
.ts |
Los archivos ISO base media comparten ftyp; los cuatro bytes siguientes (la marca) indican la variante: isom (MP4), qt (QuickTime), M4A (audio de iTunes), avif, heic.
Ejecutables y código
| Formato |
Firma (hex) |
Como texto |
Desplazamiento |
Extensión |
| Windows PE (EXE, DLL, SYS) |
4D 5A |
MZ |
0 |
.exe, .dll, .sys |
| ELF (Linux, Android nativo) |
7F 45 4C 46 |
.ELF |
0 |
ninguna, .so, .o |
| Mach-O 64 bits (little-endian) |
CF FA ED FE |
|
0 |
ninguna, .dylib |
| Mach-O 32 bits (little-endian) |
CE FA ED FE |
|
0 |
ninguna |
| Mach-O (big-endian) |
FE ED FA CE / FE ED FA CF |
|
0 |
ninguna |
| Mach-O universal (fat) |
CA FE BA BE |
|
0 |
ninguna |
| Clase Java |
CA FE BA BE |
|
0 |
.class |
| Android DEX |
64 65 78 0A 30 33 35 00 |
dex.035. |
0 |
.dex |
| WebAssembly |
00 61 73 6D |
.asm |
0 |
.wasm |
| Script con shebang |
23 21 |
#! |
0 |
.sh, .py, ninguna |
MZ es solo el stub de DOS: un PE real guarda en los 4 bytes de 0x3C el desplazamiento de su cabecera 50 45 00 00 (PE..). Las clases Java y los binarios universales Mach-O comparten CA FE BA BE; los 4 bytes siguientes los distinguen (un número pequeño de arquitecturas en Mach-O, una versión de formato de clase en Java). Examine cualquiera de ellos con el análisis forense de ejecutables.
Artefactos forenses y del sistema
| Artefacto |
Firma (hex) |
Como texto |
Desplazamiento |
Extensión |
| Hive del Registro de Windows |
72 65 67 66 |
regf |
0 |
NTUSER.DAT, SYSTEM, .hve |
| Registro de eventos de Windows |
45 6C 66 46 69 6C 65 00 |
ElfFile. |
0 |
.evtx |
| Acceso directo de Windows |
4C 00 00 00 01 14 02 00 |
L....... |
0 |
.lnk |
| Minivolcado de Windows |
4D 44 4D 50 |
MDMP |
0 |
.dmp |
| pcap (little-endian) |
D4 C3 B2 A1 |
|
0 |
.pcap |
| pcap (big-endian) |
A1 B2 C3 D4 |
|
0 |
.pcap |
| pcapng |
0A 0D 0D 0A |
|
0 |
.pcapng |
| Disco de VMware |
4B 44 4D 56 |
KDMV |
0 |
.vmdk |
| Disco de Hyper-V |
76 68 64 78 66 69 6C 65 |
vhdxfile |
0 |
.vhdx |
| Disco de QEMU |
51 46 49 FB |
QFI. |
0 |
.qcow2 |
Marcadores de fin de archivo
| Formato |
Cola (hex) |
Como texto |
| JPEG |
FF D9 |
|
| PNG |
49 45 4E 44 AE 42 60 82 |
IEND + CRC |
| GIF |
3B |
; |
| PDF |
25 25 45 4F 46 (a menudo seguido de un salto de línea) |
%%EOF |
| ZIP |
50 4B 05 06 + 18 bytes (+ comentario) |
PK.. |
Las herramientas de carving usan estas colas para saber dónde termina un archivo. Los datos que siguen a la cola (un ZIP añadido a un JPEG, varios %%EOF por guardados incrementales de un PDF) son algo clásico que buscar con el análisis forense de imágenes y el análisis forense de documentos.