Vou abordar o malware em geral para essa resposta, não apenas para vírus.
Os vírus no Linux não estão restritos a uma extensão / tipo de arquivo específico.
Para entender melhor o que estamos falando, primeiro precisamos entender o link entre extensões e tipos de arquivo e como os vírus realmente funcionam.
No Windows, .exe
arquivos contêm arquivos em um PE (formato de arquivo Portable Executable, que é um formato que contém dados executáveis binários. Esses dados executáveis são carregados na memória e executados interpretando as instruções nesses dados.
Isso significa que a maneira mais fácil de executar seu código é empacotá-lo em um .exe
. Há outras maneiras também, no entanto. Os arquivos PDF são notoriamente inseguros porque contêm partes que podem ser interpretadas pelo leitor. Isso significa que um script incorporado pode abusar de pontos fracos na segurança do leitor e, por exemplo, procurar e modificar outros arquivos PDF no sistema.
Pode ficar ainda pior. Você pode abusar de erros de programação em aplicativos para injetar códigos maliciosos diretamente na memória do computador. Uma vez lá, essas instruções podem ser executadas como código nativo e geralmente com altos privilégios, com resultados devastadores.
Então, como isso funciona no Linux?
O Linux, como o Windows, possui um formato executável binário. O Windows tem o formato PE, o Linux o formato ELF. Em geral, os Unices têm um requisito de extensão de arquivo muito menos pronunciado, portanto, os arquivos ELF geralmente são sem extensão. O Linux usa o Magic Numbers para identificar esses arquivos, e é por isso que não precisa das extensões.
Os binários, no entanto, não são tão populares como um método de distribuição de malware no Linux. Isso ocorre porque os usuários finais raramente abrem manualmente os binários que recebem. Os binários são instalados e gerenciados pelo gerenciador de pacotes, não pelo usuário final. Portanto, o malware precisa de outros vetores de ataque para injetar seu código na vítima.
Isso significa que esses outros métodos (injeção de código, script) são muito mais populares como portadores de códigos maliciosos.