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 search→marketplace install→modules load→options set→run→ 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 list3. 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 tabelladomainsè comodo perché i moduli conSOURCE defaultla leggono in automatico.
4. Eseguire i moduli di ricognizione
Installare tutti i moduli
marketplace install allIn 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/xmlereporting/list. Cambia solo il modulo caricato; le opzioni sono simili.
7. Tabella comandi di riferimento
| Comando | Cosa fa |
|---|---|
workspaces create <nome> | Crea un workspace (database isolato) |
workspaces list / workspaces load <nome> | Elenca / entra in un workspace |
db insert domains | Inserisce 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 refresh | Aggiorna la lista dei moduli |
modules load <path> | Carica un modulo |
info / options list | Mostra descrizione e opzioni del modulo caricato |
options set SOURCE <valore> | Imposta l’input (dominio o default = database) |
run | Esegue il modulo |
back | Esce dal modulo corrente |
show hosts / show contacts / show domains | Visualizza le tabelle del database |