¿Los archivos EXE comprimidos son inofensivos para los servidores Linux?

49

Ejecuté un escáner de malware en mi sitio, y marcó un montón de archivos EXE comprimidos como archivos de riesgo potencial (estos archivos fueron cargados por los usuarios). Como puedo descomprimir los archivos en mi Mac, supongo que estos son archivos ZIP reales y no solo algo así como archivos PHP renombrados.

Entonces, el archivo ZIP no debería ser un riesgo para mi servidor web, ¿verdad?

Xavin
fuente
1
Suena como un escáner de malware basura.
Nick T
11
Usted sabe que puede probar si están en formato ZIP file foo.zip, o incluso probar si son válidos 7z t foo.zippara probarlo (es decir, descomprimir y verificar las sumas de verificación CRC, sin extraer archivos locales en el disco). ( 7zusa una sintaxis algo similar a tar). O unzip -l foo.zippara enumerar los contenidos. De todos modos, pensé que era extraño que hablaras de revisar los archivos en otra computadora cuando podrías haberlos revisado fácilmente en el servidor.
Peter Cordes
66
¿Qué tipo de sitio web aloja? No parece una buena idea poner contenido enviado por el usuario y su servidor web orientado hacia adelante en la misma caja.
oldmud0
@NickT Los archivos ZIP autoextraíbles podrían tener un código malicioso adicional adjunto a la parte ejecutable.
chrylis -on strike-

Respuestas:

84

Si realmente están comprimidos archivos exe de Windows, deberían ser inofensivos para su sistema Linux, a menos que tenga algo como Wine en su lugar que podría intentar ejecutarlos.

Pero si están en su ruta web, podrían ser malware y representar un gran riesgo para los visitantes de sus sitios web (y usted, a su vez, si termina siendo marcado como fuente de malware y los usuarios reciben advertencias feas cuando intentan visitar su sitio web). sitio).

Sven
fuente
3
Me pregunto si alojar esa basura cargada de "usuarios" puede hacer que Google marque su sitio como "Este sitio puede ser pirateado", o que Chrome muestre una página gigante roja de advertencia. "Inofensivo" podría ser un poco inapropiado entonces.
Nick T
11
@NickT: Ciertamente puede, y a eso me refería en mi segundo párrafo.
Sven
44
En teoría, alguien también podría crear .ziparchivos mal formados que intentan detectar fallas en implementaciones específicas de descompresión.
jamesdlin
3
Es más probable que Mono esté instalado en un servidor que Wine, y puede ejecutar archivos CLR .exe.
Rhymoid
62

Como puedo descomprimir los archivos en mi Mac, supongo que estos son archivos zip reales y no solo algo así como archivos PHP renombrados.

Si bien es probable que tenga razón en este caso, su suposición no siempre es válida. Un archivo ZIP sigue siendo válido incluso si antepone datos arbitrarios , por lo que es muy posible crear un archivo que sea simultáneamente un archivo ZIP válido que contenga datos inocentes y también un script PHP malicioso. Ni siquiera es particularmente difícil; simplemente concatene el código PHP y el archivo ZIP, y asegúrese (por ejemplo, usando __halt_compiler()) que PHP no intentará analizar los datos de archivo ZIP adjuntos.

Este truco se usa legítimamente para crear archivos ZIP autoextraíbles, pero es perfectamente posible anteponer cualquier otro dato oculto o código ejecutable en un archivo ZIP de la misma manera. Algunos programas pueden negarse a abrir dichos archivos ZIP modificados (pero si es así, están violando técnicamente la especificación del formato ZIP), o pueden identificar el archivo como algo diferente de un archivo ZIP de forma predeterminada, pero en general, si alimenta un archivo de este tipo archivo en el código que espera un archivo ZIP, probablemente será aceptado como uno.

Un uso malicioso más común de tales trucos es disfrazar el código de explotación en un contenedor basado en ZIP (por ejemplo, un archivo JAR) como algo inofensivo (como una imagen GIF, como en la explotación GIFAR ), pero no hay razón para que no pueda serlo. también se usa en la otra dirección, por ejemplo, para omitir un filtro de carga de archivos ingenuo que prohíbe cargar scripts PHP pero permite archivos ZIP, sin verificar si el archivo cargado podría ser ambos al mismo tiempo.

Ilmari Karonen
fuente
+1 para GIFAR, interesante saber sobre un ejemplo específico de este exploit en la práctica.
caesay
11

Hay al menos dos consideraciones notables que debe tener en cuenta:

  1. Si estos archivos se distribuyen en su sitio web, puede ser responsable si alguien obtiene malware de su sitio. Como mínimo, su sitio podría ser marcado por malware. Si decide ignorar las advertencias del escáner de malware, al menos debe notificar al cargador y a los posibles descargadores que el archivo puede ser dañino (como a veces lo son los EXE descargados de Internet).
  2. ¿Realiza algún procesamiento en estos archivos que no sea el análisis de malware? El procesamiento automático de archivos adjuntos u otras cargas de este tipo siempre es potencialmente peligroso, porque el contenido del archivo podría ser cualquier cosa. Ni siquiera necesita ejecutar el archivo EXE si el software de su utilidad es vulnerable a algún exploit y el aparentemente agradable zip / exe contiene contenido dañino dirigido a su utilidad. No permitiría que mi servidor procese nada que falle el escaneo de malware.

Entonces, dependiendo de lo que haga su servidor, el archivo podría ser potencialmente dañino para su servidor u otros usuarios. Dado que desconfío de los EXE descargados de Internet, diría que los posibles descargadores son los usuarios más potenciales en riesgo aquí.


fuente
2

Puede verificar si los archivos pueden ejecutarse en su servidor Linux simplemente verificándolos con el file FILENAME.execomando. Los archivos binarios de Elf (el formato ejecutable utilizado en Linux) se pueden nombrar con .exeextensión para confundir a un administrador de Linux desprevenido, por lo que probablemente sea una buena idea hacer esa comprobación antes de confiar ciegamente en que estos archivos no son ejecutables.

grovkin
fuente
2

Me sorprende que nadie haya mencionado que cualquier dato pueda ser (o hacerse ser) dañino para cualquier programa (con errores). Esa es la base del difuso. Por ejemplo, podría tener un archivo JPEG (o similar a JPEG) que provoque un desbordamiento del búfer en los decodificadores JPEG (¿específicos?), Causando desde una denegación de servicio hasta la ejecución de código arbitrario. Se trata de subvertir un programa de procesamiento de datos existente; ¡no es necesario traer un nuevo ejecutable! Y esta es la razón por la cual se necesitan sandboxing, desinfección de entrada y principios de privilegios mínimos.

Entonces, en su caso, podría tener un archivo ZIP que causa problemas en los motores de decodificación ZIP (¿específicos?). No es necesario que el archivo ZIP contenga un ejecutable nativo para que sea dañino.

Dicho esto, su escáner está funcionando a otro nivel más grueso. Si el tipo de riesgo del que estoy hablando existía en esos archivos, ya te golpearon en el momento en que los procesaste :).

hmijail
fuente
1

Como puedo descomprimir los archivos en mi Mac, supongo que estos son archivos ZIP reales y no solo algo así como archivos PHP renombrados.

Ha habido ataques que incrustan datos y aún presentan archivos como válidos. En un servidor configurado incorrectamente o en una aplicación codificada incorrectamente, esto podría hacer que el código se ejecute en su servidor.

Entonces, cuidado con eso también.

rubenvarela
fuente
0

Una verificación adicional que idealmente debería poner en práctica es el método php finfo para verificar si los archivos que están cargando los usuarios son realmente lo que usted permitió, y no algo que los usuarios cambiaron el nombre de los archivos solo para engañar al sistema.

Kanuj Bhatnagar
fuente
-6

El .exe descomprimido también es inofensivo para los servidores Linux.

asqueroso
fuente
23
No necesariamente así, .exeno es más que parte del nombre del archivo y esto también podría elegirse como el nombre para un binario ELF.
Sven
Además, WINE podría estar instalado. De acuerdo, la mayoría del malware dirigido a Windows probablemente no funcionaría bajo WINE, pero el riesgo está presente. En el mejor de los casos, los archivos .exes descomprimidos en Linux son en su mayoría inofensivos.
Ray
@Ray Depende de la configuración. Si, por alguna razón, Mono o Wine están instalados, entonces binfmt_misc podría configurarse para que .exe sea realmente ejecutable.
Rhymoid