GOSINT
GOSINT is an open-source intelligence (OSINT) framework for collecting, processing, and analyzing threat intelligence indicators including IPs, domains, file hashes, and URLs.
Installation
# Clone repository
git clone https://github.com/Ullaakut/Gosint
cd Gosint
# Install dependencies
go get ./...
# Build
go build
# Run
./gosint --help
Indicator Lookups
IP Address Intelligence
# Query IP reputation
gosint ip 192.168.1.1
# Geolocation lookup
gosint geoip 1.2.3.4
# ASN information
gosint asn 1.2.3.4
# WHOIS information
gosint whois 1.2.3.4
# Check blocklists
gosint ip 1.2.3.4 --blocklist
# Query shodan
gosint ip 1.2.3.4 --shodan
Domain Intelligence
# Subdomain enumeration
gosint domain target.com
# WHOIS domain info
gosint whois target.com
# DNS records
gosint dns target.com --record A,MX,NS
# Check domain reputation
gosint domain target.com --reputation
# Find subdomains
gosint subdomain target.com
File Hash Analysis
# Lookup file hash
gosint hash d41d8cd98f00b204e9800998ecf8427e
# VirusTotal query
gosint hash <hash> --virustotal
# Check against multiple sources
gosint hash <hash> --all-sources
URL Analysis
# Analyze URL
gosint url http://target.com/path
# Check URL reputation
gosint url http://target.com --reputation
# Scan URL
gosint url http://target.com --virustotal
# Extract domain from URL
gosint url http://target.com --extract-domain
Batch Processing
Process Multiple Indicators
# Process from file
gosint batch --file indicators.txt
# Format: one indicator per line
# Can be mixed types (IPs, domains, hashes)
# Output to file
gosint batch --file indicators.txt --output results.json
# Parallel processing
gosint batch --file indicators.txt --workers 10
Indicator Lists
# Process IP list
cat ips.txt | while read ip; do
gosint ip $ip
done
# Domain list processing
for domain in $(cat domains.txt); do
gosint domain $domain
done
# Distributed processing
gosint batch --file indicators.txt --distributed
Threat Intelligence Feeds
Integrate Public Feeds
# Subscribe to threat feeds
gosint feed add https://otx.alienvault.com/api/v1/pulse/subscribed
# Download ABUSE.CH feeds
gosint feed add https://sslbl.abuse.ch/feeds/
# Feodo tracker
gosint feed add https://feodotracker.abuse.ch/feeds/
# Update feeds
gosint feed update
# List subscribed feeds
gosint feed list
Custom Feed Integration
# Add custom feed
gosint feed add --name "custom" --url http://custom-feed.com/feed.json
# Feed formats: JSON, CSV, plaintext
# Gosint will parse common indicator formats
# Automatic feed aggregation
gosint feed sync --all
Correlation and Analysis
Cross-Reference Indicators
# Find related indicators
gosint correlate 1.2.3.4
# Link domains to IPs
gosint link-domain target.com
# Infrastructure mapping
gosint map-infrastructure target.com
# Find other domains on same IP
gosint ip 1.2.3.4 --reverse-dns
Timeline Analysis
# Create timeline from indicators
gosint timeline --file indicators.txt
# Date-based correlation
gosint timeline --start 2024-01-01 --end 2024-12-31
# Export timeline
gosint timeline --output timeline.json --format json
Data Export and Integration
Export Formats
# JSON export
gosint ip 1.2.3.4 --output json
# CSV export
gosint batch --file indicators.txt --format csv
# STIX format (threat sharing)
gosint export --format stix --output indicators.stix
# TAXII format
gosint export --format taxii --output taxii-feed
Integration with Other Tools
# Export to Splunk
gosint export --splunk --hec-token <token> --hec-url https://splunk:8088
# Export to ELK Stack
gosint export --elasticsearch --host localhost:9200 --index threats
# SIEM integration
gosint export --siem splunk --config siem_config.json
Configuration
Configuration File
# gosint.yaml
sources:
virustotal: true
abuseipdb: true
shodan: true
otx: true
api_keys:
virustotal: "your-api-key"
shodan: "your-api-key"
abuseipdb: "your-api-key"
output:
format: json
file: results.json
append: false
threading:
workers: 10
timeout: 30
Examples
Investigate Suspicious IP
# Complete IP investigation
echo "1.2.3.4" | gosint ip --all-sources --output report.json
# Results include:
# - Geographic location
# - ASN information
# - Reputation scores
# - Known malware
# - Blocklist status
Domain Reconnaissance
# Comprehensive domain analysis
gosint domain target.com --verbose
# Information gathered:
# - DNS records
# - Subdomains
# - WHOIS
# - SSL certificates
# - Web technology
Malware Analysis Workflow
# 1. Get file hash from malware sample
# 2. Look up in VirusTotal
gosint hash d41d8cd98f00b204e9800998ecf8427e --virustotal
# 3. Check domains contacted
# 4. Check IPs
# 5. Correlate across feeds
# 6. Generate report
Best Practices
- Verify multiple sources: Cross-reference indicators
- Check timestamps: Ensure current threat intelligence
- Rate limiting: Respect API rate limits
- API keys: Store securely in environment variables
- Regular updates: Keep feeds current
- Documentation: Document findings and sources
Related Tools
- Shodan: Search engine for internet-connected devices
- VirusTotal: File/URL malware scanning
- AlienVault OTX: Open threat exchange
- ABUSE.CH: Malicious URL/IP tracker
- Censys: Internet scan data
Last updated: 2026-03-30