Linux ext-4에서 "파일에 대한 읽기 권한 없음"을 사용하여 악성 코드 파일을 읽을 수 있게 만드는 방법은 무엇입니까?

Linux ext-4에서 "파일에 대한 읽기 권한 없음"을 사용하여 악성 코드 파일을 읽을 수 있게 만드는 방법은 무엇입니까?

HSBC Bank, Lloyds TSB, Amazon 등에서 보낸 것처럼 위장한 이메일 메시지에 바이러스/트로이 목마를 보내는 캠페인이 진행 중입니다.

트로이 목마/바이러스는 응용 프로그램/zip 첨부 파일로 전송됩니다.

나는 그러한 zip 파일 중 하나를 저장하고 ext4 파일 시스템에서 권한 700을 사용하여 내가 소유한 디렉토리에 압축을 풀었습니다.

clamscan, avgscan및 로 스캔하기 위해 avastzip 파일을 저장하고 해당 콘텐츠의 압축을 "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 virus.zip virus.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 파일의 압축을 풀면 exe 파일을 루트로 읽을 수 있습니다.

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

file 명령은 다음을 보여줍니다.

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

그렇다면 일반 사용자와 루트가 사용자가 압축을 푼 파일을 읽지 못하도록 설정되어 있는 것은 무엇입니까?

루트로 압축을 푼 파일:

$ 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 상황이 발생합니다. 즉, 파일의 가독성이 부족합니다.할 수 없다해결 방법은 Linux 압축 풀기 버전에 속성 무시 스위치가 없기 때문에 "e" 속성으로 압축을 푼 파일이 생성되지 않도록 루트로 zip 아카이브의 압축을 푸는 것입니다.

사용자가 XFS 파일 시스템에서 zip 파일의 압축을 풀면 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또는 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

내 생각엔 파일 시스템이 사용자의 액세스를 거부하는 것 같습니다.

관련 정보