
Scopri rapidamente gli host esposti su internet utilizzando più motori di ricerca.
Caratteristiche • Installazione • Utilizzo • Configurazione • Eseguire Uncover • Unisciti a Discord
uncover è un wrapper Go che utilizza le API di noti motori di ricerca per scoprire rapidamente host esposti su Internet. È progettato per l'automazione, in modo da poter eseguire query e utilizzare i risultati con i tuoi strumenti attuali della pipeline.
uncover richiede go1.21 per essere installato correttamente. Esegui il comando seguente per ottenere il repository -
go install -v github.com/projectdiscovery/uncover/cmd/uncover@latest
uncover -h
Questo mostrerà la guida dello strumento. Ecco tutti i flag supportati:
Usage:
./uncover [flags]
Flags:
INPUT:
-q, -query string[] query di ricerca, supporta: stdin,file,config input (esempio: -q 'example query', -q 'query.txt')
-e, -engine string[] motore di ricerca da interrogare (shodan,shodan-idb,fofa,censys,quake,hunter,zoomeye,netlas,criminalip,publicwww,hunterhow,google,driftnet,daydaymap) (default shodan)
-asq, -awesome-search-queries string[] utilizza awesome search queries per scoprire asset esposti su Internet (esempio: -asq 'jira')
SEARCH-ENGINE:
-s, -shodan string[] query di ricerca per shodan (esempio: -shodan 'query.txt')
-sd, -shodan-idb string[] query di ricerca per shodan-idb (esempio: -shodan-idb 'query.txt')
-ff, -fofa string[] query di ricerca per fofa (esempio: -fofa 'query.txt')
-cs, -censys string[] query di ricerca per censys (esempio: -censys 'query.txt')
-qk, -quake string[] query di ricerca per quake (esempio: -quake 'query.txt')
-ht, -hunter string[] query di ricerca per hunter (esempio: -hunter 'query.txt')
-ze, -zoomeye string[] query di ricerca per zoomeye (esempio: -zoomeye 'query.txt')
-ne, -netlas string[] query di ricerca per netlas (esempio: -netlas 'query.txt')
-cl, -criminalip string[] query di ricerca per criminalip (esempio: -criminalip 'query.txt')
-pw, -publicwww string[] query di ricerca per publicwww (esempio: -publicwww 'query.txt')
-hh, -hunterhow string[] query di ricerca per hunterhow (esempio: -hunterhow 'query.txt')
-gg, -google string[] query di ricerca per google (esempio: -google 'query.txt')
-on, -onyphe string[] query di ricerca per onyphe (esempio: -onyphe 'query.txt')
-df, -driftnet string[] query di ricerca per driftnet (esempio: -driftnet 'query.txt')
-ddm, -daydaymap string[] query di ricerca per daydaymap (esempio: -daydaymap 'query.txt')
CONFIG:
-pc, -provider string file di configurazione del provider (default "$CONFIG/uncover/provider-config.yaml")
-config string file di configurazione dei flag (default "$CONFIG/uncover/config.yaml")
-timeout int timeout in secondi (default 30)
-rl, -rate-limit int numero massimo di richieste HTTP al secondo
-rlm, -rate-limit-minute int numero massimo di richieste al minuto
-retry int numero di tentativi per una richiesta fallita (default 2)
-proxy string proxy HTTP da usare con uncover
OUTPUT:
-o, -output string file di output per scrivere i risultati trovati
-f, -field string campo da visualizzare nell'output (ip,port,host) (default "ip:port")
-j, -json scrive l'output in formato JSONL(ines)
-r, -raw scrive l'output grezzo ricevuto dall'API remota
-l, -limit int limita il numero di risultati da restituire (default 100)
-nc, -no-color disabilita i colori nell'output
DEBUG:
-silent mostra solo i risultati nell'output
-version mostra la versione del progetto
-v mostra output verbose
Un esempio di utilizzo di uncover come libreria è fornito nella directory examples.
Il file di configurazione predefinito del provider dovrebbe trovarsi in $CONFIG/uncover/provider-config.yaml e avere il seguente contenuto di esempio.
Nota: le chiavi API sono obbligatorie e devono essere configurate prima di eseguire uncover.
shodan:
- SHODAN_API_KEY_1
- SHODAN_API_KEY_2
censys:
- CENSYS_API_TOKEN_1:CENSYS_ORGANIZATION_ID_1
- CENSYS_API_TOKEN_2:CENSYS_ORGANIZATION_ID_2
fofa:
- FOFA_EMAIL_1:FOFA_KEY_1
- FOFA_EMAIL_2:FOFA_KEY_2
quake:
- QUAKE_TOKEN_1
- QUAKE_TOKEN_2
hunter:
- HUNTER_API_KEY_1
- HUNTER_API_KEY_2
zoomeye:
- ZOOMEYE_API_KEY_1
- ZOOMEYE_API_KEY_2
netlas:
- NETLAS_API_KEY_1
- NETLAS_API_KEY_2
criminalip:
- CRIMINALIP_API_KEY_1
- CRIMINALIP_API_KEY_2
publicwww:
- PUBLICWWW_API_KEY_1
- PUBLICWWW_API_KEY_2
hunterhow:
- HUNTERHOW_API_KEY_1
- HUNTERHOW_API_KEY_2
google:
- GOOGLE_API_KEY_1:Google_API_CX_1
- GOOGLE_API_KEY_2:Google_API_CX_2
onyphe:
- ONYPHE_API_KEY_1
- ONYPHE_API_KEY_2
driftnet:
- DRIFTNET_API_KEY_1
- DRIFTNET_API_KEY_2
daydaymap:
- DAYDAYMAP_API_KEY_1
- DAYDAYMAP_API_KEY_2
nerdydata:
- NERDYDATA_API_KEY_1
- NERDYDATA_API_KEY_2
Quando vengono specificate più chiavi/credenziali per lo stesso provider nel file di configurazione, verrà utilizzata una chiave casuale per ogni esecuzione.
In alternativa, puoi anche impostare la chiave API come variabile d'ambiente nel tuo profilo bash.