Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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
3714357hace 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.

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

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

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

Ejemplo de importación como biblioteca

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

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


  • 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
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

  • Asegúrate de importar tu nuevo analizador en el archivo __init__.py dentro de la carpeta analyzers

Recursos y datos técnicos y solución:

Microsoft Defender for IoT es una solución de seguridad sin agente a nivel de red que permite a las organizaciones monitorear y descubrir activos continuamente, detectar amenazas y gestionar vulnerabilidades en sus dispositivos IoT/OT y Sistemas de Control Industrial (ICS), tanto en entornos locales como conectados a Azure.

Sección 52 del blog de MSRC
Conferencia ICS sobre la herramienta
Sección 52 - Investigación de Ladder Logic Malicioso | Webinar de Microsoft Defender for IoT - YouTube

Contribuciones

Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que aceptes un Acuerdo de Licencia de Colaborador (CLA) que declara que tienes el derecho y realmente nos concedes los derechos para usar tu contribución. Para más detalles, visita https://cla.opensource.microsoft.com.

Cuando envías un pull request, un bot de CLA determinará automáticamente si necesitas proporcionar un CLA y decorará el PR adecuadamente (por ejemplo, verificación de estado, comentario). Simplemente sigue las instrucciones proporcionadas por el bot. Solo necesitarás hacer esto una vez en todos los repositorios que usen nuestro CLA.

Este proyecto ha adoptado el Código de Conducta de Código Abierto de Microsoft. Para obtener más información, consulta las Preguntas frecuentes sobre el Código de Conducta o contacta a [email protected] si tienes preguntas o comentarios adicionales.

Marcas comerciales

Este proyecto puede contener marcas comerciales o logotipos de proyectos, productos o servicios. El uso autorizado de marcas comerciales o logotipos de Microsoft está sujeto y debe seguir las Directrices de marcas comerciales y marca de Microsoft. El uso de marcas comerciales o logotipos de Microsoft en versiones modificadas de este proyecto no debe causar confusión ni implicar el patrocinio de Microsoft. Cualquier uso de marcas comerciales o logotipos de terceros está sujeto a las políticas de esos terceros.

Aviso legal

Copyright (c) 2018 Microsoft Corporation. Todos los derechos reservados.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE DERECHOS DE AUTOR SERÁN RESPONSABLES POR NINGÚN RECLAMO, DAÑOS U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O DE OTRO MODO, QUE SURJA DE, FUERA DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTROS ACUERDOS EN EL SOFTWARE.

Descargar herramienta