Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
hfinger — Génère des empreintes uniques de requêtes HTTP de malwares à partir de fichiers pcap en utilisant Tshark, permettant l'identification et le regroupement de familles de malwares via l'analyse de la structure des requêtes, des en-têtes et des caractéristiques de la charge utile. | Kitploit
Outils/GitHubGitHub/cert-polska/hfinger
Collecte d'InformationsAnalyse de MalwareRenseignement sur les Menaces
GitHubcert-polska/hfinger

hfinger

Génère des empreintes uniques de requêtes HTTP de malwares à partir de fichiers pcap en utilisant Tshark, permettant l'identification et le regroupement de familles de malwares via l'analyse de la structure des requêtes, des en-têtes et des caractéristiques de la charge utile.

Voir le dépôt
1471060il y a 3 ansVérifié par Kitploit

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

Hfinger - empreinte numérique des requêtes HTTP de malwares

Outil pour l'empreinte numérique (fingerprinting) des requêtes HTTP de malwares. Basé sur Tshark et écrit en Python3. Stade de prototype fonctionnel :-)

Son objectif principal est de fournir des représentations uniques (empreintes) des requêtes de malwares, ce qui facilite leur identification. Unique signifie ici que chaque empreinte ne devrait être observée que dans une seule famille de malwares particulière, mais une famille peut avoir plusieurs empreintes. Hfinger représente la requête sous une forme plus courte que l'affichage complet de la requête, mais toujours interprétable par un humain.

Hfinger peut être utilisé dans l'analyse manuelle de malwares mais aussi dans des systèmes de sandbox ou des SIEMs. Les empreintes générées sont utiles pour regrouper des requêtes, identifier des requêtes appartenant à des familles de malwares particulières, distinguer différentes opérations d'une même famille, ou découvrir des requêtes malveillantes inconnues négligées par d'autres systèmes de sécurité mais qui partagent une empreinte.

Un article académique accompagne le travail sur cet outil, décrivant par exemple la motivation des choix de conception, et l'évaluation de l'outil par rapport à p0f, FATT, et Mercury.

Table des matières

  1. L'idée
  2. Installation
  3. Utilisation
  4. Création des empreintes
  5. Modes de rapport

L'idée

L'hypothèse de base de ce projet est que les requêtes HTTP de différentes familles de malwares sont plus ou moins uniques, de sorte qu'elles peuvent être empreintes (fingerprinted) pour fournir une forme d'identification. Hfinger conserve des informations sur la structure et les valeurs de certains en-têtes pour permettre une analyse plus poussée. Par exemple, le regroupement de requêtes similaires - pour l'instant, il s'agit encore d'un travail en cours.

Après analyse des requêtes HTTP et des en-têtes de malwares, nous avons identifié certaines parties des requêtes comme étant les plus distinctives. Celles-ci incluent :

  • Méthode de requête
  • Version du protocole
  • Ordre des en-têtes
  • Valeurs des en-têtes courants
  • Longueur de la charge utile, entropie et présence de caractères non-ASCII

De plus, certaines caractéristiques standard de l'URL de la requête ont également été prises en compte. Toutes ces parties ont été traduites en un ensemble de caractéristiques, décrites en détail ici.

Les caractéristiques ci-dessus sont traduites en une représentation de longueur variable, qui est l'empreinte réelle. Selon le mode de rapport, différentes caractéristiques sont utilisées pour empreinter les requêtes. Plus d'informations sur ces modes sont présentées ci-dessous. Le processus de sélection des caractéristiques sera décrit dans le prochain article académique.

Installation

Prérequis minimum avant l'installation :

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

Installation disponible depuis PyPI :

pip install hfinger

Hfinger a été testé sur Xubuntu 22.04 LTS avec le paquet tshark en version 3.6.2, mais devrait fonctionner avec des versions plus anciennes comme 2.6.10 sur Xubuntu 18.04 ou 3.2.3 sur Xubuntu 20.04.

Veuillez noter que comme pour toute preuve de concept (PoC), vous devriez exécuter Hfinger dans un environnement isolé, au moins avec un environnement virtuel Python. Sa configuration n'est pas couverte ici, mais vous pouvez essayer ce tutoriel.

Utilisation

Après installation, vous pouvez appeler l'outil directement depuis une ligne de commande avec hfinger ou en tant que module Python avec python -m hfinger.

Par exemple :

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'aide peut être affichée avec les options courtes -h ou longues --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.

Vous devez fournir un chemin vers un fichier pcap (-f), ou un répertoire (-d) contenant des fichiers pcap. La sortie est au format JSON. Elle sera affichée sur la sortie standard ou dans le répertoire fourni (-o) en utilisant le nom du fichier source. Par exemple, la sortie de la commande :

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

sera enregistrée dans :

/tmp/pcap/example.pcap.json

Le mode de rapport -m/--mode peut être utilisé pour changer le mode de rapport par défaut en fournissant un entier dans la plage 0-4. Les modes diffèrent selon les caractéristiques de requête représentées ou les modes d'arrondi. Le mode par défaut (2) a été choisi par nous pour représenter toutes les caractéristiques qui sont habituellement utilisées lors de l'analyse des requêtes, mais il offre également un faible nombre de collisions et d'empreintes générées. Avec les autres modes, vous pouvez atteindre différents objectifs. Par exemple, dans le mode 3, vous obtenez un nombre plus faible d'empreintes générées mais une probabilité plus élevée de collision entre familles de malwares. Si vous n'êtes pas sûr, vous n'avez rien à changer. Plus d'informations sur les modes de rapport sont ici.

À partir de la version 0.2.1, Hfinger est moins verbeux. Vous devez utiliser -v/--verbose si vous souhaitez recevoir des informations sur les valeurs non standard des en-têtes rencontrées, les caractères non-ASCII dans la partie non-charge utile de la requête, l'absence de balises CRLF (\r\n\r\n), et d'autres problèmes avec les requêtes analysées qui ne sont pas des erreurs d'application. Lorsque de tels problèmes sont rencontrés en mode verbeux, ils seront imprimés sur la sortie d'erreur standard. Vous pouvez également enregistrer le journal dans un emplacement défini en utilisant l'option -l/--log (qui implique -v/--verbose). Les données du journal seront ajoutées au fichier journal.

Utiliser hfinger dans une application Python

Télécharger l’outil