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
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.

Voir le dépôt
3714374il y a 1 anVé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

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.

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

    pip install -r requirements.txt
    

Utilisation

Arguments généraux de l'application :

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

Arguments spécifiques aux plugins :

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

Exemples d'exécution en ligne de commande

 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

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
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
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

Télécharger l’outil