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ística | Windows | Linux |
|---|---|---|
| Extensión | Fundamental 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ágico | Windows 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ón | Un 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,.bako.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.exese disfrace de.txt.
3. Ejecución de Archivos en Windows vs. Linux
En Windows
-
Basado en la extensión:
- Un archivo con
.exeo.batse ejecuta directamente con doble clic o desde la terminal (cmdoPowerShell). - Un archivo con
.txto.jpgse abrirá con la aplicación predeterminada y no se ejecutará como código.
- Un archivo con
-
Ejecución manual:
.\archivo.exe # Ejecutar un ejecutable en PowerShell o CMD -
Ejecución forzada (incluso sin extensión):
start archivo # Si "archivo" es ejecutable, se ejecutará aunque no tenga extensión
En Linux
-
No importa la extensión:
- Un script o ejecutable puede ejecutarse con o sin extensión si tiene permisos adecuados.
-
Ejemplo de ejecución:
chmod +x script.txt ./script.txt -
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.
- Si muestra
-
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,.scro.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
filepara analizar archivos antes de ejecutarlos. - Escanea archivos con
clamscansi sospechas de malware.
- No asignes permisos de ejecución a archivos sospechosos (