PATH-Hijacking

Auch bekannt als:PATH Hijacking · Suchpfad-Manipulation

PATH-Hijacking: Unterschieben eines eigenen Programms, indem der Suchpfad eines relativen Aufrufs manipuliert wird. Die Technik ist eine der einfachsten Formen der RechteausweitungPrivilege EscalationErlangung höherer Berechtigungen als ursprünglich vorgesehen. auf Unix-Systemen.

Funktionsweise und Einordnung

Ruft ein Programm ein anderes ohne absoluten Pfad auf, sucht das System es der Reihe nach in den Verzeichnissen der Umgebungsvariable PATH. Wer diese Variable kontrolliert oder in eines der gelisteten Verzeichnisse schreiben darf, legt dort eine eigene ausführbare Datei unter dem erwarteten Namen ab. Läuft der aufrufende Prozess mit höheren Rechten — etwa als SUID-BinarySUID-BinaryProgramm, das mit den Rechten seines Eigentümers statt denen des Aufrufers läuft. oder als Dienstkonto —, erbt der untergeschobene Code genau diese Rechte.

Bedeutung in der Praxis

Besonders anfällig sind Aufrufe über system() oder popen(), weil dort zusätzlich eine Shell dazwischenliegt. Verwandte Varianten nutzen beschreibbare Verzeichnisse früh im Suchpfad, ein relatives Element wie . im PATH oder unter Windows die Reihenfolge der DLL-Suche. Absicherung heißt: externe Programme ausschließlich mit absolutem Pfad starten, die Umgebung vor dem Aufruf bereinigen, Prozesse ohne Shell starten und Schreibrechte auf Verzeichnisse im Suchpfad konsequent einschränken.

Verwandte Begriffe

  • SUID-BinarySUID-BinaryProgramm, das mit den Rechten seines Eigentümers statt denen des Aufrufers läuft.: Programm, das mit den Rechten seines Eigentümers statt denen des Aufrufers läuft.
  • Privilege EscalationPrivilege EscalationErlangung höherer Berechtigungen als ursprünglich vorgesehen.: Erlangung höherer Berechtigungen als ursprünglich vorgesehen.
  • Command InjectionCommand InjectionEinschleusen eigener Betriebssystembefehle in eine Anwendung, die Eingaben an eine Shell weiterreicht.: Einschleusen eigener Betriebssystembefehle in eine Anwendung, die Eingaben an eine Shell weiterreicht.
  • HardeningHardeningReduziert die Angriffsfläche durch sichere Konfiguration und Deaktivierung unnötiger Funktionen.: Reduziert die Angriffsfläche durch sichere Konfiguration und Deaktivierung unnötiger Funktionen.