Hoja de Trucos de la Herramienta de Búsqueda Uncover
Descripción general
Uncover es un potente wrapper de motor de búsqueda 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 consultar motores de búsqueda populares como Shodan, Censys, Fofa, Hunter, Zoomeye, Netlas y más, convirtiéndolo en una herramienta esencial para reconocimiento y mapeo de superficie de ataque.
Lo que distingue a Uncover de usar directamente estos motores de búsqueda es su capacidad para consultar múltiples proveedores simultáneamente, normalizar los resultados y proporcionarlos en un formato consistente. Esto acelera significativamente el proceso de descubrimiento de activos expuestos en internet y ayuda a los profesionales de seguridad a identificar riesgos de seguridad potenciales de manera más eficiente. Uncover está diseñado pensando en la automatización, lo que facilita su integración en flujos de trabajo y tuberías de seguridad.
Uncover es comúnmente utilizado por investigadores de seguridad, cazadores de recompensas por errores y probadores de penetración para descubrir servicios expuestos, aplicaciones vulnerables y sistemas mal configurados. 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 pasarse por alto al usar una sola fuente.
Instalación
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
-
API Key Issues
# Verify API key configuration uncover -list-keys # Update API key uncover -shodan-key YOUR_NEW_SHODAN_API_KEY -
Rate Limiting
# Reduce number of queries uncover -q "apache" -limit 10 # Increase timeout uncover -q "apache" -timeout 60 -
No Results
# Try a different provider uncover -q "apache" -e censys # Try a more general query uncover -q "web" -e shodan -
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
| Bandera | Descripción |
|---|---|
-q, -query | Consulta para buscar |
-qf, -query-file | Archivo que contiene consultas para buscar |
-e, -engine | Motor(es) de búsqueda para usar |
-o, -output | Archivo para escribir la salida |
-json | Escribir la salida en formato JSON |
-silent | Mostrar solo resultados en la salida |
-v, -verbose | Mostrar salida detallada |
-debug | Mostrar información de depuración |
-f, -field | Campos para mostrar en la salida |
-limit | Número máximo de resultados por proveedor |
-timeout | Timeout para solicitudes de proveedor en segundos |
-asq | Utilice la sintaxis de consulta ASN |
-list-engines | Lista de motores de búsqueda disponibles |
-list-keys | Lista de claves API configuradas |
-shodan-key | Clave API de Shodan |
-censys-id | ID de API de Censys |
-censys-secret | Secreto de API de Censys |
-fofa-email | Correo Fofa |
-fofa-key | Clave de API de Fofa |
-zoomeye-key | Clave API de ZoomEye |
-hunter-key | Clave API de Hunter |
-netlas-key | Clave de API de Netlas |
-quake-key | Clave API de Quake |
-criminalip-key | Clave API de Criminalip |
-version | Mostrar versión de Uncover |
Supported Providers
| Provider | Descripción | API Key Requerida |
|---|---|---|
shodan | Motor de búsqueda Shodan | Sí |
censys | Motor de búsqueda Censys | Sí |
fofa | Motor de búsqueda Fofa | Sí |
zoomeye | Motor de búsqueda ZoomEye | Sí |
hunter | Motor de búsqueda Hunter | Sí |
netlas | Motor de búsqueda Netlas | Sí |
quake | Motor de búsqueda Quake | Sí |
criminalip | Motor de búsqueda Criminalip | Sí |
Common Search Fields
| Campo | Descripción |
|---|---|
ip | Dirección IP |
port | Número de puerto |
host | Hostname |
country | Código de país |
city | Nombre de ciudad |
org | Nombre de la organización |
isp | Proveedor de servicios de Internet |
asn | Número de sistema autónomo |
product | Nombre del producto |
version | Versión del producto |
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.