¿Cómo hacer que un archivo de malware sea legible con "Sin permiso de lectura en el archivo" en Linux ext-4?

¿Cómo hacer que un archivo de malware sea legible con "Sin permiso de lectura en el archivo" en Linux ext-4?

Hay una campaña en curso de envío de virus/troyanos en mensajes de correo electrónico falsificados como si fueran del HSBC Bank, Lloyds TSB, Amazon, etc.

El troyano/virus se envía en una aplicación/archivo adjunto zip.

Guardé uno de esos archivos zip y lo descomprimí en un directorio de mi propiedad con permiso 700 en un sistema de archivos ext4.

Para escanearlo con clamscan, avgscany avast, guardé el archivo zip y descomprimí su contenido en un directorio "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 era de esperar, puedo cambiar el nombre del archivo o eliminarlo. El archivo tiene permisos 600 y es de mi propiedad:

$ 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: -`

Pero cualquier intento de leer el archivo o copiarlo falla.

$ 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`

Incluso intentar esto como root falla.

Entonces, ¿cómo es posible hacer que un archivo sea ilegible aunque tenga "permiso rw" y cómo se puede hacer legible para escanearlo con , avgscanetc. ?clamscanavast


* CORRECCIÓN** (el comentario anterior era para un archivo zip incorrecto)

Anexo: clamscanAl ejecutar el archivo zip adjunto guardado, no se detecta ningún virus, troyano o malware, probablemente porque el archivo ejecutable interno está en un estado "ilegible".

clamscan virus.zip virus.zip: OK

Del mismo modo avgscany avastno logra detectar ningún malware.

Esto resalta la importancia de poder leer el archivo exe extraído y muestra que clamscanno puede detectar malware.

El nombre original del archivo zip es ORDER-N:N-1414559-3015133.zipy el nombre original del archivo ejecutable es Order details.exe.


*INFORMACIÓN ADICIONAL IMPORTANTE*

En resumen, si el usuario miller descomprime el archivo zip, se crea un archivo exe:

60 -rw-------   1 miller users 61440 2013-10-01 22:01 Order details.exe

pero esto es ilegible ni para el usuario miller ni para el root.

SIN EMBARGO, si el root descomprime el archivo zip, el root puede leer el archivo exe:

0 -rw-r--r--  1 root root 61440 2013-10-01 22:01 Order details.exe

El comando de archivo muestra lo siguiente:

[15:57] koala:{virus/}# file Order\ details.exe 
Order details.exe: PE32 executable (GUI) Intel 80386, for MS Windows

Entonces, ¿qué se establece que impide que el usuario normal y el root lean el archivo descomprimido por el usuario?

El archivo descomprimido por root:

$ lsattr Order\ details.exe 
-------------e-- Order details.exe

La página del manual chattrexplica:

The 'e' attribute indicates that the file is using extents for  mapping
the blocks on disk.  It may not be removed using chattr(1).

Por lo tanto, en los sistemas de archivos ext2/3/4 existe una situación catch22: la falta de legibilidad del archivo.NO PUEDOpuede cambiarse, y la solución es descomprimir el archivo zip como raíz para evitar crear el archivo descomprimido con el atributo "e", ya que la versión de descompresión de Linux no tiene un interruptor para ignorar atributos.

Si el usuario descomprime el archivo zip en un sistema de archivos XFS, entonces es legible, porque XFS no admite el mecanismo de configuración de atributos.

Y cuando avgscanse ejecuta en el archivo 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)

Entonces la moraleja de esta historia esNo confíes avgscan, avasto clamscansobre encontrar siempre malware en archivos zip: ¡realice siempre el análisis en el ejecutable descomprimido!

Respuesta1

Por lo que puedo decir, la prueba irrefutable es este comando:

lsattr virus.exe 
lsattr: Operation not permitted While reading flags on virus.exe

Básicamente, esto significa que el sistema de archivos subyacente no es EXT2/3/4. Dado que los permisos normales a veces pueden no ser un factor y es posible que los atributos del archivo tampoco sean compatibles.

Ejemplo

Tengo un recurso compartido montado en NFS de la siguiente manera.

$ pwd
/home/sam

Si corro lsattren contra de él:

$ 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

Supongo que el sistema de archivos es lo que le niega el acceso a él.

información relacionada