tags: recon-ng Recon-NG_Workflow_Completo


Recon-ng — Workflow completo (workspace → moduli → export HTML)

Cosa copre questa nota Una sessione completa di Recon-ng dall'inizio alla fine: creare un workspace (database), popolarlo con un dominio, eseguire alcuni moduli di ricognizione, visualizzare i dati e infine esportare tutto in un report HTML. Riferimento: Recon-ng 5.x. Target d'esempio: example.com (sostituiscilo con un dominio tuo o autorizzato).


Modello mentale

Recon-ng ha un’interfaccia in stile Metasploit: console interattiva, moduli che si caricano e si eseguono, un database che raccoglie tutto.

Analogia Pensa a Recon-ng come a uno schedario investigativo. Il workspace è la cartella dedicata a un caso (un cliente/target): ha il suo database SQLite isolato. I moduli sono gli investigatori specializzati che chiami uno alla volta. Ogni cosa che trovano finisce automaticamente nello schedario (tabelle domains, hosts, contacts…), così l'investigatore successivo può partire dai dati del precedente senle reinserirli. Alla fine impagini tutto in un report.

Il ciclo che si ripete sempre uguale:

cerca → installa → carica → imposta opzioni → esegui → esporta (marketplace searchmarketplace installmodules loadoptions setrun → reporting)


1. Avvio e creazione del workspace (il “database”)

 
# avvia la console
 
recon-ng
 

Dentro la console:

 
# crea un workspace dedicato (crea il suo database SQLite isolato)
 
[recon-ng][default] > workspaces create example_recon
 
# ora sei dentro il nuovo workspace
 
[recon-ng][example_recon] > workspaces list
 

Ogni workspace ha database, opzioni e chiavi API separati. Usa un workspace diverso per ogni target/cliente, così i dati non si mescolano. In alternativa puoi avviare direttamente nel workspace con recon-ng -w example_recon.


2. (Opzionale) Aggiungere le chiavi API

Serve solo se userai moduli che le richiedono (Shodan, Hunter.io, VirusTotal…):

[recon-ng][example_recon] > keys add shodan_api LA_TUA_CHIAVE
[recon-ng][example_recon] > keys list

3. Popolare il database con il dominio seed

Inserisci il dominio di partenza nella tabella domains, così i moduli lo useranno come input di default:

[recon-ng][example_recon] > db insert domains
 
# ti verrà chiesto interattivamente:
#   domain (TEXT): example.com
#   notes (TEXT): (invio per lasciare vuoto)
 
# verifica
 
[recon-ng][example_recon] > show domains
 

Scorciatoia alternativa Se non vuoi popolare la tabella, puoi impostare il dominio direttamente su ogni modulo con options set SOURCE example.com. Popolare la tabella domains è comodo perché i moduli con SOURCE default la leggono in automatico.


4. Eseguire i moduli di ricognizione

Installare tutti i moduli

marketplace install all

In alternativa puoi installare solo i moduli che ti interessano con il seguente comando marketplace install recon/domains-hosts/hackertarget.

Sottodomini con HackerTarget (passivo, no API key)

 
[recon-ng][example_recon] > modules load recon/domains-hosts/hackertarget
 
[recon-ng][example_recon][hackertarget] > info
 
[recon-ng][example_recon][hackertarget] > run
 
[recon-ng][example_recon][hackertarget] > back
 

Sottodomini dai Certificate Transparency logs (passivo, no API key)

 
[recon-ng][example_recon] > modules load recon/domains-hosts/certificate_transparency
 
[recon-ng][example_recon][certificate_transparency] > run
 
[recon-ng][example_recon][certificate_transparency] > back
 

Risolvere gli host trovati in indirizzi IP

Qui si vede il vantaggio del database: come SOURCE usiamo default, cioè gli host già raccolti dai moduli precedenti.

 
[recon-ng][example_recon] > modules load recon/hosts-hosts/resolve
 
[recon-ng][example_recon][resolve] > options set SOURCE default
 
[recon-ng][example_recon][resolve] > run
 
[recon-ng][example_recon][resolve] > back
 

Contatti/email dai dati WHOIS (passivo, no API key)

 
[recon-ng][example_recon] > modules load recon/domains-contacts/whois_pocs
 
[recon-ng][example_recon][whois_pocs] > run
 
[recon-ng][example_recon][whois_pocs] > back
 

5. Visualizzare i dati raccolti

 
[recon-ng][example_recon] > show hosts       # sottodomini + IP
 
[recon-ng][example_recon] > show contacts     # email/contatti
 
[recon-ng][example_recon] > show domains
 

Pulizia Se hai molti duplicati dopo aver lanciato più moduli, puoi ripulirli prima del report (es. dedup hosts, dove supportato dalla tua versione).


6. Export in HTML

Il report HTML si genera con il modulo reporting/html:

 
[recon-ng][example_recon] > modules load reporting/html
 
[recon-ng][example_recon][html] > info
 
# imposta le opzioni del report
 
[recon-ng][example_recon][html] > options set FILENAME /home/kali/example_report.html
 
[recon-ng][example_recon][html] > options set CREATOR "Il Tuo Nome"
 
[recon-ng][example_recon][html] > options set CUSTOMER "example.com"
 
[recon-ng][example_recon][html] > run
 

Al termine trovi il file HTML impaginato nel percorso indicato in FILENAME, apribile nel browser.

Altri formati Con lo stesso schema esistono reporting/csv, reporting/json, reporting/xml e reporting/list. Cambia solo il modulo caricato; le opzioni sono simili.


7. Tabella comandi di riferimento

ComandoCosa fa
workspaces create <nome>Crea un workspace (database isolato)
workspaces list / workspaces load <nome>Elenca / entra in un workspace
db insert domainsInserisce un dominio seed nel database
keys add <nome> <valore>Registra una API key
marketplace search <termine>Cerca moduli
marketplace info <path>Info su un modulo (opzioni, chiavi richieste)
marketplace install <path>Installa un modulo
marketplace refreshAggiorna la lista dei moduli
modules load <path>Carica un modulo
info / options listMostra descrizione e opzioni del modulo caricato
options set SOURCE <valore>Imposta l’input (dominio o default = database)
runEsegue il modulo
backEsce dal modulo corrente
show hosts / show contacts / show domainsVisualizza le tabelle del database