Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ics-forensics-tools — Open-Source-Forensik-Framework zur Analyse von industriellen PLC-Metadaten und Projektdateien. Scannt nach verdächtigen Artefakten in ICS-Umgebungen, um Incident Response und manuelle Untersuchungen zu unterstützen. | Kitploit
Tools/GitHubGitHub/microsoft/ics-forensics-tools
SchwachstellenanalyseSCADA/ICS-SicherheitForensikDigitale ForensikIncident Response
GitHubmicrosoft/ics-forensics-tools

ics-forensics-tools

Open-Source-Forensik-Framework zur Analyse von industriellen PLC-Metadaten und Projektdateien. Scannt nach verdächtigen Artefakten in ICS-Umgebungen, um Incident Response und manuelle Untersuchungen zu unterstützen.

Repository anzeigen
3714357vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ICSpector: Microsoft ICS Forensik-Framework

Das Microsoft ICS Forensics Tools-Framework ist ein quelloffenes Forensik-Framework, das die Analyse von industriellen PLC-Metadaten und Projektdateien ermöglicht.
Das Framework bietet Ermittlern eine bequeme Möglichkeit, nach SPSen zu scannen und verdächtige Artefakte in ICS-Umgebungen zu identifizieren. Diese können für manuelle Überprüfungen, automatisierte Überwachungsaufgaben oder Incident-Response-Operationen zur Erkennung kompromittierter Geräte verwendet werden.
Als quelloffenes Tool ermöglicht ICS Forensics Tools den Ermittlern, die Ausgabe zu überprüfen und an ihre spezifischen Anforderungen anzupassen.

Erste Schritte

Diese Anweisungen helfen Ihnen, eine Kopie des Projekts auf Ihrem lokalen Rechner zu Entwicklungs- und Testzwecken zum Laufen zu bringen.

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

Voraussetzungen

  • Installieren Sie Python >= 3.9: https://www.python.org/downloads
  • Installieren Sie Microsoft Visual C++ 14.0. Sie erhalten es mit "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/
  • Installation

    • Installieren Sie die Python-Anforderungen

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

    Verwendung

    Allgemeine Anwendungsargumente:

    ArgsBeschreibungErforderlich / Optional
    -h, --helpzeigt diese Hilfemeldung an und beendet das ProgrammOptional
    -s, --save-configKonfigurationsdatei zur einfachen späteren Verwendung speichernOptional
    -c, --configPfad zur Konfigurationsdatei, Standard ist config.jsonOptional
    -o, --output-dirVerzeichnis, in das generierte Dateien ausgegeben werden, Standard ist outputOptional
    -v, --verboseLog-Ausgabe sowohl in eine Datei als auch auf die KonsoleOptional
    -p, --multiprocessIm Multiprozess-Modus nach Anzahl der Plugins/Analysatoren ausführenOptional

    Spezifische Plugin-Argumente:

    ArgsBeschreibungErforderlich / Optional
    -h, --helpzeigt diese Hilfemeldung an und beendet das ProgrammOptional
    --ipDateipfad, CIDR oder IP-Adressen-CSV (ip-Spalte erforderlich).
    Fügen Sie weitere Spalten für zusätzliche Informationen zu jeder IP hinzu (Benutzername, Passwort usw.)
    Erforderlich
    --portPortnummerOptional
    --transporttcp/udpOptional
    --analyzerName des auszuführenden AnalysatorsOptional

    Beispiele für die Ausführung in der Befehlszeile

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

    Beispiel für die Einbindung als Bibliothek

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

    Architektur

    Hinzufügen von Plugins

    Stellen Sie bei der lokalen Entwicklung sicher, dass der src-Ordner als "Sources root" markiert ist.

    • Erstellen Sie ein neues Verzeichnis im plugins-Ordner mit Ihrem Plugin-Namen
    • Erstellen Sie eine neue Python-Datei mit Ihrem Plugin-Namen
    • Verwenden Sie die folgende Vorlage, um Ihr Plugin zu schreiben, und ersetzen Sie 'General' durch Ihren Plugin-Namen
    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")
    
    
    
    • Stellen Sie sicher, dass Sie Ihr neues Plugin in der __init__.py-Datei im plugins-Ordner importieren
    • In der von PluginInterface geerbten Klasse gibt es den 'config'-Parameter, mit dem Sie auf alle Daten zugreifen können, die im PluginConfig-Objekt verfügbar sind (Plugin-Name, Adressen, Port, Transport, Parameter).
      Es gibt zwei obligatorische Funktionen (connect, export).
      • Die connect-Funktion empfängt eine einzelne IP-Adresse, extrahiert alle relevanten Informationen aus dem Gerät und gibt sie zurück.
      • Die export-Funktion empfängt die Informationen, die von allen Geräten extrahiert wurden, und dort können Sie sie in eine Datei exportieren.
    • In der von PluginCLI geerbten Klasse müssen Sie in der init-Funktion die für dieses Plugin relevanten Standardinformationen angeben.
      Es gibt eine obligatorische Funktion (flags), in der Sie base_flags aufrufen müssen, und Sie können zusätzliche Flags hinzufügen, die Sie haben möchten.

    Hinzufügen von Analysatoren

    • Erstellen Sie ein neues Verzeichnis im analyzers-Ordner mit dem Plugin-Namen, der sich auf Ihren Analysator bezieht.
    • Erstellen Sie eine neue Python-Datei mit Ihrem Analysator-Namen
    • Verwenden Sie die folgende Vorlage, um Ihr Plugin zu schreiben, und ersetzen Sie 'General' durch Ihren Plugin-Namen
    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
    
    
    • Stellen Sie sicher, dass Sie Ihren neuen Analysator in der __init__.py-Datei im analyzers-Ordner importieren

    Ressourcen und technische Daten & Lösung:

    Microsoft Defender for IoT ist eine agentenlose Netzwerkschicht-Sicherheitslösung, die es Organisationen ermöglicht, Geräte in ihren IoT/OT- und Industrial Control Systems (ICS)-Umgebungen kontinuierlich zu überwachen und zu entdecken, Bedrohungen zu erkennen und Schwachstellen zu verwalten, sowohl vor Ort als auch in Azure-verbundenen Umgebungen.

    Section 52 unter MSRC blog
    ICS-Vortrag über das Tool
    Section 52 - Investigating Malicious Ladder Logic | Microsoft Defender for IoT Webinar - YouTube

    Mitwirken

    Dieses Projekt heißt Beiträge und Vorschläge willkommen. Die meisten Beiträge erfordern, dass Sie einer Contributor License Agreement (CLA) zustimmen, die erklärt, dass Sie das Recht haben, uns die Rechte zur Nutzung Ihres Beitrags zu gewähren, und dies auch tun. Einzelheiten finden Sie unter https://cla.opensource.microsoft.com.

    Wenn Sie einen Pull Request einreichen, wird ein CLA-Bot automatisch feststellen, ob Sie eine CLA bereitstellen müssen und den PR entsprechend kennzeichnen (z. B. Statusprüfung, Kommentar). Befolgen Sie einfach die Anweisungen des Bots. Sie müssen dies nur einmal für alle Repos tun, die unsere CLA verwenden.

    Dieses Projekt hat den Microsoft Open Source Code of Conduct übernommen. Weitere Informationen finden Sie im Code of Conduct FAQ oder wenden Sie sich bei weiteren Fragen oder Anmerkungen an [email protected].

    Marken

    Dieses Projekt kann Marken oder Logos für Projekte, Produkte oder Dienstleistungen enthalten. Die autorisierte Nutzung von Microsoft- Marken oder Logos unterliegt und muss den Microsoft Trademark & Brand Guidelines folgen. Die Verwendung von Microsoft-Marken oder -Logos in modifizierten Versionen dieses Projekts darf keine Verwirrung stiften oder eine Microsoft-Sponsoring implizieren. Die Verwendung von Marken oder Logos Dritter unterliegt den Richtlinien dieser Dritten.

    Rechtlicher Hinweis

    Copyright (c) 2018 Microsoft Corporation. Alle Rechte vorbehalten.

    DIE SOFTWARE WIRD "WIE BESEHEN" ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG VON RECHTEN DRITTER. IN KEINEM FALL SIND DIE AUTOREN ODER COPYRIGHT-INHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNG, OB AUS VERTRAG, UNERLAUBTER HANDLUNG ODER ANDERWEITIG, DIE SICH AUS, AUS ODER IM ZUSAMMENHANG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN GESCHÄFTEN IN DER SOFTWARE ERGEBEN.

    Tool herunterladen