Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ics-forensics-tools — Framework forense open-source per analizzare i metadati e i file di progetto dei PLC industriali. Scannerizza per individuare artefatti sospetti in ambienti ICS per supportare la risposta agli incidenti e le indagini manuali. | Kitploit
Strumenti/GitHubGitHub/microsoft/ics-forensics-tools
Analisi delle VulnerabilitàSicurezza SCADA/ICSInformatica ForenseDigital ForensicsRisposta agli Incidenti
GitHubmicrosoft/ics-forensics-tools

ics-forensics-tools

Framework forense open-source per analizzare i metadati e i file di progetto dei PLC industriali. Scannerizza per individuare artefatti sospetti in ambienti ICS per supportare la risposta agli incidenti e le indagini manuali.

Vedi Repository
37143721 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ICSpector: Framework di analisi forense ICS di Microsoft

Il framework Microsoft ICS Forensics Tools è un framework forense open-source che consente l'analisi dei metadati e dei file di progetto dei PLC industriali.
Il framework offre agli investigatori un modo comodo per scansionare i PLC e identificare eventuali artefatti sospetti all'interno degli ambienti ICS, che possono essere utilizzati per controlli manuali, attività di monitoraggio automatico o operazioni di risposta agli incidenti per rilevare dispositivi compromessi.
Essendo uno strumento open-source, ICS Forensics Tools consente agli investigatori di esaminare l'output e personalizzarlo in base alle proprie esigenze specifiche.

Per Iniziare

Queste istruzioni ti permetteranno di ottenere una copia del progetto in esecuzione sulla tua macchina locale per scopi di sviluppo e test.

git clone https://github.com/microsoft/ics-forensics-tools.git

Prerequisiti

  • Installare Python >= 3.9: https://www.python.org/downloads
  • Installare Microsoft Visual C++ 14.0. Ottenerlo con "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/

Installazione

  • Installare i requisiti Python

    pip install -r requirements.txt
    

Utilizzo

Argomenti generali dell'applicazione:

ArgsDescrizioneObbligatorio / Opzionale
-h, --helpmostra questo messaggio di aiuto ed esciOpzionale
-s, --save-configSalva il file di configurazione per un uso futuro facileOpzionale
-c, --configPercorso del file di configurazione, default è config.jsonOpzionale
-o, --output-dirDirectory in cui salvare i file generati, default è outputOpzionale
-v, --verboseSalva l'output in un file oltre che nella consoleOpzionale
-p, --multiprocessEsecuzione in modalità multiprocesso per numero di plugin/analizzatoriOpzionale

Argomenti specifici del plugin:

ArgsDescrizioneObbligatorio / Opzionale
-h, --helpmostra questo messaggio di aiuto ed esciOpzionale
--ipPercorso del file degli indirizzi, CIDR o indirizzi IP csv (colonna ip obbligatoria).
aggiungere altre colonne per informazioni aggiuntive su ogni IP (username, password, ecc.)
Obbligatorio
--portNumero portaOpzionale
--transporttcp/udpOpzionale
--analyzerNome dell'analizzatore da eseguireOpzionale

Esempi di esecuzione dalla riga di comando

 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

Esempio di importazione come libreria

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

Architettura

Aggiungere Plugin

Durante lo sviluppo locale, assicurati di contrassegnare la cartella src come "Sources root"

  • Crea una nuova directory sotto la cartella plugins con il nome del tuo plugin
  • Crea un nuovo file Python con il nome del tuo plugin
  • Usa il seguente template per scrivere il tuo plugin e sostituisci 'General' con il nome del tuo 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 = "Descrizione Generale del Plugin"
        self.port = 123
        self.transport = Transport.TCP

    def flags(self, parser):
        self.base_flags(parser, self.port, self.transport)
        parser.add_argument('--general', help='Argomento aggiuntivo generale', 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} connetti")

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


  • Assicurati di importare il tuo nuovo plugin nel file __init__.py sotto la cartella plugins
  • Nella classe ereditata da PluginInterface ci sono i parametri 'config', puoi usarli per accedere a qualsiasi dato disponibile nell'oggetto PluginConfig (nome plugin, indirizzi, porta, transport, parametri).
    Ci sono 2 funzioni obbligatorie (connect, export).
    • La funzione connect riceve un singolo indirizzo IP ed estrae qualsiasi informazione rilevante dal dispositivo e la restituisce.
    • La funzione export riceve le informazioni estratte da tutti i dispositivi e qui puoi esportarle in un file.
  • Nella classe ereditata da PluginCLI devi specificare nella funzione init le informazioni predefinite relative a questo plugin.
    C'è una singola funzione obbligatoria (flags), in cui devi chiamare base_flags, e puoi aggiungere eventuali flag aggiuntivi che desideri avere.

Aggiungere Analizzatori

  • Crea una nuova directory sotto la cartella analyzers con il nome del plugin correlato al tuo analizzatore.
  • Crea un nuovo file Python con il nome del tuo analizzatore
  • Usa il seguente template per scrivere il tuo plugin e sostituisci 'General' con il nome del tuo analizzatore
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

Scarica lo strumento