検索エンジンツール チートシート
概要
Uncoverは、Project Discoveryによって開発された強力な検索エンジンラッパーで、複数の検索エンジンを使用してインターネット上の公開されたホストを迅速に発見することを可能にします。Shodan、Censys、Fofa、Hunter、Zoomeye、Netlasなどの人気の検索エンジンを照会するための統一されたインターフェースを提供し、偵察と攻撃対象の可視化に不可欠なツールとなっています。
Uncoverを直接これらの検索エンジンを使用することと差別化しているのは、複数のプロバイダを同時に照会し、結果を正規化し、一貫したフォーマットで提供する能力です。これにより、インターネットに公開されているアセットの発見プロセスが大幅に高速化され、セキュリティ専門家がより効率的に潜在的なセキュリティリスクを特定できるようになります。Uncoverは自動化を念頭に設計されており、セキュリティワークフローやパイプラインに簡単に統合できます。
Uncoverは、セキュリティ研究者、バグバウンティハンター、ペネトレーションテスターによって一般的に使用され、公開されているサービス、脆弱なアプリケーション、誤設定されたシステムを発見します。複数の検索エンジンを活用する能力により、攻撃対象の包括的な視点が提供され、単一のソースを使用する場合に見逃される可能性のあるセキュリティ問題を発見する可能性が高まります。
インストール
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
```Provide the missing text content```bash
# 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
```Have me translate the template structure```bash
# 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
```Do something else?```bash
# 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
| フラグ | 説明 |
|---|---|
-q, -query | 検索するクエリ |
-qf, -query-file | 検索するクエリを含むファイル |
-e, -engine | 使用する検索エンジン |
-o, -output | 出力を書き込むファイル |
-json | JSONフォーマットで出力を書き出す |
-silent | 出力にのみ結果を表示 |
-v, -verbose | 詳細な出力を表示 |
-debug | デバッグ情報を表示 |
-f, -field | 出力に表示するフィールド |
-limit | プロバイダーごとの最大結果数 |
-timeout | プロバイダリクエストのタイムアウト(秒) |
-asq | ASNクエリ構文を使用する |
-list-engines | 利用可能な検索エンジンの一覧 |
-list-keys | 設定されたAPIキーの一覧 |
-shodan-key | Shodan API キー |
-censys-id | Censys API ID |
-censys-secret | Censys APIシークレット |
-fofa-email | Fofa メール |
-fofa-key | Fofa APIキー |
-zoomeye-key | ZoomEye APIキー |
-hunter-key | Hunter API キー |
-netlas-key | Netlas API キー |
-quake-key | Quake API キー |
-criminalip-key | Criminalip APIキー |
-version | Uncover バージョンを表示 |
Supported Providers
| プロバイダ | 説明 | APIキー必須 |
|---|---|---|
shodan | Shodan 検索エンジン | はい |
censys | Censys 検索エンジン | はい |
fofa | Fofa 検索エンジン | はい |
zoomeye | ZoomEye 検索エンジン | はい |
hunter | Hunter 検索エンジン | はい |
netlas | Netlas 検索エンジン | はい |
quake | Quake 検索エンジン | はい |
criminalip | Criminalip 検索エンジン | はい |
Common Search Fields
| フィールド | 説明 |
|---|---|
ip | IPアドレス |
port | ポート番号 |
host | ホスト名 |
country | 国コード |
city | 都市名 |
org | 組織名 |
isp | インターネットサービスプロバイダ |
asn | 自律システム番号 |
product | 製品名 |
version | 製品バージョン |
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.