Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 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
3714375vor 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.

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

    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

 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

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
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
from pathlib import Path
from forensic.interfaces.analyzer import AnalyzerInterface, AnalyzerConfig
Tool herunterladen