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?
security
anti-virus
malware
Xavin
fonte
fonte
file foo.zip
ou mesmo se eles são válidos7z t foo.zip
para testá-lo (ou seja, descompactar e verificar as somas de verificação CRC, sem extrair para os arquivos locais no disco). (7z
usa sintaxe um pouco semelhante atar
.) Ouunzip -l foo.zip
para 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.Respostas:
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).
fonte
.zip
arquivos malformados que tentam direcionar falhas em implementações descompactadas específicas.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.
fonte
Há pelo menos duas considerações importantes que você deve levar em consideração:
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.
fonte
Você pode verificar se os arquivos podem ser executados no servidor Linux simplesmente verificando-os com o
file FILENAME.exe
comando Os binários Elf (o formato executável usado no Linux) podem ser nomeados com.exe
extensã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.fonte
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 :).
fonte
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.
fonte
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.
fonte
.Exe descompactado também é inofensivo para servidores Linux.
fonte
.exe
nada mais é do que parte do nome do arquivo e isso também pode ser escolhido como o nome de um binário ELF.