Hai un target da testare. Prima ancora di scrivere una riga di codice o lanciare uno scan, devi sapere tutto di lui. Nome, email, domini, fornitori, tecnologie, persone. Senza questa fase, il tuo penetration test è un tiro al buio. Noi, di Meteora Web, abbiamo visto aziende con dati sensibili esposti in bacheche pubbliche, server con certificati scaduti e subdomini dimenticati. La reconnaissance OSINT è il coltellino svizzero di ogni ethical hacker. In questa guida andiamo oltre i semplici Google dork: vedremo strumenti, tecniche e automazioni per raccogliere informazioni in modo sistematico, legale e operativo.
OSINT non è solo Google: lo spettro completo delle fonti pubbliche
OSINT (Open Source Intelligence) significa sfruttare dati pubblicamente accessibili. Ma attenzione: non tutto ciò che è pubblico è facile da trovare. Devi guardare a domini, motori di ricerca, social network, database di leak, certificati SSL, registri WHOIS, API pubbliche. Noi partiamo sempre da una domanda: cosa un attaccante potrebbe sapere di te senza mai toccare un firewall?
Sponsored Protocol
Il perimetro digitale del target
Primo passo: elencare tutti i domini e subdomini. Non solo il sito principale. Strumenti come theHarvester e Sublist3r ti danno un primo elenco. Ma il vero valore arriva quando incroci i dati con i certificati SSL (Certificate Transparency logs).
# Installazione theHarvester
pip install theHarvester
# Ricerca base su dominio
python3 theHarvester -d esempio.com -b google
Azione subito: prendi il tuo dominio (o uno di test) e lancia il comando sopra. Quanti subdomini emergono? Confronta con quelli noti. Se trovi qualcosa che il tuo cliente non sapeva, hai già vinto la prima battaglia.
WHOIS e registri: non solo date di scadenza
Il WHOIS rivela nome e contatti del registrante, server DNS, date di creazione. Un attaccante può usarlo per social engineering. Noi abbiamo visto aziende con numeri di telefono personali nei record WHOIS. Usa whois da terminale o servizi online come WhoisXMLAPI. Attenzione: molti registrar offrono protezione privacy, ma spesso dimenticano di applicarla ai domini secondari.
Sponsored Protocol
whois esempio.com
Azione subito: verifica almeno 3 domini del tuo perimetro (inclusi quelli .it, .com, .net) e controlla se ci sono dati personali esposti.
OSINT su persone: email, social e profili lavorativi
La raccolta su persone fisiche è delicata e deve rispettare le leggi sulla privacy. Ma durante un penetration test autorizzato, conoscere gli account email dei dipendenti ti permette di testare password spray, phishing mirato e altro. Noi partiamo sempre da LinkedIn e fonti pubbliche.
Email harvesting con theHarvester e Hunter.io
Oltre a Google, theHarvester supporta fonti come LinkedIn, Yahoo, Bing, PGP key server. Hunter.io fornisce un API per cercare email associate a un dominio. Attenzione ai falsi positivi: verifica sempre con holehe se l'email esiste su servizi noti.
Sponsored Protocol
# Install holehe
pip install holehe
# Verifica email
holehe email@esempio.com
Azione subito: scegli un dominio target autorizzato, estrai le email con theHarvester -b linkedin, poi verifica la più probabile con holehe. Registra i servizi su cui l'email è presente (importante per attacchi di credential stuffing).
Google Dork avanzati per persone
Il dorking non è solo per file vulnerabili. Puoi cercare profili pubblici con site:linkedin.com "Azienda" "Ruolo" o documenti PDF con filetype:pdf "esempio.com". Combinazioni potenti: intext:"password" site:esempio.com (se trovi password in chiaro, hai una falla grave).
Lista minima di dork da provare:
site:esempio.com ext:log– file di log espostisite:esempio.com intitle:"index of"– directory listing"esempio.com" "confidenziale" filetype:pdf– documenti riservati
Infrastruttura e tecnologie: Shodan, Censys, Certificate Transparency
Non ti serve un accesso al server per sapere che software gira. Shodan indicizza i banner dei servizi esposti. Censys fa lo stesso con gli host. I log dei certificati SSL (CT) rivelano subdomini e date di rilascio. Un attaccante cerca versioni obsolete di Apache, Nginx, OpenSSH. Noi, di Meteora Web, usiamo questi dati per anticipare le vulnerabilità.
Sponsored Protocol
Shodan: trovare il tuo target in rete
# Filtro Shodan per dominio
shodan search hostname:esempio.com
# Ricerca per port specifica
shodan search "port:443 hostname:esempio.com"
Azione subito: (con una chiave API gratuita) cerca il tuo target su Shodan. Quanti servizi sono esposti? Ci sono database aperti (MongoDB, Elasticsearch)? Segnala immediatamente i più critici.
Certificate Transparency: la miniera di subdomini
crt.sh è il database di tutti i certificati emessi. Basta una query per ottenere subdomini non noti.
curl -s "https://crt.sh/?q=%25.esempio.com&output=json" | jq '.[].name_value' | sort -u
Azione subito: esegui quella curl verso il dominio target. Quanti subdomini ottieni? Mettici a confronto con Sublist3r. La differenza sono i subdomini “nascosti”.
Automazione con framework OSINT: Recon-ng e Maltego
Fare tutto a mano è inefficiente. Un penetration test serio richiede automazione e correlazione. Recon-ng è un framework modulare per OSINT. I moduli spaziano da WHOIS a Google+, da Shodan a Have I Been Pwned. Maltego è visuale: crea grafi di relazioni tra domini, email, persone. Noi preferiamo Recon-ng perché è scriptabile e si integra con il nostro workflow.
Esempio di workspace Recon-ng
# Lancia Recon-ng
recon-ng
# Crea workspace
workspaces create pentest_target
# Carica modulo
modules load recon/domains-hosts/google_site_web
# Imposta source
set SOURCE esempio.com
# Esegui
run
Azione subito: installa Recon-ng, crea un workspace per un target di test e lancia almeno 5 moduli di raccolta (host, contatti, email). Esporta il report in HTML.
OSINT operativo: come non bruciare la fase di ricognizione
Aneddoto: una volta un nostro cliente aveva un server Jenkins esposto con credenziali di default. Lo abbiamo trovato in 10 minuti con Shodan. Ma se il penetration tester non fosse stato autorizzato, avrebbe potuto accedere immediatamente. Ecco le regole d'oro:
- Mai testare su target senza autorizzazione scritta.
- Usa una VM dedicata o un container isolato per non contaminare le tue tracce.
- Non scaricare file sensibili (se trovi un database dump, fermati e segnala).
- Documenta ogni passaggio: per il report finale servono prove riproducibili.
Strumenti da avere sempre a portata
| Strumento | Uso |
|---|---|
| theHarvester | Email e subdomini |
| Sublist3r | Subdomini |
| Shodan | Servizi esposti |
| crt.sh | Certificati SSL |
| Recon-ng | Framework modulare |
| holehe | Verifica presenza email su servizi |
| Google dork query | Dati indicizzati |
Cosa fare adesso – Check list operativa
- Definisci il perimetro: domini principali, subdomini, IP noti.
- Raccogli whois e certificati: usa crt.sh e whois per ogni dominio.
- Estrai email e utenti: theHarvester + holehe.
- Scansiona servizi pubblici: Shodan con filtro hostname.
- Automatizza: crea uno script bash che unifica tutti i comandi in un unico report.
- Verifica Google dork: almeno 5 query specifiche per il settore target.
- Documenta tutto: screenshot, comandi, output JSON. Non fidarti della memoria.
La reconnaissance OSINT è la fase che separa un penetration test dilettantesco da uno professionale. Noi, di Meteora Web, la mettiamo al centro di ogni nostro assessment. Se vuoi approfondire l'intero ciclo di ethical hacking, leggi la nostra guida pillar definitiva. Ricorda: un hacker etico si misura dalla quantità di informazioni che sa raccogliere senza mai toccare il bersaglio.