Há uma campanha contínua de envio de vírus/trojans em mensagens de e-mail falsas como sendo do Banco HSBC, Lloyds TSB, Amazon etc.
O trojan/vírus é enviado em um anexo de aplicativo/zip.
Salvei um desses arquivos zip e descompactei-o em um diretório de minha propriedade com permissão 700 em um sistema de arquivos ext4
Para verificá-lo com clamscan
, avgscan
, e avast
, salvei o arquivo zip e descompactei seu conteúdo em um diretório "vírus":
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 era de se esperar, 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 porque o root falha.
Então, como é possível tornar um arquivo ilegível mesmo que ele tenha "permissão rw" e como ele pode ser tornado legível para digitalizá-lo com avgscan
, clamscan
, avast
etc?
* CORREÇÃO** (o comentário anterior era sobre arquivo zip errado)
Adendo: A execução clamscan
no arquivo zip do anexo salvo resulta na detecção de nenhum vírus/trojan/malware, provavelmente porque o arquivo executável interno está em um estado "ilegível".
vírus clamscan.zip vírus.zip: OK
Da mesma forma avgscan
e avast
não consegue detectar nenhum malware.
Isso destaca a importância de ser capaz de 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 for descompactado pelo usuário miller, um arquivo exe será criado:
60 -rw------- 1 miller users 61440 2013-10-01 22:01 Order details.exe
mas isso é ilegível pelo usuário miller ou root.
NO ENTANTO, se o arquivo zip for descompactado pelo root, o arquivo exe poderá ser lido 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á configurado para impedir que o usuário comum e o root leiam o arquivo descompactado pelo usuário?
O arquivo descompactado pelo root:
$ lsattr Order\ details.exe
-------------e-- Order details.exe
A página de manual 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 arquivoNÃO PODEser alterado, e a solução é descompactar o arquivo zip como root para evitar a criação do arquivo descompactado com o atributo "e", já que a versão de descompactação do Linux não possui uma opção para 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)
Então a moral desta história énão confie avgscan
, avast
ou clamscan
sempre encontrar malware em arquivos zip - sempre faça a verificação no executável descompactado!
Responder1
Pelo que posso dizer, a prova definitiva é este comando:
lsattr virus.exe
lsattr: Operation not permitted While reading flags on virus.exe
Basicamente, isso significa que o sistema de arquivos subjacente não é EXT2/3/4. Dado que as permissões normais às vezes podem não ser um fator e os atributos do arquivo também podem não ser suportados.
Exemplo
Eu tenho um compartilhamento montado em NFS da seguinte maneira.
$ pwd
/home/sam
Se eu correr lsattr
contra isso:
$ lsattr /home/sam/ 2>&1 | head -3
lsattr: Inappropriate ioctl for device While reading flags on /home/sam/dead.letter
lsattr: Inappropriate ioctl for device While reading flags on /home/sam/bashrc
lsattr: Inappropriate ioctl for device While reading flags on /home/sam/phillip_phillips_home.mp3
Meu palpite é que o sistema de arquivos é o que está negando acesso a ele.