Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

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
Vedi Repository
371431 anno faRevisionato da Kitploit

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.

root@kitploit:~
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

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

Utilizzo

Argomenti generali dell'applicazione:

Argomenti specifici del plugin:

Esempi di esecuzione dalla riga di comando

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

Esempio di importazione come libreria

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

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

  • Assicurati di importare il tuo nuovo analizzatore nel file __init__.py sotto la cartella analyzers

Risorse, dati tecnici e soluzioni:

Microsoft Defender for IoT è una soluzione di sicurezza a livello di rete senza agenti che consente alle organizzazioni di monitorare e scoprire continuamente risorse, rilevare minacce e gestire vulnerabilità nei dispositivi IoT/OT e nei sistemi di controllo industriale (ICS), sia on-premise che in ambienti connessi ad Azure.

Section 52 sul blog MSRC
Lezione ICS tenuta sullo strumento
Section 52 - Investigating Malicious Ladder Logic | Microsoft Defender for IoT Webinar - YouTube

Contribuire

Questo progetto accoglie contributi e suggerimenti. La maggior parte dei contributi richiede l'accettazione di un Contributor License Agreement (CLA) che dichiara di avere il diritto di concederci, e di fatto concederci, i diritti di utilizzare il tuo contributo. Per i dettagli, visita https://cla.opensource.microsoft.com.

Quando invii una pull request, un bot CLA determinerà automaticamente se è necessario fornire un CLA e decorerà la PR in modo appropriato (ad es. controllo dello stato, commento). Segui semplicemente le istruzioni fornite dal bot. Dovrai farlo solo una volta per tutti i repository che utilizzano il nostro CLA.

Questo progetto ha adottato il Codice di Condotta Open Source di Microsoft. Per ulteriori informazioni, consulta le Domande Frequenti sul Codice di Condotta o contatta [email protected] per qualsiasi domanda o commento aggiuntivo.

Marchi

Questo progetto può contenere marchi o loghi per progetti, prodotti o servizi. L'uso autorizzato dei marchi o loghi di Microsoft è soggetto e deve seguire le Linee Guida per l'Uso dei Marchi e dei Loghi di Microsoft. L'uso dei marchi o loghi di Microsoft in versioni modificate di questo progetto non deve causare confusione o implicare un'approvazione da parte di Microsoft. L'uso di marchi o loghi di terze parti è soggetto alle politiche di tali terze parti.

Disclaimer Legale

Copyright (c) 2018 Microsoft Corporation. Tutti i diritti riservati.

IL SOFTWARE VIENE FORNITO "COSÌ COM'È", SENZA GARANZIA DI ALCUN TIPO, ESPRESSA O IMPLICITA, INCLUSE MA NON LIMITATE ALLE GARANZIE DI COMMERCIABILITÀ, IDONEITÀ PER UNO SCOPO PARTICOLARE E NON VIOLAZIONE. IN NESSUN CASO GLI AUTORI O I TITOLARI DEL COPYRIGHT SARANNO RESPONSABILI PER QUALSIASI RECLAMO, DANNO O ALTRA RESPONSABILITÀ, SIA IN UN'AZIONE CONTRATTUALE, EXTRACONTRATTUALE O ALTRO, DERIVANTE DA, O IN CONNESSIONE CON IL SOFTWARE O L'USO O ALTRE OPERAZIONI NEL SOFTWARE.

Scarica lo strumento
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
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