This project provides a seamless Recon-as-Code solution for passive web application reconnaissance. By leveraging GitHub Actions for CI/CD, it integrates sophisticated recon tools with a Flask dashboard, enabling users to visualize findings and enhance security posture through effortless automation.
Recon-as-Code: Passive Web Application Reconnaissance in a CI/CD Pipeline
This project provides a fully automated Recon-as-Code workflow designed for passive reconnaissance of web application environments. It leverages GitHub Actions for CI/CD automation, integrates robust reconnaissance tools, and features a Flask-powered dashboard for visualized and authenticated access to reconnaissance findings.
Key Features
- Subdomain Enumeration: Utilize subfinderandassetfinderto discover subdomains efficiently.
- Live Host Probing: Conduct live probing with httpx, focusing on filtered responses (2xx/3xx).
- Archived URL Extraction: Leverage waybackurlsto extract historically cached URLs.
- Technology Stack Fingerprinting: Identify web technologies in use using whatweb.
- DNS Record Enumeration: Perform detailed DNS record analysis with dnsx.
- Subdomain Takeover Detection: Assess vulnerabilities in subdomains with subzy.
- Optional GitHub Leak Detection: Incorporate detection capabilities with github-dorks.
- Dynamic HTML Reports: Generate HTML reports with pagination and dark-mode support.
- Authenticated Dashboard: Access findings through a secure Flask dashboard with session validation and a user-friendly interface.
- Matrix-style UI: Enjoy an engaging and visually appealing animated interface in dark mode.
Technologies Used
- Python (Flask): Serves as the web interface and manages session logic.
- SQLite: Secures user credential storage.
- JavaScript: Enables pagination, authentication functionalities, and animated graphics.
- Docker: Provides a reliable runtime environment for the application.
- GitHub Actions: Automates the CI/CD workflows that run reconnaissance tools.
- Self-hosted Runner: Supports volume-mounted deployment for added flexibility.
CI/CD Workflow
The CI/CD workflow outlined in web_app_recon.yml efficiently handles passive reconnaissance by:
- Accepting user-provided domain inputs (defaulting to target.com).
- Executing passive reconnaissance tools concurrently.
- Storing outputs as text files in the findings/directory.
- Copying findings into the /output/data/directory.
- Generating comprehensive HTML reports using generate_report.py.
- Making reports accessible via the authenticated Flask frontend.
Authentication & Security
- Implement secure login procedures utilizing bcrypt-hashed credentials stored within SQLite.
- Establish session management tactics, including session termination after 10 minutes of inactivity to enhance security for pages such as /dashboardand report routes.
Output Files
The following output files are generated and stored within the /output/ directory:
- live_2xx_3xx_hosts.html: Lists subdomains with active HTTP(S) services.
- dns_info.html: Presents detailed DNS record analysis.
- subzy_results.html: Displays results for identified vulnerable subdomains.
- waybackurls.html: Contains data of archived endpoints.
- whatweb.html: Provides technology fingerprinting results.
Architecture Overview
This workflow exemplifies a DevSecOps-aligned approach to passive reconnaissance by integrating CI/CD automation via GitHub Actions, various reconnaissance tools focused on DNS analysis, subdomain identification, technology stack assessment, and archived URL examination. It also incorporates report generation utilizing Python's capabilities, a session-controlled Flask dashboard, and an immersive frontend experience.
Explore the Dashboard
To better visualize the insights gathered through this pipeline, access the live dashboard here: Live Recon Dashboard.
Contribution
Contributions and suggestions are encouraged to enhance the effectiveness of the passive reconnaissance CI/CD approach tailored for modern DevSecOps pipelines.
⚠️ Note: This project is specifically focused on passive reconnaissance techniques. Active exploitation, brute-forcing, or fuzzing methodologies are deliberately excluded.
No comments yet.
Sign in to be the first to comment.
