HSBC 銀行、ロイズ TSB、Amazon などからのメールを装ってウイルスやトロイの木馬を送信するキャンペーンが進行中です。
トロイの木馬/ウイルスはアプリケーション/zip 添付ファイルで送信されます。
私はそのようなzipファイルを1つ保存し、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`
これをルートとして試しても失敗します。
avgscan
では、ファイルに「rw 権限」があっても、ファイルを読み取り不可にするにはどうすればよいでしょうか。また、、clamscan
などでスキャンできるように読み取り可能にするにはどうすればよいでしょうかavast
。
* 修正** (前のコメントは間違った zip ファイルに関するものでした)
補足:clamscan
保存された添付ファイルの zip ファイル自体を実行すると、ウイルス/トロイの木馬/マルウェアは検出されません。これは、内部の実行可能ファイルが「読み取り不可」の状態にあるためと考えられます。
clamscan ウイルス.zip ウイルス.zip: OK
同様にavgscan
、avast
マルウェアも検出されません。
これは、抽出された exe ファイルを読み取ることができることの重要性を強調し、clamscan
マルウェアの検出に失敗していることを示しています。
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
しかし、これはユーザー 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 がユーザーによって解凍されたファイルを読み取れないように設定されているものは何でしょうか?
ルートによって解凍されたファイル:
$ 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ファイルシステムでは、ファイルの可読性の欠如というジレンマが生じます。できない変更する必要があります。解決策としては、Linux の unzip バージョンには属性を無視するスイッチがないため、"e" 属性を持つ解凍ファイルが作成されないように、zip アーカイブをルートとして解凍します。
ユーザーが 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
私の推測では、ファイルシステムがアクセスを拒否しているのだと思います。