Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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
hfinger — Genera impronte digitali uniche delle richieste HTTP di malware da file pcap utilizzando Tshark, consentendo l'identificazione e il raggruppamento di famiglie di malware attraverso l'analisi della struttura delle richieste, degli header e delle caratteristiche del payload. | Kitploit
Strumenti/GitHubGitHub/cert-polska/hfinger
Raccolta InformazioniAnalisi MalwareThreat Intelligence
GitHubcert-polska/hfinger

hfinger

Genera impronte digitali uniche delle richieste HTTP di malware da file pcap utilizzando Tshark, consentendo l'identificazione e il raggruppamento di famiglie di malware attraverso l'analisi della struttura delle richieste, degli header e delle caratteristiche del payload.

Vedi Repository
14710603 anni faRevisionato da Kitploit

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

Hfinger - fingerprinting delle richieste HTTP dei malware

Strumento per il fingerprinting delle richieste HTTP dei malware. Basato su Tshark e scritto in Python3. Stadio di prototipo funzionante :-)

Il suo obiettivo principale è fornire rappresentazioni uniche (fingerprint) delle richieste dei malware, che aiutano nella loro identificazione. Unico significa qui che ogni fingerprint dovrebbe essere vista solo in una particolare famiglia di malware, ma una famiglia può avere più fingerprint. Hfinger rappresenta la richiesta in una forma più breve rispetto alla stampa dell'intera richiesta, ma comunque interpretabile dall'uomo.

Hfinger può essere utilizzato nell'analisi manuale dei malware ma anche in sistemi sandbox o SIEM. I fingerprint generati sono utili per raggruppare le richieste, individuare le richieste di particolari famiglie di malware, identificare diverse operazioni di una famiglia, o scoprire richieste dannose sconosciute omesse da altri sistemi di sicurezza ma che condividono il fingerprint.

Un articolo accademico accompagna il lavoro su questo strumento, descrivendo, ad esempio, la motivazione delle scelte progettuali, e la valutazione dello strumento rispetto a p0f, FATT e Mercury.

Indice dei contenuti

  1. L'idea
  2. Installazione
  3. Utilizzo
  4. Creazione del fingerprint
  5. Modalità di report

L'idea

L'assunzione di base di questo progetto è che le richieste HTTP di diverse famiglie di malware sono più o meno uniche, quindi possono essere fingerprintate per fornire una qualche forma di identificazione. Hfinger conserva informazioni sulla struttura e sui valori di alcune intestazioni per fornire mezzi per ulteriori analisi. Ad esempio, il raggruppamento di richieste simili - al momento, è ancora un lavoro in corso.

Dopo l'analisi delle richieste HTTP e delle intestazioni dei malware, abbiamo identificato alcune parti delle richieste come le più distintive. Queste includono:

  • Metodo della richiesta
  • Versione del protocollo
  • Ordine delle intestazioni
  • Valori delle intestazioni più comuni
  • Lunghezza del payload, entropia e presenza di caratteri non ASCII

Inoltre, sono state considerate anche alcune caratteristiche standard dell'URL della richiesta. Tutte queste parti sono state tradotte in un insieme di caratteristiche, descritte in dettaglio qui.

Le caratteristiche sopra descritte vengono tradotte in una rappresentazione di lunghezza variabile, che è il fingerprint effettivo. A seconda della modalità di report, vengono utilizzate caratteristiche diverse per il fingerprinting delle richieste. Maggiori informazioni su queste modalità sono presentate di seguito. Il processo di selezione delle caratteristiche sarà descritto nel prossimo articolo accademico.

Installazione

Requisiti minimi necessari prima dell'installazione:

  • Python >= 3.3,
  • Tshark >= 2.2.0.

Installazione disponibile da PyPI:

pip install hfinger

Hfinger è stato testato su Xubuntu 22.04 LTS con il pacchetto tshark versione 3.6.2, ma dovrebbe funzionare con versioni più vecchie come 2.6.10 su Xubuntu 18.04 o 3.2.3 su Xubuntu 20.04.

Si prega di notare che come per qualsiasi PoC, si dovrebbe eseguire Hfinger in un ambiente separato, almeno con un ambiente virtuale Python. La sua configurazione non è trattata qui, ma puoi provare questo tutorial.

Utilizzo

Dopo l'installazione, puoi chiamare lo strumento direttamente dalla riga di comando con hfinger o come modulo Python con python -m hfinger.

Ad esempio:

foo@bar:~$ hfinger -f /tmp/test.pcap
[{"epoch_time": "1614098832.205385000", "ip_src": "127.0.0.1", "ip_dst": "127.0.0.1", "port_src": "53664", "port_dst": "8080", "fingerprint": "2|3|1|php|0.6|PO|1|us-ag,ac,ac-en,ho,co,co-ty,co-le|us-ag:f452d7a9/ac:as-as/ac-en:id/co:Ke-Al/co-ty:te-pl|A|4|1.4"}]

L'aiuto può essere visualizzato con i flag brevi -h o lunghi --help:

usage: hfinger [-h] (-f FILE | -d DIR) [-o output_path] [-m {0,1,2,3,4}] [-v]
               [-l LOGFILE]

Hfinger - fingerprinting malware HTTP requests stored in pcap files

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  Read a single pcap file
  -d DIR, --directory DIR
                        Read pcap files from the directory DIR
  -o output_path, --output-path output_path
                        Path to the output directory
  -m {0,1,2,3,4}, --mode {0,1,2,3,4}
                        Fingerprint report mode. 
                        0 - similar number of collisions and fingerprints as mode 2, but using fewer features, 
                        1 - representation of all designed features, but a little more collisions than modes 0, 2, and 4, 
                        2 - optimal (the default mode), 
                        3 - the lowest number of generated fingerprints, but the highest number of collisions, 
                        4 - the highest fingerprint entropy, but slightly more fingerprints than modes 0-2
  -v, --verbose         Report information about non-standard values in the request 
                        (e.g., non-ASCII characters, no CRLF tags, values not present in the configuration list). 
                        Without --logfile (-l) will print to the standard error.
  -l LOGFILE, --logfile LOGFILE
                        Output logfile in the verbose mode. Implies -v or --verbose switch.

Devi fornire un percorso a un file pcap (-f), o una directory (-d) con file pcap. L'output è in formato JSON. Verrà stampato sull'output standard o nella directory fornita (-o) utilizzando il nome del file sorgente. Ad esempio, l'output del comando:

hfinger -f example.pcap -o /tmp/pcap

verrà salvato in:

/tmp/pcap/example.pcap.json

La modalità di report -m/--mode può essere utilizzata per cambiare la modalità di report predefinita fornendo un intero nell'intervallo 0-4. Le modalità differiscono per le caratteristiche della richiesta rappresentate o per le modalità di arrotondamento. La modalità predefinita (2) è stata scelta da noi per rappresentare tutte le caratteristiche solitamente utilizzate durante l'analisi delle richieste, ma offre anche un basso numero di collisioni e di fingerprint generati. Con altre modalità, puoi raggiungere obiettivi diversi. Ad esempio, nella modalità 3 ottieni un numero inferiore di fingerprint generati ma una maggiore probabilità di collisione tra famiglie di malware. Se non sei sicuro, non devi cambiare nulla. Maggiori informazioni sulle modalità di report sono qui.

A partire dalla versione 0.2.1 Hfinger è meno verboso. Dovresti usare -v/--verbose se desideri ricevere informazioni su valori non standard delle intestazioni incontrati, caratteri non ASCII nella parte non payload della richiesta, mancanza di tag CRLF (\r\n\r\n) e altri problemi con le richieste analizzate che non sono errori dell'applicazione. Quando si incontrano tali problemi in modalità verbose, verranno stampati sull'output standard degli errori. Puoi anche salvare il log in una posizione definita usando il flag -l/--log (implica -v/--verbose). I dati del log verranno aggiunti al file di log.

Utilizzo di hfinger in un'applicazione Python

A partire dalla versione 0.2.0, Hfinger supporta l'importazione in altre applicazioni Python. Per usarlo nella tua app, importa semplicemente la funzione hfinger_analyze da hfinger.analysis e chiamala con il percorso del file pcap e la modalità di report. Il risultato restituito è una lista di dizionari con i risultati del fingerprinting.

Ad esempio:

Scarica lo strumento