目前存在一种通过冒充来自汇丰银行、劳埃德银行、亚马逊等的电子邮件发送病毒/木马的活动。
木马/病毒以应用程序/zip 附件形式发送。
我保存了一个这样的 zip 文件,并将其解压到我拥有的 ext4 文件系统上的 700 权限目录中
为了使用clamscan
、avgscan
、 和进行扫描avast
,我保存了 zip 文件并将其内容解压到目录“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: -
正如预期的那样,我可以重命名该文件或将其删除。该文件的权限为 600,归我所有:
$ 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: -`
但任何读取该文件或复制该文件的尝试都会失败。
$ 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`
即使以 root 身份尝试此操作也会失败。
那么如何才能使文件不可读,即使它具有“rw 权限”,以及如何使其可读以便使用avgscan
、clamscan
等扫描它avast
?
* 更正** (之前的评论是针对错误的zip文件)
附录:运行clamscan
保存的附件 zip 文件本身不会导致检测到病毒/木马/恶意软件,可能是因为内部可执行文件处于“不可读”状态。
clamscanvirus.zipvirus.zip:好的
同样avgscan
,也avast
无法检测到任何恶意软件。
这凸显了能够读取提取的 exe 文件的重要性,并表明clamscan
无法检测恶意软件。
zip 文件的原始名称为ORDER-N:N-1414559-3015133.zip
,可执行文件的原始名称为Order details.exe
。
* 重要的附加信息 *
回顾一下,如果用户 miller 解压 zip 文件,则会创建一个 exe 文件:
60 -rw------- 1 miller users 61440 2013-10-01 22:01 Order details.exe
但这对于用户 miller 或 root 来说都是无法读取的。
但是,如果 zip 文件由 root 解压,则 exe 文件可由 root 读取:
0 -rw-r--r-- 1 root root 61440 2013-10-01 22:01 Order details.exe
文件命令显示如下:
[15:57] koala:{virus/}# file Order\ details.exe
Order details.exe: PE32 executable (GUI) Intel 80386, for MS Windows
那么是什么设置阻止普通用户和 root 读取用户解压的文件呢?
root解压后的文件:
$ lsattr Order\ details.exe
-------------e-- Order details.exe
手册页chattr
解释:
The 'e' attribute indicates that the file is using extents for mapping
the blocks on disk. It may not be removed using chattr(1).
因此,在 ext2/3/4 文件系统上存在一个 catch22 情况——文件缺乏可读性不能需要更改,解决方案是以 root 身份解压 zip 存档,以避免创建带有“e”属性的解压文件,因为 Linux 解压版本没有忽略属性开关。
如果用户将zip文件解压到XFS文件系统上,那么它是可读的,因为XFS不支持属性设置机制。
以及何时avgscan
在 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)
所以这个故事的寓意是不要相信 avgscan
、avast
、 或clamscan
始终在 zip 文件中查找恶意软件 - 始终对解压的可执行文件进行扫描!
答案1
据我所知,确凿无疑的命令是:
lsattr virus.exe
lsattr: Operation not permitted While reading flags on virus.exe
这基本上是说底层文件系统不是EXT2/3/4。鉴于正常权限有时可能不是一个因素,并且文件属性也可能不受支持。
例子
我有一个 NFS 安装共享,如下所示。
$ pwd
/home/sam
如果我lsattr
反对它:
$ 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
我的猜测是文件系统拒绝您访问它。