J G*_*ler 6 permissions ext4 malware
有一个持续的活动在电子邮件中发送病毒/特洛伊木马,假冒来自汇丰银行、劳埃德 TSB、亚马逊等。
木马/病毒通过应用程序/zip 附件发送。
我已经保存了一个这样的 zip 文件并将其解压到我拥有的目录中,在 ext4 文件系统上具有 700 权限
为了使用clamscan, avgscan, 和扫描它avast,我保存了 zip 文件并将其内容解压到“病毒”目录中:
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: -
Run Code Online (Sandbox Code Playgroud)
正如所料,我可以重命名文件或删除它。该文件的权限为 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: -`
Run Code Online (Sandbox Code Playgroud)
但是任何读取文件或复制文件的尝试都失败了。
$ 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`
Run Code Online (Sandbox Code Playgroud)
即使以 root 身份尝试也失败了。
那么怎么可能使文件不可读,即使它有“RW权限”,且它如何才能与扫描它是可读的avgscan,clamscan,avast等?
* 更正* * (之前的评论是针对错误的 zip 文件)
附录:clamscan在保存的附件 zip 文件本身上运行不会检测到病毒/木马/恶意软件,可能是因为内部可执行文件处于“无法读取”状态。
clamscan 病毒.zip 病毒.zip:好的
同样avgscan,avast无法检测到任何恶意软件。
这突出了能够读取提取的 exe 文件的重要性,并表明它clamscan无法检测到恶意软件。
zip 文件的原名为 .zip ORDER-N:N-1414559-3015133.zip,可执行文件的原名为Order details.exe.
* 重要的附加信息 *
回顾一下,如果 zip 文件由用户 miller 解压缩,则会创建一个 exe 文件:
60 -rw------- 1 miller users 61440 2013-10-01 22:01 Order details.exe
Run Code Online (Sandbox Code Playgroud)
但这对用户 miller 或 root 来说都是不可读的。
但是,如果 zip 文件被 root 解压,则 exe 文件可以被 root 读取:
0 -rw-r--r-- 1 root root 61440 2013-10-01 22:01 Order details.exe
Run Code Online (Sandbox Code Playgroud)
文件命令显示以下内容:
[15:57] koala:{virus/}# file Order\ details.exe
Order details.exe: PE32 executable (GUI) Intel 80386, for MS Windows
Run Code Online (Sandbox Code Playgroud)
那么是什么设置阻止了普通用户和 root 读取用户解压的文件?
root解压后的文件:
$ lsattr Order\ details.exe
-------------e-- Order details.exe
Run Code Online (Sandbox Code Playgroud)
手册页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).
Run Code Online (Sandbox Code Playgroud)
因此对EXT2 / 3/4的文件系统有一个catch22情况-缺乏文件的可读性的CAN NOT被改变,并且该解决方案是解压zip存档作为根,以避免与“e”的创建解压文件属性,因为 Linux 解压版本没有忽略属性开关。
如果用户在 XFS 文件系统上解压了 zip 文件,则它是可读的,因为 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)
Run Code Online (Sandbox Code Playgroud)
所以这个故事的寓意是不要相信 avgscan,avast或者clamscan总是在 zip 文件中发现恶意软件——总是对解压缩的可执行文件进行扫描!
据我所知,确凿无疑的命令是:
lsattr virus.exe
lsattr: Operation not permitted While reading flags on virus.exe
Run Code Online (Sandbox Code Playgroud)
这基本上是说底层文件系统不是EXT2/3/4。鉴于正常权限有时可能不是一个因素,并且文件属性也可能不受支持。
我有一个 NFS 安装共享,如下所示。
$ pwd
/home/sam
Run Code Online (Sandbox Code Playgroud)
如果我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
Run Code Online (Sandbox Code Playgroud)
我的猜测是文件系统拒绝您访问它。