it-swarm.com.de

Wie mache ich eine Eskalation von Berechtigungen mit Ping?

Ich versuche eine Eskalation der Privilegien zu erreichen. Ich habe eine virtuelle Maschine unter Linux und bin von einem rbash-Terminal entkommen. Ich habe jetzt ein "normales" Benutzerterminal. Mein Benutzer befindet sich nicht in der sudoers-Datei.

Ist es möglich, eine Berechtigungseskalation mit dem Befehl ping durchzuführen?

Das SUID-Bit ist für /bin/ping Zulässig, aber ich weiß nicht, wie ich von dort aus vorgehen soll. Kann jemand helfen?

16
mb3354

Eine SUID-Binärdatei kann nicht von Natur aus für die Eskalation von Berechtigungen ausgenutzt werden . Das Problem liegt vor, wenn in der Software eine Sicherheitsanfälligkeit vorliegt (z. B. haben viele CTFs eine SUID-Binärdatei, die eine Sicherheitsanfälligkeit bezüglich Pufferüberlauf enthält, die für die Eskalation von Berechtigungen ausgenutzt werden kann) oder wenn ein Administrator das SUID-Bit für eine Binärdatei setzt, für die es nicht festgelegt werden sollte . Ein extremes Beispiel für Letzteres wäre eine Administratoreinstellung vim auf SUID mit dem Eigentümer root, mit der Benutzer Bash-Befehle als root innerhalb einer vim-Sitzung ausführen können (:![Shell command]).

Eine kurze Referenzprüfung führte mich zu dieser Artikel über Linux privesc . Möglicherweise finden Sie den Abschnitt 3. Exploiting SUID Executables Hilfreich.

Das Dienstprogramm ping erfordert, dass die Binärdatei im Besitz von root ist und das SUID-Bit gesetzt ist, da ICMP-Anforderungen mit "raw sockets", die nur root ausführen kann gesendet/empfangen werden. Sie müssten entweder eine anfällige Version von ping finden (ich nehme an, aus diesem Grund hat @Arminius nach der Version gefragt) oder eine Möglichkeit, Code/Befehle einzufügen. Persönlich war ich noch nie in der Lage, ping in Pentests oder CTFs für die Eskalation von Privilegien einzusetzen, aber das bedeutet sicherlich nicht, dass dies nicht möglich ist :)

Ein bekanntes ähnliches Beispiel sind ältere Versionen von nmap, die den --interactive - Modus unterstützen. Wenn das SUID-Bit gesetzt wurde (viele Scans wie Standard-Syn-Scan -sS "Raw-Paket-Berechtigungen erforderlich"), können Sie aus dem interaktiven Modus zu einer Root-Shell wechseln. Weitere Informationen finden Sie im obigen Privesc-Link, wenn Sie interessiert sind.

Wenn Sie sich eine CTF-Herausforderung ansehen, suche ich normalerweise zuerst nach offensichtlichen nicht standardmäßigen SUID-Programmen (z. B. /opt/myprog/test.bin) Und kehre dann zu den "normalen" Suid-Programmen wie /bin/ping Zurück. als letztes Mittel nach anderen Kontrollen sind erfolglos.

30
deletehead