Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
sandfly-entropyscan — Escáner de entropía para Linux para detectar binarios empaquetados o cifrados relacionados con malware. Encuentra archivos maliciosos y procesos de Linux y proporciona salida con hashes criptográficos. | Kitploit
Herramientas/GitHubGitHub/sandflysecurity/sandfly-entropyscan
Análisis ForenseAnálisis de MalwareAnálisis de BinariosRespuesta a Incidentes
GitHubsandflysecurity/sandfly-entropyscan

sandfly-entropyscan

Escáner de entropía para Linux para detectar binarios empaquetados o cifrados relacionados con malware. Encuentra archivos maliciosos y procesos de Linux y proporciona salida con hashes criptográficos.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web
17026hace 2 añosRevisado por Kitploit

¿Qué es sandfly-entropyscan?

sandfly-entropyscan es una utilidad para escanear rápidamente archivos o procesos en ejecución e informar sobre su entropía (medida de aleatoriedad) y si son un ejecutable de tipo ELF de Linux/Unix. Algunos malware para Linux están empaquetados o cifrados y muestran una entropía muy alta. Esta herramienta puede encontrar rápidamente archivos y procesos ejecutables de alta entropía que a menudo son maliciosos.

Características

  • Escrito en Golang y portable a múltiples arquitecturas sin modificaciones.
  • Binario independiente que no requiere dependencias y se puede usar instantáneamente sin cargar bibliotecas en máquinas sospechosas.
  • No se ve afectado por rootkits estilo LD_PRELOAD que ocultan archivos.
  • Descubrimiento de PID integrado para encontrar procesos ocultos/cloaked de ciertos tipos de rootkits de Módulos de Kernel Cargables (LKM).
  • Genera entropía y valores hash MD5, SHA1, SHA256 y SHA512 de archivos.
  • Se puede utilizar en scripts de escaneo para encontrar problemas automáticamente.
  • Puede ser utilizado por respondedores de incidentes para escanear rápidamente y detectar malware potencial en un host Linux.

¿Por qué escanear la entropía?

La entropía es una medida de aleatoriedad. Para datos binarios, 0.0 significa no aleatorio y 8.0 es perfectamente aleatorio. Un buen cifrado se parece a ruido blanco y estará cerca de 8.0. Una buena compresión elimina datos redundantes, lo que hace que parezca más aleatorio que si estuviera descomprimido y generalmente será 7.7 o más.

Muchos ejecutables de malware están empaquetados para evitar la detección y dificultar la ingeniería inversa. La mayoría de los binarios estándar de Linux no están empaquetados porque no intentan ocultar lo que son. Buscar archivos de alta entropía es una buena forma de encontrar programas que podrían ser maliciosos solo por tener estos dos atributos: alta entropía y ser ejecutables.

¿Cómo uso esto?

Uso de sandfly-entropyscan:

-csv genera resultados en formato CSV (nombre de archivo, ruta, entropía, elf_file [true|false], MD5, SHA1, SHA256, SHA512)

-delim cambia el delimitador predeterminado para archivos CSV de "," por uno que elijas ("|", etc.)

-dir string nombre del directorio a analizar

-file string ruta completa a un único archivo para analizar

-proc verifica procesos en ejecución (por defecto solo verifica ELF)

-elf solo verifica ejecutables ELF

-entropy float muestra cualquier archivo/proceso con entropía mayor o igual a este valor (0.0 min - 8.0 max, por defecto 0 para mostrar todos los archivos)

-version muestra la versión y sale

Ejemplos

Buscar cualquier archivo que sea ejecutable bajo /tmp:

sandfly-entropyscan -dir /tmp -elf

Buscar ejecutables de alta entropía (7.7 y superior) a menudo empaquetados o cifrados bajo /var/www:

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

Genera entropía y hashes criptográficos de todos los procesos en ejecución en formato CSV:

sandfly-entropyscan -proc -csv

Buscar cualquier proceso con una entropía superior a 7.7 que indique que probablemente está empaquetado o cifrado:

sandfly-entropyscan -proc -entropy 7.7

Generar entropía y valores hash criptográficos de todos los archivos bajo /bin y generar salida en formato CSV (por ejemplo, para guardar y comparar hashes):

sandfly-entropyscan -dir /bin -csv

Escanear un directorio para todos los archivos (ELF o no) con entropía mayor a 7.7: (potencialmente una gran lista de archivos comprimidos, png, jpg, archivos objeto, etc.)

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

Verificar rápidamente un archivo y generar entropía, hashes criptográficos y mostrar si es ejecutable:

sandfly-entropyscan -file /dev/shm/suspicious_file

Casos de uso

Realiza controles puntuales en sistemas donde creas que hay un problema de malware. O puedes automatizar el escaneo para obtener una salida si encontramos algo con alta entropía en un lugar inesperado. O simplemente marcar cualquier archivo ejecutable de tipo ELF que esté en algún lugar extraño (por ejemplo, en /tmp o en el directorio HTML de un usuario). Por ejemplo:

¿Apareció un binario de alta entropía bajo el directorio /var/www del sistema? Podría ser que alguien haya colocado un dropper de malware en tu sitio web:

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

Configura una tarea cron para escanear tus directorios /tmp, /var/tmp y /dev/shm en busca de cualquier tipo de archivo ejecutable, ya sea de alta entropía o no. Los archivos ejecutables bajo directorios tmp pueden ser frecuentemente un dropper de malware.

sandfly-entropyscan -dir /tmp -elf

sandfly-entropyscan -dir /var/tmp -elf

sandfly-entropyscan -dir /dev/shm -elf

Configura otro cron o barrido de seguridad automatizado para hacer controles puntuales en tus sistemas en busca de binarios altamente comprimidos o cifrados que se estén ejecutando:

sandfly-entropyscan -proc -entropy 7.7

Compilación

  • Instala la última versión de golang (www.golang.org)
  • Clona el repositorio:

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

  • Ve al directorio del repositorio y compila:

go build

  • Ejecuta el binario con tus opciones:

./sandfly-entropyscan

Scripts de compilación

Hay algunos scripts de compilación básicos que compilan para varias plataformas. Puedes usarlos o modificarlos según convenga. Para respondedores de incidentes, puede ser útil tener binarios precompilados listos en tu equipo de investigación.

build.sh - Compila para el sistema operativo actual en el que lo ejecutas.

Detección de ELF

Usamos un método simple para determinar si un archivo puede ser de tipo ejecutable ELF. Podemos detectar archivos en formato ELF para múltiples plataformas. Incluso si el malware tiene binarios dropper para Intel/AMD, MIPS y Arm, aún podremos detectarlos a todos.

Falsos positivos

Es posible marcar un binario legítimo que tenga alta entropía debido a cómo fue compilado, o porque fue empaquetado por razones legítimas. Otros archivos como .zip, .gz, .png, .jpg también tienen una entropía muy alta porque son formatos comprimidos. La compresión elimina la redundancia en un archivo, lo que hace que parezca más aleatorio y tenga mayor entropía.

En Linux, es posible que algunos tipos de bibliotecas (archivos .so) sean marcados si escaneas directorios de bibliotecas.

Sin embargo, según nuestra experiencia, los binarios ejecutables que también tienen alta entropía a menudo son maliciosos. Esto es especialmente cierto si los encuentras en áreas donde normalmente no deberían estar los ejecutables (como nuevamente directorios tmp o html).

Rendimiento

El cálculo de entropía requiere leer todos los bytes del archivo y contabilizarlos para obtener un número final. Puede consumir mucha CPU y E/S de disco, especialmente en sistemas de archivos muy grandes o archivos muy grandes. El programa tiene un límite interno: no calculará entropía en ningún archivo de más de 2 GB, ni intentará calcular entropía en ningún archivo que no sea de tipo regular (por ejemplo, no intentará calcular entropía en dispositivos como /dev/zero).

Luego calculamos los hashes MD5, SHA1, SHA256 y SHA512. Cada uno de estos requiere recorrer el archivo también. Es una velocidad razonable en sistemas modernos, pero si estás recorriendo un sistema de archivos muy grande, puede llevar algo de tiempo completarlo.

Si le dices al programa que solo busque archivos ELF, los cálculos de entropía/hash no ocurrirán a menos que sea un tipo ELF, lo que ahorrará mucho tiempo (por ejemplo, ignorará archivos masivos de bases de datos que no son ejecutables).

Si deseas automatizar este programa, es mejor que no recorra todo el sistema de archivos raíz a menos que quieras específicamente eso. Un enfoque dirigido será más rápido y más útil para controles puntuales. Además, usa la bandera ELF, ya que reducirá drásticamente los tiempos de búsqueda al procesar solo tipos de archivos ejecutables.

Respuesta a incidentes

Para los respondedores de incidentes, ejecutar sandfly-entropyscan contra todo el directorio raíz "/" puede ser una buena idea solo para obtener rápidamente una lista de candidatos probablemente empaquetados a investigar. Esto aumentará el uso de CPU y E/S de disco. Sin embargo, probablemente no te importe en ese punto, ya que la máquina ha estado minando criptomonedas durante 598 horas cuando los administradores se dieron cuenta.

Nuevamente, usa la bandera ELF para llegar a los ejecutables candidatos problemáticos e ignorar el ruido.

Pruebas

Hay un script llamado scripts/testfiles.sh que creará dos archivos. Uno estará lleno de datos aleatorios y el otro no será aleatorio en absoluto. Cuando ejecutes el script, creará los archivos y ejecutará sandfly-entropyscan en modo de detección de ejecutables. Deberías ver dos archivos. Uno con entropía muy alta (en o cerca de 8.0) y uno lleno de datos no aleatorios que debería tener 0.00 para baja entropía. Ejemplo:

./testfiles.sh

Creando archivo ejecutable de alta entropía aleatorio en el directorio actual.

Creando archivo ejecutable de baja entropía en el directorio actual.

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

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

También puedes cargar la utilidad upx y comprimir un ejecutable y ver qué valores devuelve.

Seguridad Linux sin agente

Sandfly Security produce una plataforma de detección de endpoints y respuesta a incidentes (EDR) sin agente para Linux. Las comprobaciones automatizadas de entropía son solo una de las miles de cosas que buscamos para encontrar intrusos sin cargar ningún software en tus endpoints Linux.

Obtén una licencia gratuita y aprende más a continuación:

https://www.sandflysecurity.com @SandflySecurity

Descargar herramienta