Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
sandfly-entropyscan — Scanner de entropia para Linux para detectar binários empacotados ou criptografados relacionados a malware. Encontra arquivos maliciosos e processos Linux e fornece saída com hashes criptográficos. | Kitploit
Ferramentas/GitHubGitHub/sandflysecurity/sandfly-entropyscan
Análise ForenseAnálise de MalwareAnálise de BináriosResposta a Incidentes
GitHubsandflysecurity/sandfly-entropyscan

sandfly-entropyscan

Scanner de entropia para Linux para detectar binários empacotados ou criptografados relacionados a malware. Encontra arquivos maliciosos e processos Linux e fornece saída com hashes criptográficos.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site
17026há 2 anosRevisado pelo Kitploit

O que é sandfly-entropyscan?

sandfly-entropyscan é um utilitário para escanear rapidamente arquivos ou processos em execução e relatar sua entropia (medida de aleatoriedade) e se são um executável do tipo Linux/Unix ELF. Alguns malwares para Linux são empacotados ou criptografados e apresentam entropia muito alta. Esta ferramenta pode encontrar rapidamente arquivos e processos executáveis de alta entropia que muitas vezes são maliciosos.

Funcionalidades

  • Escrito em Golang e é portátil em múltiplas arquiteturas sem modificações.
  • Binário autônomo não requer dependências e pode ser usado instantaneamente sem carregar bibliotecas em máquinas suspeitas.
  • Não é afetado por rootkits do tipo LD_PRELOAD que estão ocultando arquivos.
  • Quebra de PID embutida para encontrar processos ocultos/disfarçados de certos tipos de rootkits de Módulo de Kernel Carregável (LKM).
  • Gera entropia e também valores de hash MD5, SHA1, SHA256 e SHA512 dos arquivos.
  • Pode ser usado em scripts de varredura para encontrar problemas automaticamente.
  • Pode ser usado por respondedores de incidentes para escanear rapidamente e focar em possíveis malwares em um host Linux.

Por que escanear por entropia?

Entropia é uma medida de aleatoriedade. Para dados binários, 0,0 é não aleatório e 8,0 é perfeitamente aleatório. Uma boa criptografia parece ruído branco aleatório e estará próxima de 8,0. Uma boa compressão remove dados redundantes, fazendo com que pareça mais aleatório do que se não estivesse compactado e geralmente estará em 7,7 ou acima.

Muitos executáveis de malware são empacotados para evitar detecção e dificultar a engenharia reversa. A maioria dos binários Linux padrão não são empacotados porque não estão tentando esconder o que são. Procurar por arquivos de alta entropia é uma boa maneira de encontrar programas que podem ser maliciosos apenas por terem esses dois atributos: alta entropia e serem executáveis.

Como usar isso?

Uso do sandfly-entropyscan:

-csv exibe resultados em formato CSV (nome do arquivo, caminho, entropia, elf_file [true|false], MD5, SHA1, SHA256, SHA512)

-delim altera o delimitador padrão para arquivos CSV de ',' para um de sua escolha ('|', etc.)

-dir string nome do diretório para analisar

-file string caminho completo para um único arquivo a ser analisado

-proc verifica processos em execução (padrão é apenas verificação ELF)

-elf verifica apenas executáveis ELF

-entropy float mostra qualquer arquivo/processo com entropia maior ou igual a este valor (0,0 min - 8,0 max, padrão 0 para mostrar todos os arquivos)

-version mostra a versão e sai

Exemplos

Procura por qualquer arquivo que seja executável em /tmp:

sandfly-entropyscan -dir /tmp -elf

Procura por executáveis de alta entropia (7.7 ou superior) (frequentemente empacotados ou criptografados) em /var/www:

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

Gera entropia e hashes criptográficos de todos os processos em execução em formato CSV:

sandfly-entropyscan -proc -csv

Procura por qualquer processo com entropia superior a 7.7, indicando que provavelmente está empacotado ou criptografado:

sandfly-entropyscan -proc -entropy 7.7

Gera entropia e valores de hash criptográfico de todos os arquivos em /bin e gera saída em formato CSV (por exemplo, para salvar e comparar hashes):

sandfly-entropyscan -dir /bin -csv

Escaneia um diretório em busca de todos os arquivos (ELF ou não) com entropia maior que 7.7: (potencialmente uma grande lista de arquivos compactados, png, jpg, arquivos objeto, etc.)

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

Verifica rapidamente um arquivo e gera entropia, hashes criptográficos e mostra se é executável:

sandfly-entropyscan -file /dev/shm/suspicious_file

Casos de uso

Faça verificações pontuais em sistemas que você acha que têm um problema de malware. Ou você pode automatizar a varredura para receber uma saída se encontrarmos algo que apareça com alta entropia em um lugar inesperado. Ou simplesmente sinalize qualquer arquivo executável do tipo ELF que esteja em algum lugar estranho (por exemplo, em /tmp ou no diretório HTML de um usuário). Por exemplo:

Um binário de alta entropia apareceu no diretório /var/www do sistema? Pode ser que alguém tenha colocado um dropper de malware no seu site:

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

Configure uma tarefa cron para escanear seus diretórios /tmp, /var/tmp e /dev/shm em busca de qualquer tipo de arquivo executável, seja de alta entropia ou não. Arquivos executáveis em diretórios tmp podem frequentemente ser um dropper de malware.

sandfly-entropyscan -dir /tmp -elf

sandfly-entropyscan -dir /var/tmp -elf

sandfly-entropyscan -dir /dev/shm -elf

Configure outro cron ou varredura de segurança automatizada para verificar pontualmente seus sistemas em busca de binários altamente compactados ou criptografados em execução:

sandfly-entropyscan -proc -entropy 7.7

Compilação

  • Instale a versão mais recente do golang (www.golang.org)
  • Clone o repositório:

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

  • Entre no diretório do repositório e compile:

go build

  • Execute o binário com suas opções:

./sandfly-entropyscan

Scripts de compilação

Existem alguns scripts de compilação básicos que compilam para várias plataformas. Você pode usá-los para compilar ou modificar conforme necessário. Para respondedores de incidentes, pode ser útil manter binários pré-compilados prontos para uso em sua caixa de investigação.

build.sh - Compila para o sistema operacional atual em que você está executando.

Detecção ELF

Usamos um método simples para verificar se um arquivo pode ser do tipo executável ELF. Podemos detectar arquivos no formato ELF para múltiplas plataformas. Mesmo que o malware tenha binários dropper Intel/AMD, MIPS e Arm, ainda seremos capazes de detectar todos eles.

Falsos positivos

É possível sinalizar um binário legítimo que possui alta entropia devido à forma como foi compilado, ou porque foi empacotado por razões legítimas. Outros arquivos como .zip, .gz, .png, .jpg e similares também têm entropia muito alta porque são formatos compactados. A compactação remove redundância em um arquivo, o que o faz parecer mais aleatório e ter maior entropia.

No Linux, você pode encontrar alguns tipos de bibliotecas (arquivos .so) que são sinalizados se você escanear diretórios de bibliotecas.

No entanto, é nossa experiência que binários executáveis que também têm alta entropia são frequentemente maliciosos. Isso é especialmente verdadeiro se você os encontrar em áreas onde executáveis normalmente não deveriam estar (como novamente nos diretórios tmp ou html).

Desempenho

O cálculo de entropia requer a leitura de todos os bytes do arquivo e a contagem deles para obter um número final. Pode usar muita CPU e I/O de disco, especialmente em sistemas de arquivos muito grandes ou arquivos muito grandes. O programa tem um limite interno onde não calculará entropia em nenhum arquivo acima de 2GB, nem tentará calcular entropia em qualquer arquivo que não seja do tipo regular (por exemplo, não tentará calcular entropia em dispositivos como /dev/zero).

Em seguida, calculamos os hashes MD5, SHA1, SHA256 e SHA512. Cada um deles também requer a leitura do arquivo. A velocidade é razoável em sistemas modernos, mas se você estiver percorrendo um sistema de arquivos muito grande, pode levar algum tempo para ser concluído.

Se você disser ao programa para olhar apenas para arquivos ELF, os cálculos de entropia/hash não serão feitos a menos que seja um tipo ELF, e isso economizará muito tempo (por exemplo, ignorará arquivos de banco de dados massivos que não são executáveis).

Se você quiser automatizar este programa, é melhor não fazê-lo percorrer todo o sistema de arquivos raiz, a menos que você queira especificamente. Uma abordagem direcionada será mais rápida e mais útil para verificações pontuais. Além disso, use a flag ELF, pois isso reduzirá drasticamente os tempos de busca processando apenas tipos de arquivos executáveis.

Resposta a incidentes

Para respondedores de incidentes, executar sandfly-entropyscan contra todo o diretório raiz "/" pode ser uma boa ideia apenas para obter rapidamente uma lista de prováveis candidatos empacotados para investigar. Isso vai aumentar o uso de CPU e I/O de disco. No entanto, você provavelmente não se importa nesse ponto, já que a máquina está minerando criptomoedas há 598 horas quando os administradores perceberam.

Novamente, use a flag ELF para chegar aos prováveis executáveis candidatos a problema e ignore o ruído.

Testes

Existe um script chamado scripts/testfiles.sh que criará dois arquivos. Um será cheio de dados aleatórios e o outro não será aleatório. Quando você executar o script, ele criará os arquivos e executará sandfly-entropyscan no modo de detecção de executáveis. Você verá dois arquivos. Um com entropia muito alta (em ou próximo de 8,0) e um cheio de dados não aleatórios que deve estar em 0,00 para baixa entropia. Exemplo:

./testfiles.sh

Criando arquivo de alta entropia semelhante a executável aleatório no diretório atual.

Criando arquivo de baixa entropia semelhante a executável no diretório atual.

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

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

Você também pode carregar o utilitário upx e compactar um executável e ver quais valores ele retorna.

Segurança Linux sem agente

A Sandfly Security produz uma plataforma de detecção de endpoints e resposta a incidentes (EDR) sem agente para Linux. Verificações automatizadas de entropia são apenas uma das milhares de coisas que procuramos para encontrar intrusos sem carregar nenhum software em seus endpoints Linux.

Obtenha uma licença gratuita e saiba mais abaixo:

https://www.sandflysecurity.com @SandflySecurity

Baixar ferramenta