Conducting External Reconnaissance With Osint
Overview
Cybersecurity skill for conducting external reconnaissance with osint. Follows industry best practices and security standards.
When to Use
Trigger phrases:
"conducting external reconnaissance with osint"
"Conducts external reconnaissance using Open Source Intelligence (OSINT) techniqu"
Performing the initial reconnaissance phase of a penetration test to gather intelligence before active scanning
Mapping an organization's external attack surface to identify unknown or shadow IT assets
Collecting employee information, email formats, and organizational structure for social engineering campaigns
Identifying exposed credentials, leaked data, or sensitive documents published on the internet
Scoping the breadth of an organization's digital footprint prior to a red team engagement
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).
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- Written authorization to perform reconnaissance against the target organization
- Dedicated research workstation with a VPN or Tor for anonymized queries when required
- OSINT framework tools installed: Amass, theHarvester, Shodan CLI, Recon-ng, SpiderFoot
- API keys for Shodan, Censys, SecurityTrails, Hunter.io, VirusTotal, and GitHub for enhanced results
- Disposable email accounts for accessing services that require registration during research
Workflow
# Example: IOC detection
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> dict:
return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}
- Scope the Analysis — Define what external reconnaissance artifacts or data sources to examine and the investigation timeline.
- Preserve Evidence — Create forensic copies of relevant data. Maintain chain of custody documentation.
- Extract Key Indicators — Use osint to parse and extract relevant external reconnaissance data points from collected artifacts.
- Correlate Findings — Cross-reference extracted data with other sources (threat intel, logs, timelines).
- Build Timeline — Construct a chronological sequence of events related to external reconnaissance.
- Document Analysis — Write findings report with evidence, conclusions, and recommendations.
Tools
- osint — Primary tool for this skill
- Forensic Toolkit — Evidence collection and analysis
- Timeline Tools — Chronological event reconstruction
- Log Analysis Platform — Centralized log parsing and search
Process
- Prepare — Gather requirements, verify prerequisites, set up environment
- Execute — Run conducting external reconnaissance with osint workflow with configured parameters
- Verify — Validate output meets requirements, document results
Verification
Anti-Rationalization Table
| Rationalization |
Reality |
| "We are too small to be targeted" |
Automated attacks target everyone. Size does not matter. |
| "Security slows us down" |
A breach slows you down 100x more. Build security in from the start. |
| "We will fix it after launch" |
Vulnerabilities in production are exploited within hours. Fix before deploy. |
1---2name: conducting-external-reconnaissance-with-osint3description: Use when conducts external reconnaissance using Open Source Intelligence (OSINT) techniques to map an organization's external attack surface without directly interacting with target systems. The tester gathers information from public sources including DNS records, certificate transparency logs, search engines, social media, code repositories, and data breach databases to build a comprehensive target profile. Use when working with conducting external reconnaissance with osint.4license: Apache-2.05---67# Conducting External Reconnaissance With Osint89## Overview1011Cybersecurity skill for conducting external reconnaissance with osint. Follows industry best practices and security standards.1213## When to Use14**Trigger phrases:**15- "conducting external reconnaissance with osint"16- "Conducts external reconnaissance using Open Source Intelligence (OSINT) techniqu"171819- Performing the initial reconnaissance phase of a penetration test to gather intelligence before active scanning20- Mapping an organization's external attack surface to identify unknown or shadow IT assets21- Collecting employee information, email formats, and organizational structure for social engineering campaigns22- Identifying exposed credentials, leaked data, or sensitive documents published on the internet23- Scoping the breadth of an organization's digital footprint prior to a red team engagement2425**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).262728## When NOT to Use2930- When you lack proper authorization for testing31- For production systems without change management32- When the task requires legal or compliance expertise beyond technical scope333435## Prerequisites3637- Written authorization to perform reconnaissance against the target organization38- Dedicated research workstation with a VPN or Tor for anonymized queries when required39- OSINT framework tools installed: Amass, theHarvester, Shodan CLI, Recon-ng, SpiderFoot40- API keys for Shodan, Censys, SecurityTrails, Hunter.io, VirusTotal, and GitHub for enhanced results41- Disposable email accounts for accessing services that require registration during research4243## Workflow4445```python46# Example: IOC detection47import re4849IOC_PATTERNS = {50 "ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",51 "domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",52 "hash_md5": r"\b[a-f0-9]{32}\b",53 "hash_sha256": r"\b[a-f0-9]{64}\b",54}5556def extract_iocs(text: str) -> dict:57 return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}58```59601. **Scope the Analysis** — Define what external reconnaissance artifacts or data sources to examine and the investigation timeline.612. **Preserve Evidence** — Create forensic copies of relevant data. Maintain chain of custody documentation.623. **Extract Key Indicators** — Use osint to parse and extract relevant external reconnaissance data points from collected artifacts.634. **Correlate Findings** — Cross-reference extracted data with other sources (threat intel, logs, timelines).645. **Build Timeline** — Construct a chronological sequence of events related to external reconnaissance.656. **Document Analysis** — Write findings report with evidence, conclusions, and recommendations.6667## Tools6869- **osint** — Primary tool for this skill70- **Forensic Toolkit** — Evidence collection and analysis71- **Timeline Tools** — Chronological event reconstruction72- **Log Analysis Platform** — Centralized log parsing and search737475## Process76771. **Prepare** — Gather requirements, verify prerequisites, set up environment781. **Execute** — Run conducting external reconnaissance with osint workflow with configured parameters791. **Verify** — Validate output meets requirements, document results8081## Verification8283- [ ] All external reconnaissance procedures executed completely and documented84- [ ] Findings validated against multiple data sources85- [ ] False positives identified and filtered86- [ ] Results documented with evidence and timestamps87- [ ] Recommendations provided with risk-based prioritization8889## Anti-Rationalization Table9091| Rationalization | Reality |92|---|---|93| "We are too small to be targeted" | Automated attacks target everyone. Size does not matter. |94| "Security slows us down" | A breach slows you down 100x more. Build security in from the start. |95| "We will fix it after launch" | Vulnerabilities in production are exploited within hours. Fix before deploy. |