Linux ext-4 で「ファイルの読み取り権限がありません」というメッセージが表示されてもマルウェア ファイルを読み取り可能にする方法を教えてください。

Linux ext-4 で「ファイルの読み取り権限がありません」というメッセージが表示されてもマルウェア ファイルを読み取り可能にする方法を教えてください。

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

同様にavgscanavastマルウェアも検出されません。

これは、抽出された 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 は属性設定メカニズムをサポートしていないため、読み取り可能になります。

avgscanexe ファイルで実行されると次のようになります。

$ 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またはclamscanzip ファイルで常にマルウェアを検出することに重点を置いています - 解凍された実行可能ファイルを常にスキャンしてください。

答え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

私の推測では、ファイルシステムがアクセスを拒否しているのだと思います。

関連情報