Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

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
Ver Repositório
37143há 1 anoRevisado pelo Kitploit

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.

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

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

Uso

Argumentos gerais da aplicação:

Argumentos específicos do plugin:

Exemplos de execução na linha de comando

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

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


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

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

Recursos e dados técnicos & solução:

Microsoft Defender for IoT é uma solução de segurança sem agente na camada de rede que permite que organizações monitorem e descubram continuamente ativos, detectem ameaças e gerenciem vulnerabilidades em dispositivos IoT/OT e Sistemas de Controle Industrial (ICS), tanto no local quanto em ambientes conectados ao Azure.

Section 52 no blog MSRC
Palestra ICS sobre a ferramenta
Section 52 - Investigando Lógica Ladder Maliciosa | Webinar Microsoft Defender for IoT - YouTube

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um Contrato de Licença de Colaborador (CLA) declarando que você tem o direito de, e de fato concede, a nós os direitos de usar sua contribuição. Para mais detalhes, visite https://cla.opensource.microsoft.com.

Quando você enviar um pull request, um bot do CLA determinará automaticamente se você precisa fornecer um CLA e decorará o PR apropriadamente (por exemplo, verificação de status, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.

Este projeto adotou o Código de Conduta de Código Aberto da Microsoft. Para mais informações, veja as Perguntas Frequentes sobre o Código de Conduta ou entre em contato com [email protected] para quaisquer perguntas ou comentários adicionais.

Marcas Registradas

Este projeto pode conter marcas registradas ou logotipos de projetos, produtos ou serviços. O uso autorizado de marcas registradas ou logotipos da Microsoft está sujeito e deve seguir as Diretrizes de Marcas Registradas e Marcas da Microsoft. O uso de marcas registradas ou logotipos da Microsoft em versões modificadas deste projeto não deve causar confusão ou implicar patrocínio da Microsoft. Qualquer uso de marcas registradas ou logotipos de terceiros está sujeito às políticas desses terceiros.

Aviso Legal

Copyright (c) 2018 Microsoft Corporation. Todos os direitos reservados.

O SOFTWARE É FORNECIDO "COMO ESTÁ", SEM QUALQUER TIPO DE GARANTIA, EXPRESSA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO E NÃO VIOLAÇÃO. EM NENHUM CASO OS AUTORES OU DETENTORES DOS DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, FORA OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.

Baixar ferramenta
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
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