skills/conducting-external-reconnaissance-with-osint/SKILL.md
Conduct external recon using OSINT techniques to map an organization's external attack surface without touching target systems, gathering DNS records, certificate transparency logs, search results, social media, code repositories, and breach databases into a target profile. Use for the passive info-gathering phase of a pentest, external footprinting, or collecting employee/email intel for a social engineering campaign.
npx skillsauth add mukul975/cyber-skills conducting-external-reconnaissance-with-osintInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Do not use for stalking, harassment, or unauthorized surveillance of individuals. OSINT gathering must be conducted within the scope of an authorized engagement and comply with applicable privacy laws (GDPR, CCPA).
Enumerate all domains, subdomains, and DNS records associated with the target:
whoxy.com or domaintools.comamass enum -passive -d target.com -o amass_subs.txt for passive subdomain discovery from 40+ data sourcessubfinder -d target.com -all -o subfinder_subs.txt for fast passive enumerationcrt.sh certificate transparency log queries: curl -s "https://crt.sh/?q=%25.target.com&output=json" | jq -r '.[].name_value' | sort -udig target.com ANY, check for SPF, DKIM, DMARC records that reveal email infrastructure, and enumerate MX records to identify email providersdig axfr @ns1.target.com target.com to check for misconfigured DNS serversIdentify internet-facing infrastructure without directly scanning target systems:
shodan search "ssl.cert.subject.cn:target.com" to find all internet-facing services with TLS certificates for the target domain. Also search by organization name and IP ranges.target-com, target-backup, target-dev), Azure Blob storage (target.blob.core.windows.net), and GCP storage using tools like cloud_enumwafw00f target.com to identify web application firewalls and CDN providers that may mask the origin server IPweb.archive.org) to find removed pages, old application versions, and forgotten endpointsGather employee information and email addresses for social engineering preparation:
theHarvester -d target.com -b all -f harvest_results.html to collect emails from search engines, LinkedIn, and data sourceshunter.io to determine the email format (first.last, flast, firstl) and verify deliverabilitySearch for exposed credentials and sensitive data:
haveibeenpwned.com API for breached email addresses associated with the target domainorg:target "password", org:target "api_key", org:target "secret"trufflehog or gitleaks for automated secret scanning across the target's public repositoriesexiftool to reveal internal usernames, software versions, printer names, and file pathssite:target.com filetype:pdf for public documentssite:target.com inurl:admin for admin panelssite:target.com "index of /" for directory listingssite:pastebin.com "target.com" for paste site mentionsIdentify the technologies, frameworks, and services used by the target:
whatweb target.com or Wappalyzer browser extension to identify CMS, frameworks, JavaScript libraries, analytics, and server softwaresslyze target.com or testssl.sh target.com to identify cipher suites, protocol versions, certificate details, and cryptographic weaknessesv=spf1 include:_spf.google.com indicates Google Workspace, MS=msXXXXXX indicates Microsoft 365)apktool (Android) or frida for hardcoded URLs, API endpoints, and embedded credentials| Term | Definition | |------|------------| | OSINT | Open Source Intelligence; intelligence collected from publicly available sources including websites, social media, public records, and government data | | Passive Reconnaissance | Information gathering without directly interacting with target systems, leaving no footprint in target logs | | Active Reconnaissance | Information gathering that involves direct interaction with target systems (scanning, probing) and may be logged | | Certificate Transparency | Public logs of TLS certificates issued by certificate authorities, queryable to discover subdomains and infrastructure | | Attack Surface | The sum of all points where an unauthorized user can attempt to enter or extract data from an environment | | Google Dorking | Using advanced Google search operators to find sensitive information indexed by search engines that was not intended to be public | | Shadow IT | Technology systems and services deployed by employees or departments without the knowledge or approval of the IT department |
Context: A technology company has contracted a red team assessment. Before active testing begins, the team conducts passive OSINT to map the attack surface and identify potential entry points. The target is a SaaS company with 500 employees and a primary domain of techcorp.io.
Approach:
.env file with AWS access keysPitfalls:
## External Reconnaissance Report - TechCorp.io
### Attack Surface Summary
- **Domains discovered**: 3 (techcorp.io, techcorp.com, techcorpapp.com)
- **Subdomains enumerated**: 147 unique subdomains across all domains
- **Unique IP addresses**: 34 IPs mapped across AWS us-east-1 and us-west-2
- **Email addresses collected**: 89 valid corporate email addresses
- **Exposed services**: 12 internet-facing services identified via Shodan/Censys
### Critical Findings
**1. Unauthenticated Elasticsearch Instance**
- Host: 52.xx.xx.xx:9200 (elastic.techcorp.io)
- Indexed data: Application logs containing user session tokens and PII
- Source: Shodan search "ssl.cert.subject.cn:techcorp.io"
**2. AWS Credentials in Public GitHub Repository**
- Repository: github.com/former-dev/techcorp-scripts
- File: .env containing AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
- Status: Keys appear active (not tested - out of scope for passive recon)
**3. Directory Listing Exposing Internal Documents**
- URL: https://docs.techcorp.io/internal/
- Contents: Architecture diagrams, network topology, runbooks
- Source: Google dork "site:techcorp.io intitle:index.of"
### Recommendations
1. Immediately rotate the exposed AWS credentials and audit CloudTrail logs
2. Restrict Elasticsearch access to internal networks or add authentication
3. Disable directory listings on docs.techcorp.io and audit all web servers
4. Implement GitHub secret scanning across all organization repositories
development
Detect Pass-the-Hash (T1550.002) attacks by analyzing NTLM authentication patterns, flagging Type 3 logons using NTLM where Kerberos would be expected, and correlating with credential-dumping indicators. Use when threat hunting for lateral movement via stolen NTLM hashes, triaging EDR/SIEM alerts on suspicious NTLM logons, scoping compromise during incident response, or validating detection coverage in a purple team exercise.
testing
Detect and respond to OAuth token theft and replay in Microsoft Entra ID (Azure AD), covering access token theft, refresh token replay, Primary Refresh Token (PRT) abuse, pass-the-cookie attacks, and Token Protection conditional access policies. Use for impossible-travel or anomalous token-usage alerts, suspected session hijacking, sign-in log analysis, or configuring token-binding defenses in Azure/M365.
development
Detect NTLM relay attacks (T1557.001) by correlating Windows Event 4624 LogonType 3 for IP-to-hostname mismatches, identifying Responder/LLMNR poisoning artifacts, auditing SMB/LDAP signing, and flagging NTLMv2-to-NTLMv1 downgrades. Use for hunting credential relay in NTLM-enabled AD, investigating auth-source anomalies, building SIEM correlation rules, or responding to PetitPotam/DFSCoerce/PrinterBug alerts.
data-ai
Detect network reconnaissance and port scanning using Suricata and Snort IDS signatures, threshold-based detection rules, and traffic anomaly analysis to identify Nmap, Masscan, and custom scanning activity.