What Is OSINT and How Attackers Use It to Reconnaissance Your Organization

Retool's new app builder is where AI-generated code ships safely
Building apps with AI is easy. Getting them to production safely is another story.
A skilled attacker does not need to touch your systems to learn most of what they need to know about your organization. Before a single packet is sent to your IP addresses, they have mapped your employee structure from LinkedIn, identified your technology stack from job postings, found credentials in data breach databases, discovered subdomains from certificate transparency logs, and indexed your exposed services via Shodan.
None of this reconnaissance shows up in your logs: it is entirely passive, targeting public data sources rather than your infrastructure. Understanding what attackers find through OSINT is the starting point for reducing your reconnaissance exposure.
OSINT Source 1: LinkedIn and Job Postings
What attackers learn from LinkedIn:
- Org chart: Who reports to the CISO, who manages the SOC, who is the VP of Engineering: useful for targeted phishing (business email compromise) and for understanding the organizational context of the attack
- Employee turnover: Recently departed employees who had privileged access and may have taken data or credentials with them
- Technology stack: Engineers list tools on their profiles: "Experienced with CrowdStrike Falcon, Splunk, AWS, Terraform" tells an attacker exactly what the security stack looks like
- Skill gaps: A small security team with no cloud security specialists suggests cloud configuration reviews are low-priority
What attackers learn from job postings:
Job postings are unusually candid about internal technology:
Example job posting intelligence:
"Requirements: Experience with AWS (EC2, S3, RDS), Kubernetes (EKS),
HashiCorp Terraform, Jenkins CI/CD, and our security tools
(CrowdStrike Falcon, Qualys, Splunk SIEM)."
What this tells an attacker:
- AWS with specific services → look for exposed S3 buckets, IAM misconfigurations
- Jenkins → check for exposed Jenkins console
- CrowdStrike → attacker needs to evade a specific EDR
- Qualys → vulnerability scanning is in place, known CVEs may be patched
- Splunk → SIEM is in place: attacker needs to minimize event generation
Defensive steps:
- Audit your own job postings: specify technology categories ("cloud infrastructure") rather than specific products ("AWS EKS, Terraform 1.6")
- Review LinkedIn employee profiles for disclosed internal tools: they are not required to list internal tool names; most will remove this if asked
- Implement a social engineering awareness program: employees should know that tool disclosure on social media is a reconnaissance vector
OSINT Source 2: DNS, Certificates, and Infrastructure
Passive DNS and certificate transparency:
Certificate transparency logs are public databases of every TLS certificate ever issued. Every subdomain you have ever given a certificate to is discoverable:
# Using crt.sh to enumerate subdomains via certificate transparency
curl -s 'https://crt.sh/?q=%.example.com&output=json' |
jq -r '.[].name_value' |
sort -u |
grep -v '^\*'
# Using amass for comprehensive subdomain enumeration
amass enum -passive -d example.com -o subdomains.txt
# Using subfinder (fast passive enumeration)
subfinder -d example.com -silent
Typical findings from certificate transparency searches:
dev.example.com: development environment, may be less patchedstaging.example.com: staging environment with production-like accessjenkins.example.com: CI/CD server, should not be public-facingvault.example.com: secrets management, should not be public-facingadmin.example.com: administrative interfacevpn.example.com: VPN endpoint, version disclosure may reveal unpatched software
Shodan and Censys: indexing exposed services:
# Search Shodan for all services associated with an organization
shodan search 'org:"Example Corporation" -H
# Find specific vulnerable services
shodan search 'product:Jenkins hostname:example.com'
shodan search 'http.title:"GitLab" hostname:example.com'
shodan search 'ssl:example.com port:8080'
# Look at what Shodan sees for your IP ranges
shodan host 203.0.113.100
Shodan continuously crawls the internet and indexes service banners, including software version numbers. An exposed Confluence server showing Atlassian Confluence 8.1.0 tells an attacker exactly which CVEs apply.
Run your own passive reconnaissance first:
# What does your organization look like from the outside?
# Run these against your own domains before attackers do
amass enum -d example.com -o recon/subdomains.txt
shodan search "org:Example Corporation"
curl -s 'https://crt.sh/?q=%.example.com&output=json' | jq -r '.[].name_value' | sort -u
nmap -sV -p 80,443,8080,8443,22,3389 $(cat recon/subdomains.txt | head -50)
Briefings like this, every morning before 9am.
Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.
OSINT Source 3: GitHub and Code Repositories
What leaks into public GitHub repositories:
- API keys and secrets committed accidentally
- Internal hostnames, IP addresses, and service endpoints in config files
- AWS account IDs, GCP project IDs
- Database connection strings with credentials
- SSH private keys
- .env files committed before adding to .gitignore
- Internal documentation in README files
Search GitHub for your organization's secrets:
# TruffleHog: scan for high-entropy strings and known credential patterns
trufflehog github --org=ExampleCorp --only-verified
# Gitleaks: scan a repository
gitleaks detect --source ./repo --verbose
# GitHub dork searches (manually or via API)
# site:github.com "example.com" password
# site:github.com "example.com" "api_key"
# site:github.com org:examplecorp filename:.env
# site:github.com org:examplecorp "aws_access_key_id"
Tools attackers use and defenders should run first:
# GitGuardian (free for open source)
# Scans public GitHub for your organization's secrets
# Sign up and add your domain to receive alerts when secrets leak
# truffleHog: run against all your public repos
for repo in $(gh repo list ExampleCorp --json name -q '.[].name'); do
echo "Scanning $repo..."
trufflehog github --repo=https://github.com/ExampleCorp/$repo --only-verified 2>/dev/null
done
Defensive steps:
- Add pre-commit hooks that scan for secrets before commit (gitleaks, git-secrets)
- Enable GitHub secret scanning on all repositories
- Configure push protection to block pushes containing detected secrets
- Run TruffleHog or GitGuardian against all existing public repos: rotate any exposed credentials immediately
OSINT Source 4: Breach Data and Credential Exposure
Have I Been Pwned and breach databases:
Multiple data breach databases contain billions of employee email/password combinations from past breaches of other services. Attackers use these to:
- Credential stuffing: try breach passwords against your VPN, email, and SSO
- Password spraying: use common passwords from breach data against all employee accounts
- Context building: knowing an employee's personal email and past passwords reveals patterns
# Check your organization's email domain against HIBP
# Register your domain at haveibeenpwned.com for free breach notifications
curl -s 'https://haveibeenpwned.com/api/v3/breachesforaccount/employee@example.com' \
-H 'hibp-api-key: YOUR_API_KEY' | jq '.[].Name'
# Bulk domain check (via HIBP API or paid service)
# SpyCloud, Flare, and Constella Intelligence provide enterprise breach monitoring
Dehashed and other paid breach databases:
Beyond HIBP, paid services index plaintext passwords from breaches. Attackers often subscribe to these. Defenders should also check:
- DeHashed (subscription service)
- Intelligence X
- Leaked.site
The defensive response to breach exposure:
# Force password reset for all accounts found in breach data
# For Azure AD / Entra ID:
Get-AzureADUser -Filter "mail eq 'exposed-user@example.com'" |
Set-AzureADUserPassword -ForceChangePasswordNextLogin $true
# Enable MFA for all accounts: breach passwords become useless with MFA
# This is the single highest-impact control for credential stuffing prevention
Pastebin, dark web, and telegram OSINT:
Attackers monitor paste sites and dark web forums for leaked credentials, internal documents, and breach announcements. Defensive monitoring:
- DarkOwl, Flashpoint, Recorded Future: commercial dark web monitoring
- Pulsedive: free threat intelligence for domain/email monitoring
- OSINT Industries: free tier for searching leaked data
Reduce your OSINT exposure:
| Exposure | Reduction |
|---|---|
| Employee emails in breach data | MFA on all accounts, password manager with unique passwords |
| Exposed subdomains | Take down dev/staging/admin from public DNS, require VPN |
| GitHub secrets | Pre-commit hooks, GitHub secret scanning, rotate all found credentials |
| Version disclosure in service banners | Remove server headers, keep software current |
| Job posting tech stack details | Specify categories, not product names |
| LinkedIn tool disclosure | Awareness training, employees can remove internal tool names |
The bottom line
Attackers build a complete intelligence picture of your organization from public data before touching a single system. Run the same reconnaissance against yourself first: use Amass and crt.sh to find exposed subdomains, TruffleHog to scan public repos for secrets, Shodan to see what services you are exposing with version banners, and HIBP to identify breach-exposed employee credentials. The three highest-impact defensive responses: enable MFA everywhere (negates breach credential value), enable GitHub secret scanning with push protection, and put dev/staging/admin subdomains behind VPN rather than public DNS.
Frequently asked questions
What is OSINT in cybersecurity?
OSINT (open-source intelligence) is the collection of publicly available information used to build intelligence about a target. Attackers use it to discover employee identities and email formats (LinkedIn, Hunter.io), organization technology stacks (job postings), exposed infrastructure (Shodan, Censys, certificate transparency logs), leaked credentials (breach databases, HIBP), and secrets accidentally committed to public repositories (TruffleHog, GitHub search). All of this reconnaissance is passive: it leaves no trace in the target's logs.
How do you defend against OSINT-based attacks?
Run the same reconnaissance against yourself first using Amass, Shodan, TruffleHog, and HIBP. Enforce MFA on all accounts to neutralize breach credential value. Enable GitHub secret scanning and pre-commit hooks to prevent secrets from leaking to public repos. Remove development, staging, and admin subdomains from public DNS. Train employees that disclosing internal tool names on LinkedIn and job postings provides attacker reconnaissance value.
What OSINT sources do attackers use to research a target organization?
Attackers use layered OSINT across six categories: passive DNS and subdomain enumeration (SecurityTrails, Shodan, Censys — revealing internal services exposed to the internet); LinkedIn for employee names, roles, and internal tool/technology mentions in job postings; data breach databases (HaveIBeenPwned, DeHashed) for corporate email credentials from third-party breaches; public GitHub repositories for accidentally committed secrets, internal API endpoints, and configuration files; Google dorks (site:target.com filetype:pdf OR filetype:xlsx) for sensitive documents; and WHOIS history for historical IP ranges and domain registrations. The recon phase typically takes 1-5 days before any active exploitation.
How do I use Shodan to find my organization's exposed services?
Run a Shodan search for your organization's name and ASN: 'org:"Your Company Name"' returns all internet-facing services registered to your organization's IP ranges. Also search by your primary IP ranges: 'net:192.0.2.0/24'. Review each result for unexpected services: RDP exposed on port 3389, SSH on port 22, database ports (1433, 5432, 3306, 27017) accessible from the internet, and outdated software versions in the banner. Set up Shodan Monitor for continuous alerting: it notifies you when new services appear in your IP ranges. This is the same view an attacker gets during reconnaissance — run this before a penetration test to understand your attack surface.
What is red team OSINT and how is it different from threat intelligence OSINT?
Red team OSINT is adversary-perspective reconnaissance performed against your own organization to discover what an attacker would find: exposed systems, leaked credentials, employee information, and technology footprint. The goal is to discover vulnerabilities before attackers do. Threat intelligence OSINT is outward-looking: monitoring dark web forums, threat actor channels, and paste sites for mentions of your organization, leaked data, or planned attacks against your industry. Both are valuable but serve different purposes. Red team OSINT should be done quarterly by your security team or annually by a third-party red team. Threat intelligence OSINT requires continuous monitoring, typically via a commercial threat intelligence platform.
How do threat actors use employee LinkedIn and social media profiles to execute targeted attacks?
LinkedIn provides attackers with a detailed organizational chart, technology inventory, and employee targeting list. From a corporate LinkedIn page, attackers can determine: the entire technology stack from job postings (we are hiring someone with experience in Palo Alto, Okta, Snowflake, and Kubernetes -- these are the systems in the environment), key decision-makers and their direct reports for business email compromise targeting, recent employee turnover that suggests IT changes or vulnerable transition periods, and merger or acquisition activity that may mean security tools are in flux. Individual employee profiles reveal personal email patterns (firstname.lastname@company.com), home city for spear phishing lure context (local events, sports teams), previous employers for cross-reference with public breach data, and personal interests for social engineering pretexts. Defender actions: train employees not to list specific vendor names in skills sections (use generic terms like 'identity management' instead of 'Okta administrator'). Configure LinkedIn to require connection approval before profile viewers can see employee lists. Use LinkedIn's 'Viewing in private mode' option for security research. Monitor for fake profiles impersonating your employees or executives using your company's name (search for your company name and 'recruiter' or HR titles).
Sources & references
Free resources
Critical CVE Reference Card 2025–2026
25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.
Ransomware Incident Response Playbook
Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.
Get threat intel before your inbox does.
50,000+ security professionals read Decryption Digest for early warnings on zero-days, ransomware, and nation-state campaigns. Free, daily, no spam.
Unsubscribe anytime. We never sell your data.

Founder & Cybersecurity Evangelist, Decryption Digest
Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.
Win a $2,495 Black Hat pass.
Full-access to Black Hat USA 2026 in Las Vegas. Subscribe free to enter.
