Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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
project-memoria-detector — Outil d'empreinte active qui identifie 16 piles TCP/IP embarquées sur des périphériques réseau en utilisant des techniques de sondage ICMP, TCP, HTTP, SSH et FTP pour l'évaluation des vulnérabilités. | Kitploit
Outils/GitHubGitHub/forescout/project-memoria-detector
Sécurité des Systèmes EmbarquésSécurité IoTAnalyse des VulnérabilitésSécurité RéseauAnalyse de Micrologiciel
GitHubforescout/project-memoria-detector

project-memoria-detector

Outil d'empreinte active qui identifie 16 piles TCP/IP embarquées sur des périphériques réseau en utilisant des techniques de sondage ICMP, TCP, HTTP, SSH et FTP pour l'évaluation des vulnérabilités.

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
Voir le dépôt
3234617il y a 5 ansVérifié par Kitploit

project-memoria-detector

L'outil project-memoria-detector vise à déterminer si un périphérique réseau cible exécute une pile TCP/IP embarquée spécifique.

Actuellement, l'outil prend en charge les empreintes de 16 piles TCP/IP embarquées (et leurs variantes) :

  • uIP, Contiki ou Contiki-NG
  • picoTCP ou picoTCP-NG
  • Nut/Net
  • FNET
  • Nucleus NET
  • CycloneTCP
  • NDKTCPIP
  • uC/TCP-IP
  • MPLAB Harmony Net
  • NicheStack
  • FreeBSD
  • Microsoft ThreadX
  • CMX TCP/IP
  • emNet
  • Keil TCP/IP
  • lwIP

Plusieurs des piles ci-dessus ont été jugées vulnérables lors des recherches du Project Memoria.

Comment ça fonctionne ?

Le script identifie l'utilisation des 16 piles TCP/IP sur un périphérique cible via les méthodes d'empreinte active suivantes :

  • Sondage ICMP : le script envoie une demande d'écho ICMP malformée et vérifie les caractéristiques de la réponse, notamment les changements de la valeur Time-to-live (TTL) et le contenu spécifique de la charge utile, qui varie selon la pile.
  • Signatures des options TCP : le script envoie un paquet TCP SYN et surveille la réponse SYN ACK pour le format du champ des options TCP. Chaque pile répond avec des valeurs différentes pour les options, comme une taille de segment maximale (MSS) et une échelle de fenêtre.
  • Gestion du drapeau Urgent TCP : le script envoie un paquet TCP avec le drapeau Urgent activé et surveille la réponse. Chaque pile répond avec un ensemble différent de drapeaux TCP et une valeur de taille de fenêtre TCP différente.
  • Bannières HTTP et messages d'erreur : le script effectue des requêtes HTTP vers un serveur web hébergé sur un périphérique en test et vérifie des en-têtes HTTP spécifiques et des messages d'erreur spécifiques à l'application.
  • Bannières SSH et messages d'erreur : le script effectue des requêtes vers un serveur SSH hébergé sur un périphérique en test et vérifie des bannières SSH spécifiques.
  • Bannières FTP et messages d'erreur : le script effectue des requêtes vers un serveur FTP hébergé sur un périphérique en test et vérifie des bannières FTP spécifiques.

Bien que le script ait été testé dans un environnement de laboratoire, nous ne pouvons pas garantir que son utilisation soit sûre pour tous les appareils possibles. Les paquets ICMP malformés, par exemple, pourraient faire planter un appareil exécutant une pile différente. PAR CONSÉQUENT, NOUS NE RECOMMANDONS PAS SON UTILISATION DIRECTE SUR DES ENVIRONNEMENTS EN PRODUCTION AVEC DES ÉQUIPEMENTS CRITIQUES (COMME LES HÔPITAUX AVEC DES DISPOSITIFS CONNECTÉS AUX PATIENTS OU LES SYSTÈMES DE CONTRÔLE INDUSTRIEL À SÉCURITÉ CRITIQUE). Une approche idéale consiste à tester les appareils dans un environnement de laboratoire ou pendant une fenêtre de maintenance.

Dépendances

Veuillez noter que l'outil a été testé uniquement dans un environnement de test Linux (toute distribution Linux moderne devrait fonctionner). Il est supposé que l'environnement de test utilise iptables (https://linux.die.net/man/8/iptables) comme pare-feu de base.

L'outil nécessite une version récente de Python 3.x (voir https://www.python.org/, version >= 3.7.7 de préférence), ainsi que Scapy (voir https://scapy.net/, version >= 2.4.3 de préférence).

Pour installer Scapy avec Python et pour le dépannage général, veuillez suivre la documentation ici : https://scapy.readthedocs.io/en/latest/installation.html

Si Python est déjà installé sur votre machine, pour installer les dépendances requises, vous pouvez utiliser pip et le fichier requirements.txt fourni :

$ pip install -r requirements.txt

Utilisation de base

Comme Scapy nécessite des privilèges root pour s'exécuter, l'outil doit être lancé avec sudo, par exemple :

$ sudo python project-memoria-detector.py [options]

Pour voir les options disponibles pour exécuter le script, lancez-le avec l'option -h :

$ python project-memoria-detector.py -h

En général, le script nécessite au moins une seule adresse IP du périphérique cible (ce paramètre peut être explicitement spécifié avec -ip_dst)

$ sudo python project-memoria-detector.py 192.168.3.1

Le script prend en charge l'analyse de plages d'adresses IP. Vous pouvez soit spécifier un sous-réseau à analyser à l'aide de la notation CIDR, soit fournir un fichier .txt avec un ensemble d'adresses IP à analyser.

La notation CIDR peut être utilisée comme suit (pour cet exemple, les adresses IP de 192.168.3.1 à 192.168.3.254 seront scannées) :

$ sudo python project-memoria-detector.py 192.168.3.0/24

Vous pouvez également utiliser un fichier .txt pour spécifier les adresses IP d'intérêt : chaque adresse IP dans ce fichier doit commencer sur une nouvelle ligne. Par exemple, nous pouvons créer un fichier appelé input.txt avec le contenu suivant :

$ cat input.txt
192.168.1.8
192.168.1.9
192.168.3.1
192.168.2.14

Nous pouvons ensuite exécuter le script comme suit :

$ sudo python project-memoria-detector.py --in-file input.txt

Le script utilise des valeurs par défaut pour les ports afin d'identifier différents protocoles tels que SSH (22), FTP (21) et HTTP (80). Afin de remplacer ces valeurs par défaut, vous pouvez le faire en définissant les paramètres comme :

$ sudo python project-memoria-detector.py -ip_dst 192.168.212.42 --tcp-port 80 --http-port 80 --ssh-port 22 --ftp-port 21 -i eth1

Interprétation des résultats

Le script affichera les correspondances avec les empreintes individuelles ainsi que le degré de certitude entre parenthèses :

$ sudo python project-memoria-detector.py 192.168.6.42

192.168.6.42 is alive
        ICMP => uIP/Contiki (High)
        TCP => uIP/Contiki (Medium)
        HTTP => uIP/Contiki (High)
        SSH => Unknown (No match)
        FTP => Unknown (No reply)

Le degré de certitude d'une empreinte particulière peut être High, Medium, ou Low. No match signifie qu'il n'y a pas de correspondance avec une empreinte connue, et No reply signifie qu'un port/service spécifique est indisponible.

Licence

Copyright (C) 2020 Forescout Technologies, Inc.

Licence du Programme

"Le Programme" désigne toute œuvre protégée par le droit d'auteur concédée sous cette Licence. Chaque licencié est désigné par "vous".

Télécharger l’outil