Re: eingeschränkter shell zugang per ssh
On Thursday 20 November 2003 17:44, Serge Gebhardt wrote:
> Habe hier auch so etwas am Start und bin sehr damit zufrieden.
>
> Eigentlich will ich den sshd nicht für logins anbieten, sondern als
> kryptierter tunnel für einen cvsd (pserver ist unsicher). Daher habe ich
> in der chroot alles ausser csh, cvs und dependencies rausgeworfen (kein
> ls, cd, pwd, etc). Die csh benutze ich anstelle der Bash, weil sie keine
> auto-completion hat (sonst kann man einfach rausfinden, welche dateien
> existieren). Ich denke das setup ist recht sicher.
Hallo,
welche Dateien vorhanden sind, kann man mit "echo *" auch ohne ls
herausfinden. Da echo in der shell integriert ist, kann man es nur mit
Veränderungen am Quellcode entfernen. Wenn der user irgendwo in seinem
Gefängnis (z.B. /tmp) Schreibzugriff hat, kann er sich fehlende Programme
sogar selbst erzeugen, indem er sie mit folgenden Kommandos erzeugen:
set echo_style="e"
echo -n "\001\002\003...">/tmp/program
Mit ein paar Zeilen Perl kann man jedes beliebige Programm in derartige
Oktalwerte umwandeln. Obwohl das Programm nicht direkt ausführbar ist (und
chmod fehlt), kann der Angreifer über /lib/ld-linux.so.2 /tmp/program das
Programm starten.
IMHO ist es die einzige Möglichkeit, einen User auf eine shell zu begrenzen,
ihm KEINE Schreibrechte zu geben und die Resourcen über ulimit zu begrenzen
(Endlosschleife...).
Gruß
Jakob
Reply to: