Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ics-forensics-tools — Marco de trabajo forense de código abierto para analizar metadatos de PLC industriales y archivos de proyecto. Escanea en busca de artefactos sospechosos en entornos ICS para apoyar la respuesta a incidentes y la investigación manual. | Kitploit
Herramientas/GitHubGitHub/microsoft/ics-forensics-tools
Análisis de VulnerabilidadesSeguridad SCADA/ICSAnálisis ForenseForensia DigitalRespuesta a Incidentes
GitHubmicrosoft/ics-forensics-tools

ics-forensics-tools

Marco de trabajo forense de código abierto para analizar metadatos de PLC industriales y archivos de proyecto. Escanea en busca de artefactos sospechosos en entornos ICS para apoyar la respuesta a incidentes y la investigación manual.

Ver Repositorio
3714372hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

ICSpector: Framework de Análisis Forense ICS de Microsoft

El framework Microsoft ICS Forensics Tools es un framework forense de código abierto que permite el análisis de metadatos y archivos de proyecto de PLC industriales.
El framework proporciona a los investigadores una forma conveniente de escanear PLCs e identificar cualquier artefacto sospechoso dentro de entornos ICS, que puede ser utilizado para verificación manual, tareas de monitoreo automatizadas u operaciones de respuesta a incidentes para detectar dispositivos comprometidos.
Al ser una herramienta de código abierto, ICS Forensics Tools permite a los investigadores revisar la salida y personalizarla según sus requisitos específicos.

Primeros pasos

Estas instrucciones te darán una copia del proyecto en funcionamiento en tu máquina local para fines de desarrollo y prueba.

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

Requisitos previos

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

Instalación

  • Instalar requisitos de python

    pip install -r requirements.txt
    

Uso

Argumentos generales de la aplicación:

ArgumentosDescripciónRequerido / Opcional
-h, --helpmuestra este mensaje de ayuda y saleOpcional
-s, --save-configGuarda el archivo de configuración para un uso fácil futuroOpcional
-c, --configRuta del archivo de configuración, por defecto es config.jsonOpcional
-o, --output-dirDirectorio donde se generarán los archivos de salida, por defecto es outputOpcional
-v, --verboseRegistrar la salida en un archivo y también en la consolaOpcional
-p, --multiprocessEjecutar en modo multiproceso según el número de plugins/analizadoresOpcional

Argumentos específicos del plugin:

ArgumentosDescripciónRequerido / Opcional
-h, --helpmuestra este mensaje de ayuda y saleOpcional
--ipRuta del archivo de direcciones, CIDR o CSV de direcciones IP (columna ip requerida).
agregue más columnas para información adicional sobre cada ip (usuario, contraseña, etc...)
Requerido
--portNúmero de puertoOpcional
--transporttcp/udpOpcional
--analyzerNombre del analizador a ejecutarOpcional

Ejemplos de ejecución en la línea de comandos

 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

Ejemplo de importación como biblioteca

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

Arquitectura

Añadir Plugins

Al desarrollar localmente, asegúrate de marcar la carpeta src como "Sources root"

  • Crea un nuevo directorio dentro de la carpeta plugins con el nombre de tu plugin
  • Crea un nuevo archivo Python con el nombre de tu plugin
  • Usa la siguiente plantilla para escribir tu plugin y reemplaza 'General' con el nombre de tu 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")


  • Asegúrate de importar tu nuevo plugin en el archivo __init__.py dentro de la carpeta plugins
  • En la clase heredada de PluginInterface hay un parámetro 'config', puedes usarlo para acceder a cualquier dato disponible en el objeto PluginConfig (nombre del plugin, direcciones, puerto, transporte, parámetros).
    Hay 2 funciones obligatorias (connect, export).
    • La función connect recibe una única dirección IP y extrae cualquier información relevante del dispositivo y la devuelve.
    • La función export recibe la información extraída de todos los dispositivos y allí puedes exportarla a un archivo.
  • En la clase heredada de PluginCLI debes especificar en la función init la información predeterminada relacionada con este plugin.
    Hay una única función obligatoria (flags), en la que debes llamar a base_flags, y puedes agregar cualquier otra bandera que desees tener.

Añadir Analizadores

  • Crea un nuevo directorio dentro de la carpeta analyzers con el nombre del plugin relacionado con tu analizador.
  • Crea un nuevo archivo Python con el nombre de tu analizador
  • Usa la siguiente plantilla para escribir tu plugin y reemplaza 'General' con el nombre de tu 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

Descargar herramienta