Jak włamać się do komputera

Jak włamać się do komputera

Jak włamać się do komputera
Źródło zdjęć: © PC World
10.03.2010 10:00, aktualizacja: 10.03.2010 16:21

Nawet najlepiej zabezpieczony komputer może stać się ofiarą ataku. Dowiedz się, jakich metod używają cyberprzestępcy.

Cyberprzestępcy mogą przeprowadzać wiele ataków, ale jednym z najbardziej zyskownych jest przejęcie kontroli nad komputerem. Daje to olbrzymie możliwości - od podsłuchiwania haseł internautów do zarażania setek osób złośliwym oprogramowaniem, jeśli włamywacz dostanie się do zasobów popularnego serwera.

Obraz
© Analizując uczestników grup tematycznych w serwisach społecznościowych i porównując te, do których należy dany internauta, można dowiedzieć się jak ma na nazwisko. (fot. PC World)

I ty zostaniesz administratorem

Komputery możemy podzielić na cztery grupy w zależności od stopnia trudności ataku. W pierwszej znajdują się maszyny na których masz już uprawnienia administratora (w przypadku systemów uniksowych - roota). To najmniej interesujący przypadek, bo wówczas możesz właściwie prawie wszystko. Bardzo często atak polega na przejęciu maszyny z którejś z dalszych grup.

Druga grupa to maszyny, do których masz bezpośredni dostęp - fizycznie pracujesz przy wybranym komputerze, łączysz się z nim przez SSH itp. W tym przypadku masz kilka możliwości ataku polegającego na uzyskaniu najwyższych praw. W artykule zostaną przedstawione dwa - uzyskanie hasła administratora i zalogowanie na jego konto oraz utworzenie nowego użytkownika z wyższymi uprawnieniami za pomocą mechanizmu komunikatów.

Kolejna grupa komputerów to serwery, czyli maszyny wyposażone w oprogramowanie, które przez cały czas oczekuje na klientów chcących skorzystać z ich usługi. Taką usługą może być na przykład hosting stron WWW albo firmowy serwer do wymiany plików. Dostęp do nich jest bardzo wartościowy, gdyż zwykle są to wysokiej jakości urządzenia działające 2. godziny na dobę i wyposażone w dobre łącze.

Ostatnia grupa to komputery, które nie udostępniają żadnych usług. Jest to zdecydowana większość domowych pecetów. Wbrew pozorom sytuacja nie jest beznadziejna. W tym przypadku wystarczy samemu zainstalować na takim komputerze oprogramowanie, które będzie oczekiwało na nasze polecenia lub samodzielnie zbierze potrzebne dane i wyśle we wskazane miejsce. Oczywiście niezbędne jest do tego wszelkiej maści złośliwe oprogramowanie, którym cyberprzestępca musi zarazić komputer ofiary. Chociaż w zależności od tego jakich danych potrzebujesz, zdarza się że można się obejść i bez tego. Czasem wystarczy, że ofiara wejdzie na spreparowaną stronę, a skrypty na niej zawarte wyciągną niektóre informacje przechowywane przez przeglądarkę. Poszukiwania ofiary

Jeśli wiesz już jakie komputery zamierzasz zaatakować, musisz je znaleźć. Urządzenia sieciowe są rozpoznawane po adresie IP. Jest to 32-bitowy numer zapisywany jako cztery liczby z zakresu 0 - 25. oddzielone kropkami. Np. serwer WWW PC Worlda ma adres 194.69.207.226. Komputery znajdujące się w sieci lokalnej mają numer zaczynający się od 192.168.X.X, każdy z takich numerów może powtarzać się w wielu sieciach.

Obraz
© (fot. PC World)

Ponadto urządzenia komunikują się wykorzystując porty - jeden serwer może oczekiwać na połączenia na wielu portach, na każdym z nich świadcząc inną usługę. Z reguły korzysta się z ustalonych portów, np. port 8. dla serwera WWW, port 22 dla SSH itd., ale nie jest to konieczne. Porty na których nie są świadczone żadne usługi powinny być zamknięte, czyli niedostępne z zewnątrz. Zwykli użytkownicy mogą otwierać tylko wysokie porty (z tego powodu np. programy P2P działają na portach od 30 000 wzwyż).

Jak włamać się na komputer

Do znalezienia portów otwartych na danym serwerze można wykorzystać darmowy program Nmap, dostępny zarówno w wersji dla Windowsa jak i systemów uniksowych. Oprócz otwartych portów może on zidentyfikować jaki system operacyjny jest zainstalowany na urządzeniu, co pomoże w ataku.

Popularnym scenariuszem włamania jest znalezienie takiego komputera, który udostępnia możliwość zdalnego dostępu przez SSH, telnet czy inną usługę i zalogowanie się z wykorzystaniem popularnej nazwy użytkownika i odgadnięcie hasła. Nazw można domyślić się na podstawie otwartych portów. W systemach uniksowych większość program świadczących usługi działa na oddzielnych kontach użytkownika, którego nazwa rzadko jest zmieniana z domyślnej, a konfiguracje często pozwala mu na dostęp do interpretera poleceń. Warto również sprawdzić nazwy użytkownika takie jak root, admin, administrator czy john. Odgadnięcie hasła to już kwestia czasu.

Inna opcja to dokładniejsze przyjrzenie się wynikom zwracanym przez Nmapa. Na podstawie systemu operacyjnego i działających usług można dojść do tego jakie programy działają na danym komputerze i wykorzystać odkryte w nich luki. Świeżo odkryte błędy są wykorzystywane do włamania przy pomocy tzw. exploitów 0-day (dnia zerowego), czyli znanych błędów, które nie zostały jeszcze załatane. Jak złamać hasło

Po uzyskaniu dostępu do komputera należy zdobyć konto administratora. W nowoczesnych systemach hasła użytkowników nie są przechowywane, więc nie da się ich odczytać z plików systemowych, konfiguracyjnych itd. W czasie ustawiania nowego hasła używana jest tzw. funkcja jednokierunkowa, która danemu hasłu przyporządkuje konkretny ciąg danych - tzw. skrót (hash). Dane hasło zawsze daje taki sam skrót, ale na podstawie skrótu nie da się uzyskać hasła. Skrót taki zostaje zapisany w systemie, a podczas logowania ponownie oblicza się hash hasła i porównuje z zachowanym.

Obraz
© Nmap pokazuje m.in. programy i system działające na skanowanym komputerze (fot. PC World)

Sytuacja nie jest jednak beznadziejna. Uzyskanie hasła polega na wygenerowaniu wszystkich fraz i odpowiadających im skrótów, dowiedzeniu się jaki jest skrót hasła ofiary i sprawdzeniu jakie hasło mu odpowiada. Hasze mogą być zapisane jawnie, gdyż teoretycznie nie zdradzają hasła. W systemach uniksopodobnych skróty często znajdują się w pliku /etc/passwd lub /etc/shaddow.

Ten sposób odzyskania hasła ma jednak wadę, która w praktyce wyklucza jego zastosowanie. Taka tablica nawet dla krótkich haseł zajmowałaby wiele terabajtów danych. To zdecydowanie za dużo. Zamiast tego stosuje się tzw. tęczowe tablice, które pamiętają tylko część haseł, a pozostałe potrafią wygenerować w locie. Tęczowe tablice zawierają po kilkadziesiąt gigabajtów dla danego zestawu znaków i można je kupić za kilkaset dolarów.

Mało popularna, ale skuteczniejsza i tańsza metoda o nazwie kompresja tablic obliczeń wstępnych została zaproponowana przez Polaka, Michała Trojnara. Zawsze pozostaje jeszcze łamanie haseł na podstawie słownika i metodą brute-force (sprawdzanie wszystkich możliwości po kolei), ale może to trwać wiele dni jeśli hasło jest złożone.

Tworzenie konta administratora

Alternatywną metodą do uzyskania hasła jest utworzenie nowego konta z uprawnieniami administratora. Zakładamy przy tym, że masz już fizyczny dostęp do komputera, ale twoje uprawnienia nie są wystarczające. Dla odmiany zajmiemy się komputerem z Windowsem na którym działamy np. w pracy albo na uczelni.

Obraz
© Należy pamiętać o zablokowaniu nieużywanych kont (Gość w Windowsie) i korzystaniu z konta bez praw administratora (fot. PC World)

Do wykonania ataku potrzebny jest program działający z wysokimi uprawnieniami. Zwykle będzie to antywirus lub aplikacja do szpiegowania użytkowników zainstalowana przez administratora. Taką aplikację można zmusić do wykonania niebezpiecznego kodu, który zostanie wstrzyknięty przez atakującego. Wykona on wywołanie systemowe uruchamiające powłokę i wykona odpowiednie polecenia - w naszym przypadku utworzy konto nowego użytkownika z uprawnieniami administratora. Kod tego typu nazywa się shellcodem (shell- powłoka, code - kod). Należy stworzyć program, który wykorzysta błędy w zainstalowanym programie (tzw. exploit) i w konsekwencji wykona złośliwy kod.

W przykładowym ataku możesz wykorzystać mechanizm komunikatów systemu Windows. Są to sformalizowane informacje wymieniane między kontrolkami uruchomionych aplikacji. Często wykorzystywaną techniką jest tzw. Format string attack. Polega on na wykorzystaniu błędnego sposobu przekazywania argumentów do funkcji operujących na ciągach znaków. Sprowadza się to do napisania programu, który wklei w odpowiednim polu źle zabezpieczonej aplikacji pracującej z wysokimi uprawnieniami taki łańcuch znaków, który spowoduje wykonanie niebezpiecznego kodu przemyconego w tym tekście.

Aby dokonać ataku cyberprzestępca potrzebuje uprzywilejowanego programu (np. antywirusa). Otwiera w nim okno zawierające pola edycji, odczytuje uchwyt okna, np. dzięki darmowemu debuggerowi OllyDbg, który nie wymaga instalacji, więc może być uruchomiony przez użytkownika bez uprawnień administratora i włącza exploit.

Niestety obrona przed użytkownikami posiadającymi dostęp do komputera nie jest prosta. Jeśli logi przechowywane są lokalnie, mogą zostać usunięte lub zmodyfikowane, komunikaty przesyłane do narzędzi kontrolnych mogą zostać sfałszowane itp. Dobrym rozwiązaniem jest stosowanie minimalnej liczby programów o wysokich uprawnieniach i tylko takich, które zostały dostatecznie dobrze przetestowane. Najczęstsze metody ataku

Najczęściej atakowanymi celami są jednak komputery zwykłych użytkowników do których cyberprzestępca nie ma fizycznego dostępu. W tym celu zachęcają oni internautów do zainstalowania szkodliwego oprogramowania, które po uruchomieniu będzie działać samodzielnie lub uruchomi serwer na komputerze nieświadomego użytkownika.

Obraz
© Metasploit to darmowy framework (narzędzie programistyczne) przydatny przy pisaniu exploitów (fot. PC World)

Może ono ukrywać się w załączniku do e-maila, linku podesłanym przez Facebooka czy w programach, które ściągamy z pełną świadomością. W przypadku e-maili, komunikatorów i serwisów społecznościowych podejrzane są nie tylko pliki przesłane przez nieznajomych (tych nie należy otwierać nigdy jeśli nie oczekujemy żadnego e-maila) ale również przez przyjaciół. Wirusy mogą bowiem odczytać listę kontaktów i wysłać swoją kopię do osób, które się na niej znajdą w imieniu zakażonej osoby.

Do zarażenia się złośliwym oprogramowaniem dochodzi także w wyniku ściągania cracków, generatorów kodów seryjnych i pirackich kopii programów. Często obok podstawowej funkcjonalności zawierają one całą gamę złośliwego oprogramowania - od keyloggerów zaczynając na rootkitach kończąc. Cyberprzestępcy wykorzystują to, że podczas instalacji programu masz prawa administratora, co pozwala na zainfekowanie komputera. Aby się przed tym obronić należy ściągać tylko legalne programy z zaufanych źródeł, a w razie wątpliwości skanować je przy użyciu antywirusa.

A co w sytuacji, jeżeli odkryłeś już na komputerze złośliwe oprogramowanie? Program taki może połączyć się z siecią cyberprzestępcy, pobrać dodatkowe moduły (np. wykradające hasła, przekształcające komputer użytkownika w serwer proxy itp.), a po skończeniu pracy wysłać dane do właściciela. Często zarażone komputery łączy się w tzw. botnet, czyli sieć zainfekowanych maszyn będącą pod kontrolą jednego cyberprzestępcy. Popularne jeszcze 1. lat temu wirusy niszczące pliki wyszły już z mody. Obecne złośliwe oprogramowanie ma zapewnić właścicielowi dochód i ma przede wszystkim pozostać niezauważone przez jak najdłuższy czas.
Można się przed tym bronić, instalując firewalla lub aktywując zaporę sieciową wbudowaną w system Windows. Dzięki temu uniemożliwisz wirusom przesłanie zebranych informacji i komunikację z właścicielem botnetu.

Na skróty

A może zamiast przejmować kontrolę nad tysiącami komputerów łatwiej byłoby kupić gotowy botnet? Albo ukraść go któremuś z cyberprzestępców? Tak się składa, że ataki przeprowadzane są również na sieci komputerów przejętych przez konkurencję. Dopiero tam zaczyna się prawdziwa walka...

Źródło artykułu:PC World Komputer
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (116)