Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
recog — Riconoscimento di pattern per host, servizi e contenuti. | Kitploit
Strumenti/GitHubGitHub/rapid7/recog
OSINT (Open Source Intelligence)RicognizioneMappatura della ReteAnalisi delle VulnerabilitàRaccolta InformazioniSicurezza WebUtilità e Framework
GitHubrapid7/recog

recog

Riconoscimento di pattern per host, servizi e contenuti.

Vedi Repository
788213311 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Recog: un framework di riconoscimento

CI Workflow Verify Workflow

Recog è un framework per l'identificazione di prodotti, servizi, sistemi operativi e hardware confrontando le impronte digitali con i dati restituiti da vari probe di rete. Recog semplifica l'estrazione di informazioni utili dai banner dei server web, dai campi di descrizione del sistema SNMP e molto altro.

Recog è open source; consultare il file LICENSE per maggiori informazioni.

Indice

  1. Separazione del repository
    1. Rinomina del branch predefinito
  2. Implementazioni della libreria Recog per linguaggio
    1. Parità delle funzionalità
  3. Installazione
  4. Maturità
  5. Impronte digitali
  6. Testare le corrispondenze
    1. ftp_banners
    2. http_cookies
    3. http_servers
    4. favicons
    5. http_wwwauth
    6. tls_jarm
  7. Contribuire

Separazione del repository

Il 31 marzo 2022, il contenuto di Recog - i file XML delle impronte digitali e le utility - è stato separato dall'implementazione della libreria del framework Recog. Il repository originale Recog ora contiene il contenuto di Recog e il repository Recog-Ruby contiene l'implementazione in linguaggio Ruby. Il contenuto di Recog è incluso in Recog-Ruby come sottomodulo git ed è annidato nella directory recog. Tutte le versioni della gemma Recog successive alla separazione, uguali o superiori alla 3.0.0: 1. conterranno la directory delle impronte XML nella directory recog e 2. includeranno solo lo strumento recog_match poiché gli altri strumenti sono focalizzati sulla gestione delle impronte digitali.

^torna su

Rinomina del branch predefinito

Insieme alla separazione del repository, il branch predefinito è stato rinominato da master a main. Eventuali cloni creati prima di queste modifiche dovranno essere aggiornati manualmente nel proprio ambiente locale. Se disponi di un fork, vai alle impostazioni del fork e segui le istruzioni su rinominare un branch per impostare il branch predefinito su main.

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

Facoltativamente, eseguire il seguente comando per rimuovere i riferimenti di tracciamento al vecchio nome del branch.

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

Se in precedenza hai utilizzato il branch di tracciamento upstream upstream-master, esegui i seguenti comandi per rimuovere il vecchio branch e crearne uno nuovo di tracciamento upstream.

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

Facoltativamente, eseguire il seguente comando per rimuovere i riferimenti di tracciamento al vecchio nome del branch upstream.

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

^torna su

Implementazioni della libreria Recog per linguaggio

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

^torna su

Parità delle funzionalità

Funzionalità ✨rapid7/recog-rubyrapid7/recog-javarunZeroInc/recog-go
Strumento CLI per la verifica delle impronte digitali✅✅✅
Strumento CLI per la corrispondenza delle impronte digitali✅✅
Supporta esempi codificati in base64✅✅✅
Supporta esempi esterni basati su filesystem✅✅✅
Interpolazione dei parametri CPE nella corrispondenza delle impronte✅✅✅

^torna su

Installazione

Recog è composto sia da file XML di impronte digitali sia da una serie di codice, per lo più in Ruby, che rende facile sviluppare, testare e utilizzare le impronte digitali in esso contenute. Per utilizzare il codice Ruby incluso, sono necessarie una versione recente di Ruby (2.31+), insieme a Rubygems e alla gemma bundler. Una volta installate queste dipendenze, utilizzare i seguenti comandi per recuperare l'ultimo codice sorgente e installare eventuali dipendenze aggiuntive.

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

^torna su

Maturità

Si noti che, sebbene le impronte digitali XML siano piuttosto stabili e ben testate, il codebase Ruby è ancora abbastanza recente e soggetto a rapidi cambiamenti. Contattateci (research[at]rapid7.com) prima di utilizzare il codice di Recog in progetti di produzione.

^torna su

Impronte digitali

Le impronte digitali all'interno di Recog sono memorizzate in file XML, ciascuno progettato per corrispondere a una specifica stringa o campo di risposta del protocollo. Ad esempio, il file ssh_banners.xml può determinare il sistema operativo, il vendor e talvolta il prodotto hardware confrontando la stringa del banner iniziale del demone SSH.

Un file di impronte digitali è costituito da un documento XML come il seguente:

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

La prima riga deve essere sempre costituita dalla dichiarazione di versione XML. Il primo elemento deve essere sempre un blocco fingerprints con un attributo matches che indica quali dati questo file di impronte digitali deve confrontare. L'attributo matches è normalmente nella forma protocol.field.

All'interno dell'elemento fingerprints devono esserci uno o più elementi fingerprint. Ogni fingerprint deve contenere un attributo pattern, che contiene l'espressione regolare da utilizzare per il confronto con i dati. È possibile specificare un attributo opzionale flags per controllare come l'espressione regolare deve essere interpretata. Consultare la documentazione di Recog per FLAG_MAP per maggiori informazioni.

All'interno del fingerprint, un elemento description deve contenere una stringa leggibile che descrive questa impronta digitale.

Scarica lo strumento