Ksh static - ale jak ? ;)

Tomasz Kłoczko kloczek w rudy.mif.pg.gda.pl
Pią, 4 Cze 1999, 12:40:24 CEST


On Tue, 1 Jun 1999, Marek Obuchowicz wrote:
[..]
> Ale pamiętaj, najpierw trzeba jakoś tego roota zdobyć. Wiele exploitów
> standartowo robi overflowa i odpala /bin/sh... a jeżeli exploitujesz
> suida to masz euid=0 i uid!=0 czyli niewiele ci to da w przypadku
> basha...

Czy te dwie linijki tekstu nie można wstawić do zródeł ksh ? Czy nie można
w takim wypadku dodać /bin/tcsh czy /bin/ash ? Tak czy inaczej widać, że
te dwie linijki tekstu _mogłyby_ trafić do każdego shella. Tak czy inaczej
powyższe nie jest w zasadzie _rzadną_ przesakodą gdyż o ile możesz już
wykonać dowolnyc program z uprawnieniami root-a to nie koniecznie musi być
to shell (może być to choćby echo z dopisaniem czegoś do passwd, a jeżeli
system będzie oparty o db to i dodatkowo wykonanie make z odpowiednim
Makefile przebudowującym bazy). Czyli chyba już sam widzisz, że nie jast
to zabezpieczenie co _utrudnienie_, którego fachowiec nawet nie zauważy
wykonująć elegancką fintę. Przypomina mi się tu audyt jakie robiliśmy
jakiś czas temu ze znajomymi dla Prokomu na ostanie wybory prezydenckie.
Po stwierdzeniu dziury w httpd pierszą rzeczą jaka uruchomiłem był monitor
sprawdzający czy w systemie na który pod kontrolą właziliśmy nie podglada
nas ktoś. Potem było ściągnięcie sobie ls -lR (polecam eksperyment z
zrobieniem takiego pliku i nadaniu mu rozszerzenia .ls-lR, a następnie po
użyciu mc na tym pliku) miałem u siebie pełną informację o plikach jakie
są w tym systemie. Pomnieważ był to solek (valnilla jak się potem okazało)
na podstawie dat i długości plików i zawartości drugiego systemu mogliśmy
sobie wybierać którą dziurę będziemy eksploatować. Gdyby nie monotor
uruchamiany co jakieś 10 s całe wejście byłoby bardzo neipozorne
(pierworne), a drugie już właściwe takie że w zasadzie nie było co zbierać
z maszyny. Wszystko to były krótkie łaczenia sie z całą procedurą wejścia
szykowana w postaci batcha sprawdzaną na drugiej maszynce, i tylko dlatego
że robiliśmy to w warunkach kontrolowanych nie było pełnego usuwania
śladów. W warunkach bojowych nawet nie miałbyś czasu zareagować. Zanim
dotarłby sms do komórki system byłby już "czysty" jak łza, a Ty byś nawet
nie wiedział, że w systemie masz np. w kernelu muduł kreta. Na fachowca
nie ma silnego. Przed takimi chroni tylko brak dziur.

> najgorszym momentem są początki - poza tym każdy robi błędy - i dlatego
> proponuję dodać taką łatę wszędzie...

Nie znam osoby, której dałoby się uiniknąć takich wpadek. Co więcej
śmiałbym twierdzić, ze taka wpadka popełniona stosunkowo wcześnie wtedy
kiedy zazwyczaj nie ma sie jeszcze pod łapami ważnych rzeczy procentować
będzie tym, że skutki sumaryczne takich wypadków będą najmniejsze.
Widzisz jakieś inne lekarstwo na to ? I czy ma być tym czymś linkowanie
statyczne czy porzucanie euid przez shelle ?

> ja raz na początku zrobiłem strasznie głupi błąd - odpaliłem basha
> i zapomniałem o historii... admin dostał wszystko to co robiłem w
> /.bash_histrory......

Oczywiście i przed czymś takim linkowanie statyczne nie ustrzeże :>

kloczek
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*



Więcej informacji o liście dyskusyjnej pld-devel-pl