Pular para o conteúdo

Folha de Dicas da Ferramenta de Busca Uncover

Visão Geral

Uncover é um poderoso wrapper de mecanismo de busca desenvolvido pelo Project Discovery que permite descobrir rapidamente hosts expostos na internet usando múltiplos mecanismos de busca. Ele fornece uma interface unificada para consultar mecanismos de busca populares como Shodan, Censys, Fofa, Hunter, Zoomeye, Netlas, e mais, tornando-o uma ferramenta essencial para reconhecimento e mapeamento da superfície de ataque.

O que diferencia o Uncover de usar diretamente esses mecanismos de busca é sua capacidade de consultar múltiplos provedores simultaneamente, normalizar os resultados e fornecê-los em um formato consistente. Isso acelera significativamente o processo de descoberta de ativos expostos na internet e ajuda profissionais de segurança a identificar potenciais riscos de segurança de forma mais eficiente. O Uncover é projetado com automação em mente, facilitando a integração em fluxos de trabalho e pipelines de segurança.

O Uncover é comumente usado por pesquisadores de segurança, caçadores de bugs e penetration testers para descobrir serviços expostos, aplicações vulneráveis e sistemas mal configurados. Sua capacidade de aproveitar múltiplos mecanismos de busca fornece uma visão mais abrangente da superfície de ataque, aumentando as chances de encontrar problemas de segurança que poderiam ser perdidos ao usar uma única fonte.

Instalação

Usando Go

Would you like me to continue with the remaining sections?```bash

Install using Go (requires Go 1.20 or later)

go install -v github.com/projectdiscovery/uncover/cmd/uncover@latest

Verify installation

uncover -version


### Using Docker

```bash
# Pull the latest Docker image
docker pull projectdiscovery/uncover:latest

# Run Uncover using Docker
docker run -it projectdiscovery/uncover:latest -h

Using Homebrew (macOS)

# Install using Homebrew
brew install uncover

# Verify installation
uncover -version

Using PDTM (Project Discovery Tools Manager)

# Install PDTM first if not already installed
go install -v github.com/projectdiscovery/pdtm/cmd/pdtm@latest

# Install Uncover using PDTM
pdtm -i uncover

# Verify installation
uncover -version

On Kali Linux

# Install using apt
sudo apt install uncover

# Verify installation
uncover -version

Basic Usage

Searching with Queries

# Search using a basic query
uncover -q "apache"

# Search using multiple queries
uncover -q "apache,nginx"

# Search from a file containing queries
uncover -qf queries.txt

# Search from STDIN
echo "apache"|uncover

Provider Selection

# Search using a specific provider
uncover -q "apache" -e shodan

# Search using multiple providers
uncover -q "apache" -e shodan,censys

# List available providers
uncover -list-engines

Output Options

# Save results to a file
uncover -q "apache" -o results.txt

# Output in JSON format
uncover -q "apache" -json -o results.json

# Silent mode (only results)
uncover -q "apache" -silent

Provider Configuration

API Key Configuration

# Set Shodan API key
uncover -shodan-key YOUR_SHODAN_API_KEY

# Set Censys API credentials
uncover -censys-id YOUR_CENSYS_ID -censys-secret YOUR_CENSYS_SECRET

# Set Fofa API credentials
uncover -fofa-email YOUR_FOFA_EMAIL -fofa-key YOUR_FOFA_KEY

# Set ZoomEye API key
uncover -zoomeye-key YOUR_ZOOMEYE_API_KEY

# Set Hunter API key
uncover -hunter-key YOUR_HUNTER_API_KEY

# Set Netlas API key
uncover -netlas-key YOUR_NETLAS_API_KEY

# Set Quake API key
uncover -quake-key YOUR_QUAKE_API_KEY

# Set Criminalip API key
uncover -criminalip-key YOUR_CRIMINALIP_API_KEY

Provider-Specific Options

# Set maximum results per provider
uncover -q "apache" -limit 100

# Set timeout for provider requests
uncover -q "apache" -timeout 60

Advanced Usage

Advanced Search Queries

# Search for specific ports
uncover -q "port:80"

# Search for specific services
uncover -q "product:nginx"

# Search for specific vulnerabilities
uncover -q "vuln:cve-2021-44228"

# Search for specific countries
uncover -q "country:US"

# Search for specific organizations
uncover -q "org:\"Example Inc\""

# Combine multiple filters
uncover -q "port:443 product:nginx country:US"

ASN Query Syntax

# Search using ASN query syntax
uncover -asq "asn:AS15169 product:nginx"

# Search for specific ASN
uncover -asq "asn:AS15169"

# Search for specific organization
uncover -asq "org:Google"

# Search for specific IP range
uncover -asq "ip:8.8.8.0/24"

Field Selection

# Select specific fields to display
uncover -q "apache" -f ip,port,host

# Available fields: ip, port, host, country, city, org, isp, asn, product, version

Integration with Other Tools

Pipeline with HTTPX

# Discover hosts and probe for HTTP services
uncover -q "apache" -silent|httpx -silent

# Discover hosts, filter by port, and probe for HTTP services
uncover -q "port:443" -silent|httpx -silent

Pipeline with Nuclei

# Discover hosts and scan for vulnerabilities
uncover -q "apache" -silent|nuclei -t cves/

# Discover hosts with specific product and scan for related vulnerabilities
uncover -q "product:nginx" -silent|nuclei -t exposures/

Pipeline with Naabu

# Discover hosts and scan for open ports
uncover -q "apache" -silent|naabu -silent

# Discover hosts and scan for specific ports
uncover -q "apache" -silent|naabu -p 80,443,8080 -silent

Output Customization

Custom Output Format

# Output only IP addresses
uncover -q "apache" -silent -f ip

# Output IP:port format
uncover -q "apache" -silent -f ip,port|awk '\\\\{print $1":"$2\\\\}'

# Count results
uncover -q "apache" -silent|wc -l

# Sort output by IP
uncover -q "apache" -silent|sort

Filtering Output

# Filter by specific pattern
uncover -q "apache" -silent|grep "8.8.8"

# Filter by port
uncover -q "apache" -silent -f ip,port|grep ":443$"

# Find unique IPs
uncover -q "apache" -silent -f ip|sort -u

Advanced Filtering

Provider-Specific Filtering

# Filter Shodan results by port
uncover -q "apache" -e shodan -silent|grep ":80$"

# Filter Censys results by country
uncover -q "apache" -e censys -silent -f ip,country|grep "US$"

# Filter Fofa results by title
uncover -q "apache" -e fofa -silent|grep "Dashboard"

Combining Multiple Queries

# Search for multiple products
uncover -q "product:nginx,product:apache" -silent

# Search for multiple ports
uncover -q "port:80,port:443" -silent

# Search for multiple vulnerabilities
uncover -q "vuln:cve-2021-44228,vuln:cve-2021-40438" -silent

Provider-Specific Syntax

Shodan Syntax

# Basic Shodan query
uncover -q "apache" -e shodan

# Shodan port filter
uncover -q "port:80" -e shodan

# Shodan product filter
uncover -q "product:nginx" -e shodan

# Shodan country filter
uncover -q "country:US" -e shodan

# Shodan organization filter
uncover -q "org:\"Example Inc\"" -e shodan

# Shodan ASN filter
uncover -q "asn:AS15169" -e shodan

# Shodan vulnerability filter
uncover -q "vuln:cve-2021-44228" -e shodan

Censys Syntax

# Basic Censys query
uncover -q "apache" -e censys

# Censys port filter
uncover -q "services.port=80" -e censys

# Censys product filter
uncover -q "services.software.product=nginx" -e censys

# Censys country filter
uncover -q "location.country_code=US" -e censys

# Censys ASN filter
uncover -q "autonomous_system.asn=15169" -e censys

Fofa Syntax

# Basic Fofa query
uncover -q "apache" -e fofa

# Fofa port filter
uncover -q "port=80" -e fofa

# Fofa product filter
uncover -q "app=\"nginx\"" -e fofa

# Fofa country filter
uncover -q "country=\"US\"" -e fofa

# Fofa ASN filter
uncover -q "asn=\"AS15169\"" -e fofa

ZoomEye Syntax

# Basic ZoomEye query
uncover -q "apache" -e zoomeye

# ZoomEye port filter
uncover -q "port:80" -e zoomeye

# ZoomEye product filter
uncover -q "app:nginx" -e zoomeye

# ZoomEye country filter
uncover -q "country:US" -e zoomeye

# ZoomEye ASN filter
uncover -q "asn:15169" -e zoomeye

Troubleshooting

Common Issues

  1. API Key Issues

    # Verify API key configuration
    uncover -list-keys
    
    # Update API key
    uncover -shodan-key YOUR_NEW_SHODAN_API_KEY
  2. Rate Limiting

    # Reduce number of queries
    uncover -q "apache" -limit 10
    
    # Increase timeout
    uncover -q "apache" -timeout 60
  3. No Results

    # Try a different provider
    uncover -q "apache" -e censys
    
    # Try a more general query
    uncover -q "web" -e shodan
  4. Connection Issues

    # Check internet connection
    ping 8.8.8.8
    
    # Increase timeout
    uncover -q "apache" -timeout 60

Debugging

# Enable verbose mode
uncover -q "apache" -v

# Show debug information
uncover -q "apache" -debug

# Check provider status
uncover -list-engines

Configuration

Configuration File

Uncover uses a configuration file located at $HOME/.config/uncover/provider-config.yaml. You can customize various settings in this file:

# Example configuration file
shodan:
  key: YOUR_SHODAN_API_KEY
censys:
  id: YOUR_CENSYS_ID
  secret: YOUR_CENSYS_SECRET
fofa:
  email: YOUR_FOFA_EMAIL
  key: YOUR_FOFA_KEY
zoomeye:
  key: YOUR_ZOOMEYE_API_KEY
hunter:
  key: YOUR_HUNTER_API_KEY
netlas:
  key: YOUR_NETLAS_API_KEY
quake:
  key: YOUR_QUAKE_API_KEY
criminalip:
  key: YOUR_CRIMINALIP_API_KEY

Environment Variables

# Set Uncover configuration via environment variables
export SHODAN_API_KEY=YOUR_SHODAN_API_KEY
export CENSYS_API_ID=YOUR_CENSYS_ID
export CENSYS_API_SECRET=YOUR_CENSYS_SECRET
export FOFA_EMAIL=YOUR_FOFA_EMAIL
export FOFA_KEY=YOUR_FOFA_KEY
export ZOOMEYE_API_KEY=YOUR_ZOOMEYE_API_KEY
export HUNTER_API_KEY=YOUR_HUNTER_API_KEY
export NETLAS_API_KEY=YOUR_NETLAS_API_KEY
export QUAKE_API_KEY=YOUR_QUAKE_API_KEY
export CRIMINALIP_API_KEY=YOUR_CRIMINALIP_API_KEY

Reference

Command Line Options

BandeiraDescrição
-q, -queryConsulta para pesquisar
-qf, -query-fileArquivo contendo consultas para pesquisa
-e, -engineMecanismo(s) de busca a usar
-o, -outputArquivo para gravar saída em
-jsonEscreva a saída em formato JSON
-silentMostrar apenas resultados na saída
-v, -verboseMostrar saída detalhada
-debugMostrar informações de depuração
-f, -fieldCampos para exibir na saída
-limitNúmero máximo de resultados por provedor
-timeoutTempo limite para solicitações de provedor em segundos
-asqUse a sintaxe de consulta ASN
-list-enginesListar motores de busca disponíveis
-list-keysListar chaves de API configuradas
-shodan-keyChave de API do Shodan
-censys-idID da API Censys
-censys-secretSegredo da API Censys
-fofa-emailEmail fofo
-fofa-keyChave da API Fofa
-zoomeye-keyChave de API do ZoomEye
-hunter-keyChave de API do Hunter
-netlas-keyChave da API Netlas
-quake-keyChave de API do Quake
-criminalip-keyChave de API do Criminalip
-versionMostrar versão do Uncover

Supported Providers

ProvedorDescriçãoChave de API Necessária
shodanMotor de busca ShodanSim
censysMotor de busca CensysSim
fofaMotor de busca FofaSim
zoomeyeMotor de busca ZoomEyeSim
hunterMotor de busca HunterSim
netlasMotor de busca NetlasSim
quakeMotor de busca QuakeSim
criminalipMotor de busca CriminalipSim

Common Search Fields

CampoDescrição
ipEndereço IP
portNúmero de porta
hostHostname
countryCódigo de país
cityNome da cidade
orgNome da Organização
ispProvedor de serviço de internet
asnNúmero de sistema autônomo
productNome do produto
versionVersão do produto

Resources


This cheat sheet provides a comprehensive reference for using Uncover, from basic searching to advanced filtering and integration with other tools. For the most up-to-date information, always refer to the official documentation.