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
Outils/GitHubGitHub/g4lb1t/pstf2
Outils de PhishingÉvasion IDS/IPSSécurité WebApprentissage et ÉducationRed TeamingUsurpation d'Empreinte Numérique
GitHubg4lb1t/pstf2

pstf2

Framework d'empreinte d'outils de sécurité passifs

Voir le dépôt
749il y a 5 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

pstf^2

Framework de Fingerprinting Passif pour Outils de Sécurité

Avez-vous déjà voulu un moyen simple, facile et discret de contourner plusieurs catégories de produits de sécurité ? pstf^2 (prononcé pstf-carré) est une implémentation d'un serveur HTTP capable de faire du fingerprinting passif de navigateur – et c'est peut-être exactement ce que vous cherchez. Lorsque des attaquants tentent de délivrer une charge utile sur Internet, ils doivent contourner plusieurs outils capables de scanner les liens entrants. Filtres de courriels, moteurs d'analyse et même soumission à un sandbox via une URL – tout peut être contourné une fois que pstf2 les détecte de manière passive. Une fois détecté, l'outil permet de différencier les services de sécurité des victimes potentielles et de délivrer une réponse malveillante ou bénigne.

Cet outil a été présenté lors du BlackHat EU 2020 : https://www.blackhat.com/eu-20/arsenal/schedule/#pstf2-link-scanners-evasion-made-easy-21763

Les détails de la recherche sont disponibles dans cet article de blog : https://blogs.akamai.com/sitr/2020/12/evading-link-scanning-security-services-with-passive-fingerprinting.html

Comment ça marche ?

La vraie question est : comment fonctionnent les scanners de liens ? Inspecter un lien malveillant est une action impliquant un client web qui envoie une requête HTTP GET. Chaque fournisseur utilise une implémentation interne différente – la plupart tentant d'imiter une interaction utilisateur réelle dans une certaine mesure. pstf^2 est un serveur HTTP simple basé sur Python qui applique des tactiques de détection de bots bien connues pour déterminer si une requête entrante provient d'un outil de sécurité automatisé. L'opérateur du serveur peut personnaliser les réponses, par exemple – si un scanner est détecté, rediriger vers Google, sinon envoyer un contenu malveillant.

Voici les principales tactiques implémentées dans pstf^2 :

Couche applicative

User Agents obsolètes

Les outils de sécurité essaient de se cacher en tant que clients légitimes, en imitant de vrais navigateurs, mais ce n'est généralement pas le cas. Il est courant de voir des outils qui ne sont pas maintenus correctement utiliser de faux en-têtes user-agent pour des versions de navigateur vieilles d'une décennie. pstf^2 vous permet de définir un seuil minimal pour ce que vous considérez comme une version réelle non obsolète.

Anomalies HTTP générales

Il existe de nombreux types d'implémentations étranges que l'outil est capable de détecter. Quelques exemples présentés lors du talk BlackHat étaient :

  • Laisser un en-tête via: qui révélait la nature de l'hôte virtuel utilisé pour le sandboxing.
  • Un en-tête referer: qui suggérait que le lien avait été atteint depuis Google, par exemple referer: google.com/search?q=specific.site.com. dans les scénarios que nous avons testés, cela n'avait pas de sens car ce produit analyse les courriels et quand quelqu'un clique sur un courriel (pas depuis une interface web), cet en-tête est absent.

Couche liaison, réseau et transport

Corrélation

Plusieurs paramètres TCP peuvent indiquer soit une version spécifique d'OS soit une saveur spécifique. Certains clients usurpent l'en-tête user-agent mais tournent sur un OS différent de celui qu'ils déclarent.

Valeurs MTU

Les clients hébergés sur les réseaux de certains fournisseurs de cloud ont une MTU différente de la valeur standard de 1500 octets.

ASN

Dans certains cas, la requête est envoyée depuis un ASN explicitement associé à un fournisseur de sécurité spécifique. Dans d'autres cas, l'origine de la requête est un hébergeur cloud, bien que cela n'incrimine pas un fournisseur spécifique, il est peu probable qu'il s'agisse d'un utilisateur typique.

Enregistrements DNS PTR

Dans de rares cas, l'adresse IP du client possède un enregistrement PTR, l'associant à une URL liée à un fournisseur de sécurité.

Configuration de pstf^2

Utilisation avec Docker

En supposant que vous ayez déjà Docker installé, c'est aussi simple que cela :

root@kitploit:~
docker-compose up 

Déploiement manuel

Si vous souhaitez éviter Docker, suivez ces étapes.

Satisfaire les dépendances Python

Exécutez :

root@kitploit:~
pip install requirements.txt

Cela installera tous les modules Python externes nécessaires.

Obtenir p0f

Avant de déployer pstf^2, téléchargez et installez p0f. Il est actuellement disponible à l'adresse :

https://lcamtuf.coredump.cx/p0f3/

Maintenant, configurez correctement lib/servers/server_config.yml pour pointer vers le bon chemin, par exemple :

root@kitploit:~
p0f_config:
  # change your username at the very least, remember to change in both paths
  p0f_bin_path: '/Users/$your_user_name/$more_folders/web_fp/p0f-3.09b/p0f'
  p0f_fp_path: '/Users/$your_user_name/$more_folders/web_fp/p0f-3.09b/p0f.fp'
  iface: 'lo0'
  p0f_named_socket: '/tmp/p0f_socket'

Vérifiez également que iface est la même interface que celle qui exécute votre serveur HTTP Python. Dans l'exemple ci-dessus, il s'agit de l'interface de boucle locale.

Lancer pstf^2

Une fois les dépendances satisfaites, exécutez :

root@kitploit:~
python driver.py

Vous pouvez utiliser l'un des indicateurs suivants :

root@kitploit:~
  --p0f_bin_path P0F_BIN_PATH
  --p0f_fp_path P0F_FP_PATH
  --p0f_iface P0F_IFACE

Tous sont utilisés pour ajuster les paramètres liés à p0f : le binaire lui-même, le fichier d'empreintes et l'interface que nous utilisons, par défaut eth0.

Vous devriez voir une sortie similaire à celle-ci :

root@kitploit:~
2020-04-15 17:37:06,896 - pstf2_logger - INFO - Starting p0f...
2020-04-15 17:37:06,896 - pstf2_logger - INFO - Running command:
	/Users/gbitensk/work/web_fp/p0f-3.09b/p0f -i lo0 -s /tmp/p0f_socket -f /Users/gbitensk/work/web_fp/p0f-3.09b/p0f.fp
2020-04-15 17:37:06,898 - pstf2_logger - INFO - p0f started!
2020-04-15 17:37:06,898 - pstf2_logger - INFO - Starting HTTP server...
2020-04-15 17:37:06,898 - pstf2_logger - INFO - HTTP server started!
2020-04-15 17:37:06,899 - pstf2_logger - INFO - If you wish to terminate the server press CTRL+C

Terminez le serveur en appuyant sur Ctrl+C, cela tuera à la fois l'instance HTTP et p0f. Vous devriez voir quelque chose de similaire :

root@kitploit:~
2020-04-15 17:37:48,263 - pstf2_logger - INFO - HTTP server stopped!
2020-04-15 17:37:48,263 - pstf2_logger - INFO - Killing p0f...
2020-04-15 17:37:48,263 - pstf2_logger - INFO - p0f killed!
2020-04-15 17:37:48,263 - pstf2_logger - INFO - exiting...

Notez que la configuration d'un enregistrement DNS pointant une URL vers votre serveur dépasse le cadre de pstf^2 et relève de votre propre responsabilité.

Gestion des charges utiles

pstf^2 contient des charges utiles par défaut définies dans server_config.yml et peuvent être personnalisées facilement.

Réponse bénigne

Il existe deux modes, activés en modifiant la variable rickroll_mode pour YES ou NO. S'il est activé, l'outil de sécurité sera redirigé vers une page YouTube avec le célèbre Rickrolling, sinon il servira une chaîne définie dans le même fichier YAML.

Réponse malveillante

Par défaut, la réponse "malveillante" a été définie sur la chaîne de test standard EICAR.

Pourquoi pstf^2 est-il public ?

J'ai choisi de publier cet outil en open source car :

  • Les liens malveillants sont utilisés quotidiennement par les mauvais acteurs, à grande échelle.
  • Les outils de sécurité ne sont pas assez performants ; certaines des méthodes illustrées par pstf^2 sont exploitées dans la nature.

Lors de sa construction, l'outil a été testé contre 15 produits différents, tous ont échoué. Bien que j'aie divulgué de manière responsable les détails de l'attaque, nous avons encore un long chemin à parcourir et mon attente est qu'en rendant l'outil public, nous sensibiliserons davantage à ces tactiques qui sont déjà exploitées par les "mauvais acteurs".

Remerciements spéciaux

@Den1al pour avoir fourni des conseils lors de la construction de cet outil en particulier, pour l'écriture correcte de Python en général, ainsi que pour son aide à la création de l'image Docker.

Télécharger l’outil