Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
sandfly-entropyscan — Entropie-Scanner für Linux zur Erkennung von gepackten oder verschlüsselten Binärdateien im Zusammenhang mit Malware. Findet bösartige Dateien und Linux-Prozesse und gibt Ausgaben mit kryptografischen Hashes. | Kitploit
Tools/GitHubGitHub/sandflysecurity/sandfly-entropyscan
ForensikMalware-AnalyseBinäranalyseIncident Response
GitHubsandflysecurity/sandfly-entropyscan

sandfly-entropyscan

Entropie-Scanner für Linux zur Erkennung von gepackten oder verschlüsselten Binärdateien im Zusammenhang mit Malware. Findet bösartige Dateien und Linux-Prozesse und gibt Ausgaben mit kryptografischen Hashes.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite
17026vor 2 JahrenVon Kitploit geprüft

Was ist sandfly-entropyscan?

sandfly-entropyscan ist ein Dienstprogramm, um schnell Dateien oder laufende Prozesse zu scannen und über deren Entropie (Maß für Zufälligkeit) zu berichten sowie darüber, ob es sich um einen Linux/Unix ELF-ausführbaren Dateityp handelt. Einige Malware für Linux ist gepackt oder verschlüsselt und weist eine sehr hohe Entropie auf. Dieses Tool kann schnell ausführbare Dateien und Prozesse mit hoher Entropie finden, die oft bösartig sind.

Funktionen

  • In Go geschrieben und ohne Änderungen auf mehrere Architekturen portierbar.
  • Eigenständiges Binärprogramm benötigt keine Abhängigkeiten und kann sofort ohne Laden von Bibliotheken auf verdächtigen Maschinen verwendet werden.
  • Wird nicht von LD_PRELOAD-artigen Rootkits beeinflusst, die Dateien verstecken.
  • Integrierte PID-Erkennung zum Auffinden versteckter/getarnter Prozesse bestimmter Arten von ladbaren Kernelmodul (LKM)-Rootkits.
  • Erzeugt Entropie sowie MD5-, SHA1-, SHA256- und SHA512-Hashwerte von Dateien.
  • Kann in Scan-Skripten verwendet werden, um Probleme automatisch zu finden.
  • Kann von Incident-Respondern verwendet werden, um schnell zu scannen und potenzielle Malware auf einem Linux-Host zu identifizieren.

Warum nach Entropie scannen?

Entropie ist ein Maß für Zufälligkeit. Für Binärdaten ist 0,0 nicht zufällig und 8,0 perfekt zufällig. Gute Kryptographie sieht aus wie zufälliges weißes Rauschen und liegt nahe 8,0. Gute Komprimierung entfernt redundante Daten, wodurch sie zufälliger erscheinen als unkomprimiert, und liegt normalerweise bei 7,7 oder höher.

Viele Malware-Executables sind gepackt, um Erkennung zu vermeiden und Reverse Engineering zu erschweren. Die meisten Standard-Linux-Binärdateien sind nicht gepackt, da sie nicht versuchen zu verbergen, was sie sind. Die Suche nach Dateien mit hoher Entropie ist eine gute Möglichkeit, Programme zu finden, die allein aufgrund dieser beiden Attribute – hohe Entropie und Ausführbarkeit – bösartig sein könnten.

Wie verwende ich das?

Verwendung von sandfly-entropyscan:

-csv Ausgabe der Ergebnisse im CSV-Format (Dateiname, Pfad, Entropie, elf_file [true|false], MD5, SHA1, SHA256, SHA512)

-delim Ändert das Standardtrennzeichen für CSV-Dateien von "," auf ein selbst gewähltes ("|" usw.)

-dir string Name des zu analysierenden Verzeichnisses

-file string vollständiger Pfad zu einer einzelnen zu analysierenden Datei

-proc Überprüft laufende Prozesse (Standardmäßig nur ELF-Check)

-elf nur ELF-Executables überprüfen

-entropy float Zeigt Dateien/Prozesse mit einer Entropie größer oder gleich diesem Wert an (0,0 min - 8,0 max, Standard 0 = alle Dateien anzeigen)

-version Zeigt Version an und beendet

Beispiele

Suche nach jeder ausführbaren Datei unter /tmp:

sandfly-entropyscan -dir /tmp -elf

Suche nach ausführbaren Dateien mit hoher Entropie (7,7 und höher) (oft gepackt oder verschlüsselt) unter /var/www:

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

Erzeugt Entropie und kryptografische Hashes aller laufenden Prozesse im CSV-Format:

sandfly-entropyscan -proc -csv

Suche nach jedem Prozess mit einer Entropie höher als 7,7, was darauf hindeutet, dass er wahrscheinlich gepackt oder verschlüsselt ist:

sandfly-entropyscan -proc -entropy 7.7

Erzeugt Entropie und kryptografische Hashwerte aller Dateien unter /bin und Ausgabe im CSV-Format (z. B. zum Speichern und Vergleichen von Hashes):

sandfly-entropyscan -dir /bin -csv

Durchsucht ein Verzeichnis nach allen Dateien (ELF oder nicht) mit einer Entropie größer als 7,7: (Potentiell große Liste von Dateien, die komprimiert sind, PNG, JPG, Objektdateien usw.)

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

Schnell eine Datei überprüfen und Entropie, kryptografische Hashes erzeugen sowie anzeigen, ob sie ausführbar ist:

sandfly-entropyscan -file /dev/shm/suspicious_file

Anwendungsfälle

Führen Sie Stichproben auf Systemen durch, bei denen Sie ein Malware-Problem vermuten. Oder automatisieren Sie den Scan, sodass Sie eine Ausgabe erhalten, wenn etwas mit hoher Entropie an einer unerwarteten Stelle auftaucht. Oder markieren Sie einfach jeden ausführbaren ELF-Dateityp, der sich an einem ungewöhnlichen Ort befindet (z. B. in /tmp oder im HTML-Verzeichnis eines Benutzers). Zum Beispiel:

Ist ein Binärprogramm mit hoher Entropie im Systemverzeichnis /var/www aufgetaucht? Könnte jemand einen Malware-Dropper auf Ihre Website gelegt haben:

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

Richten Sie einen Cron-Job ein, um Ihre Verzeichnisse /tmp, /var/tmp und /dev/shm auf jede Art von ausführbarer Datei zu scannen, egal ob mit hoher Entropie oder nicht. Ausführbare Dateien unter tmp-Verzeichnissen sind häufig Malware-Dropper.

sandfly-entropyscan -dir /tmp -elf

sandfly-entropyscan -dir /var/tmp -elf

sandfly-entropyscan -dir /dev/shm -elf

Richten Sie einen weiteren Cron-Job oder eine automatisierte Sicherheitsüberprüfung ein, um Stichproben auf Ihren Systemen nach stark komprimierten oder verschlüsselten Binärdateien zu durchsuchen, die gerade ausgeführt werden:

sandfly-entropyscan -proc -entropy 7.7

Build

  • Installieren Sie die neueste Version von Go (www.golang.org)
  • Klonen Sie das Repository:

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

  • Gehen Sie in das Repository-Verzeichnis und bauen Sie es:

go build

  • Führen Sie das Binärprogramm mit Ihren Optionen aus:

./sandfly-entropyscan

Build-Skripte

Es gibt einige grundlegende Build-Skripte, die für verschiedene Plattformen bauen. Sie können diese verwenden oder nach Ihren Wünschen anpassen. Für Incident-Responder könnte es nützlich sein, vorkompilierte Binärprogramme auf Ihrem Untersuchungsrechner bereitzuhalten.

build.sh – Baut für das aktuelle Betriebssystem, auf dem Sie es ausführen.

ELF-Erkennung

Wir verwenden eine einfache Methode, um zu prüfen, ob eine Datei ein ausführbarer ELF-Typ sein könnte. Wir können ELF-Formatdateien für mehrere Plattformen erkennen. Selbst wenn Malware Intel/AMD-, MIPS- und Arm-Dropper-Binärdateien hat, können wir sie dennoch alle erkennen.

Fehlalarme

Es ist möglich, eine legitime Binärdatei mit hoher Entropie zu markieren, weil sie auf eine bestimmte Weise kompiliert wurde oder aus legitimen Gründen gepackt wurde. Andere Dateien wie .zip, .gz, .png, .jpg usw. haben ebenfalls eine sehr hohe Entropie, da es sich um komprimierte Formate handelt. Komprimierung entfernt Redundanz in einer Datei, wodurch sie zufälliger erscheint und eine höhere Entropie aufweist.

Unter Linux können bestimmte Bibliotheksdateien (.so-Dateien) markiert werden, wenn Sie Bibliotheksverzeichnisse scannen.

Nach unserer Erfahrung sind ausführbare Binärdateien mit hoher Entropie jedoch oft bösartig. Dies gilt insbesondere, wenn Sie sie in Bereichen finden, in denen normalerweise keine ausführbaren Dateien sein sollten (wie z. B. in tmp- oder html-Verzeichnissen).

Leistung

Die Entropieberechnung erfordert das Einlesen aller Bytes der Datei und deren Aufsummierung, um eine endgültige Zahl zu erhalten. Dies kann viel CPU- und Datenträger-I/O verbrauchen, insbesondere bei sehr großen Dateisystemen oder sehr großen Dateien. Das Programm hat eine interne Grenze, bei der es keine Entropie für Dateien über 2 GB berechnet und auch nicht versucht, Entropie für Dateien zu berechnen, die kein regulärer Dateityp sind (z. B. wird nicht versucht, Entropie für Geräte wie /dev/zero zu berechnen).

Anschließend berechnen wir MD5-, SHA1-, SHA256- und SHA512-Hashes. Jeder dieser Schritte erfordert ebenfalls das Durchgehen der Datei. Auf modernen Systemen ist die Geschwindigkeit akzeptabel, aber wenn Sie ein sehr großes Dateisystem durchsuchen, kann es einige Zeit dauern.

Wenn Sie das Programm anweisen, nur nach ELF-Dateien zu suchen, werden die Entropie-/Hash-Berechnungen nur durchgeführt, wenn es sich um einen ELF-Typ handelt, was viel Zeit spart (z. B. werden massive Datenbankdateien ignoriert, die nicht ausführbar sind).

Wenn Sie dieses Programm automatisieren möchten, ist es am besten, es nicht das gesamte Root-Dateisystem durchsuchen zu lassen, es sei denn, Sie möchten das gezielt. Ein gezielter Ansatz ist schneller und für Stichproben nützlicher. Verwenden Sie auch das ELF-Flag, da dies die Suchzeiten drastisch reduziert, indem nur ausführbare Dateitypen verarbeitet werden.

Incident Response

Für Incident-Responder kann es eine gute Idee sein, sandfly-entropyscan gegen das gesamte oberste Verzeichnis "/" auszuführen, um schnell eine Liste wahrscheinlich gepackter Kandidaten zur Untersuchung zu erhalten. Dies wird CPU- und Datenträger-I/O in die Höhe treiben. Allerdings ist Ihnen das zu diesem Zeitpunkt wahrscheinlich egal, da die Kiste ohnehin schon 598 Stunden lang Kryptowährung geschürft hat, als die Admins es bemerkten.

Verwenden Sie erneut das ELF-Flag, um zu den wahrscheinlich verdächtigen ausführbaren Dateien zu gelangen und das Rauschen zu ignorieren.

Testen

Es gibt ein Skript namens scripts/testfiles.sh, das zwei Dateien erstellt. Eine wird mit zufälligen Daten gefüllt, die andere überhaupt nicht zufällig. Wenn Sie das Skript ausführen, werden die Dateien erstellt und sandfly-entropyscan im Erkennungsmodus für ausführbare Dateien ausgeführt. Sie sollten zwei Dateien sehen. Eine mit sehr hoher Entropie (bei oder nahe 8,0) und eine voller nicht-zufälliger Daten, die eine niedrige Entropie von 0,00 haben sollte. Beispiel:

./testfiles.sh

Erstelle eine ausführbare Datei mit hoher Entropie und zufälligen Daten im aktuellen Verzeichnis.

Erstelle eine ausführbare Datei mit niedriger Entropie im aktuellen Verzeichnis.

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

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

Sie können auch das Dienstprogramm upx laden und eine ausführbare Datei komprimieren, um zu sehen, welche Werte zurückgegeben werden.

Agentenlose Linux-Sicherheit

Sandfly Security bietet eine agentenlose Endpunkt-Erkennungs- und Incident-Response-Plattform (EDR) für Linux. Automatisierte Entropieprüfungen sind nur eine von Tausenden von Dingen, nach denen wir suchen, um Eindringlinge zu finden, ohne Software auf Ihren Linux-Endpunkten zu installieren.

Erhalten Sie eine kostenlose Lizenz und erfahren Sie mehr unten:

https://www.sandflysecurity.com @SandflySecurity

Tool herunterladen