Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ics-forensics-tools — Framework forense de código aberto para analisar metadados de CLPs industriais e arquivos de projeto. Escaneia artefatos suspeitos em ambientes ICS para apoiar a resposta a incidentes e a investigação manual. | Kitploit
Ferramentas/GitHubGitHub/microsoft/ics-forensics-tools
Análise de VulnerabilidadesSegurança SCADA/ICSAnálise ForenseForensia DigitalResposta a Incidentes
GitHubmicrosoft/ics-forensics-tools

ics-forensics-tools

Framework forense de código aberto para analisar metadados de CLPs industriais e arquivos de projeto. Escaneia artefatos suspeitos em ambientes ICS para apoiar a resposta a incidentes e a investigação manual.

Ver Repositório
3714374há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

ICSpector: Estrutura Forense ICS da Microsoft

A estrutura de ferramentas forenses ICS da Microsoft é uma estrutura forense de código aberto que permite a análise de metadados e arquivos de projeto de CLPs industriais.
A estrutura oferece aos investigadores uma maneira conveniente de escanear CLPs e identificar quaisquer artefatos suspeitos em ambientes ICS, que podem ser usados para verificação manual, tarefas de monitoramento automatizadas ou operações de resposta a incidentes para detectar dispositivos comprometidos.
Sendo uma ferramenta de código aberto, o ICS Forensics Tools permite que os investigadores revisem a saída e a personalizem de acordo com seus requisitos específicos.

Primeiros Passos

Estas instruções fornecerão uma cópia do projeto em execução na sua máquina local para fins de desenvolvimento e teste.

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

Pré-requisitos

  • Instalar Python >= 3.9: https://www.python.org/downloads
  • Instalar Microsoft Visual C++ 14.0. Obtenha-o com "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/

Instalação

  • Instalar os requisitos Python

    pip install -r requirements.txt
    

Uso

Argumentos gerais da aplicação:

ArgsDescriçãoObrigatório / Opcional
-h, --helpmostra esta mensagem de ajuda e saiOpcional
-s, --save-configSalva arquivo de configuração para uso futuroOpcional
-c, --configCaminho do arquivo de configuração, padrão é config.jsonOpcional
-o, --output-dirDiretório para gerar os arquivos de saída, padrão é outputOpcional
-v, --verboseRegistra a saída em um arquivo e também no consoleOpcional
-p, --multiprocessExecuta em modo multiprocesso pelo número de plugins/analisadoresOpcional

Argumentos específicos do plugin:

ArgsDescriçãoObrigatório / Opcional
-h, --helpmostra esta mensagem de ajuda e saiOpcional
--ipCaminho do arquivo de endereços, CIDR ou CSV de endereços IP (coluna ip obrigatória).
adicione mais colunas para informações adicionais sobre cada IP (nome de usuário, senha, etc...)
Obrigatório
--portNúmero da portaOpcional
--transporttcp/udpOpcional
--analyzerNome do analisador a executarOpcional

Exemplos de execução na linha de comando

 python driver.py -s -v NomeDoPlugin --ip ips.csv
 python driver.py -s -v NomeDoPlugin --ip ips.csv --analyzer NomeDoAnalisador
 python driver.py -s -v -c config.json --multiprocess

Exemplo de importação como biblioteca

from forensic.client.forensic_client import ForensicClient
from forensic.interfaces.plugin import PluginConfig
forensic = ForensicClient()
plugin = PluginConfig.from_json({
    "name": "NomeDoPlugin",
    "port": 123,
    "transport": "tcp",
    "addresses": [{"ip": "192.168.1.0/24"}, {"ip": "10.10.10.10"}],
    "parameters": {
    },
    "analyzers": []
})
forensic.scan([plugin])

Arquitetura

Adicionando Plugins

Ao desenvolver localmente, certifique-se de marcar a pasta src como "Sources root"

  • Crie um novo diretório na pasta plugins com o nome do seu plugin
  • Crie um novo arquivo Python com o nome do seu plugin
  • Use o seguinte template para escrever seu plugin e substitua 'General' pelo nome do seu 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")


  • Certifique-se de importar seu novo plugin no arquivo __init__.py dentro da pasta plugins
  • Na classe herdada de PluginInterface, há o parâmetro 'config'. Você pode usá-lo para acessar qualquer dado disponível no objeto PluginConfig (nome do plugin, endereços, porta, transporte, parâmetros).
    Existem duas funções obrigatórias (connect, export).
    • A função connect recebe um único endereço IP, extrai informações relevantes do dispositivo e as retorna.
    • A função export recebe as informações extraídas de todos os dispositivos e, a partir daí, você pode exportá-las para um arquivo.
  • Na classe herdada de PluginCLI, você precisa especificar na função init as informações padrão relacionadas a este plugin.
    Há uma única função obrigatória (flags), na qual você deve chamar base_flags, e pode adicionar quaisquer outras flags que desejar.

Adicionando Analisadores

  • Crie um novo diretório na pasta analyzers com o nome do plugin relacionado ao seu analisador.
  • Crie um novo arquivo Python com o nome do seu analisador
  • Use o seguinte template para escrever seu plugin e substitua 'General' pelo nome do seu 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

  • Certifique-se de importar seu novo analisador no arquivo __init__.py dentro da pasta analyzers
Baixar ferramenta