Fracture
How It Works
⚠️ Authorized Testing Only
This tool interacts with live systems and must only be used for testing that has been explicitly authorized by the asset owner. Unauthorized use of this tool to probe, scan, exploit, or otherwise interact with systems you do not have written permission to test is illegal under computer fraud and abuse laws (CFAA, CMA, and international equivalents). pr0t31n does not condone or recommend any unauthorized use. Always obtain a signed Rules of Engagement (RoE) or Statement of Work (SoW) before beginning any assessment.
Fracture is a web application penetration testing orchestrator that drives a comprehensive 22+ phase security assessment against a target URL. It combines built-in Python-based testing logic with external security tools (Nuclei, Nikto, OWASP ZAP, gobuster, sslscan, testssl.sh) to cover the full OWASP Top 10 2025 attack surface. Each phase targets a specific vulnerability class — from TLS misconfiguration and missing security headers through injection attacks, authentication bypass, and business logic flaws to advanced attacks like request smuggling and cross-user data leakage.
The assessment begins with reconnaissance (HTTP probing, technology fingerprinting, directory discovery) and progresses through unauthenticated testing phases (TLS analysis, header inspection, crawling, injection, traversal, SSRF) before moving into authenticated phases that require credentials (endpoint enumeration, IDOR/privilege escalation, session analysis, CSRF, cross-user leakage). Fracture supports multiple authentication methods — form-based login, HTTP Basic, Bearer tokens, API keys, custom headers, and cookie-based sessions — allowing it to test both the login mechanism itself and the application's behaviour under authenticated contexts.
Fracture features adaptive concurrency with a hardware-aware semaphore that scales parallelism based on real-time CPU and memory utilisation. A checkpoint/resume system (checkpoint.json) persists completed phases so interrupted scans can resume. All HTTP requests issued by built-in Python testing are captured as request/response/log triplets under evidence/ directories, and every third-party tool invocation produces a .log sibling transcript. Wildcard/catch-all detection prevents false positives by identifying servers that respond identically to all paths.
Output follows the pr0t31n universal directory structure with findings.json (schema v1.1), findings.csv, summary.json, timestamped audit logs, and per-phase evidence directories. When running under Crucible, Fracture emits __CRUCIBLE_LOG__, __CRUCIBLE_STATUS__, __CRUCIBLE_FINDING__, and __CRUCIBLE_ACTION_ITEM__ protocol tokens for real-time management and triage.
Phase Pipeline
- Phase 0 — HTTP probe, fingerprinting, directory discovery
- Phase 1 — TLS/SSL cipher and certificate analysis
- Phase 2 — Security header inspection
- Phase 3 — Crawl, form extraction, JS secret hunting
- Phase 4 — SQLi, XSS, SSTI, CMDi, CRLF, XXE
- Phase 5 — Path traversal / LFI
- Phase 6 — Server-Side Request Forgery
- Phase 7 — Authentication bypass / default creds
- Phase 8 — Sensitive file exposure
- Phase 9 — Nuclei + Nikto vulnerability scan
- Phase 10 — GraphQL endpoint detection and introspection
- Phase 11 — Authenticated endpoint enumeration (requires auth)
- Phase 12 — IDOR / privilege escalation testing (requires auth)
- Phase 13 — Session management analysis (requires auth)
- Phase 14 — CSRF protection testing (requires auth)
- Phase 15 — Cross-user data leakage (requires auth + auth2)
- Phase 16 — Open redirect testing
- Phase 17 — Insecure deserialization detection
- Phase 18 — File upload endpoint detection (informational)
- Phase 19 — Mass assignment / privilege escalation testing
- Phase 20 — Multi-credential access matrix (BFLA / unauthenticated access)
- Phase 21 — Broken Function Level Authorization — cross-role endpoint replay
- Phase 22 — Logoff detection, session timeout, server-side invalidation (requires auth)
Security
Fracture is a CLI tool with no web interface. Security considerations:
- Credential isolation: Auth credentials stored in the project settings JSON with restricted file permissions — never exposed in command-line arguments or logs
- Browser-assisted auth: Selenium sessions use temporary browser profiles cleaned up after use. Supports Chrome, Firefox, and Edge with auto-detected or specified WebDriver paths
- Subprocess safety: All external tool invocations use list-based subprocess calls. URL parameters are properly escaped
- Evidence security: Per-request HTTP evidence files are stored with restricted permissions in the project output directory
Features
Advanced
Authentication
Authorization
Exposure
Injection
Logic
Performance
Reconnaissance
Resilience
Session
Vulnerability Scanning
Use Cases
Full OWASP Top 10 Web Application Assessment
Run all 22+ phases against a web application to systematically test for every OWASP Top 10 2025 vulnerability category with evidence-backed findings.
Authenticated Application Testing
Provide multiple credential sets to test IDOR, privilege escalation, cross-user data leakage, CSRF, and broken access control under real user contexts.
Pre-Production Security Gate
Integrate Fracture into a CI/CD pipeline to gate deployments on the absence of CRITICAL/HIGH findings before release to production.
Compliance-Driven Web App Audit
Generate findings mapped to OWASP, NIST 800-53, PCI DSS 4.0, and ISO 27001 frameworks for compliance reporting and remediation prioritisation.
GraphQL API Security Assessment
Detect exposed GraphQL endpoints, test introspection controls, and identify query depth/complexity vulnerabilities.
CLI Reference
Command Examples
Run with Settings
Run a full 22-phase assessment with a settings file specifying target URL, auth, and phase configuration.
Generate Template Settings
Create a template settings.json for customization.
Resume After Interruption
Resume from the last completed phase checkpoint.
Third-Party Tool Invocations
Commands and flags used when this tool invokes third-party dependencies during operation.
Finding Nomenclature
Fracture findings use the FR- prefix in the findings catalogue (e.g., FR-001, FR-002). Each finding includes:
- Catalogue ID — Unique identifier from
findings_catalogue.jsonmapped to a specific vulnerability type - Phase Attribution — The phase number and name where the finding was detected (e.g., Phase 4: Injection)
- Risk Level — CRITICAL, HIGH, MEDIUM, LOW, or INFO (always uppercase)
- OWASP Mapping — The corresponding OWASP Top 10 2025 category and URL
- Evidence Files — Request/response pairs and
.logtranscripts inevidence/<phase>/directories - Remediation — Specific fix guidance with effort rating and component classification
Common finding categories span the full OWASP Top 10: injection flaws (SQLi, XSS, SSTI, CMDi), broken access control (IDOR, BFLA, privilege escalation), cryptographic failures (weak TLS, missing HSTS), security misconfiguration (verbose errors, default credentials), and server-side request forgery.
Action Items
Fracture generates action items during the assessment that require manual follow-up or operator decision. These are emitted as __CRUCIBLE_ACTION_ITEM__ protocol tokens and displayed in the Crucible management console's Action Items tab. Action items are generated when:
- A potential vulnerability requires manual verification to confirm exploitability (e.g., blind SQL injection candidates that need out-of-band confirmation)
- An authentication or authorization test reveals anomalous behaviour that warrants deeper investigation
- A business logic flaw is detected that requires domain knowledge to assess impact
- Cross-user data leakage testing identifies shared endpoints where data segregation needs human review
- File upload endpoints are discovered that need manual testing for content-type bypass and storage path traversal
Each action item includes the affected URL, the phase that generated it, a description of what was observed, and a suggested manual verification procedure.
Output Files
| File | Format | Description |
|---|---|---|
meta.json |
JSON | Tool identity and engagement metadata |
findings.json |
JSON | Universal findings array v1.1 |
findings.csv |
CSV | CSV mirror of findings |
summary.json |
JSON | Aggregated statistics |
scan.log |
TXT | Human-readable timestamped log |
scan.log.json |
JSONL | Machine-readable JSON log events |
errors.log |
TXT | ERROR-level entries only |
findings_catalogue.json |
JSON | Findings catalogue |
checkpoint.json |
JSON | Resumable scan checkpoint |
Invocation Methods
| Method | Usage |
|---|---|
| CLI — Direct |
cd /opt/pr0t31n/Fracture && python3 fracture.py [OPTIONS]
Run directly with command-line arguments. |
| Crucible-Managed |
Launched and managed by Crucible (port 5100). Crucible handles start/stop/pause, log streaming, findings aggregation, and status tracking. |
Integration
Depends On
- AuthProbe (auth detection)
- Scattershot3 (target discovery)
Used By
- Crucible (manages)
- Prometheus (reports)
Third-Party Dependencies & Credits
| Tool / Library | Developer | Type | Link |
|---|---|---|---|
| gobuster | OJ Reeves | system | https://github.com/OJ/gobuster |
| sqlmap | Bernardo Damele / Miroslav Stampar | system | https://github.com/sqlmapproject/sqlmap |
| Nuclei | ProjectDiscovery | system | https://github.com/projectdiscovery/nuclei |
| Dalfox | hahwul (Kim Hwan) | system | https://github.com/hahwul/dalfox |
| wpscan | WPScan Team / Automattic | system | https://github.com/wpscanteam/wpscan |
| sslscan | rbsec (originally Ian Ventura-Whiting) | system | https://github.com/rbsec/sslscan |
| testssl.sh | Dirk Wetter | system | https://github.com/drwetter/testssl.sh |
| nikto | Chris Sullo / David Lodge / CIRT | system | https://github.com/sullo/nikto |
| ffuf | joohoi (Joona Hoikkala) | system | https://github.com/ffuf/ffuf |
| mitmproxy / mitmdump | mitmproxy team | system | https://github.com/mitmproxy/mitmproxy |
| Selenium / geckodriver | Mozilla / SeleniumHQ | system | https://github.com/mozilla/geckodriver |
| shcheck | meliot / santoru | system | https://github.com/santoru/shcheck |
Metadata
| Name | Fracture |
| Category | Exploitation |
| Version | 2.69.0 |
| Install Path | /opt/pr0t31n/Fracture |
| Main File | fracture.py |
| GitHub | https://github.com/pr0t31n/Fracture.git |