Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
sandfly-entropyscan — Scanner d'entropie pour Linux afin de détecter les binaires compressés ou chiffrés liés aux logiciels malveillants. Trouve les fichiers malveillants et les processus Linux et fournit une sortie avec des hachages cryptographiques. | Kitploit
Outils/GitHubGitHub/sandflysecurity/sandfly-entropyscan
Analyse ForensiqueAnalyse de MalwareAnalyse de BinairesRéponse aux Incidents
GitHubsandflysecurity/sandfly-entropyscan

sandfly-entropyscan

Scanner d'entropie pour Linux afin de détecter les binaires compressés ou chiffrés liés aux logiciels malveillants. Trouve les fichiers malveillants et les processus Linux et fournit une sortie avec des hachages cryptographiques.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web
17026il y a 2 ansVérifié par Kitploit

Qu'est-ce que sandfly-entropyscan ?

sandfly-entropyscan est un utilitaire pour analyser rapidement des fichiers ou des processus en cours d'exécution et signaler leur entropie (mesure du caractère aléatoire) et s'il s'agit d'un exécutable de type ELF Linux/Unix. Certains malwares Linux sont packés ou chiffrés et présentent une entropie très élevée. Cet outil peut rapidement trouver des fichiers et processus exécutables à haute entropie qui sont souvent malveillants.

Fonctionnalités

  • Écrit en Golang et portable sur plusieurs architectures sans modifications.
  • Binaire autonome ne nécessitant aucune dépendance et pouvant être utilisé instantanément sans charger de bibliothèques sur des machines suspectes.
  • Non affecté par les rootkits de type LD_PRELOAD qui masquent les fichiers.
  • Détection de PID intégrée pour trouver les processus cachés/masqués par certains types de rootkits modulaires noyau (LKM).
  • Génère l'entropie ainsi que les valeurs de hachage MD5, SHA1, SHA256 et SHA512 des fichiers.
  • Peut être utilisé dans des scripts d'analyse pour trouver automatiquement des problèmes.
  • Peut être utilisé par les intervenants en réponse aux incidents pour analyser rapidement et cibler les malwares potentiels sur un hôte Linux.

Pourquoi analyser l'entropie ?

L'entropie est une mesure du caractère aléatoire. Pour les données binaires, 0.0 signifie non-aléatoire et 8.0 est parfaitement aléatoire. Un bon cryptage ressemble à un bruit blanc aléatoire et sera proche de 8.0. Une bonne compression supprime les données redondantes, les rendant plus aléatoires que si elles étaient non compressées, et généralement au-dessus de 7.7.

De nombreux exécutables malveillants sont packés pour éviter la détection et rendre le rétro-ingénierie plus difficile. La plupart des binaires Linux standards ne sont pas packés car ils n'essaient pas de cacher ce qu'ils sont. Rechercher des fichiers à haute entropie est un bon moyen de trouver des programmes qui pourraient être malveillants simplement parce qu'ils possèdent ces deux attributs : haute entropie et exécutable.

Comment utiliser cet outil ?

Utilisation de sandfly-entropyscan :

-csv affiche les résultats au format CSV (nom_fichier, chemin, entropie, elf_fichier [true|false], MD5, SHA1, SHA256, SHA512)

-delim change le délimiteur par défaut pour les fichiers CSV de "," vers celui de votre choix ("|", etc.)

-dir string nom du répertoire à analyser

-file string chemin complet d'un seul fichier à analyser

-proc vérifie les processus en cours (vérification par défaut uniquement des ELF)

-elf vérifie uniquement les exécutables ELF

-entropy float affiche tout fichier/processus dont l'entropie est supérieure ou égale à cette valeur (0.0 min - 8.0 max, par défaut 0 pour afficher tous les fichiers)

-version affiche la version et quitte

Exemples

Rechercher tout fichier exécutable sous /tmp :

sandfly-entropyscan -dir /tmp -elf

Rechercher les exécutables à haute entropie (7.7 et plus) (souvent packés ou chiffrés) sous /var/www :

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

Génère l'entropie et les hachages cryptographiques de tous les processus en cours au format CSV :

sandfly-entropyscan -proc -csv

Rechercher tout processus avec une entropie supérieure à 7.7 indiquant qu'il est probablement packé ou chiffré :

sandfly-entropyscan -proc -entropy 7.7

Génère l'entropie et les valeurs de hachage cryptographique de tous les fichiers sous /bin et les affiche au format CSV (par exemple, pour sauvegarder et comparer les hachages) :

sandfly-entropyscan -dir /bin -csv

Analyser un répertoire pour tous les fichiers (ELF ou non) avec une entropie supérieure à 7.7 : (liste potentiellement longue de fichiers compressés, PNG, JPG, fichiers objet, etc.)

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

Vérifier rapidement un fichier et générer l'entropie, les hachages cryptographiques et indiquer s'il est exécutable :

sandfly-entropyscan -file /dev/shm/suspicious_file

Cas d'utilisation

Effectuez des vérifications ponctuelles sur les systèmes que vous soupçonnez d'avoir un problème de malware. Ou vous pouvez automatiser l'analyse de manière à obtenir une sortie si nous trouvons quelque chose de suspect à haute entropie dans un endroit inattendu. Ou simplement signaler tout fichier exécutable de type ELF qui se trouve dans un endroit étrange (par exemple, dans /tmp ou sous le répertoire HTML d'un utilisateur). Par exemple :

Un binaire à haute entropie est-il apparu dans le répertoire système /var/www ? Cela pourrait être quelqu'un qui a placé un dropper de malware sur votre site web :

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

Configurez une tâche cron pour analyser vos répertoires /tmp, /var/tmp et /dev/shm pour tout type de fichier exécutable, qu'il soit à haute entropie ou non. Les fichiers exécutables sous les répertoires tmp sont fréquemment des droppers de malware.

sandfly-entropyscan -dir /tmp -elf

sandfly-entropyscan -dir /var/tmp -elf

sandfly-entropyscan -dir /dev/shm -elf

Configurez une autre tâche cron ou une analyse de sécurité automatisée pour vérifier ponctuellement la présence de binaires fortement compressés ou chiffrés en cours d'exécution :

sandfly-entropyscan -proc -entropy 7.7

Construction

  • Installez la dernière version de golang (www.golang.org)
  • Clonez le dépôt :

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

  • Allez dans le répertoire du dépôt et construisez-le :

go build

  • Exécutez le binaire avec vos options :

./sandfly-entropyscan

Scripts de construction

Quelques scripts de construction de base qui construisent pour différentes plates-formes. Vous pouvez les utiliser pour construire ou les modifier selon vos besoins. Pour les intervenants en réponse aux incidents, il peut être utile de conserver des binaires pré-compilés prêts à être utilisés sur votre boîte d'investigation.

build.sh - Construit pour le système d'exploitation actuel sur lequel vous exécutez le script.

Détection ELF

Nous utilisons une méthode simple pour déterminer si un fichier peut être un exécutable de type ELF. Nous pouvons repérer les fichiers au format ELF pour plusieurs plates-formes. Même si un malware a des binaires dropper pour Intel/AMD, MIPS et ARM, nous pourrons toujours les repérer tous.

Faux positifs

Il est possible de signaler un binaire légitime qui a une entropie élevée en raison de la façon dont il a été compilé, ou parce qu'il a été packé pour des raisons légitimes. D'autres fichiers comme .zip, .gz, .png, .jpg, etc. ont également une entropie très élevée car ce sont des formats compressés. La compression supprime la redondance dans un fichier, ce qui le rend plus aléatoire et lui donne une entropie plus élevée.

Sous Linux, certaines bibliothèques (fichiers .so) peuvent être signalées si vous analysez des répertoires de bibliothèques.

Cependant, selon notre expérience, les binaires exécutables qui ont également une entropie élevée sont souvent malveillants. C'est particulièrement vrai si vous les trouvez dans des zones où les exécutables ne devraient normalement pas se trouver (comme encore les répertoires tmp ou html).

Performances

Le calcul de l'entropie nécessite de lire tous les octets du fichier et de les compter pour obtenir un nombre final. Cela peut utiliser beaucoup de CPU et d'E/S disque, en particulier sur des systèmes de fichiers très volumineux ou des fichiers très volumineux. Le programme a une limite interne où il ne calcule pas l'entropie pour les fichiers de plus de 2 Go, et il n'essaie pas non plus de calculer l'entropie sur un fichier qui n'est pas un type de fichier régulier (par exemple, il n'essaiera pas de calculer l'entropie sur des périphériques comme /dev/zero).

Ensuite, nous calculons les hachages MD5, SHA1, SHA256 et SHA512. Chacun nécessite également de parcourir le fichier. C'est une vitesse raisonnable sur les systèmes modernes, mais si vous parcourez un système de fichiers très volumineux, cela peut prendre un certain temps.

Si vous demandez au programme de ne regarder que les fichiers ELF, les calculs d'entropie/hachage n'auront lieu que s'il s'agit d'un type ELF, ce qui économisera beaucoup de temps (par exemple, il ignorera les fichiers de base de données massifs qui ne sont pas exécutables).

Si vous souhaitez automatiser ce programme, il est préférable de ne pas lui faire parcourir l'ensemble du système de fichiers racine, sauf si vous le souhaitez spécifiquement. Une approche ciblée sera plus rapide et plus utile pour des vérifications ponctuelles. Utilisez également l'option ELF, car cela réduira considérablement les temps de recherche en ne traitant que les types de fichiers exécutables.

Réponse aux incidents

Pour les intervenants en réponse aux incidents, exécuter sandfly-entropyscan sur tout le répertoire racine "/" peut être une bonne idée pour obtenir rapidement une liste de candidats potentiellement packés à examiner. Cela augmentera l'utilisation du CPU et des E/S disque. Cependant, cela n'a probablement plus d'importance à ce stade car la machine extrait de la cryptomonnaie depuis déjà 598 heures au moment où les administrateurs l'ont remarqué.

Encore une fois, utilisez l'option ELF pour atteindre les exécutables candidats probables et ignorer le bruit.

Tests

Un script appelé scripts/testfiles.sh crée deux fichiers. L'un sera rempli de données aléatoires et l'autre ne sera pas aléatoire du tout. Lorsque vous exécutez le script, il crée les fichiers et exécute sandfly-entropyscan en mode de détection d'exécutable. Vous devriez voir deux fichiers. Un avec une entropie très élevée (à ou proche de 8.0) et un plein de données non aléatoires qui devrait être à 0.00 pour une faible entropie. Exemple :

./testfiles.sh

Création d'un fichier exécutable aléatoire à haute entropie dans le répertoire actuel.

Création d'un fichier exécutable à faible entropie dans le répertoire actuel.

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

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

Vous pouvez également charger l'utilitaire upx et compresser un exécutable pour voir les valeurs retournées.

Sécurité Linux sans agent

Sandfly Security produit une plateforme de détection et de réponse aux incidents (EDR) sans agent pour Linux. Les vérifications automatisées d'entropie ne sont qu'une des milliers de choses que nous recherchons pour trouver des intrus sans charger de logiciel sur vos points de terminaison Linux.

Obtenez une licence gratuite et apprenez-en plus ci-dessous :

https://www.sandflysecurity.com @SandflySecurity

Télécharger l’outil