Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sandfly-entropyscan — 엔트로피 스캐너 for Linux, 악성코드와 관련된 패킹 또는 암호화된 바이너리를 탐지합니다. 악성 파일과 Linux 프로세스를 찾아내고 암호학적 해시와 함께 출력합니다. | Kitploit
도구/GitHubGitHub/sandflysecurity/sandfly-entropyscan
ForensicsMalware AnalysisBinary AnalysisIncident Response
GitHubsandflysecurity/sandfly-entropyscan

sandfly-entropyscan

엔트로피 스캐너 for Linux, 악성코드와 관련된 패킹 또는 암호화된 바이너리를 탐지합니다. 악성 파일과 Linux 프로세스를 찾아내고 암호학적 해시와 함께 출력합니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트
170262년 전Kitploit 검토 완료

sandfly-entropyscan이란?

sandfly-entropyscan은 파일이나 실행 중인 프로세스를 빠르게 스캔하여 엔트로피(무작위성 측정)와 Linux/Unix ELF 형식 실행 파일인지 여부를 보고하는 유틸리티입니다. 일부 Linux 맬웨어는 패킹되거나 암호화되어 매우 높은 엔트로피를 보입니다. 이 도구는 높은 엔트로피를 가진 실행 파일과 프로세스를 빠르게 찾을 수 있으며, 이는 종종 악성입니다.

기능

  • Golang으로 작성되었으며 수정 없이 여러 아키텍처에서 이식 가능합니다.
  • 독립 실행형 바이너리는 종속성이 필요 없으며 의심스러운 시스템에서 라이브러리를 로드하지 않고 즉시 사용할 수 있습니다.
  • 파일을 숨기는 LD_PRELOAD 스타일 루트킷의 영향을 받지 않습니다.
  • 특정 유형의 로더블 커널 모듈(LKM) 루트킷에서 숨겨진/은폐된 프로세스를 찾기 위한 내장 PID 버스팅 기능.
  • 엔트로피와 MD5, SHA1, SHA256, SHA512 해시 값을 생성합니다.
  • 스캐닝 스크립트에서 자동으로 문제를 찾는 데 사용할 수 있습니다.
  • 사고 대응자가 Linux 호스트에서 잠재적 맬웨어를 신속하게 스캔하고 집중하는 데 사용할 수 있습니다.

엔트로피를 스캔하는 이유?

엔트로피는 무작위성의 척도입니다. 바이너리 데이터의 경우 0.0은 무작위가 아니며 8.0은 완전히 무작위입니다. 좋은 암호화는 무작위 백색 소음처럼 보이며 8.0에 가깝습니다. 좋은 압축은 중복 데이터를 제거하여 압축되지 않은 경우보다 더 무작위로 보이게 하며 일반적으로 7.7 이상입니다.

많은 맬웨어 실행 파일은 탐지를 피하고 리버스 엔지니어링을 어렵게 만들기 위해 패킹됩니다. 대부분의 표준 Linux 바이너리는 자신이 무엇인지 숨기려 하지 않기 때문에 패킹되지 않습니다. 높은 엔트로피 파일을 검색하는 것은 높은 엔트로피와 실행 가능이라는 두 가지 속성만으로 악성일 수 있는 프로그램을 찾는 좋은 방법입니다.

어떻게 사용하나요?

sandfly-entropyscan 사용법:

-csv 결과를 CSV 형식으로 출력 (파일명, 경로, 엔트로피, elf_file [true|false], MD5, SHA1, SHA256, SHA512)

-delim CSV 파일의 기본 구분자 ","를 원하는 구분자("|" 등)로 변경

-dir string 분석할 디렉토리 이름

-file string 분석할 단일 파일의 전체 경로

-proc 실행 중인 프로세스 확인 (기본값은 ELF만 확인)

-elf ELF 실행 파일만 확인

-entropy float 이 값보다 크거나 같은 엔트로피를 가진 파일/프로세스 표시 (최소 0.0 - 최대 8.0, 기본값 0은 모든 파일 표시)

-version 버전 표시 후 종료

예제

/tmp 아래에서 실행 가능한 모든 파일 검색:

sandfly-entropyscan -dir /tmp -elf

/var/www 아래에서 높은 엔트로피(7.7 이상) 실행 파일(종종 패킹 또는 암호화됨) 검색:

sandfly-entropyscan -dir /var/www -elf -entropy 7.7

모든 실행 중인 프로세스의 엔트로피와 암호화 해시를 CSV 형식으로 생성:

sandfly-entropyscan -proc -csv

엔트로피가 7.7보다 높은 프로세스 검색 (패킹 또는 암호화되었을 가능성을 나타냄):

sandfly-entropyscan -proc -entropy 7.7

/bin 아래 모든 파일의 엔트로피와 암호화 해시 값을 생성하고 CSV 형식으로 출력 (예: 해시 저장 및 비교용):

sandfly-entropyscan -dir /bin -csv

엔트로피가 7.7보다 큰 모든 파일(ELF 여부 무관)을 디렉토리에서 스캔: (압축 파일, png, jpg, 오브젝트 파일 등 잠재적으로 큰 파일 목록)

sandfly-entropyscan -dir /path/to/dir -entropy 7.7

파일을 빠르게 확인하고 엔트로피, 암호화 해시 생성 및 실행 파일인지 표시:

sandfly-entropyscan -file /dev/shm/suspicious_file

사용 사례

맬웨어 문제가 있다고 생각되는 시스템을 수시로 점검하십시오. 또는 스캔을 자동화하여 예상치 못한 곳에 높은 엔트로피가 나타나는 경우 출력을 얻을 수 있습니다. 또는 이상한 위치에 있는 실행 가능한 ELF 형식 파일(예: /tmp나 사용자의 HTML 디렉토리에 있는 파일)을 플래그 지정할 수 있습니다. 예:

시스템의 /var/www 디렉토리에 높은 엔트로피 바이너리가 나타났습니까? 누군가 웹사이트에 맬웨어 드롭퍼를 넣었을 수 있습니다:

sandfly-entropyscan -dir /var/www -elf -entropy 7.7

cron 작업을 설정하여 /tmp, /var/tmp 및 /dev/shm 디렉토리에서 엔트로피가 높든 아니든 모든 종류의 실행 파일을 스캔하십시오. tmp 디렉토리 아래의 실행 파일은 종종 맬웨어 드롭퍼일 수 있습니다.

sandfly-entropyscan -dir /tmp -elf

sandfly-entropyscan -dir /var/tmp -elf

sandfly-entropyscan -dir /dev/shm -elf

시스템에서 실행 중인 고압축 또는 암호화된 바이너리를 수시로 점검하기 위해 또 다른 cron 또는 자동화된 보안 스위프를 설정하십시오:

sandfly-entropyscan -proc -entropy 7.7

빌드

  • 최신 버전의 golang 설치 (www.golang.org)
  • 저장소 클론:

git clone https://github.com/sandflysecurity/sandfly-entropyscan.git

  • 저장소 디렉토리로 이동하여 빌드:

go build

  • 옵션과 함께 바이너리 실행:

./sandfly-entropyscan

빌드 스크립트

다양한 플랫폼용으로 빌드하는 몇 가지 기본 빌드 스크립트가 있습니다. 이를 사용하여 빌드하거나 필요에 맞게 수정할 수 있습니다. 사고 대응자의 경우 조사 상자에 미리 컴파일된 바이너리를 준비해 두는 것이 유용할 수 있습니다.

build.sh - 실행 시 현재 실행 중인 OS용으로 빌드.

ELF 탐지

파일이 실행 가능한 ELF 형식인지 확인하기 위해 간단한 방법을 사용합니다. 여러 플랫폼의 ELF 형식 파일을 식별할 수 있습니다. 맬웨어에 Intel/AMD, MIPS 및 Arm 드롭퍼 바이너리가 있더라도 모두 식별할 수 있습니다.

오탐

컴파일 방식이나 합법적인 이유로 패킹되어 높은 엔트로피를 가진 합법적인 바이너리를 플래그 지정할 수 있습니다. .zip, .gz, .png, .jpg 등의 다른 파일도 압축 형식이기 때문에 매우 높은 엔트로피를 가집니다. 압축은 파일의 중복성을 제거하여 더 무작위로 보이고 높은 엔트로피를 갖게 만듭니다.

Linux에서 라이브러리 디렉토리를 스캔하면 일부 라이브러리(.so 파일)가 플래그 지정될 수 있습니다.

그러나 높은 엔트로피를 가진 실행 바이너리는 종종 악성이라는 것이 우리의 경험입니다. 특히 실행 파일이 일반적으로 있어서는 안 되는 영역(예: tmp 또는 html 디렉토리)에서 발견되는 경우 더욱 그렇습니다.

성능

엔트로피 계산은 파일의 모든 바이트를 읽고 합산하여 최종 숫자를 얻어야 합니다. 매우 큰 파일 시스템이나 매우 큰 파일에서 많은 CPU 및 디스크 I/O를 사용할 수 있습니다. 프로그램에는 2GB 이상의 파일에 대해 엔트로피를 계산하지 않고 일반 파일 형식이 아닌 파일(예: /dev/zero와 같은 장치)에 대해서도 엔트로피를 계산하지 않는 내부 제한이 있습니다.

그런 다음 MD5, SHA1, SHA256 및 SHA512 해시를 계산합니다. 각각은 파일을 다시 검토해야 합니다. 최신 시스템에서는 적절한 속도이지만 매우 큰 파일 시스템을 크롤링하는 경우 완료하는 데 시간이 걸릴 수 있습니다.

프로그램에 ELF 파일만 보도록 지시하면 ELF 형식이 아닌 한 엔트로피/해시 계산이 발생하지 않으므로 많은 시간을 절약할 수 있습니다(예: 실행 파일이 아닌 대규모 데이터베이스 파일을 무시합니다).

이 프로그램을 자동화하려면 특별히 원하지 않는 한 전체 루트 파일 시스템을 크롤링하지 않는 것이 좋습니다. 대상 접근 방식이 더 빠르고 수시 점검에 더 유용합니다. 또한 ELF 플래그를 사용하면 실행 파일 형식만 처리하므로 검색 시간이 크게 단축됩니다.

사고 대응

사고 대응자의 경우, 전체 최상위 "/" 디렉토리에 대해 sandfly-entropyscan을 실행하여 조사할 가능성이 있는 패킹된 후보 목록을 빠르게 얻는 것이 좋은 생각일 수 있습니다. 이렇게 하면 CPU 및 디스크 I/O가 급증합니다. 하지만 그 시점에서는 관리자가 알아차렸을 때 이미 박스가 598시간 동안 암호화폐를 채굴하고 있었을 것이므로 신경 쓰지 않을 것입니다.

다시 말하지만, ELF 플래그를 사용하여 문제가 될 가능성이 있는 실행 파일 후보에 접근하고 잡음을 무시하십시오.

테스트

scripts/testfiles.sh라는 스크립트가 있으며 두 개의 파일을 만듭니다. 하나는 무작위 데이터로 가득 차고 다른 하나는 전혀 무작위가 아닙니다. 스크립트를 실행하면 파일을 만들고 실행 파일 탐지 모드에서 sandfly-entropyscan을 실행합니다. 두 개의 파일이 표시되어야 합니다. 하나는 매우 높은 엔트로피(8.0 또는 그 근처)이고 다른 하나는 0.00의 낮은 엔트로피여야 하는 비무작위 데이터로 가득 찬 파일입니다. 예:

./testfiles.sh

현재 디렉토리에 높은 엔트로피의 무작위 실행 파일 유사 파일을 생성합니다.

현재 디렉토리에 낮은 엔트로피의 실행 파일 유사 파일을 생성합니다.

high.entropy.test, entropy: 8.00, elf: true

low.entropy.test, entropy: 0.00, elf: true

upx 유틸리티를 로드하여 실행 파일을 압축하고 어떤 값이 반환되는지 확인할 수도 있습니다.

에이전트 없는 Linux 보안

Sandfly Security는 Linux용 에이전트 없는 엔드포인트 탐지 및 사고 대응 플랫폼(EDR)을 제공합니다. 자동화된 엔트로피 검사는 Linux 엔드포인트에 소프트웨어를 로드하지 않고 침입자를 찾기 위해 검색하는 수천 가지 중 하나일 뿐입니다.

아래에서 무료 라이선스를 받고 자세히 알아보세요:

https://www.sandflysecurity.com @SandflySecurity

도구 다운로드