Buffer overflow w oprogramowaniu serwerowym

Buffer overflow w oprogramowaniu serwerowym


Omówiony już w ramach tej prezentacji, przez mojego kolegę Buffer overflow może zostać także wykorzystany do włamania się do systemou komputerowego z sieci. Wystarczy, że znajdziemy oprogramowanie serwera jakiejś usługi na danym komputerze, które jest podatne na BO.
Duże możliwości daje atak na serwery usług nasłuchującyhc na portach poniżej 1024, ponieważ oprogramowanie działające na tym porcie w większości przypadków uruchamiane jest z prawami root'a. Większośc popularnych usług takich jak FTP, SMTP, POP3, WWW działa właśnie na portach poniżej 1024.

Jako przykład może posłużyc oprogramowanie BIND 8.2.2 - jest to serwer usługi DNS. Jeżeli na komputerze działa to oprogramowanie to możemy przeprowadzić następujący atak:

  1. Posiadamy konto root na komputerze, który jest primary dns serwerem dla pewnej domeny, powiedzmy test.pl Do wpisów domen na naszym serwerze dodajemy subdomenę, np: ee (ee.test.pl).
  2. Wyłączamy właściwy serwer DNS, a włączamy exploita (łatwo znależć w sieci - plik t666.c)
  3. Zmuszamy komputer - ofiarę, aby znalazł adres IP komputera ee.test.pl - Można zrobić to za pomocą np: $nslookup server ofiara.com ee.test.pl
  4. Komputer - ofiara szuka w serwerach DNS adresu IP. Ostatecznie zostaje skierowana na komputer atakującego i tam zadaje pytanie o ee.
  5. Exploit udziela odpowiedzi spreparowanej w ten sposób, że na komputerze ofiary otrzymujemy root shell, oczywiście w wyniku BO.

Expolity i Script Kiddies


Expolit to nazwa na program, który wykorzystuje dziurę w jakimś oprogramowaniu do uzyskania większych praw w systemie na którym to oprogramowanie działa. Istnieje wiele różnych programów, które wykorzystują dziury w serwerach WWW, poczty, DNS itp.
Script Kiddies tym mianem określa się komputerowych włamywaczy, którzy używają jedynie expolitów, w wielu przypadkach nie wiedząc nawet na jakiej zasadzie one działaja.

[ UP ][ NEXT ]

(c) by Jarek