Os arquivos EXE compactados são inofensivos para os servidores Linux?


49

Eu executei um scanner de malware no meu site e ele marcou vários arquivos EXE compactados como arquivos de risco em potencial (esses arquivos foram carregados pelos usuários). Como sou capaz de descompactar os arquivos no meu Mac, presumo que sejam arquivos ZIP reais e não apenas algo como arquivos PHP renomeados.

Portanto, o arquivo ZIP não deve ser um risco para o meu servidor web, certo?


1
Parece um scanner de malware para lixo.
Nick T

11
Você sabe que pode testar se eles estão no formato ZIP file foo.zipou mesmo se eles são válidos 7z t foo.zippara testá-lo (ou seja, descompactar e verificar as somas de verificação CRC, sem extrair para os arquivos locais no disco). ( 7zusa sintaxe um pouco semelhante a tar.) Ou unzip -l foo.zippara listar o conteúdo. Enfim, eu pensei que era estranho você falar sobre a verificação dos arquivos em outro computador, quando você poderia facilmente verificá-los no servidor.
Peter Cordes

6
Que tipo de site você está hospedando? Não parece uma boa ideia colocar o conteúdo enviado pelo usuário e o servidor da Web voltado para a frente na mesma caixa.
oldmud0

Os arquivos ZIP de extração automática do @NickT podem ter um código malicioso adicional anexado à parte executável.
chrylis -on strike-

Respostas:


84

Se eles são realmente arquivos zipados do Windows exe, eles devem ser inofensivos para o seu sistema Linux, a menos que você tenha algo como o Wine instalado que possa tentar executá-los.

Mas se eles estiverem no seu caminho da Web, eles podem ser malware e representar um grande risco para os visitantes dos seus sites (e você, por sua vez, se acabar sendo marcado como fonte de malware e os usuários receberem avisos feios quando tentarem visitar o seu site). local).


3
Gostaria de saber se a hospedagem desse lixo enviado por "usuário" pode fazer com que o Google marque seu site como "Este site pode ser invadido" ou acionar a exibição do Chrome em uma página de aviso vermelha gigante. "Inofensivo" pode ser um pouco impróprio.
Nick T

11
@ NickT: Certamente pode, e é a isso que eu estava me referindo no meu segundo parágrafo.
Sven

4
Em teoria, alguém também pode criar .ziparquivos malformados que tentam direcionar falhas em implementações descompactadas específicas.
jamesdlin

3
É mais provável que o Mono seja instalado em um servidor que o Wine e pode executar arquivos .exe do CLR.
Rhymoid

62

Desde que eu sou capaz de descompactar os arquivos no meu mac, suponho que estes são arquivos zip reais e não apenas algo como arquivos php renomeados.

Enquanto você provavelmente está certo nesse caso, sua suposição nem sempre é válida. Um arquivo ZIP permanece válido mesmo se você anexar dados arbitrários a ele , portanto, é possível criar um arquivo que seja simultaneamente um arquivo ZIP válido contendo dados inocentes e também um script PHP malicioso. Nem é particularmente difícil; apenas concatene o código PHP e o arquivo ZIP e certifique-se (por exemplo, usando __halt_compiler()) de que o PHP não tente analisar os dados do arquivo ZIP anexados.

Esse truque é legitimamente usado para criar arquivos ZIP com extração automática, mas é perfeitamente possível acrescentar outros dados ocultos ou código executável em um arquivo ZIP da mesma maneira. Alguns programas podem se recusar a abrir esses arquivos ZIP modificados (mas, se estiverem, estão tecnicamente violando as especificações do formato ZIP) ou podem identificar o arquivo como algo diferente de um arquivo ZIP por padrão, mas geralmente, se você alimentar um arquivo no código que espera um arquivo ZIP, ele provavelmente será aceito como um.

Um uso malicioso mais comum desses truques é disfarçar o código de exploração em um contêiner baseado em ZIP (por exemplo, um arquivo JAR) como algo inofensivo (como uma imagem GIF, como na exploração GIFAR ), mas não há razão para que não possa ser. também é usado na outra direção, por exemplo, para ignorar um filtro de upload de arquivo ingênuo que proíbe o upload de scripts PHP, mas permite arquivos ZIP, sem verificar se o arquivo carregado pode ser ambos ao mesmo tempo.


+1 para GIFAR, interessante saber sobre um exemplo específico dessa exploração na prática.
caesay

11

Há pelo menos duas considerações importantes que você deve levar em consideração:

  1. Se esses arquivos forem distribuídos no seu site, você poderá ser responsabilizado se alguém receber malware do seu site. No mínimo, seu site pode ser sinalizado por malware. Se você decidir ignorar os avisos do scanner de malware, notifique pelo menos o remetente e os possíveis downloaders de que o arquivo pode ser prejudicial (como os EXEs baixados da Internet às vezes são).
  2. Você processa esses arquivos além da verificação de malware? O processamento automático de anexos ou outros envios desse tipo é sempre potencialmente perigoso, porque o conteúdo do arquivo pode ser qualquer coisa. Você nem precisa executar o arquivo EXE se o software do seu utilitário estiver vulnerável a alguma exploração e o aparentemente agradável zip / exe contiver conteúdo nocivo direcionado ao seu utilitário. Eu não deixaria meu servidor processar nada que falhasse na verificação de malware.

Portanto, dependendo do que o servidor faz, o arquivo pode ser potencialmente prejudicial para o servidor ou para outros usuários. Como sou bastante cauteloso com os EXEs baixados da Internet, diria que os possíveis downloaders são os usuários em potencial mais em risco aqui.


2

Você pode verificar se os arquivos podem ser executados no servidor Linux simplesmente verificando-os com o file FILENAME.execomando Os binários Elf (o formato executável usado no Linux) podem ser nomeados com .exeextensão para confundir um administrador desavisado do Linux; portanto, é provavelmente uma boa idéia fazer essa verificação antes de confiar cegamente que esses arquivos não podem ser executados.


2

Estou surpreso que ninguém tenha mencionado que qualquer dado pode ser (ou ser feito para ser) prejudicial a qualquer programa (de buggy). Essa é a base da confusão. Por exemplo, você pode ter um arquivo JPEG (ou semelhante ao JPEG) que causa um estouro de buffer em decodificadores JPEG (específicos?), Causando qualquer coisa, desde uma negação de serviço até a execução arbitrária de códigos. Trata-se de subverter um programa de processamento de dados existente; não há necessidade de trazer um novo executável! E é por essa razão que são necessários princípios de sandboxing, sanitização de entrada e menos privilégios.

Portanto, no seu caso, você pode ter um arquivo ZIP causando problemas em mecanismos de decodificação ZIP (específicos?). Não é necessário que o arquivo ZIP contenha um executável nativo para ser prejudicial.

Dito isto, o seu scanner está funcionando em outro nível, mais grosso. Se o tipo de risco que eu estou falando existia nesses arquivos, você já foi atingido no momento em que os processou :).


1

Como sou capaz de descompactar os arquivos no meu Mac, presumo que sejam arquivos ZIP reais e não apenas algo como arquivos PHP renomeados.

Houve ataques que incorporam dados e ainda apresentam arquivos como válidos. Em um servidor configurado incorretamente ou em um aplicativo codificado incorretamente, isso pode fazer com que o código seja executado em seu servidor.

Então, tenha cuidado com isso também.


0

Uma verificação adicional que você idealmente deve colocar em prática é o método php finfo para verificar se os arquivos que estão sendo carregados pelos usuários são realmente o que você permitiu, e não algo que os usuários renomeou os arquivos apenas para enganar o sistema.


-6

.Exe descompactado também é inofensivo para servidores Linux.


23
Não necessariamente assim - .exenada mais é do que parte do nome do arquivo e isso também pode ser escolhido como o nome de um binário ELF.
Sven

Além disso, o WINE pode estar instalado. É verdade que a maioria dos malwares direcionados ao Windows provavelmente não funcionaria corretamente no WINE, mas o risco está presente. Na melhor das hipóteses, .exes descompactados no Linux são inofensivos.
Raio

@Ray Depende da configuração. Se, por algum motivo, o Mono ou o Wine estiver instalado, o binfmt_misc poderá ser configurado para que .exe seja realmente executável.
Rhymoid
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.