Das Ziel dieses Vorgehens ist es, die Befehlsausführung eines privilegierten Prozesses durch Manipulation des PATH-Umgebungsvariablen-Werts zu beeinflussen. Indem ein Befehl in einem vorrangigen Verzeichnis des PATH durch eine schädliche Datei ersetzt wird, kann ein Angreifer eventuell höhere Systemprivilegien erlangen.

Vorgehen:

  1. Pfad-Modifikation:

    bashCopy code

    export PATH=/tmp:$PATH
    

    Mit diesem Befehl wird /tmp am Anfang der PATH-Umgebungsvariable platziert, sodass die Shell zuerst im Verzeichnis /tmp nach ausführbaren Dateien sucht.

  2. Navigiere zum /tmp Verzeichnis:

    bashCopy code

    cd /tmp/
    

    Dies setzt das aktuelle Arbeitsverzeichnis der Shell auf /tmp.

  3. Erstellung der schädlichen Datei:

    bashCopy code

    echo '/bin/sh' > cat
    

    Dieser Befehl erstellt (oder überschreibt, falls sie bereits existiert) eine Datei namens cat im /tmp-Verzeichnis. Diese Datei enthält den Text /bin/sh, der ein Befehl ist, um eine Shell zu starten.

  4. Datei ausführbar machen:

    bashCopy code

    chmod +x cat
    

    Durch Hinzufügen der “ausführbaren” Berechtigung zur cat-Datei wird sichergestellt, dass sie als Programm oder Skript ausgeführt werden kann.

Zusammenfassung:

Nach Ausführung dieser Befehle existiert eine ausführbare Datei namens cat im /tmp Verzeichnis, die eine Shell startet, wenn sie aufgerufen wird. Wenn ein privilegierter Prozess oder ein Skript den Befehl cat ohne Angabe des vollen Pfads ausführt und der PATH dieses Prozesses zuvor manipuliert wurde, dann wird die schädliche cat-Datei anstelle des tatsächlichen cat-Werkzeugs ausgeführt. Dies könnte potenziell zu einer Eskalation von Privilegien führen, wenn der betroffene Prozess mit höheren Rechten läuft.

Privilege-Eskalation-Overview