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
project-memoria-detector — Ferramenta de fingerprinting ativo que identifica 16 pilhas TCP/IP embarcadas em dispositivos de rede usando técnicas de sondagem ICMP, TCP, HTTP, SSH e FTP para avaliação de vulnerabilidades. | Kitploit
Ferramentas/GitHubGitHub/forescout/project-memoria-detector
Segurança de Sistemas EmbarcadosSegurança IoTAnálise de VulnerabilidadesSegurança de RedeAnálise de Firmware
GitHubforescout/project-memoria-detector

project-memoria-detector

Ferramenta de fingerprinting ativo que identifica 16 pilhas TCP/IP embarcadas em dispositivos de rede usando técnicas de sondagem ICMP, TCP, HTTP, SSH e FTP para avaliação de vulnerabilidades.

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
32346há 5 anosRevisado pelo Kitploit

project-memoria-detector

A ferramenta project-memoria-detector tem como objetivo determinar se um dispositivo de rede alvo executa uma pilha TCP/IP embarcada específica.

Atualmente, a ferramenta suporta impressões digitais para 16 pilhas TCP/IP embarcadas (e suas variações):

  • uIP, Contiki ou Contiki-NG
  • picoTCP ou picoTCP-NG
  • Nut/Net
  • FNET
  • Nucleus NET
  • CycloneTCP
  • NDKTCPIP
  • uC/TCP-IP
  • MPLAB Harmony Net
  • NicheStack
  • FreeBSD
  • Microsoft ThreadX
  • CMX TCP/IP
  • emNet
  • Keil TCP/IP
  • lwIP

Várias das pilhas acima foram consideradas vulneráveis durante a pesquisa do Project Memoria.

Como funciona?

O script identifica o uso das 16 pilhas TCP/IP em um dispositivo alvo através dos seguintes métodos de impressão digital ativa:

  • Sondagem ICMP: o script realiza uma solicitação de eco ICMP malformada e verifica características da resposta, incluindo alterações no valor Time-to-live (TTL) e conteúdo específico do payload, que varia por pilha.
  • Assinaturas de opções TCP: o script envia um pacote TCP SYN e monitora a resposta TCP SYN ACK quanto ao formato do campo de opções TCP. Cada pilha responde com valores diferentes para as opções, como Maximum Segment Size (MSS) e escala de janela.
  • Tratamento do flag TCP Urgent: o script envia um pacote TCP com o flag Urgent definido e monitora a resposta. Cada pilha responde com um conjunto diferente de flags TCP e um valor diferente de TCP Window size.
  • Banners HTTP e mensagens de erro: o script realiza requisições HTTP a um servidor web hospedado em um dispositivo sob teste e verifica cabeçalhos HTTP específicos e mensagens de erro específicas da aplicação.
  • Banners SSH e mensagens de erro: o script realiza requisições a um servidor SSH hospedado em um dispositivo sob teste e verifica banners SSH específicos.
  • Banners FTP e mensagens de erro: o script realiza requisições a um servidor FTP hospedado em um dispositivo sob teste e verifica banners FTP específicos.

Embora o script tenha sido testado em ambiente de laboratório, não podemos garantir que seu uso seja seguro para todos os dispositivos possíveis. Pacotes ICMP malformados, por exemplo, podem travar um dispositivo que esteja executando uma pilha diferente. PORTANTO, NÃO RECOMENDAMOS O USO DIRETO EM AMBIENTES DE PRODUÇÃO COM DISPOSITIVOS CRÍTICOS (COMO HOSPITAIS COM DISPOSITIVOS CONECTADOS A PACIENTES OU SISTEMAS DE CONTROLE INDUSTRIAL DE SEGURANÇA CRÍTICA). Uma abordagem ideal é testar dispositivos em ambiente de laboratório ou durante uma janela de manutenção.

Dependências

Observe que a ferramenta foi testada apenas em um ambiente de teste Linux (qualquer distribuição Linux moderna deve funcionar). Assume-se que o ambiente de teste esteja usando iptables (https://linux.die.net/man/8/iptables) como firewall básico.

A ferramenta requer uma versão recente do Python 3.x (veja https://www.python.org/, versão >= 3.7.7 é preferível), bem como Scapy (veja https://scapy.net/, versão >= 2.4.3 é preferível).

Para instalar o Scapy junto com Python e para solução de problemas gerais, siga a documentação aqui: https://scapy.readthedocs.io/en/latest/installation.html

Se o python já estiver instalado em sua máquina, para instalar as dependências necessárias, você pode usar pip e o arquivo requirements.txt fornecido:

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

Uso básico

Como o Scapy requer privilégios de root para ser executado, a ferramenta deve ser executada com sudo, por exemplo:

root@kitploit:~
$ sudo python project-memoria-detector.py [options]

Para ver as opções disponíveis para executar o script, execute-o com a opção -h:

root@kitploit:~
$ python project-memoria-detector.py -h

Em geral, o script requer pelo menos um único endereço IP do dispositivo alvo (este parâmetro pode ser especificado explicitamente com -ip_dst)

root@kitploit:~
$ sudo python project-memoria-detector.py 192.168.3.1

O script suporta a varredura de faixas de endereços IP. Você pode especificar uma sub-rede para varredura usando a notação CIDR ou fornecer um arquivo .txt com um conjunto de endereços IP para varredura.

A notação CIDR pode ser usada da seguinte forma (para este exemplo, os endereços IP de 192.168.3.1 a 192.168.3.254 serão varridos:

root@kitploit:~
$ sudo python project-memoria-detector.py 192.168.3.0/24

Você também pode usar um arquivo .txt para especificar os endereços IP de interesse: cada endereço IP neste arquivo deve começar em uma nova linha. Por exemplo, podemos criar um arquivo chamado input.txt com o seguinte conteúdo:

root@kitploit:~
$ cat input.txt
192.168.1.8
192.168.1.9
192.168.3.1
192.168.2.14

Podemos então executar o script da seguinte forma:

root@kitploit:~
$ sudo python project-memoria-detector.py --in-file input.txt

O script usa valores padrão para portas para identificar diferentes protocolos como SSH (22), FTP (21) e HTTP (80). Para sobrescrever esses valores padrão, você pode fazer isso definindo as flags como:

root@kitploit:~
$ sudo python project-memoria-detector.py -ip_dst 192.168.212.42 --tcp-port 80 --http-port 80 --ssh-port 22 --ftp-port 21 -i eth1

Interpretando os resultados

O script exibirá correspondências para impressões digitais individuais, bem como o grau de certeza entre parênteses:

root@kitploit:~
$ sudo python project-memoria-detector.py 192.168.6.42

192.168.6.42 is alive
        ICMP => uIP/Contiki (High)
        TCP => uIP/Contiki (Medium)
        HTTP => uIP/Contiki (High)
        SSH => Unknown (No match)
        FTP => Unknown (No reply)

O grau de certeza de uma impressão digital específica pode ser High, Medium ou Low. No match significa que não houve correspondência com nenhuma impressão digital conhecida, e No reply significa que uma porta/serviço específico não está disponível.

Licença

Copyright (C) 2020 Forescout Technologies, Inc.

Licença do Programa

"O Programa" refere-se a qualquer obra protegida por direitos autorais licenciada sob esta Licença. Cada licenciado é tratado como "você".

Todos os direitos concedidos sob esta Licença são concedidos pelo período de vigência dos direitos autorais do Programa e são irrevogáveis, desde que as condições estabelecidas sejam cumpridas. Esta Licença afirma explicitamente sua permissão ilimitada para executar o Programa não modificado para uso pessoal, governamental, comercial ou sem fins lucrativos. Você está proibido de usar o Programa em obras derivadas para fins comerciais. Você está proibido de modificar o Programa para ser utilizado em um produto ou serviço comercial, seja sozinho ou em conjunto com outro código, seja baixável ou acessado como serviço. "Obras derivadas" significam qualquer obra, seja na forma de código-fonte ou objeto, que seja baseada (ou derivada) do Programa e para a qual as revisões editoriais, anotações, elaborações ou outras modificações representem, como um todo, uma obra original de autoria.

Você pode transmitir cópias verbatim do código-fonte do Programa conforme o recebe, em qualquer meio, desde que publique de forma visível e apropriada em cada cópia um aviso de direitos autorais adequado; mantenha intactos todos os avisos que afirmam que esta Licença se aplica ao código; mantenha intactos todos os avisos da ausência de qualquer garantia; entregue a todos os destinatários uma cópia desta Licença juntamente com o Programa; e não se beneficie financeiramente com a venda ou outra transmissão do Programa, seja sozinho ou em conjunto com outro código, baixado ou acessado como serviço.

O SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE QUALQUER TIPO, 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 TITULARES DOS DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER REIVINDICAÇÃO, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.

Esta Licença não concede permissão para usar nomes comerciais, marcas registradas, marcas de serviço ou nomes de produtos do Licenciante, exceto conforme necessário para uso razoável e costumeiro na descrição da origem do Programa e reprodução do conteúdo do aviso de direitos autorais.

Baixar ferramenta