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
exploit-CVE-2023-3460 — Exploit und Analyse von CVE-2023-3460, einer kritischen Privilegieneskalation im Ultimate Member WordPress-Plugin, mit Reproduktionsumgebung und Anleitung zur Schadensbegrenzung. | Kitploit
Tools/GitHubGitHub/julienbrs/exploit-cve-2023-3460
Privilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationLernen & BildungLabs & Praxis
GitHubjulienbrs/exploit-cve-2023-3460

exploit-CVE-2023-3460

Exploit und Analyse von CVE-2023-3460, einer kritischen Privilegieneskalation im Ultimate Member WordPress-Plugin, mit Reproduktionsumgebung und Anleitung zur Schadensbegrenzung.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
vor 2 JahrenNoch nicht geprüft

title: "Sicherheit von IT-Systemen - CVE 2023-38408"

Analyse und Ausnutzung der CVE-2023-3460

CVE IDCVSS-ScoreEntdecktBetroffenes PluginSchwachstellentyp
CVE-2023-3460Critical07/04/2023Ultimate MemberUnautorisierter Admin-Zugriff

Inhaltsverzeichnis

  • Einleitung
  • Allgemeiner Mechanismus der Schwachstelle
    • Mechanismus der Rollenverwaltung in WordPress
    • Fehlerhafte Implementierung von Ultimate Member
  • Sicherheitsziel für CVE-2023-3460
    • Annahmen
    • Typische Benutzer
    • Zu schützende Güter
    • Bedrohungen
    • Sicherheitsfunktionen
  • Typische Architektur
  • Minderung der Schwachstelle
  • Experimentieren mit der Schwachstelle
    • Reproduktion
    • Details zu exploit.py
  • Anhang
    • Glossar
    • Quellen

Einleitung

Diese Studie konzentriert sich auf die CVE¹-2023-3460, eine kritische Schwachstelle, die das Plugin "Ultimate Member" von WordPress betrifft und eine nicht autorisierte Privilegienausweitung ermöglicht. Dieses Plugin ist weit verbreitet und wird für die Verwaltung von Profilen auf WordPress-Websites eingesetzt. Diese Schwachstelle stellt ein erhebliches Risiko dar, da sie es einem Angreifer ermöglicht, Administratorrechte und damit die vollständige Kontrolle über die Website zu erlangen. Aus diesem Grund wurde dieser Fehler vom NIST² auf der CVSS-Skala als kritisch eingestuft und mit 9.1 bewertet.

Allgemeiner Mechanismus der Schwachstelle

Die CVE-2023-3460 nutzt einen Fehler in der Verwaltung von Rollen und Berechtigungen durch das Plugin aus. In WordPress wird die Funktion WP_Capabilities³ verwendet, um die Rollen und Berechtigungen der Benutzer zu verwalten. Diese Funktion ermöglicht es Administratoren, spezifische Fähigkeiten für jede Benutzerrolle festzulegen. Eine fehlerhafte Verwendung dieser Funktion kann jedoch zu Schwachstellen bei der Privilegienausweitung führen.

Im Fall von Ultimate Member ermöglicht die Schwachstelle einem Angreifer, die Überprüfung der WP-Fähigkeiten zu umgehen und Administratorzugriff auf die Website zu erhalten. Das Plugin funktioniert, indem es eine vordefinierte Liste von Benutzermetadaten-Schlüsseln verwendet, die von Benutzern nicht manipuliert werden sollten. Dieser Sicherheitsansatz, der auf Blocklisten basiert, ist jedoch oft unzureichend, da er Umgehungsmöglichkeiten offenlässt.

Mechanismus der Rollenverwaltung in WordPress

WordPress verwaltet die Rollen und Berechtigungen der Benutzer über eine Struktur namens wp_capabilities. Diese Struktur ist eine serialisierte Darstellung der verschiedenen Rollen und Berechtigungen, die Benutzern gewährt werden. Beispielsweise hat ein Administrator einen anderen Satz von Fähigkeiten als ein Redakteur oder Autor. Diese Fähigkeiten werden in der WordPress-Datenbank als serialisierte Arrays in der Tabelle wp_usermeta gespeichert.

Fehlerhafte Implementierung von Ultimate Member

Der Fehler CVE-2023-3460 hat seinen Ursprung in der Implementierung der Rollen- und Berechtigungsverwaltung durch Ultimate Member. Das Plugin arbeitet mit einer vordefinierten Liste von Benutzermetadaten-Schlüsseln, die Benutzer nicht manipulieren sollten. Diese Liste wird verwendet, um zu überprüfen, ob Benutzer versuchen, diese Schlüssel bei der Kontoerstellung zu speichern. Dieser Ansatz ist ein häufiges Sicherheits-Anti-Pattern, bei dem das Blockieren bekannter schädlicher Eingaben (Blocklisten) intuitiv erscheinen mag, sich aber als komplexer als erwartet erweist und oft Raum für Sicherheitsumgehungen lässt.

Hier verwendet Ultimate Member eine unzureichende Überprüfung der bei der Benutzerregistrierung übermittelten Metadaten. Das Plugin verwendet eine Funktion namens is_metakey_banned, um zu überprüfen, ob die vom Benutzer übermittelten Metadaten zulässig sind. Diese Funktion prüft, ob die übermittelten Metadaten in der Liste der gesperrten Metadaten enthalten sind. Ist dies der Fall, gibt die Funktion true zurück und die Benutzerregistrierung wird blockiert. Andernfalls gibt die Funktion false zurück und die Benutzerregistrierung wird zugelassen.

WordPress akzeptiert jedoch bestimmte akzentuierte Zeichen als Standardzeichen. Wenn ein Benutzer Metadaten mit akzentuierten Zeichen übermittelt, erkennt die Funktion is_metakey_banned diese nicht und die Benutzerregistrierung wird zugelassen.

Sicherheitsziel für CVE-2023-3460

Annahmen

Organisatorische Sicherheit

Das Plugin Ultimate Member wird in verschiedenen Umgebungen eingesetzt, von kleinen persönlichen Blogs bis hin zu großen E-Commerce-Websites. Es können keine spezifischen Annahmen über die IT-Sicherheitskenntnisse der Endbenutzer oder Website-Administratoren getroffen werden.

Physische Sicherheit

Die Server, die WordPress-Websites hosten, befinden sich in der Regel in sicheren Rechenzentren. Bei persönlichen Websites hängt die physische Sicherheit von der individuellen Umgebung des Benutzers ab.

Logische Sicherheit

Es wird angenommen, dass das Plugin Ultimate Member gemäß den offiziellen Anweisungen installiert und korrekt konfiguriert ist. Es wird angenommen, dass die WordPress-Website auf dem neuesten Stand gehalten wird und grundlegende Sicherheitsmaßnahmen vorhanden sind.

Typische Benutzer

  • Website-Administratoren: Verwalten die Plugin-Konfiguration und die allgemeine Sicherheit der Website.
  • Website-Benutzer: Registrieren sich und interagieren über das Plugin Ultimate Member mit der Website.
  • Entwickler: Passen die Funktionen des Plugins an und erweitern sie für spezifische Anforderungen.

Zu schützende Güter

  • B1 Vertraulichkeit der Benutzerdaten: Persönliche Informationen und Anmeldeinformationen.
  • B2 Integrität der Website: Schutz vor unbefugten Änderungen des Inhalts oder der Struktur der Website.
  • B3 Integrität des Plugins Ultimate Member: Quellcode und Funktionen des Plugins.

Bedrohungen

  • M1 Unautorisierter Zugriff: Ein Angreifer erlangt über die Schwachstelle Administratorrechte.
  • M2 Einschleusung von Schadcode: Veränderung des Website-Verhaltens durch Code-Injektion.
  • M3 Datenleck: Unautorisierter Zugriff auf vertrauliche Benutzerdaten.
  • M4 Rufschädigung: Negative Folgen für den Ruf aufgrund einer Kompromittierung der Website.

Abdeckung der Güter durch Bedrohungen

7.5 Die Sicherheitsfunktionen

  • F1 Sichere Rollenverwaltung: Robuste Mechanismen für die Verwaltung von Rollen und Berechtigungen.
  • F2 Eingabevalidierung: Strenge Prüfungen der übermittelten Daten, um die Einschleusung schädlicher Daten zu verhindern.
  • F3 Sicherheitsupdates und Patches: Regelmäßige Aktualisierung des Plugins zur Behebung bekannter Schwachstellen.
  • F4 Schulung und Sensibilisierung: Information von Administratoren und Benutzern über bewährte Sicherheitspraktiken.

Typische Architektur

Webserver:

  • Hostet die WordPress-Website.
  • Typischerweise ein Apache- oder Nginx-Server auf einer Linux-Maschine (kann je nach Hosting-Anbieter oder Administratorpräferenzen variieren).
  • Mit dem Internet verbunden, um den Zugriff auf die Website zu ermöglichen.

Datenbankmanagementsystem (DBMS):

  • Normalerweise MySQL oder MariaDB.
  • Speichert die Daten der WordPress-Website, einschließlich der von Ultimate Member verwalteten Benutzerdaten.

WordPress mit Plugin Ultimate Member:

  • WordPress installiert mit dem Plugin Ultimate Member für die Verwaltung von Benutzerprofilen, Registrierung und Rollenverwaltung.
  • Kann andere Plugins und Themes enthalten, die mit Ultimate Member interagieren können.

Netzwerk und Sicherheit:

  • Firewall und andere Netzwerksicherheitsmaßnahmen zum Schutz des Servers.
  • SSL/TLS zur Sicherung der Kommunikation zwischen Client und Server.

Benutzer/Administratoren:

  • Website-Administratoren, die die WordPress-Website und das Plugin Ultimate Member verwalten und warten.
  • Endbenutzer, die sich registrieren und mit der Website interagieren.

Externe Dienste (optional):

  • E-Mail-Dienste für Benachrichtigungen und Kontoverwaltung.
  • Integrationen mit sozialen Netzwerken oder anderen Plattformen für Konnektivität und erweiterte Funktionen.

Minderung der Schwachstelle

Als Administrator gibt es konkrete Maßnahmen, die ergriffen werden können, um die mit dieser Schwachstelle verbundenen Risiken zu mindern.

1. Einschränkung änderbarer Metadaten

Validierung von Benutzereingaben: Serverseitige Validierungen implementieren, um alle Benutzereingaben zu überprüfen, insbesondere solche, die Metadaten wie wp_capabilities ändern. Verwenden Sie reguläre Ausdrücke oder Whitelists anstelle von Blocklisten, um Eingaben zu kontrollieren.

2. Absicherung von Registrierungsformularen

CAPTCHA und Ratenbegrenzung: Integrieren Sie CAPTCHAs und Ratenbegrenzungen in Registrierungsformularen, um automatisierte Angriffe zu verhindern. Clientseitige Überprüfungen: Obwohl clientseitige Validierungen allein nicht ausreichen, können sie helfen, automatisierte Angriffe zu verhindern und die Benutzererfahrung zu verbessern.

3. Protokollverfolgung und -analyse

Log-Überwachung: Ein System zur Überwachung von Protokollen einrichten, um verdächtige Änderungen an Benutzerrollen oder Versuche der Metadaten-Injektion zu erkennen. Dies kann mit Log-Analyse-Tools erfolgen.

4. Verwendung fortschrittlicher Websicherheitslösungen

Web Application Firewall (WAF): Konfigurieren Sie eine WAF⁴, um bekannte und unbekannte Angriffe zu blockieren, einschließlich Angriffen durch Einschleusung von Schadcode. Intrusion Detection/Prevention Systems (IDS/IPS)⁵: Implementieren Sie ein IDS/IPS, um Versuche zur Ausnutzung der Schwachstelle zu erkennen.

5. Verwaltung von Berechtigungen und Rollen

Überprüfung der Benutzerrollen: Überprüfen Sie regelmäßig die den Benutzern zugewiesenen Rollen, um abnormale Privilegienausweitungen zu erkennen. Einschränkung von Berechtigungen: Begrenzen Sie die standardmäßig an neue Benutzer vergebenen Berechtigungen und verlangen Sie eine administrative Validierung für die Zuweisung hoher Rollen, gemäß dem Prinzip der geringsten Privilegien. Details zu diesem Prinzip finden Sie hier.

6. Updates und Sicherheits-Patches

Schnelle Anwendung von Updates: Regelmäßige Sicherheitsupdates für Plugins und WordPress selbst durchführen.

7. Sensibilisierung und Schulung von Entwicklern

Schulen Sie Entwickler in den zuvor genannten bewährten Sicherheitspraktiken und sensibilisieren Sie sie für die Risiken/Auswirkungen einer fehlerhaften Implementierung.

Experimentieren mit der Schwachstelle

Reproduktion

Ein Makefile ist verfügbar, um Ihnen beim Starten der Ausnutzung des Fehlers zu helfen. Sie können es wie folgt verwenden:

  • make up, um WordPress mit allen notwendigen Installationen zu starten. Nach einer Wartezeit wird ein WordPress-Server gestartet, konfiguriert und die Version 2.6.5 des Plugins Ultimate Member installiert. Sie können sich dann auf der Seite Login mit den Anmeldedaten admin:password bei WordPress anmelden. Wenn Sie auf die Registerkarte Users gehen, sehen Sie, dass nur der Benutzer admin vorhanden ist. one_admin

    Hinweis: Wenn Sie docker-compose und nicht docker compose haben, können Sie das Makefile entsprechend ändern (Variable DOCKER_COMPOSE= docker-compose).

Anschließend können Sie die Ausnutzung des Fehlers starten:

  • make exploit Sie können sich dann auf Login mit den vom Exploit angegebenen Anmeldedaten bei WordPress anmelden und auf der Registerkarte Users beobachten, dass ein neuer Benutzer mit der Rolle Administrator erstellt wurde.

    two_admin

  • make down, um den WordPress-Server zu stoppen und die Daten zu löschen.

Details zu exploit.py

  • make exploit startet das Skript exploit.py. Dieses Skript arbeitet in mehreren Schritten: Technische Details des Exploits

1. Überprüfung der Schwachstelle: Vor der Ausnutzung prüft das Skript, ob die auf der Zielwebsite installierte Version des Plugins Ultimate Member verwundbar ist, d. h. niedriger als Version 2.6.7.

2. Abrufen des Sicherheits-Nonce: Das Skript ruft ein Sicherheits-Nonce³ von der Registrierungsseite der Zielwebsite ab. Dieses Nonce ist erforderlich, damit die Registrierungsanfrage von WordPress akzeptiert wird. Das Nonce wird durch Analyse des HTML-Codes der Registrierungsseite abgerufen.

3. Ausnutzung der Schwachstelle: Das Skript sendet dann eine POST-Anfrage an die Registrierungsseite, einschließlich eines manipulierten Parameters (wp_càpabilities[administrator]=1). Dieser Parameter verwendet ein akzentuiertes Zeichen (à), um die Sicherheitskontrollen des Plugins zu umgehen und die Daten falsch zu serialisieren, wodurch dem neu erstellten Benutzer die Administratorrolle zugewiesen wird.

4. Bestätigung des Exploits: Nach dem Senden der Anfrage prüft das Skript, ob der Vorgang erfolgreich war, indem es die Antwort des Servers analysiert.

Anhang

Glossar

  1. CVE (Common Vulnerabilities and Exposures) : Internationales Referenzsystem für Schwachstellen in der Computersicherheit. Weitere Informationen.
  2. nvd.nist.gov : Referenzdatenbank für Schwachstellen in der Computersicherheit. Offizielle Website.
  3. WP_Capabilities : Serialisiertes Attribut von WordPress zur Verwaltung von Benutzerrollen und -berechtigungen. Erfahren Sie mehr über Rollen und Fähigkeiten von WordPress und wie man sie verwendet
  4. Sicherheits-Nonce : Token, das in der Computerkommunikation verwendet wird, um bestimmte Angriffsformen wie CSRF-Angriffe zu verhindern. Details hier.
  5. WAF (Web Application Firewall) : Sicherheitstool zur Überwachung und Filterung des HTTP-Verkehrs zwischen einem Webserver und dem Internet. Vertiefung.
  6. IDS/IPS (Intrusion Detection/Prevention Systems) : Geräte oder Anwendungen, die ein Netzwerk oder Systeme überwachen, um bösartige Aktivitäten zu erkennen. Weitere Erläuterungen.
  7. Cross-Site Request Forgery (CSRF) : Angriff, der einen angemeldeten Benutzer dazu zwingt, unerwünschte Aktionen auf einer Webanwendung auszuführen. Mehr erfahren.

Quellen

Tool herunterladen
BedrohungenB1 (Vertraulichkeit der Benutzerdaten)B2 (Integrität der Website)B3 (Integrität des Plugins Ultimate Member)
M1 Unautorisierter ZugriffXXX
M2 Einschleusung von SchadcodeXX
M3 DatenleckX
M4 RufschädigungX
NameLink
NIST CVE-2023-3460https://nvd.nist.gov/vuln/detail/CVE-2023-3460
Ultimate Member Githubhttps://github.com/ultimatemember/ultimatemember
Version des für die Ausnutzung verwendeten Pakets 2.6.5https://wordpress.org/plugins/ultimate-member/advanced/
Patch des Exploitshttps://github.com/ultimatemember/ultimatemember/commit/fae47c6065ce07e9a8b44501002fa5b4f16d2456
Review des Exploitshttps://thesecmaster.com/how-to-fix-cve-2023-3460-a-privilege-escalation-vulnerability-in-ultimate-member-wordpress-plugin/
OWASP Top 10 Application Security Riskshttps://owasp.org/www-project-top-ten/