Manejo de Virus y Diferencias entre Extensión y Número Mágico en Windows y Linux

Relacionado: Herramientas. chmod. Forense de memoria de sistema completo. Lectura y escritura coordinada entre procesos sin kernel. Sistema de Gestion de la Seguridad de la Informacion.

Cuando se manipulan archivos potencialmente maliciosos en Windows y Linux, es importante conocer cómo estos sistemas operativos determinan si un archivo es ejecutable. La diferencia clave radica en la extensión del archivo y su número mágico.


1. Diferencias entre Número Mágico y Extensión

CaracterísticaWindowsLinux
ExtensiónFundamental para determinar el tipo de archivo y si es ejecutable (.exe, .bat, .vbs, etc.).No afecta la ejecutabilidad; lo importante son los permisos y el contenido del archivo.
Número MágicoWindows puede ignorarlo en algunos casos y fiarse de la extensión. Sin embargo, los archivos PE (.exe, .dll) tienen un número mágico (MZ o 4D 5A).Es el criterio principal para determinar el tipo de archivo. Usa file para analizar el contenido real.
EjecuciónUn archivo solo se ejecuta si tiene una extensión asociada a un programa (.exe, .cmd, .bat).Un archivo puede ejecutarse sin importar la extensión si tiene permisos adecuados y es un binario o script con shebang.

2. Cambiar la Extensión para Evitar la Ejecución en Windows

En Windows, los archivos maliciosos pueden ejecutarse automáticamente si tienen una extensión asociada a un ejecutable. Para evitar esto:

  • Renombrar el archivo agregando una extensión inofensiva como .txt, .bak o .disabled.

    rename malware.exe malware.txt
  • Cambiar la asociación de archivos en el registro para evitar la ejecución accidental.

  • Mostrar extensiones en el Explorador de Windows (Opciones de Carpeta > Ver > Desmarcar "Ocultar extensiones para tipos de archivo conocidos") para evitar que un archivo .exe se disfrace de .txt.


3. Ejecución de Archivos en Windows vs. Linux

En Windows

  1. Basado en la extensión:

    • Un archivo con .exe o .bat se ejecuta directamente con doble clic o desde la terminal (cmd o PowerShell).
    • Un archivo con .txt o .jpg se abrirá con la aplicación predeterminada y no se ejecutará como código.
  2. Ejecución manual:

    .\archivo.exe  # Ejecutar un ejecutable en PowerShell o CMD
  3. Ejecución forzada (incluso sin extensión):

    start archivo  # Si "archivo" es ejecutable, se ejecutará aunque no tenga extensión

En Linux

  1. No importa la extensión:

    • Un script o ejecutable puede ejecutarse con o sin extensión si tiene permisos adecuados.
  2. Ejemplo de ejecución:

    chmod +x script.txt
    ./script.txt
  3. Verificación de tipo de archivo:

    file archivo
    • Si muestra ELF 64-bit LSB executable, es un binario ejecutable.
    • Si muestra ASCII text, probablemente sea un script.
  4. Ejecutar sin permisos de ejecución:

    bash script.txt   # Si es un script de Bash
    python3 script.txt  # Si es un script en Python

4. Análisis con ClamAV (clamscan)

clamscan es un antivirus de código abierto para Linux que permite analizar archivos en busca de malware.

Comandos básicos

  • Escanear un archivo:

    clamscan archivo_sospechoso
  • Escanear un directorio de forma recursiva:

    clamscan -r /ruta/del/directorio
  • Eliminar automáticamente archivos infectados:

    clamscan --remove archivo_o_carpeta
  • Actualizar la base de datos de virus:

    sudo freshclam

5. Recomendaciones de Seguridad

  • En Windows:

    • Usa herramientas como Windows Defender, ClamAV o Malwarebytes para escanear archivos.
    • No ejecutes archivos desconocidos, especialmente si tienen extensiones como .exe, .scr o .vbs.
    • Cambia extensiones sospechosas antes de abrir (malware.exe → malware.txt).
  • En Linux:

    • No asignes permisos de ejecución a archivos sospechosos (chmod -x archivo).
    • Usa file para analizar archivos antes de ejecutarlos.
    • Escanea archivos con clamscan si sospechas de malware.