Skip to content
Esta página fue generada y traducida con asistencia de IA. Si encuentra alguna imprecisión, no dude en ayudar a mejorarla. Editar en GitHub

Tipos de Archivo Admitidos

PRX-SD identifica los tipos de archivo usando detección de número mágico (examinando los primeros bytes de un archivo) en lugar de depender de las extensiones de archivo. Esto garantiza una identificación precisa incluso cuando los archivos son renombrados o tienen extensiones faltantes.

Matriz de Tipos de Archivo

La siguiente tabla muestra todos los tipos de archivo admitidos y qué capas de detección se aplican a cada uno:

Tipo de ArchivoExtensionesBytes MágicosHashYARAHeurísticasRecursión en Archivos Comprimidos
PE (Windows).exe, .dll, .sys, .scr, .ocx4D 5A (MZ)--
ELF (Linux).so, .o, (sin ext)7F 45 4C 46--
Mach-O (macOS).dylib, .bundle, (sin ext)FE ED FA CE/CF o CE FA ED FE/CF--
Binario Universal(sin ext)CA FE BA BE--
PDF.pdf25 50 44 46 (%PDF)--
Office (OLE).doc, .xls, .pptD0 CF 11 E0--
Office (OOXML).docx, .xlsx, .pptx50 4B 03 04 (ZIP) + [Content_Types].xmlExtraído
ZIP.zip50 4B 03 04LimitadoRecursivo
7-Zip.7z37 7A BC AF 27 1CLimitadoRecursivo
tar.tar75 73 74 61 72 en offset 257LimitadoRecursivo
gzip.gz, .tgz1F 8BLimitadoRecursivo
bzip2.bz242 5A 68 (BZh)LimitadoRecursivo
xz.xzFD 37 7A 58 5A 00LimitadoRecursivo
RAR.rar52 61 72 21 (Rar!)LimitadoRecursivo
CAB.cab4D 53 43 46 (MSCF)LimitadoRecursivo
ISO.iso43 44 30 30 31 en offset 32769LimitadoRecursivo
Script shell.sh, .bash23 21 (#!)Patrón--
Python.py, .pycTexto / 42 0D 0D 0APatrón--
JavaScript.js, .mjsDetección de textoPatrón--
PowerShell.ps1, .psm1Detección de textoPatrón--
VBScript.vbs, .vbeDetección de textoPatrón--
Batch.bat, .cmdDetección de textoPatrón--
Java.class, .jarCA FE BA BE / ZIPLimitado.jar recursivo
WebAssembly.wasm00 61 73 6DLimitado--
DEX (Android).dex64 65 78 0A (dex\n)Limitado--
APK (Android).apkZIP + AndroidManifest.xmlLimitadoRecursivo

Leyenda de Capas de Detección

CapaSignificado
HashHash SHA-256/MD5 verificado contra la base de datos de firmas
YARAConjunto completo de reglas YARA aplicado al contenido del archivo
Heurísticas: SíAnálisis heurístico completo específico por tipo de archivo (ver Heurísticas)
Heurísticas: LimitadoSolo verificaciones básicas de entropía y estructura
Heurísticas: PatrónCoincidencia de patrones basada en texto para comandos sospechosos y ofuscación
Recursión en Archivos ComprimidosLos contenidos se extraen y cada archivo se escanea individualmente

Detección de Número Mágico

PRX-SD lee los primeros 8192 bytes de cada archivo para determinar su tipo. Este enfoque es más confiable que la detección basada en extensiones:

File: invoice.pdf.exe
Extension suggests: PDF
Magic bytes: 4D 5A → PE executable
PRX-SD identifies: PE (correct)

Discrepancia de Extensión

Cuando la extensión de archivo no coincide con el número mágico detectado, PRX-SD agrega una nota al informe de escaneo. Las discrepancias de extensión son una técnica común de ingeniería social (p. ej., photo.jpg.exe).

Prioridad de Detección Mágica

Cuando múltiples firmas podrían coincidir (p. ej., magia ZIP para .zip y .docx), PRX-SD usa inspección más profunda:

  1. Leer bytes mágicos en offset 0
  2. Si es ambiguo (p. ej., ZIP), inspeccionar la estructura interna
  3. Para formatos basados en ZIP, verificar [Content_Types].xml (OOXML), META-INF/MANIFEST.MF (JAR), AndroidManifest.xml (APK)
  4. Volver al tipo de contenedor genérico

Escaneo Recursivo de Archivos Comprimidos

Cuando PRX-SD encuentra un archivo comprimido (ZIP, 7z, tar, gzip, RAR, etc.), extrae los contenidos a un directorio temporal y escanea cada archivo individualmente a través del pipeline de detección completo.

Profundidad de Recursión

AjustePredeterminadoDescripción
max_archive_depth5Niveles máximos de anidamiento para archivos comprimidos dentro de archivos comprimidos
max_archive_files10.000Archivos máximos a extraer de un único archivo comprimido
max_archive_size_mb500Tamaño total máximo extraído antes de detenerse

Estos límites previenen el agotamiento de recursos por zip bombs y archivos comprimidos profundamente anidados.

toml
# ~/.config/prx-sd/config.toml
[scanning]
max_archive_depth = 5
max_archive_files = 10000
max_archive_size_mb = 500

Zip Bombs

PRX-SD detecta zip bombs (archivos comprimidos con índices de compresión extremos) y detiene la extracción antes de consumir espacio en disco o memoria excesivos. La detección de una zip bomb se reporta como SUSPICIOUS en los resultados del escaneo.

Archivos Comprimidos Protegidos con Contraseña

PRX-SD no puede extraer archivos comprimidos protegidos con contraseña. Estos se reportan como skipped en los resultados del escaneo con una nota sobre el cifrado. El archivo comprimido en sí todavía se verifica contra las bases de datos de hash y YARA.

Detección de Scripts

Para archivos de script basados en texto (shell, Python, JavaScript, PowerShell, VBScript, batch), PRX-SD aplica heurísticas basadas en patrones:

PatrónPuntosDescripción
Cadenas ofuscadas10-20Comandos codificados en base64, concatenación de cadenas excesiva
Descarga + ejecución15-25curl/wget canalizado a bash/sh, Invoke-WebRequest + Invoke-Expression
Shell inverso20-30Patrones de shell inverso conocidos (/dev/tcp, nc -e, bash -i)
Acceso a credenciales10-15Lectura de /etc/shadow, almacenes de credenciales del navegador, keychain
Mecanismos de persistencia10-15Agregar trabajos cron, servicios systemd, claves de registro

Archivos No Admitidos

Los archivos que no coinciden con ningún número mágico conocido aún se verifican contra las bases de datos de hash y YARA. El análisis heurístico no se aplica a tipos de archivo desconocidos. Ejemplos comunes:

  • Datos binarios sin procesar
  • Formatos propietarios sin números mágicos públicos
  • Archivos cifrados (a menos que se reconozca el formato contenedor)

Estos archivos aparecen como type: unknown en los informes de escaneo y reciben solo escaneo de hash + YARA.

Próximos Pasos

Released under the Apache-2.0 License.