PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : warum eigentlich eine fake shell bei proftpd ?



dany_fun
04.08.05, 20:18
für viele vielleicht eine doofe frage.. aber warum sollte man bei proftpd den usern eine falsche shell angeben (false zb.)..

wenn user A jetzt hergeht in seinem FTP clienten und verbindet sich zu meinen server,dann sieht er ja sowieso nie was von einer shell , oda ???...


oder die frage anders gestellt .. angenommen user X hat jetzt einen account mit shell ... wie kann user X jetzt diese shell ausnutzen bzw. darauf arbeiten ?
darauf hätte ich sehr gerne eine antwort ...
ist das ohneweiteres mäglich,oder bedarf es andere sicherheitslöcher damit er darauf was arbeiten kann..

vielen dank im vorraus

mattias1
04.08.05, 20:34
ganz einfach... du gibst ihm die möglichkeit sich z.B. per ssh anzumelden. Hast du bei proftpd ein DefaultRoot konfiguriert kannst du diesen damit getrost vergessen.

Der User meldet sich per ssh an und liest alle ihm zur Verfügung stehenden Daten... und kopiert die lesbaren Daten mit scp :p

dany_fun
04.08.05, 21:34
geht aber auch nur,wenn ich ssh aktiviert hab ...
bzw. wenn ich es aktiv habe,dass ich nicht die public key variante verwende...

mit dem ftp protokoll allein kann er trotz shellfreigabe nix anfangen,oda ?..

mfg

marce
05.08.05, 06:25
wenn's keinen exploit für den ftp-Server gibt, der eine shell gebrauchen könnte - hast Du vielleicht recht - aber die Wege des Herrn sind unergründlich.

Es ist einfach ein bisschen mehr Sicherheit und ein pot. Türchen weniger...

quinte17
05.08.05, 07:50
hier mal ein szenario wo eine lokale shell schlecht sein könnte :)
angenommen der ftp-server hat einen bug mit dem man einen pufferüberlauf erzeugen kann. dadurch ist es dann potentiell möglich eine shell auf einem bestimmten port zu erzeugen. hierauf kann sich der angreifer dann mit hilfe von telnet connecten (ohne passworteingabe) und hat entweder die rechte des ftp-servers oder die des angemeldeten users. (wenn beiden eine shell zugewiesen ist, was bei den server diensten recht unwahrscheinlich ist)

nun braucht er "nur" noch einen lokalen shell expliot um sich rootrechte zu verschaffen. dazu reicht es aus nicht den neuesten kernel zu haben um gefährdet zu sein.
und dann hat dieser vermeintliche hacker vollzugriff...

ist halt nicht lustig :D
greetz

Thhunder
17.09.05, 17:23
was ist nun genau die "fake shell" ich habe mal von einem linuxnutzer gehört der sagt das /bin/false eine echte shell ist nur das diese direckt nach dem login die shell wieder dichtmacht.... bei bin/true wäre es hingegen keine shell mehr....
was ist nun besser als "shell" anzugeben damit der user erst gar keine möglichkeit hat überhaupt die verbingund aufzunehmen das z.b. direckt nach dem username ein "server shutdown" oder ähnliches zurückgegeben wird....

Gruß Thhunder

MiGo
18.09.05, 20:03
...der sagt das /bin/false eine echte shell ist nur das diese direckt nach dem login die shell wieder dichtmacht.... bei bin/true wäre es hingegen keine shell mehr....
Das halte ich mal eher für Seemannsgarn. Oder neudeutsch bullshit.
Was du als loginshell für einen Nutzer einträgst - /bin/false oder /bin/true - ist Jacke wie Hose; einloggen kann er sich an dem Rechner nicht. Und das ist ja das Ziel der Übung.

MiGo

Thhunder
19.09.05, 23:22
anders gesagt kann ich als "fakeshell" /bin/true sowie auch /bin/false eintragen kommt bei beidem das gleiche rum habe ich damit dann richtig verstanden?

Gruß Thhunder

suck
20.09.05, 00:07
Ja, es geht auch: /usr/local/bin/cowsay "Blub!" - Hund wie Katze.

[WCM]Manx
20.09.05, 07:37
anders gesagt kann ich als "fakeshell" /bin/true sowie auch /bin/false eintragen kommt bei beidem das gleiche rum habe ich damit dann richtig verstanden?

Gruß Thhunder
man true
man false

Manx