appsec.fyi

Recon — A Practical Guide

A curated AppSec resource library covering XSS, SQLi, SSRF, IDOR, RCE, XXE, OSINT, and more.

Recon: A Practical Guide

Curated and synthesized by . Last updated 2026-09-01. Synthesized from 228 of 228 curated resources. Browse all 228 Recon resources →

Problem Framing

The initial phase of any application security assessment, whether for penetration testing, bug bounty hunting, or proactive vulnerability management, is reconnaissance. This phase is critical for understanding the target's attack surface. Without a thorough understanding of what is exposed, identifying vulnerabilities becomes a matter of chance rather than informed investigation. The complexity of modern applications, distributed systems, cloud deployments, and microservices architecture has significantly expanded the potential attack surface, making traditional reconnaissance methods insufficient on their own. A systematic approach is required to uncover all accessible assets, services, and potential entry points [1][2]. This involves moving beyond simple network scans to encompass a wide array of passive and active techniques that reveal the true extent of an organization's digital footprint. The goal is to build a comprehensive map of the target, identifying not just the primary web applications but also associated infrastructure, APIs, cloud assets, and even overlooked legacy systems.

Core Mechanics

Reconnaissance fundamentally revolves around identifying and mapping an organization's digital assets. This is achieved through two primary categories of techniques: passive and active.

Passive Reconnaissance

Passive reconnaissance involves gathering information without directly interacting with the target system, thereby minimizing the risk of detection. This leverages publicly available data sources. Key sources include:

Active Reconnaissance

Active reconnaissance directly interacts with the target systems. While more prone to detection, it yields more up-to-date and granular information.

Notable Techniques

Beyond the core mechanics, several specific techniques are particularly effective for uncovering vulnerabilities and expanding the attack surface:

Subdomain Takeover Exploitation

Subdomain takeovers occur when a subdomain points to a cloud resource (like an S3 bucket, GitHub Pages site, or Heroku app) that is no longer provisioned or configured by the legitimate owner, but the DNS record still exists. An attacker can then register the target resource and gain control of the subdomain, potentially leading to phishing, hosting malicious content, or exploiting trust relationships [29]. Tools like Can I Take Over XYZ? and automated scripts help identify these opportunities [29].

Kubernetes API Access Vectors

Kubernetes environments present unique attack surfaces. Exploitable vectors include unauthenticated access to the API server, compromised kubeconfig files, abused kubectl proxy, and direct access to the Kubelet API. Misconfigurations here can lead to unauthorized access, pod manipulation, or even host-level compromise [30].

IMDS Exploitation

The Instance Metadata Service (IMDS) in cloud environments, particularly AWS, provides access to instance metadata, including temporary credentials. If an application is vulnerable to Server-Side Request Forgery (SSRF) or code injection, an attacker can exploit IMDS to steal these credentials, leading to extensive access within the cloud environment [30].

GitHub Actions Security Misconfigurations

GitHub Actions, a CI/CD platform, can be a significant source of vulnerabilities if misconfigured. Exploits include the pull_request_target event, which can execute untrusted code in the context of the repository, and script injection vulnerabilities within workflows. These can lead to secret exfiltration, supply chain attacks, and repository compromise [29].

Entra ID Rogue Device Registration

Attacks targeting Microsoft Entra ID (formerly Azure AD) can involve rogue device registration. This is often achieved through phishing campaigns, such as device code phishing, that trick users into authorizing malicious device joins. Wiz.io reported that nearly one in seven Entra ID environments experienced at least one rogue device join attack [31]. Behavioral analysis is key to detecting these rather than solely relying on static indicators.

Direct-to-IP (D2IP) C2 Communication

Malware increasingly bypasses traditional DNS-based Command and Control (C2) infrastructure by communicating directly with IP addresses. This makes detection harder for security tools reliant on DNS logs. Wiz.io's analysis indicated that nearly half of the malware samples they examined communicated direct to IP [32]. This highlights the importance of network traffic analysis and host-based detection that doesn't solely depend on DNS resolution.

EV Charger Compromise

Emerging attack surfaces include Internet of Things (IoT) devices, such as Electric Vehicle (EV) chargers. Some EV chargers expose services like SSH or Telnet with default credentials, presenting a direct vulnerability. Exploitation via these exposed ports, sometimes even accessible over the charging interface, can grant attackers network access [33]. For example, XCharge C6 EV chargers were found exploitable via exposed SSH/Telnet with root:root credentials [33].

Honeypot Analysis

Analyzing traffic to honeypots can reveal attack patterns, common exploitation techniques, and credential harvesting attempts. This intelligence can inform defensive strategies and active reconnaissance efforts by revealing what attackers are actively seeking [34].

Graph Theory for Attack Path Visualization

Representing relationships between assets, users, and privileges in a graph database, such as with tools like BloodHound for Active Directory or AdversaryGraph for general CTI, allows for the visualization of complex attack paths [35]. This helps in understanding how a compromise in one area could lead to broader access.

AI-Assisted Reconnaissance

Artificial intelligence is increasingly being integrated into reconnaissance tools and methodologies. AI agents can automate complex tasks, identify subtle patterns, and adapt reconnaissance strategies. Tools like Pentest Swarm AI and RedAmon leverage AI for decentralized and adaptive penetration testing [29]. AI can also assist in identifying unusual cloud assets or spotting previously unknown vulnerabilities [29].

Favicon Analysis for Asset Identification

Favicons serve as unique identifiers for web applications. By hashing favicons, security professionals can fingerprint and attribute assets, identify related infrastructure, and even detect honeypots. This technique is valuable for mapping an organization's attack surface, especially when subdomains might be discoverable through other means but their association needs confirmation [12].

JS Analysis for Hidden Endpoints and Parameters

JavaScript files often contain valuable information about an application's functionality, including hidden API endpoints, parameters, and authentication mechanisms that are not apparent from the HTML source alone. Tools like LinkFinder, JSFScan.sh, and JSReconduit parse these files to extract such details [22][23]. Abstract Syntax Tree (AST)-based analysis can provide deeper insights into the code's structure and potential vulnerabilities [23].

Fuzzing (Path, Parameter, Header)

Fuzzing is a critical technique for uncovering hidden functionality, misconfigurations, and vulnerabilities. This includes fuzzing for directories and files (ffuf, feroxbuster), parameters (Arjun, ParamSpider), and HTTP headers. Custom wordlists, generated based on the target application's technology stack or observed patterns, significantly improve fuzzing effectiveness [13][15][16].

Detection & Prevention

Effective reconnaissance detection and prevention strategies are multifaceted, aiming to reduce the information an attacker can gather and to detect their activities early.

Reducing Information Leakage

Detection Mechanisms

Tooling

A robust reconnaissance toolkit is essential for practitioners. The selection of tools depends on the specific phase of reconnaissance and the target environment.

Subdomain Enumeration & Asset Discovery

Port Scanning

Web Crawling & Content Discovery

JavaScript Analysis

OSINT & Information Gathering

Vulnerability Scanning

Cloud Security Reconnaissance

Automation Frameworks

Recent Developments

The field of reconnaissance is constantly evolving, driven by several key trends:

AI and Machine Learning Integration

AI is increasingly being integrated into reconnaissance tools to automate complex tasks, identify subtle patterns, and improve the efficiency of attack surface discovery. This includes AI agents for adaptive penetration testing and machine learning models for anomaly detection in network traffic or cloud configurations [29][46]. Tools are emerging that leverage AI to predict potential attack vectors or prioritize targets based on perceived risk.

Focus on Cloud-Native and Containerized Environments

As organizations move to cloud-native architectures and containerization (e.g., Kubernetes), the attack surface has expanded and become more complex. Reconnaissance techniques are adapting to discover and analyze these environments, identifying misconfigured Kubernetes APIs, vulnerable container images (e.g., Leaky Vessels vulnerability), and exposed cloud metadata services (IMDS) [29][30].

Supply Chain Security and CI/CD Reconnaissance

The compromise of software supply chains through vulnerabilities in CI/CD pipelines is a growing concern. Reconnaissance efforts are now extending to these pipelines, looking for misconfigurations in tools like GitHub Actions that could lead to secret exfiltration or malicious code injection [29].

Evolving Evasion Techniques

Attackers and defenders are continually developing new methods to evade detection. This includes the rise of direct-to-IP (D2IP) C2 communication bypassing DNS defenses, and sophisticated techniques for hiding origin hosts behind CDNs and reverse proxies [32][47]. Reconnaissance must adapt to uncover these hidden pathways.

Specialized IoT and OT Reconnaissance

The attack surface of Industrial IoT (IIoT) and Operational Technology (OT) devices, such as EV chargers, is becoming a focus. Discovering exposed services like SSH/Telnet with default credentials on these devices presents a new frontier for reconnaissance [33].

Advanced JavaScript Analysis

The complexity and ubiquity of JavaScript in modern web applications necessitates deeper analysis. Techniques such as AST-based parsing, source-to-sink taint propagation, and dynamic analysis are becoming more prevalent for uncovering hidden endpoints, logic flaws, and client-side secrets within JavaScript code [23].

Where to Go Deeper

To further enhance your reconnaissance skills and stay abreast of the latest developments, consider the following resources and areas of study:

Sources cited in this guide

  1. The Art of Recon: Strategies for Modern Asset Discovery — assetnote.io
  2. External Attack Surface Management (EASM) — cycognito.com
  3. Finding Hidden Internal Apps Through Public Certificate Logs — naveensrinivasan.com
  4. Complete Guide to Amass Tool (2025 Edition) — cyberxsociety.com
  5. When fear no longer holds you back. Interview with Ryan Bonner (Roll4CombatUS) — intigriti.com
  6. GitHub - tg12/dns-honeypot: dns-honeypot — github.com
  7. Google dork cheatsheet — gist.github.com
  8. https://github.com/BishopFox/GitGot — github.com
  9. WebRecon from @D4rk_Intel is another OSINT multi-tool worth knowing about. 🧠 — x.com
  10. GitHub - LuffySec/Automation-JS-Recon: This tools used for Automating finding of subdomain, and checking for alive subdomain, and gathering js files from all the subdomain and then automating finding of sensitive information on all the js files — github.com
  11. GitHub - redhuntlabs/Awesome-Asset-Discovery: List of Awesome Asset Discovery Resources — github.com
  12. On Favicons: From Browser Icons to Attack Surface Intelligence — bishopfox.com
  13. Building a Fast One-Shot Recon Script for Bug Bounty — blog.projectdiscovery.io
  14. https://github.com/m0rtem/CloudFail — github.com
  15. GitHub - blacklanternsecurity/bbot: The recursive internet scanner for hackers. 🧡 — github.com
  16. trickest/wordlists — github.com
  17. Recon for Bug Bounty: 8 Essential Tools — intigriti.com
  18. Naabu Zero to Hero Guide (Cyber Aryan) — thecyberaryan.github.io
  19. Recon series #4: Port scanning methods (YesWeHack) — yeswehack.com
  20. GitHub - RustScan/RustScan: 🤖 The Modern Port Scanner 🤖 — github.com
  21. The Ultimate Guide to Port Scanning using Nmap | Nmap Notes — hacklido.com
  22. JSFScan.sh: JavaScript recon automation (KathanP19) — github.com
  23. MantisSTS/JSReconduit: Passive JavaScript reconnaissance for penetration testers — bridging Burp Suite traffic into structured, AST-based analysis in VSCode. — github.com
  24. A Burpsuite Extension For JS Reconnaissance - Jsmon — blogs.jsmon.sh
  25. The Ultimate Guide to Finding Bugs With Nuclei (ProjectDiscovery) — projectdiscovery.io
  26. GarudRecon - Automated Domain Recon with XSS, SQLi, LFI, RCE Detection — github.com
  27. Install Nuclei — github.com
  28. Cloud Security Orienteering — tldrsec.com
  29. Graphing AWS Attack Paths in Bloodhound — blog.n0pe-sled.com
  30. https://github.com/leebaird/discover — github.com
  31. How to Spot and Stop Rogue Device Joins — wiz.io
  32. Almost Half of Malware Samples Communicate Direct to IP — unit42.paloaltonetworks.com
  33. The Hidden CCS2 Attack Surface on EV Chargers — saiflow.com
  34. Inside a Russian-speaking operator's toolkit for compromising Ukrainian IP cameras — hunt.io
  35. AdversaryGraph v5.0: From CTI Mapping to Attack Simulation and SIEM Validation — infosecwriteups.com
  36. robre/jsmon: a javascript change monitoring tool for bugbounties — github.com
  37. Amass Cheat Sheet: 70+ Commands for Recon & Bug Bounty — securityelites.com
  38. OWASP Amass - An Extensive Tutorial — github.com
  39. OWASP Amass - Users' Guide — github.com
  40. Naabu Cheat Sheet: Commands & Examples (HighOn.Coffee) — highon.coffee
  41. HTB: BountyHunter — 0xdf.gitlab.io
  42. New Release: FullHunt Public API! — fullhunt.io
  43. Pentest-Cheat-Sheets — github.com
  44. How I Found multiple SQL Injection with FFUF and Sqlmap in a few minutes — 0xmahmoudjo0.medium.com
  45. GitHub - Arcanum-Sec/msftrecon — github.com
  46. xpfarm: Automated bug bounty & recon framework (GitHub) — github.com
  47. hakoriginfinder — github.com
  48. Recon Roundup: Ultimate Reconnaissance Guide — yeswehack.com
  49. How to Set up a Reverse Proxy (Step-By-Steps for Nginx and Apache) — kinsta.com
📚 This guide is synthesized from the full text of resources curated in the Recon library, and refreshed as new material is added.