Existe uma campanha contínua de envio de vírus / trojans em mensagens de e-mail falsificadas como sendo do Banco HSBC, Lloyds TSB, Amazon etc.
O trojan / vírus é enviado em um aplicativo / anexo de zip.
Eu salvei um desses arquivos zip e os descompactei em um diretório de propriedade de mim com permissão 700 em um sistema de arquivos ext4
Para analisá-lo com clamscan
, avgscan
e avast
, salvei o arquivo zip e descompactei seu conteúdo em um diretório "virus":
File: /home/users/miller/virus
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 809h/2057d Inode: 14155801 Links: 2
Access: (0700/drwx------) Uid: ( 1001/ miller) Gid: ( 1000/ users)
Access: 2013-10-03 12:57:47.484923866 +0200
Modify: 2013-10-03 12:57:46.684879168 +0200
Change: 2013-10-03 12:57:46.684879168 +0200
Birth: -
Como esperado, posso renomear o arquivo ou excluí-lo. O arquivo tem permissões 600 e é de minha propriedade:
$ stat virus.exe
File: virus.exe
Size: 61440 Blocks: 120 IO Block: 4096 regular file
Device: 809h/2057d Inode: 14155809 Links: 1
Access: (0600/-rw-------) Uid: ( 1001/ miller) Gid: ( 1000/ users)
Access: 2013-10-03 12:46:37.194541504 +0200
Modify: 2013-10-01 22:01:44.000000000 +0200
Change: 2013-10-03 13:19:09.263393591 +0200
Birth: -'
Mas qualquer tentativa de ler o arquivo ou copiá-lo falhará.
$ file virus.exe
virus.exe: writable, regular file, no read permission'
cp virus.exe copy.exe
cp: cannot open virus.exe for reading: Operation not permitted'
lsattr virus.exe
lsattr: Operation not permitted While reading flags on virus.exe'
Mesmo tentando isso como root falhar.
Então, como é possível tornar um arquivo ilegível, mesmo que ele possua "permissão rw" e como ele pode ser legível para varrê-lo com avgscan
, clamscan
, avast
etc?
* CORRECÇÃO * * (o comentário anterior foi para arquivo zip errado)
Adendo: Executar clamscan
no arquivo zip do anexo salvo resulta em nenhum vírus / trojan / malware sendo detectado, provavelmente porque o arquivo executável interno está em um estado "ilegível".
clamscan virus.zip
virus.zip: OK
Da mesma forma, avgscan
e avast
não detectam nenhum malware.
Isso destaca a importância de poder ler o arquivo exe extraído e mostra que clamscan
não está conseguindo detectar malware.
O nome original do arquivo zip é ORDER-N:N-1414559-3015133.zip
e o nome original do arquivo executável é Order details.exe
.
* INFORMAÇÕES ADICIONAIS IMPORTANTES *
Para recapitular, se o arquivo zip é descompactado pelo usuário miller, um arquivo exe é criado:
60 -rw------- 1 miller users 61440 2013-10-01 22:01 Order details.exe
mas isso é ilegível pelo usuário miller ou pelo root.
CONTUDO, se o arquivo zip é descompactado pelo root, o arquivo exe é legível pelo root:
0 -rw-r--r-- 1 root root 61440 2013-10-01 22:01 Order details.exe
O comando file mostra o seguinte:
[15:57] koala:{virus/}# file Order\ details.exe
Order details.exe: PE32 executable (GUI) Intel 80386, for MS Windows
Então, o que está definido que está impedindo o usuário comum e o root de ler o arquivo descompactado pelo usuário?
O arquivo descompactado pela raiz:
$ lsattr Order\ details.exe
-------------e-- Order details.exe
A página de manual para chattr
explica:
The 'e' attribute indicates that the file is using extents for mapping
the blocks on disk. It may not be removed using chattr(1).
Assim, nos sistemas de arquivos ext2 / 3/4 existe uma situação catch22 - a falta de legibilidade do arquivo NÃO PODE ser alterada, e a solução é descompactar o arquivo zip como raiz para evite criar o arquivo descompactado com o atributo "e", já que a versão unzip do Linux não possui uma opção de ignorar atributos.
Se o arquivo zip for descompactado em um sistema de arquivos XFS pelo usuário, ele será legível, porque o XFS não suporta o mecanismo de configuração de atributos.
E quando avgscan
é executado no arquivo exe:
$ avgscan Order\ details.exe
AVG command line Anti-Virus scanner
Copyright (c) 2013 AVG Technologies CZ
Virus database version: 3222/6719
Virus database release date: Thu, 03 Oct 2013 06:11:00 +0200
Order details.exe Found Luhe.Fiha.A
Files scanned : 1(1)
Infections found : 1(1)
Assim, a moral desta história é não confiar avgscan
, avast
ou clamscan
em sempre encontrar malware em arquivos zip - sempre a varredura no executável descompactado!