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
recog — Reconhecimento de padrões para hosts, serviços e conteúdo | Kitploit
Ferramentas/GitHubGitHub/rapid7/recog
OSINT (Inteligência de Fontes Abertas)ReconhecimentoMapeamento de RedeAnálise de VulnerabilidadesColeta de InformaçõesSegurança WebUtilitários e Frameworks
GitHubrapid7/recog

recog

Reconhecimento de padrões para hosts, serviços e conteúdo

Ver Repositório
78821331há 1 mêsRevisado 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

Recog: Um Framework de Reconhecimento

CI Workflow Verify Workflow

Recog é um framework para identificar produtos, serviços, sistemas operacionais e hardware por meio da correspondência de fingerprints com dados retornados por diversas sondas de rede. O Recog torna simples extrair informações úteis de banners de servidores web, campos de descrição de sistema do SNMP e muito mais.

O Recog é open source; consulte o arquivo LICENSE para obter mais informações.

Índice

  1. Separação do repositório
    1. Renomeação do branch padrão
  2. Implementações da biblioteca Recog por linguagem
    1. Paridade de recursos
  3. Instalação
  4. Maturidade
  5. Fingerprints
  6. Testando correspondências
    1. ftp_banners
    2. http_cookies
    3. http_servers
    4. favicons
    5. http_wwwauth
    6. tls_jarm
  7. Contribuindo

Separação do repositório

Em 31 de março de 2022, o conteúdo do Recog - arquivos XML de fingerprints e utilitários - foi separado da implementação da biblioteca do framework Recog. O repositório original Recog agora contém o conteúdo do Recog, e o repositório Recog-Ruby contém a implementação em Ruby. O conteúdo do Recog é incluído no Recog-Ruby como um submódulo git e fica aninhado no diretório recog. Todas as versões da gem Recog pós-separação, iguais ou superiores a 3.0.0, irão: 1. conter o diretório de fingerprints XML sob o diretório recog e 2. incluir apenas a ferramenta recog_match, uma vez que as demais ferramentas são focadas no gerenciamento de fingerprints.

^voltar ao topo

Renomeação do branch padrão

Junto com a separação do repositório, o branch padrão foi renomeado de master para main. Qualquer clone criado antes dessas alterações precisará ser atualizado manualmente no seu ambiente local. Se você tiver um fork, navegue até as configurações do seu fork e siga as instruções sobre renomear um branch para alterar o branch padrão para main.

git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a

Opcionalmente, execute o seguinte comando para remover as referências de rastreamento ao nome do branch antigo.

# dry-run to confirm stale references that will be deleted before proceeding
git remote prune origin --dry-run
git remote prune origin

Se você usou anteriormente o branch de rastreamento upstream upstream-master, execute os seguintes comandos para remover o branch antigo e criar um novo branch de rastreamento upstream.

git branch -d upstream-master
git checkout -b upstream-main --track upstream/main

Opcionalmente, execute o seguinte comando para remover as referências de rastreamento ao nome do branch upstream antigo.

# dry-run to confirm stale references that will be deleted before proceeding
git remote prune upstream --dry-run
git remote prune upstream

^voltar ao topo

Implementações da biblioteca Recog por linguagem

  • Ruby: rapid7/recog-ruby
  • Java: rapid7/recog-java
  • Go: runZeroInc/recog-go

^voltar ao topo

Paridade de recursos

Recurso ✨rapid7/recog-rubyrapid7/recog-javarunZeroInc/recog-go
Ferramenta CLI de verificação de fingerprints✅✅✅
Ferramenta CLI de correspondência de fingerprints✅✅
Suporta exemplos codificados em base64✅✅✅
Suporta exemplos externos baseados em sistema de arquivos✅✅✅
Interpolação de parâmetro CPE na correspondência de fingerprints✅✅✅

^voltar ao topo

Instalação

O Recog consiste tanto em arquivos XML de fingerprints quanto em uma variedade de código, principalmente em Ruby, que facilita o desenvolvimento, o teste e o uso dos fingerprints contidos. Para usar o código Ruby incluído, é necessária uma versão recente do Ruby (2.31+), juntamente com Rubygems e a gem bundler. Uma vez que essas dependências estejam instaladas, use os seguintes comandos para obter o código-fonte mais recente e instalar quaisquer dependências adicionais.

$ git clone [email protected]:rapid7/recog.git
$ cd recog
$ bundle install

^voltar ao topo

Maturidade

Observe que, embora os próprios fingerprints XML sejam bastante estáveis e bem testados, a base de código Ruby ainda é relativamente nova e sujeita a mudanças rápidas. Entre em contato conosco (research[at]rapid7.com) antes de utilizar o código do Recog em qualquer projeto em produção.

^voltar ao topo

Fingerprints

Os fingerprints no Recog são armazenados em arquivos XML, cada um projetado para corresponder a uma string ou campo específico de resposta de protocolo. Por exemplo, o arquivo ssh_banners.xml pode determinar o sistema operacional, o fornecedor e, às vezes, o produto de hardware por meio da correspondência com a string inicial do banner do daemon SSH.

Um arquivo de fingerprint consiste em um documento XML como o seguinte:

<fingerprints matches="ssh.banner">
  <fingerprint pattern="^RomSShell_([\d\.]+)$">
    <description>Allegro RomSShell SSH</description>
    <example service.version="4.62">RomSShell_4.62</example>
    <param pos="0" name="service.vendor" value="Allegro"/>
    <param pos="0" name="service.product" value="RomSShell"/>
    <param pos="1" name="service.version"/>
  </fingerprint>
</fingerprints>

A primeira linha deve consistir sempre na declaração da versão do XML. O primeiro elemento deve ser sempre um bloco fingerprints com um atributo matches indicando a quais dados este arquivo de fingerprint deve corresponder. O atributo matches normalmente está na forma protocol.field.

Dentro do elemento fingerprints, deve haver um ou mais elementos fingerprint. Cada fingerprint deve conter um atributo pattern, que contém a expressão regular a ser usada para corresponder aos dados. Um atributo opcional flags pode ser especificado para controlar como a expressão regular deve ser interpretada. Consulte a documentação do Recog para FLAG_MAP para obter mais informações.

Dentro do fingerprint, um elemento description deve conter uma string legível por humanos que descreve este fingerprint.

Baixar ferramenta