Saltar a contenido

Descubre la herramienta del motor de búsqueda

Overview

Uncover es un envoltorio de motor de búsqueda potente desarrollado por Project Discovery que permite descubrir rápidamente hosts expuestos en Internet utilizando múltiples motores de búsqueda. Proporciona una interfaz unificada para buscar motores de búsqueda populares como Shodan, Censys, Fofa, Hunter, Zoomeye, Netlas, y más, lo que lo convierte en una herramienta esencial para el reconocimiento y el mapeo de superficie de ataque.

Qué conjunto Descubre aparte de utilizar directamente estos motores de búsqueda es su capacidad de consultar a múltiples proveedores simultáneamente, normalizar los resultados y proporcionarlos en un formato consistente. Esto acelera significativamente el proceso de descubrir activos expuestos en Internet y ayuda a los profesionales de seguridad a identificar riesgos potenciales de seguridad más eficientemente. Uncover está diseñado con la automatización en mente, lo que facilita la integración en los flujos de trabajo y tuberías de seguridad.

Uncover es comúnmente utilizado por investigadores de seguridad, cazadores de recompensas de errores, y testers de penetración para descubrir servicios expuestos, aplicaciones vulnerables, y sistemas malconfigurados. Su capacidad para aprovechar múltiples motores de búsqueda proporciona una visión más completa de la superficie de ataque, aumentando las posibilidades de encontrar problemas de seguridad que podrían perderse al utilizar una sola fuente.

Instalación

Usando Go

# Install using Go (requires Go 1.20 or later)
go install -v github.com/projectdiscovery/uncover/cmd/uncover@latest

# Verify installation
uncover -version

Usando Docker

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

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

Usando Homebrew (macOS)

# Install using Homebrew
brew install uncover

# Verify installation
uncover -version

Usando 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

Uso básico

Búsqueda con consultas

# 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

Proveedor Selección

# 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

Configuración del proveedor

API Configuración clave

# 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

Proveedor-Opciones Específicas

# 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

Integración con otras herramientas

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

Filtrando salida

# 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

Filtro avanzado

Proveedor de Filtro Específico

# 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"

Combinando múltiples consultas

# 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

Zoom Sintaxis del ojo

# 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. ** Cuestiones clave de la Iniciativa**
       # Verify API key configuration
       uncover -list-keys
    
       # Update API key
       uncover -shodan-key YOUR_NEW_SHODAN_API_KEY
       ```
    
    2. ** Limitación de destino**
    ```bash
       # Reduce number of queries
       uncover -q "apache" -limit 10
    
       # Increase timeout
       uncover -q "apache" -timeout 60
       ```
    
    3. **Sin resultados**
    ```bash
       # Try a different provider
       uncover -q "apache" -e censys
    
       # Try a more general query
       uncover -q "web" -e shodan
       ```
    
    4. ** Cuestiones relativas a la Convención**
    ```bash
       # Check internet connection
       ping 8.8.8.8
    
       # Increase timeout
       uncover -q "apache" -timeout 60
       ```
    
    ### Debugging
    
    ```bash
    # Enable verbose mode
    uncover -q "apache" -v
    
    # Show debug information
    uncover -q "apache" -debug
    
    # Check provider status
    uncover -list-engines
    

Configuración

Archivo de configuración

Uncover utiliza un archivo de configuración ubicado en $HOME/.config/uncover/provider-config.yaml_. Puede personalizar varios ajustes en este archivo:

# 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

Flag Description
INLINE_CODE_32 Query to search
INLINE_CODE_33 File containing queries to search
INLINE_CODE_34 Search engine(s) to use
INLINE_CODE_35 File to write output to
INLINE_CODE_36 Write output in JSON format
INLINE_CODE_37 Show only results in output
INLINE_CODE_38 Show verbose output
INLINE_CODE_39 Show debug information
INLINE_CODE_40 Fields to display in output
INLINE_CODE_41 Maximum number of results per provider
INLINE_CODE_42 Timeout for provider requests in seconds
INLINE_CODE_43 Use ASN query syntax
INLINE_CODE_44 List available search engines
INLINE_CODE_45 List configured API keys
INLINE_CODE_46 Shodan API key
INLINE_CODE_47 Censys API ID
INLINE_CODE_48 Censys API secret
INLINE_CODE_49 Fofa email
INLINE_CODE_50 Fofa API key
INLINE_CODE_51 ZoomEye API key
INLINE_CODE_52 Hunter API key
INLINE_CODE_53 Netlas API key
INLINE_CODE_54 Quake API key
INLINE_CODE_55 Criminalip API key
INLINE_CODE_56 Show Uncover version

Proveedores compatibles

Provider Description API Key Required
INLINE_CODE_57 Shodan search engine Yes
INLINE_CODE_58 Censys search engine Yes
INLINE_CODE_59 Fofa search engine Yes
INLINE_CODE_60 ZoomEye search engine Yes
INLINE_CODE_61 Hunter search engine Yes
INLINE_CODE_62 Netlas search engine Yes
INLINE_CODE_63 Quake search engine Yes
INLINE_CODE_64 Criminalip search engine Yes

Common Search Fields

Field Description
INLINE_CODE_65 IP address
INLINE_CODE_66 Port number
INLINE_CODE_67 Hostname
INLINE_CODE_68 Country code
INLINE_CODE_69 City name
INLINE_CODE_70 Organization name
INLINE_CODE_71 Internet service provider
INLINE_CODE_72 Autonomous system number
INLINE_CODE_73 Product name
INLINE_CODE_74 Product version

Resources

  • [Documentación Oficial](URL_75__
  • [Repositorio GitHub](URL_76__
  • [Discord de descubrimiento del producto](URL_77_

-...

*Esta hoja de trampa proporciona una referencia completa para el uso de Uncover, desde la búsqueda básica hasta el filtrado avanzado e integración con otras herramientas. Para la información más actualizada, consulte siempre la documentación oficial. *