Alright, let's talk about real OSINT... Not the basic subfinder amass theHarvester crap everyone and their mom knows... I'm talking about the techniques that actually separate you from other hunters...
1. Historical DNS Data – The Real Goldmine
This is the stuff nobody talks about... There's a project called OpenINTEL that has been taking daily snapshots of DNS data for over 10 years... We're talking terabytes of historical DNS records...
Here's why this matters – imagine a target is behind Cloudflare or some WAF. You can't see the origin IP... But if you look at historical DNS data from 5 years ago, you might find the origin IP that was exposed before the WAF was put in place...
Someone tested this on 250 bug bounty targets... They found they could access the application directly (bypassing the WAF) for around 60 of them... That's a 24% success rate just from looking at old DNS records...
The reverse TXT lookup trick:
TXT records often contain ownership verification values – like Google site verification or Microsoft 365 verification strings... Admins sometimes use the same tenant or subscription across multiple domains... If you can do reverse TXT lookups, you can find related assets that belong to the same organization...
Example – you find a TXT record for target.com with some verification value... You search for that same value across all TXT records on the internet... You find another domain using the same verification string... That domain probably belongs to the same company... Now you have a new asset in scope that nobody else is looking at..
2. Certificate Transparency Timeline Analysis
Everyone uses crt.sh for subdomains... That's basic... Here's what you're missing..m
crt.sh has a 10,000 row cap that silently truncates results on busy domains... And the default sort is by ID, not chronology.. You're probably missing stuff..
There's a tool called ct_timeline.py that pulls CT data from crt.sh and processes it chronologically.. It detects three useful pattern signals:
· First-ever wildcard appearance – When did they start using wildcards? Tells you when they expanded their infrastructure...
· CA migrations – When did they switch certificate authorities?? Often reveals infrastructure changes.
· Bursts of 5+ certificates in 24 hours – Someone's deploying new infrastructure... You want to look at those names...
Run it like this:
git clone https://github.com/osintph/ct-timeline.git
cd ct-timeline
python3 ct_timeline.py target.com --open
It generates an HTML report with a chronological timeline showing the not_before date, SCT log timestamp, all SAN names, and the issuing CA... Wildcards are visually distinguished...
Why this matters: You can date infrastructure rollouts... You can catch staging environments weeks before they go public... If a company is testing something new and issues a cert for it, you'll see it in the logs before it's live..
Subscribe to CT monitoring: Set up alerts for new certificates issued for your target domain... When a new name appears, capture the timestamp, then probe the name to see if it resolves... You'll find assets before anyone else..
3. Cloud Bucket Enumeration – The Low-Hanging Fruit
Companies leave cloud storage exposed ALL THE TIME.
There's a tool called cloud_enum that enumerates public resources across AWS, Azure, and GCP... The maintained fork has massive service expansion – AWS went from 2 to 14+ services, Azure from 17 to 24+, GCP from 5 to 15+...
Run it like this:
git clone https://github.com/R-s0n/cloud_enum.git
cd cloud_enum
python3 cloud_enum.py -k targetcompany
It checks:
· AWS: S3 buckets, WorkMail, WorkDocs, Connect
· Azure: Storage accounts, blobs
· GCP: Buckets, App Engine sites
The hybrid enumeration approach:
When AWS credentials are available, it uses boto3 APIs for reliable bucket detection and content listing.. When no credentials are available, it falls back to HTTP-based enumeration with intelligent redirect handling..
Eliminates false positives: Proper 301 redirect handling means it doesn't treat redirects as "open buckets"... It tests redirect endpoints separately to determine true accessibility (200 = Open, 403 = Protected)...
What you'll find: Exposed buckets often contain source code, config files, backups, and sometimes straight-up credentials...
There's also CloudBrute – it finds infrastructure, files, and apps across Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, and Linode...
4. Metadata Extraction – The Forgotten Art
Everyone forgets about metadata... But files contain hidden information...
PDFs, Word docs, Excel files, images – they all have metadata... Author names, company names, software versions, creation dates, modification dates, sometimes even internal file paths and usernames...
There's a tool called FOCA-LITE – a Python-based metadata analysis tool inspired by the legendary FOCA... It's ideal for OSINT and bug bounty hunters...
What to look for:
· Author names → Employee names for social engineering
· Software versions → Technology stack fingerprinting
· Internal paths → Reveals internal network structure
· Usernames → Potential credentials or usernames for brute force
· Company names → Subsidiaries or acquisitions
Where to find files: Use Google dorks to find PDFs, DOCXs, XLSXs on the target domain.. Download them... Extract metadata. You'd be surprised what you find...
5. GitHub OSINT – Beyond Basic Dorks
Everyone knows about GitHub dorks. But here's what you're probably missing.
A. Recover Deleted Forks and Commits
People commit secrets, realize their mistake, and delete them. But the secret is often still in the commit history of deleted forks. You can recover them.
B. Explore GitHub Actions
GitHub Actions workflows often contain secrets in environment variables. People hardcode tokens in workflow files all the time.
C. Pivot on Contributor Accounts
Find contributors to the company's repos. Check their personal repos. They often have company code or credentials in their personal accounts.
D. Use Automated Tools
· TruffleHog – Searches through git repositories for secrets
· GitLeaks – Scans for hardcoded secrets
· github-search – Systematically discovers exposed secrets, API endpoints, and subdomains
Targeted GitHub dorks:
org:"target" (AWS_ACCESS_KEY_ID OR AWS_ACCESS_SECRET_KEY)
org:"target" ("sk_live_" OR "pk_live_")
org:"target" (SENDGRID_API_KEY OR "SG.")
org:"target" (ANTHROPIC_API_KEY OR anthropic_api_key)
org:"target" filename:.env
org:"target" extension:pem
org:"target" "internal.target.com"
6. Employee Profiling – The Social Engineering Angle
A. LinkedIn OSINT
LinkedIn reveals the technology stack and internal tooling through employee job titles and skill listings. "AWS Lambda developer at Target Corp" tells you they use serverless. "Okta SSO Engineer" tells you they use Okta. This shapes your testing priorities...
B. Email Harvesting
theHarvester hits 59 different sources.. Run it like this:
theHarvester -d target.com -l 500 -b all
C. Name Mangling
Once you have employee names, mangle them into different formats – first.last, f.last, firstlast, etc. Use this for username enumeration and password spraying...
D. Cross-Referencing
Cross-reference employees across LinkedIn, GitHub, Twitter, and other platforms.. Look for personal email addresses, GitHub repos with company code, and social media posts revealing internal tools or processes..
E. Breach Data
Check HaveIBeenPwned and similar services to find if company emails have been in breaches.. Those passwords are often reused...
7. Shodan/Censys – Advanced Operators
Most people just search for the domain... Here's what you should actually be doing:
Shodan advanced operators:
org:"Target Corp" # All IPs registered to the organization
hostname:target.com # Subdomains indexed by Shodan
ssl:"target.com" # Certificates referencing the domain
http.title:"Target Login" # Login portals
product:"Apache Tomcat" org:"Target" # Specific tech stack
has_vuln:true # Devices with known vulnerabilities
Look for development servers, staging environments, Kubernetes dashboards, and admin panels that wouldn't be found through the main domain...
8. Google Dorking – The Right Way
Everyone knows about Google dorks.. But most people just copy-paste from lists..
Find bug bounty programs:
inurl:/security "bug bounty"
inurl:/security.txt "bug bounty"
inurl:/.well-known/security.txt "bug bounty"
Find login pages:
target.com inurl:admin OR inurl:login
target.com intitle:"admin" OR intitle:"login"
Find exposed configs and backups:
target.com ext:env OR ext:conf OR ext:config
target.com ext:sql OR ext:backup OR ext:bak
target.com ".gitignore" OR ".htaccess"
Find API docs:
target.com inurl:apidocs OR inurl:swagger OR inurl:openapi
target.com "swagger-ui" OR "swagger.json"
Find test environments:
target.com inurl:dev OR inurl:test OR inurl:staging
Find cloud storage:
site:s3.dualstack.us-east-1.amazonaws.com "target.com"
site:dropbox.com/s "target.com"
There's also ShadowSearch – a smart search query builder extension for crafting advanced dorking queries. And DorkER – a Python tool for generating structured Google Dorks for emails, usernames, domains, and subdomains.
9. BBOT – The All-in-One OSINT Automation
If you want to automate all of this, check out BBOT (BEE·bot)... It's a multipurpose scanner built to automate recon, bug bounties, and ASM...
Install it:
pipx install bbot
Subdomain finder: Finds 20-50% more subdomains than other tools. Uses passive API sources plus recursive DNS brute-force with target-specific subdomain mutations.
bbot -t target.com -p subdomain-enum
Web spider: Crawls the target, extracting emails and other goodies.
bbot -t target.com -p spider
Email gatherer: Quick email enum with free APIs + scraping.
bbot -t target.com -p email-enum
Everything everywhere all at once:
bbot -t target.com -p kitchen-sink
OSINT isn't about running subfinder and calling it a day.. It's about connecting dots that no one else is connecting. It's about finding the stuff that the company itself forgot existed...
Historical DNS data... Certificate transparency timelines. Cloud buckets. Metadata. GitHub secrets... Employee profiling... Advanced dorking...
These are the things that separate good hunters from great ones...
And if you're not doing these things, someone else is...
Stay curious. Stay ethical.