Aus Linux-Magazin 08/2012

Insecurity Bulletin: Schwachstelle in Xinetd

© David Morrison, 123RF

Wenig bekannte Features und Unix-Altlasten können als Einfallstore in einen Linux-Rechner dienen. Wer kennt beispielsweise einen Dienst namens Tcpmux?

Der Superserver Xinetd [1] ist der um zahlreiche Sicherheitsfeatures erweiterte Nachfolger des Daemons Inetd. Seine Hauptaufgabe besteht darin, nach Verbindungen auf bestimmten Netzwerkports zu lauschen. Geht eine Anfrage ein, so startet Xinetd das konfigurierte Serverprogramm. Einige sehr einfache Netzwerkprotokolle sind auch direkt in Xinetd implementiert. Dazu gehören beispielsweise die Daytime-, Discard- oder Echo-Dienste. Da Xinetd alle Netzwerkdienste verwaltet, lassen sich über den Superserver auch Zugangsbeschränkungen realisieren, etwa per TCP-Wrapper.

Multiplexer verbindet

Unter den zahlreichen von Xinetd unterstützten Protokollen findet sich auch der Dienst Tcpmux beziehungsweise Tcpmuxplus [2]. Dieser in RFC 1078 spezifizierte Dienst lauscht auf Port 1. Genauso einzigartig wie die Portnummer ist auch seine Aufgabe: Tcpmux, der “TCP Port Service Multiplexer”, dient lediglich als Vermittler.

Der Client sendet an den Daemon eine Anfrage mit dem Namen des Dienstes, mit dem er eine Verbindung aufbauen möchte. Der Tcpmux-Server antwortet hierauf entweder mit »+« oder mit »-« , je nachdem, ob der angefragte Dienst auf dem System vorhanden ist. Bei einer positiven Antwort startet der Daemon den angeforderten Dienst bereitwillig sofort. Andernfalls schließt er nur die Verbindung.

Unterstützt Xinetd auf einem System Tcpmux, verbietet aber bestimmte andere Dienste, so kann ein Angreifer mit einem Umweg über Tcpmux trotzdem auf diese zugreifen. Xinetd lässt Tcpmux zu – der Angreifer kann über den Multiplexer Zugriff auf das andere, eigentlich verbotene Protokoll erlangen.

Damit die Attacke erfolgreich ist, muss Tcpmux aktiviert sein, was ein Absatz in der Konfigurationsdatei »/etc/xinetd.conf« oder eine eigene Datei im Verzeichnis »/etc/xinetd.d/« erledigt. Die meisten Linux-Distributionen aktivieren den Multiplexer-Dienst in der Standardeinstellung allerdings nicht.

Die Attacke erfolgt, indem der Angreifer sich mit dem Kommando »telnet Host 1« mit dem Tcpmux-Dienst verbindet. Gibt er anschließend den Namen eines Dienstes ein, etwa »ftp« , startet dieser – egal ob deaktiviert oder nicht (Abbildung 1). Das funktioniert selbstverständlich nur, wenn in Xinetd unter diesem Namen ein Dienst registriert ist.

Abbildung 1: Tcpmux vermittelt einen Angreifer auf Wunsch an den FTP-Server weiter, der eigentlich gar nicht zugänglich sein dürfte.

Abbildung 1: Tcpmux vermittelt einen Angreifer auf Wunsch an den FTP-Server weiter, der eigentlich gar nicht zugänglich sein dürfte.

Diese Sicherheitslücke hat Thomas Swan von Federal Express entdeckt [3], der auch ein Patch für diese unter CVE-2012-0862 registrierte Schwachstelle bereitgestellt hat [4]. Nach Begutachtung durch einen früheren Xinetd-Entwickler und den Maintainer des Red-Hat-Pakets ging die Nachbesserung in die Xinetd-Version 2.3.15 ein.

Infos

  1. Xinetd: http://www.xinetd.org
  2. “TCP Port Service Multiplexer (Tcpmux)”, RFC 1078: http://tools.ietf.org/html/rfc1078
  3. Eintrag in Red Hats Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=790940
  4. Patch von Thomas Swan: https://bugzilla.redhat.com/attachment.cgi?id=583311

Der Autor

Mark Vogelsberger ist derzeit wissenschaftlicher Mitarbeiter am Institute for Theory and Computation der Harvard University. Er war bis 2010 Autor der “Insecurity News” des Linux-Magazins und schreibt nun auf https://www.linux-magazin.de die Online-Ausgabe des “Insecurity Bulletin”.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben