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

49

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

Assim, o arquivo ZIP não deve representar nenhum risco para o meu servidor web, certo?

    
por Xavin 22.12.2016 / 09:49

8 respostas

85

Se eles são realmente arquivos zip do Windows, eles devem ser inofensivos ao seu sistema Linux, a menos que você tenha algo como o Wine no lugar que poderia tentar executá-los.

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

    
por 22.12.2016 / 09:55
62

Since I'm able to uncompress the files on my mac I assume these are real zip files and not just something like renamed php files.

Embora você esteja provavelmente nesse caso, sua suposição nem sempre é válida. Um arquivo ZIP permanece válido mesmo que você preencha dados arbitrários, , por isso é bem possível criar um arquivo que é simultaneamente um arquivo ZIP válido contendo dados inocentes e também um script PHP malicioso. Não é nem particularmente difícil; apenas concatene o código PHP e o arquivo ZIP, e certifique-se (por exemplo, usando __halt_compiler() ) que o PHP não tentará analisar os dados do arquivo ZIP anexados.

Esse truque é usado legitimamente para criar arquivos ZIP de extração automática, mas é perfeitamente possível pré-anexar qualquer outro dado oculto 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, eles estão tecnicamente violando a especificação do formato ZIP), ou eles podem identificar o arquivo como algo diferente de um arquivo ZIP por padrão, mas geralmente, se você arquivo no código que espera um arquivo ZIP, provavelmente será aceito como um.

Um uso mal-intencionado mais comum de tais 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 em GIFAR exploit), mas não há nenhuma razão para que ele não possa ser usado na outra direção também, por exemplo para ignorar um filtro de upload de arquivo que proíbe o upload de scripts PHP, mas permite arquivos ZIP, sem verificar se o arquivo enviado pode ser ambos ao mesmo tempo.

    
por 22.12.2016 / 16:00
11

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

  1. Se esses arquivos forem distribuídos em seu website, você poderá ser responsabilizado se alguém receber malware do seu site. No mínimo, o seu site pode estar sinalizado por malware. Se você decidir ignorar os avisos do scanner de malware, deverá notificar ao remetente e aos possíveis usuários de download que o arquivo pode ser prejudicial (como os arquivos baixados da Internet às vezes são).
  2. Você faz algum processamento nesses 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 seu software utilitário estiver vulnerável a alguma exploração e o zip / exe aparentemente agradável contiver conteúdo nocivo direcionado ao seu utilitário. Eu não deixaria meu servidor processar nada que falhe na verificação de malware.

Assim, dependendo do servidor, o arquivo pode ser prejudicial ao servidor ou a outros usuários. Como sou bastante cauteloso com os EXEs baixados da Internet, eu diria que os possíveis usuários de download são os usuários mais em risco aqui.

    
por 23.12.2016 / 10:31
2

Since I'm able to uncompress the files on my Mac I assume these are real ZIP files and not just something like renamed PHP files.

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, cuidado com isso também.

    
por 24.12.2016 / 04:03
2

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

    
por 25.12.2016 / 01:17
2

Estou surpreso que ninguém tenha mencionado que qualquer dado pode ser (ou ser feito para ser) prejudicial a qualquer programa (com bugs). Essa é a base do confuso. Por exemplo, você pode ter um arquivo JPEG (ou semelhante a JPEG) que cause um estouro de buffer nos decodificadores JPEG (específicos?), Causando qualquer coisa, desde uma negação de serviço até a execução arbitrária de código. Trata-se de subverter um programa de processamento de dados existente; não há necessidade de trazer um novo executável! E esta é a razão pela qual os princípios de sandboxing, saneamento de entrada e privilégio mínimo são necessários.

Assim, 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 que ele seja prejudicial.

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

    
por 25.12.2016 / 23:44
0

Um cheque adicional que você deve idealmente colocar em prática é o método finfo do php para verificar se os arquivos que estão sendo enviados pelos usuários são realmente o que você permitiu, e não algo que os usuários renomearam os arquivos apenas para enganar o sistema.

    
por 26.12.2016 / 05:57
-6
O

Unzipped .exe também é inofensivo para servidores Linux.

    
por 22.12.2016 / 17:09