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
ics-forensics-tools — Cadre forensique open-source pour analyser les métadonnées et les fichiers de projet des automates programmables industriels (PLC). Analyse les artefacts suspects dans les environnements ICS pour faciliter la réponse aux incidents et l'investigation manuelle. | Kitploit
Outils/GitHubGitHub/microsoft/ics-forensics-tools
Analyse des VulnérabilitésSécurité SCADA/ICSAnalyse ForensiqueCriminalistique NumériqueRéponse aux Incidents
GitHubmicrosoft/ics-forensics-tools

ics-forensics-tools

Cadre forensique open-source pour analyser les métadonnées et les fichiers de projet des automates programmables industriels (PLC). Analyse les artefacts suspects dans les environnements ICS pour faciliter la réponse aux incidents et l'investigation manuelle.

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
37143il y a 1 anVérifié par Kitploit

ICSpector : Framework médico-légal ICS Microsoft

Le framework Microsoft ICS Forensics Tools est un framework médico-légal open source qui permet l'analyse des métadonnées et des fichiers projet des API industriels.
Le framework offre aux enquêteurs un moyen pratique de scanner les API et d'identifier tout artefact suspect dans les environnements ICS, pouvant être utilisé pour une vérification manuelle, des tâches de surveillance automatisée ou des opérations de réponse aux incidents afin de détecter des appareils compromis.
En tant qu'outil open source, ICS Forensics Tools permet aux enquêteurs de revoir la sortie et de la personnaliser selon leurs besoins spécifiques.

Pour commencer

Ces instructions vous permettront d'obtenir une copie du projet et de l'exécuter sur votre machine locale à des fins de développement et de test.

root@kitploit:~
git clone https://github.com/microsoft/ics-forensics-tools.git

Prérequis

  • Installer Python >= 3.9 : https://www.python.org/downloads
  • Installer Microsoft Visual C++ 14.0. Obtenez-le avec « Build Tools for Visual Studio » : https://visualstudio.microsoft.com/downloads/

Installation

  • Installer les dépendances Python

    root@kitploit:~
    pip install -r requirements.txt
    

Utilisation

Arguments généraux de l'application :

Arguments spécifiques aux plugins :

Exemples d'exécution en ligne de commande

root@kitploit:~
 python driver.py -s -v NomDuPlugin --ip ips.csv
 python driver.py -s -v NomDuPlugin --ip ips.csv --analyzer NomAnalyseur
 python driver.py -s -v -c config.json --multiprocess

Exemple d'importation en tant que bibliothèque

root@kitploit:~
from forensic.client.forensic_client import ForensicClient
from forensic.interfaces.plugin import PluginConfig
forensic = ForensicClient()
plugin = PluginConfig.from_json({
    "name": "PluginName",
    "port": 123,
    "transport": "tcp",
    "addresses": [{"ip": "192.168.1.0/24"}, {"ip": "10.10.10.10"}],
    "parameters": {
    },
    "analyzers": []
})
forensic.scan([plugin])

Architecture

Ajout de plugins

Lors du développement en local, assurez-vous de marquer le dossier src comme « Sources root »

  • Créez un nouveau répertoire dans le dossier plugins avec le nom de votre plugin
  • Créez un nouveau fichier Python avec le nom de votre plugin
  • Utilisez le modèle suivant pour écrire votre plugin et remplacez « General » par le nom de votre plugin
root@kitploit:~
from pathlib import Path
from forensic.interfaces.plugin import PluginInterface, PluginConfig, PluginCLI
from forensic.common.constants.constants import Transport


class GeneralCLI(PluginCLI):
    def __init__(self, folder_name):
        super().__init__(folder_name)
        self.name = "General"
        self.description = "General Plugin Description"
        self.port = 123
        self.transport = Transport.TCP

    def flags(self, parser):
        self.base_flags(parser, self.port, self.transport)
        parser.add_argument('--general', help='General additional argument', metavar="")


class General(PluginInterface):
    def __init__(self, config: PluginConfig, output_dir: Path, verbose: bool):
        super().__init__(config, output_dir, verbose)

    def connect(self, address):
        self.logger.info(f"{self.config.name} connect")

    def export(self, extracted):
        self.logger.info(f"{self.config.name} export")


  • Assurez-vous d'importer votre nouveau plugin dans le fichier __init__.py sous le dossier plugins
  • Dans la classe héritée de PluginInterface, il y a le paramètre 'config' ; vous pouvez l'utiliser pour accéder à toutes les données disponibles dans l'objet PluginConfig (nom du plugin, adresses, port, transport, paramètres).
    Il y a 2 fonctions obligatoires (connect, export).
    • La fonction connect reçoit une adresse IP unique et extrait toute information pertinente de l'appareil et la retourne.
    • La fonction export reçoit les informations extraites de tous les appareils et vous pouvez les exporter dans un fichier.
  • Dans la classe héritée de PluginCLI, vous devez spécifier dans la fonction init les informations par défaut liées à ce plugin.
    Il y a une seule fonction obligatoire (flags), dans laquelle vous devez appeler base_flags, et vous pouvez ajouter tous les indicateurs supplémentaires que vous souhaitez.

Ajout d'analyseurs

  • Créez un nouveau répertoire sous le dossier analyzers avec le nom du plugin lié à votre analyseur.
  • Créez un nouveau fichier Python avec le nom de votre analyseur
  • Utilisez le modèle suivant pour écrire votre plugin et remplacez « General » par le nom de votre plugin
root@kitploit:~
from pathlib import Path
from forensic.interfaces.analyzer import AnalyzerInterface, AnalyzerConfig


class General(AnalyzerInterface):
    def __init__(self, config: AnalyzerConfig, output_dir: Path, verbose: bool):
        super().__init__(config, output_dir, verbose)
        self.plugin_name = 'General'
        self.create_output_dir(self.plugin_name)

    def analyze(self):
      pass

  • Assurez-vous d'importer votre nouvel analyseur dans le fichier __init__.py sous le dossier analyzers

Ressources et données techniques & solution :

Microsoft Defender pour IoT est une solution de sécurité réseau sans agent qui permet aux organisations de surveiller et découvrir en continu les actifs, détecter les menaces et gérer les vulnérabilités dans leurs appareils IoT/OT et systèmes de contrôle industriels (ICS), sur site et dans des environnements connectés à Azure.

Section 52 dans le blog MSRC
Conférence ICS donnée sur l'outil
Section 52 - Investigation de la logique à relais malveillante | Webinaire Microsoft Defender pour IoT - YouTube

Contribution

Ce projet accueille favorablement les contributions et suggestions. La plupart des contributions nécessitent que vous acceptiez un Contrat de Licence de Contributeur (CLA) déclarant que vous avez le droit de, et effectuez, nous accorder les droits d'utilisation de votre contribution. Pour plus de détails, visitez https://cla.opensource.microsoft.com.

Lorsque vous soumettez une pull request, un robot CLA déterminera automatiquement si vous devez fournir un CLA et décorera la PR de manière appropriée (par exemple, vérification du statut, commentaire). Suivez simplement les instructions fournies par le robot. Vous n'aurez à le faire qu'une seule fois sur tous les dépôts utilisant notre CLA.

Ce projet a adopté le Code de conduite open source Microsoft. Pour plus d'informations, consultez la FAQ sur le Code de conduite ou contactez [email protected] pour toute question ou commentaire supplémentaire.

Marques déposées

Ce projet peut contenir des marques déposées ou des logos pour des projets, produits ou services. L'utilisation autorisée des marques déposées ou logos Microsoft est soumise et doit suivre les Directives sur les marques et la marque Microsoft. L'utilisation de marques déposées ou logos Microsoft dans des versions modifiées de ce projet ne doit pas créer de confusion ni sous-entendre un parrainage de Microsoft. Toute utilisation de marques déposées ou logos tiers est soumise aux politiques de ces tiers.

Avis de non-responsabilité légal

Copyright (c) 2018 Microsoft Corporation. Tous droits réservés.

LE LOGICIEL EST FOURNI « EN L'ÉTAT », SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU IMPLICITE, Y COMPRIS MAIS SANS S'Y LIMITER LES GARANTIES DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON. EN AUCUN CAS LES AUTEURS OU TITULAIRES DU DROIT D'AUTEUR NE SERONT RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGES OU AUTRE RESPONSABILITÉ, QUE CE SOIT DANS LE CADRE D'UNE ACTION CONTRACTUELLE, DÉLICTUELLE OU AUTRE, DÉCOULANT DE, OU EN RELATION AVEC LE LOGICIEL OU SON UTILISATION OU AUTRES INTERACTIONS AVEC LE LOGICIEL.

Télécharger l’outil
ArgsDescriptionRequis / Optionnel
-h, --helpafficher ce message d'aide et quitterOptionnel
-s, --save-configEnregistrer le fichier de config pour une utilisation future facileOptionnel
-c, --configChemin du fichier de config, par défaut config.jsonOptionnel
-o, --output-dirRépertoire de sortie des fichiers générés, par défaut outputOptionnel
-v, --verboseJournaliser la sortie dans un fichier ainsi que dans la consoleOptionnel
-p, --multiprocessExécuter en mode multiprocessus selon le nombre de plugins/analyseursOptionnel
ArgsDescriptionRequis / Optionnel
-h, --helpafficher ce message d'aide et quitterOptionnel
--ipChemin du fichier d'adresses, CIDR ou adresses IP au format CSV (colonne ip requise).
ajoutez plus de colonnes pour des informations supplémentaires sur chaque ip (username, pass, etc...)
Requis
--portNuméro du portOptionnel
--transporttcp/udpOptionnel
--analyzerNom de l'analyseur à exécuterOptionnel