Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sandfly-entropyscan — Scanner di entropia per Linux per rilevare binari compressi o crittografati correlati a malware. Trova file e processi Linux dannosi e fornisce output con hash crittografici. | Kitploit
Strumenti/GitHubGitHub/sandflysecurity/sandfly-entropyscan
Informatica ForenseAnalisi MalwareAnalisi di BinariRisposta agli Incidenti
GitHubsandflysecurity/sandfly-entropyscan

sandfly-entropyscan

Scanner di entropia per Linux per rilevare binari compressi o crittografati correlati a malware. Trova file e processi Linux dannosi e fornisce output con hash crittografici.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web
170262 anni faRevisionato da Kitploit

Cos'è sandfly-entropyscan?

sandfly-entropyscan è un'utilità per scansionare rapidamente file o processi in esecuzione e riportare la loro entropia (misura di casualità) e se sono eseguibili di tipo ELF Linux/Unix. Alcuni malware per Linux sono impacchettati o crittografati e mostrano un'entropia molto alta. Questo strumento può trovare rapidamente file eseguibili e processi ad alta entropia che spesso sono dannosi.

Caratteristiche

  • Scritto in Go ed è portabile su più architetture senza modifiche.
  • Binario autonomo senza dipendenze, può essere utilizzato immediatamente senza caricare librerie su macchine sospette.
  • Non è influenzato da rootkit di tipo LD_PRELOAD che nascondono file.
  • Funzionalità integrata di "PID busting" per trovare processi nascosti/cloaked da alcuni tipi di rootkit del kernel caricabile (LKM).
  • Genera entropia e anche hash MD5, SHA1, SHA256 e SHA512 dei file.
  • Può essere utilizzato in script di scansione per trovare automaticamente problemi.
  • Può essere utilizzato dai responder di incidenti per scansionare rapidamente e concentrarsi su potenziali malware su un host Linux.

Perché scansionare per l'entropia?

L'entropia è una misura di casualità. Per dati binari, 0.0 significa non-casuale e 8.0 perfettamente casuale. Una buona crittografia appare come rumore bianco casuale e sarà vicina a 8.0. Una buona compressione rimuove dati ridondanti, facendoli apparire più casuali di quanto non siano decompressi, e di solito sarà a 7.7 o superiore.

Molti eseguibili malware sono impacchettati per evitare il rilevamento e rendere più difficile il reverse engineering. La maggior parte dei binari Linux standard non sono impacchettati perché non cercano di nascondere cosa sono. Cercare file ad alta entropia è un buon modo per trovare programmi che potrebbero essere dannosi semplicemente per avere questi due attributi: alta entropia ed eseguibilità.

Come si usa?

Utilizzo di sandfly-entropyscan:

-csv output dei risultati in formato CSV (nomefile, percorso, entropia, elf_file [true|false], MD5, SHA1, SHA256, SHA512)

-delim cambia il delimitatore predefinito per i file CSV da "," a uno a scelta ("|", ecc.)

-dir stringa nome della directory da analizzare

-file stringa percorso completo di un singolo file da analizzare

-proc controlla i processi in esecuzione (default: solo controllo ELF)

-elf controlla solo gli eseguibili ELF

-entropy float mostra qualsiasi file/processo con entropia maggiore o uguale a questo valore (min 0.0 - max 8.0, default 0 per mostrare tutti i file)

-version mostra la versione ed esci

Esempi

Cerca qualsiasi file eseguibile sotto /tmp:

sandfly-entropyscan -dir /tmp -elf

Cerca eseguibili ad alta entropia (7.7 e superiore) (spesso impacchettati o crittografati) sotto /var/www:

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

Genera entropia e hash crittografici di tutti i processi in esecuzione in formato CSV:

sandfly-entropyscan -proc -csv

Cerca qualsiasi processo con entropia superiore a 7.7, indicando che è probabilmente impacchettato o crittografato:

sandfly-entropyscan -proc -entropy 7.7

Genera valori di entropia e hash crittografici di tutti i file sotto /bin e output in formato CSV (ad esempio per salvare e confrontare hash):

sandfly-entropyscan -dir /bin -csv

Scansiona una directory per tutti i file (ELF o meno) con entropia maggiore di 7.7: (potenzialmente un elenco molto ampio di file compressi, png, jpg, file oggetto, ecc.)

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

Controlla rapidamente un file e genera entropia, hash crittografici e mostra se è eseguibile:

sandfly-entropyscan -file /dev/shm/suspicious_file

Casi d'uso

Esegui controlli a campione su sistemi che pensi abbiano un problema di malware. Oppure puoi automatizzare la scansione in modo da ottenere un output se viene trovato qualcosa ad alta entropia in un luogo inaspettato. O semplicemente segnala qualsiasi file eseguibile di tipo ELF che si trova in un posto strano (ad esempio in /tmp o nella directory HTML di un utente). Per esempio:

Un binario ad alta entropia è apparso nella directory /var/www del sistema? Potrebbe essere che qualcuno abbia messo un dropper malware sul tuo sito web:

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

Imposta un task cron per scansionare le directory /tmp, /var/tmp e /dev/shm per qualsiasi tipo di file eseguibile, che sia ad alta entropia o meno. I file eseguibili sotto le directory tmp possono spesso essere dropper malware.

sandfly-entropyscan -dir /tmp -elf

sandfly-entropyscan -dir /var/tmp -elf

sandfly-entropyscan -dir /dev/shm -elf

Imposta un altro cron o una scansione di sicurezza automatica per controllare a campione i tuoi sistemi per binari altamente compressi o crittografati in esecuzione:

sandfly-entropyscan -proc -entropy 7.7

Compilazione

  • Installa l'ultima versione di Go (www.golang.org)
  • Clona il repository:

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

  • Entra nella directory del repository e compila:

go build

  • Esegui il binario con le tue opzioni:

./sandfly-entropyscan

Script di compilazione

Ci sono alcuni script di compilazione di base che compilano per varie piattaforme. Puoi usarli per compilare o modificarli a tuo piacimento. Per i responder di incidenti, potrebbe essere utile tenere binari precompilati pronti per la tua macchina di indagine.

build.sh - Compila per il sistema operativo corrente su cui lo esegui.

Rilevamento ELF

Usiamo un metodo semplice per vedere se un file può essere di tipo eseguibile ELF. Possiamo individuare file in formato ELF per più piattaforme. Anche se il malware ha binari dropper per Intel/AMD, MIPS e Arm, saremo comunque in grado di individuarli tutti.

Falsi positivi

È possibile segnalare un binario legittimo che ha un'alta entropia a causa di come è stato compilato, o perché è stato impacchettato per motivi legittimi. Altri file come .zip, .gz, .png, .jpg e simili hanno anche un'entropia molto alta perché sono formati compressi. La compressione rimuove la ridondanza in un file, facendolo apparire più casuale e con maggiore entropia.

Su Linux, potresti trovare alcuni tipi di librerie (file .so) segnalati se scansionano le directory delle librerie.

Tuttavia, la nostra esperienza è che i binari eseguibili con alta entropia sono spesso dannosi. Questo è particolarmente vero se li trovi in aree in cui normalmente gli eseguibili non dovrebbero essere (come le directory tmp o html).

Prestazioni

Il calcolo dell'entropia richiede la lettura di tutti i byte del file e il loro conteggio per ottenere un numero finale. Può utilizzare molta CPU e I/O su disco, specialmente su file system molto grandi o file molto grandi. Il programma ha un limite interno per cui non calcola l'entropia su file superiori a 2 GB, né tenterà di calcolare l'entropia su file che non sono di tipo regolare (ad esempio, non tenterà di calcolare l'entropia su dispositivi come /dev/zero).

Poi calcoliamo gli hash MD5, SHA1, SHA256 e SHA512. Ognuno di questi richiede di scorrere nuovamente il file. La velocità è ragionevole sui sistemi moderni, ma se stai esplorando un file system molto grande, potrebbe richiedere del tempo per completare.

Se dici al programma di guardare solo i file ELF, i calcoli di entropia/hash non avverranno a meno che non sia un tipo ELF, risparmiando molto tempo (ad esempio, ignorerà enormi file di database che non sono eseguibili).

Se vuoi automatizzare questo programma, è meglio non fargli esplorare l'intero filesystem di root a meno che tu non lo voglia specificamente. Un approccio mirato sarà più veloce e più utile per controlli a campione. Inoltre, usa il flag ELF, poiché ridurrà drasticamente i tempi di ricerca elaborando solo i tipi di file eseguibili.

Risposta agli incidenti

Per i responder di incidenti, eseguire sandfly-entropyscan sull'intera directory di livello superiore "/" potrebbe essere una buona idea solo per ottenere rapidamente un elenco di potenziali candidati impacchettati da investigare. Questo aumenterà CPU e I/O su disco. Tuttavia, probabilmente non ti interessa a quel punto, dato che la macchina stava già minando criptovalute da 598 ore quando gli amministratori se ne sono accorti.

Ancora, usa il flag ELF per arrivare ai probabili eseguibili problematici e ignorare il rumore.

Test

C'è uno script chiamato scripts/testfiles.sh che creerà due file. Uno sarà pieno di dati casuali e l'altro non sarà per niente casuale. Quando esegui lo script, creerà i file e avvierà sandfly-entropyscan in modalità di rilevamento eseguibili. Dovresti vedere due file. Uno con entropia molto alta (a 8.0 o vicino) e uno pieno di dati non casuali che dovrebbe essere a 0.00 per bassa entropia. Esempio:

./testfiles.sh

Creazione di file simile a eseguibile ad alta entropia casuale nella directory corrente.

Creazione di file simile a eseguibile a bassa entropia nella directory corrente.

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

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

Puoi anche caricare l'utilità upx e comprimere un eseguibile e vedere quali valori restituisce.

Sicurezza Linux senza agenti

Sandfly Security produce una piattaforma EDR (Endpoint Detection and Response) senza agenti per Linux. I controlli automatizzati dell'entropia sono solo una delle migliaia di cose che cerchiamo per trovare intrusi senza caricare alcun software sui tuoi endpoint Linux.

Ottieni una licenza gratuita e scopri di più qui sotto:

https://www.sandflysecurity.com @SandflySecurity

Scarica lo strumento