R02B.PDF

(601 KB) Pobierz
Helion
160
Hakerzy....
Ataki na Windows 95/98
Każdy haker wie, że nie istnieje coś takiego jak ochrona danych w systemie opera-
cyjnym Windows 95, gdyż taka możliwość nie została przewidziana przez firmę
Microsoft. Co prawda istnieje system haseł, ale nie jest on specjalnie funkcjonalny.
Brakuje również mechanizmów sprawdzania dostępu do plików czy innych zaso-
bów systemu. Z pomocą intruzom przychodzi ponadto WinAPI, w którym aż roi się
od funkcji umożliwiających wykorzystanie systemu „niezgodnie z jego przeznacze-
niem”. System ten nie powinien zatem być traktowany jako „system do wszystkiego”
i jeżeli już zostanie podłączony do Sieci, należy się liczyć z ewentualnym niebezpie-
czeństwem.
WinAPI
Wiele luk w systemie bezpieczeństwa związanych jest z samym systemem opera-
cyjnym i, aby zrozumieć ich zasadę, należy w minimalnym chociaż stopniu przy-
swoić sobie działanie WinAPI ( Windows Application Programming Interface ).
Wszystkie obiekty graficzne widziane na ekranie, takie jak: przyciski, pola teksto-
we, listy wyboru itp. są przez system traktowane tak samo — każdy taki obiekt jest
oddzielnym oknem, które podlega pewnym zależnościom, a okna z kolei mają wła-
ściwości określające kolor, czcionkę, wygląd i rożne inne cechy charakterystyczne
dla klasy danych okienek. Każde okno ma również zdefiniowane procedury obsługi
wiadomości pochodzących z systemu, bądź to od użytkownika czy innej aplikacji.
„Wiadomości stanowią bowiem bardzo sprytny mechanizm systemu powiadamia-
nia jego komponentów o tym, że zaistniało jakieś zdarzenie np. użytkownik wpisał
text do okienka klasy TextEdit (okienko tekstowe), system wysłał do kolejki wia-
domości polecenie SetText (ustaw tekst) w momencie, gdy okienko „obsłuży”
wszystkie wiadomości w kolejce i „dojdzie” do SetText , w polu tekstowym zostanie
wyświetlona wartość wpisana przez użytkownika. Teraz należałoby zadadać kolejne
pytanie — czemu służą kolejki wiadomości? Odpowiedź wydaje się prosta — są
one po to, by okienko „wiedziało”, które rzeczy ma obsługiwać i w jakiej kolejno-
ści. WinAPI udostępnia funkcje, które pozwalają podglądać kolejki wiadomości dla
dowolnego okienka, udostępnia również funkcje służące do odczytywania właści-
wości okienek oraz wartości tych właściwości (np. okienko tekstowe Edit ma wła-
ściwość typu Text , która jest wyświetlana i stanowi odwzorowanie tego, co wpisał
użytkownik; jest ono identyfikowane za pomocą uchwytu, swoistego identyfikato-
rem w skali systemu.
I znów nasuwa się pytanie — jaki sens ma wprowadzenie dodatkowych zasad ob-
sługi, skoro tekst okna tekstowego zawsze jest widoczny? I znów odpowiedź okaże
się prosta. Istnieje bowiem bardzo sprytna właściwość okienek tekstowych — Pas-
swdChar . Jeśli jest ona odpowiednio ustawiona, to okienko zamiast wyświetlać
właściwość Text, pokaże znaczki *** (w ilości odpowiedniej do ilości liter w Text ).
C:\WINDOWS\Pulpit\Szymon\hakerzy\r02b.doc
160
11135635.002.png
Rozdział 2. Hakowanie systemu
161
Jest to możliwość doskonale znana ze wszystkich programów, w których trzeba
wprowadzić hasło. Stanowi jednak pozorną ochronę, gdyż właściwość Text dalej
zawiera prawidłowy napis (np. hasło użytkownika).
Dobrze jest pamiętać także o tym, że wszystkie funkcje mogą być wykonywane
przez dowolny program.
Narzędzia
Do hakowania Windowsa wykorzystać można wiele narzędzi, np.:
WinSight [Windows and messages viewer] — aplikacja dostarczana
z produktami firmy Borland (obecnie Inprise), która pozwala między innymi
podglądać wiadomości wysyłane do docelowych okien;
Tunel — prosty programik tunelujący transmisję TCP/IP; dodatkową opcję
stanowi możliwość podglądania całej transmisji w konsolowym okienku;
FS [Fake Server] — program, który udaje serwer dowolnej usługi; został
napisany w celu testowania protokołów Sieciowych i ich klientów,
ale doskonale może posłużyć jako sniffer haseł programów pocztowych,
gdyż ma możliwość podglądu i logowania transmisji;
Listen — program, którego jedyną funkcją jest nasłuchiwanie prowadzone na
danym porcie i informowanie użytkownika o próbach połączenia; może służyć
do monitorowania portu 139 i chronić przed sławetnym WinNukiem;
DUP [Dial-up passwd] — programik, który używając funkcji WinAPI
„wyciąga” hasła służące do łączenia się z Internetem;
PortScanner — służy do skanowania portów zdalnego hosta, pozwala określić,
które usługi (i w jakich wersjach) są dostępne na serwerze;
ICQThief — „podszywa” się pod serwer ICQ i pokazuje hasło ofiary;
winspy.dll to biblioteka, która „podszywa” się pod winsock.dll (obsługa
TCP/IP) i pozwala śledzić wszystkie odwołania wraz z parametrami;
Netstat — standardowy program do sprawdzania połączeń dołączony
do systemu.
Programy, takie jak: Tunel, FS, Listen i DUP, można pobrać z Internetu np. ze stro-
Ataki lokalne
Ataki na hasła w programach pocztowych i FTP
W tym przypadku bardzo często mamy do czynienia z brakiem wyobraźni progra-
mistów. Do takiego wniosku nieodwołalnie prowadzi fakt, że hasła tych programów
C:\WINDOWS\Pulpit\Szymon\hakerzy\r02b.doc
161
11135635.003.png
162
Hakerzy....
przeważnie da się albo rozkodować, albo wykorzystać bez rozkodowywania, po-
nieważ najczęściej są zapisywane w rejestrze w formie zaszyfrowanej (często uży-
wa się do tego słabych algorytmów) lub w plikach konfiguracyjnych. Najprostszą
metodą na ich użycie jest zdobycie pliku konfiguracyjnego lub fragmentu rejestru
z odpowiednim kluczem i umieszczenie go na dysku twardym własnego komputera
(w skonstruowanej uprzednio konfiguracji softwarowej) dokładnie w tym miejscu,
z którego został pobrany. Sprawi to, że program „potraktuje” dany wpis jak swój
własny i sam zajmie się rozkodowaniem odpowiednich danych. Jeśli z jakichś po-
wodów ta metoda okaże się niemożliwa do zastosowania, haker może rozkodować
hasło znajdujące się w rejestrze lub pliku (udało się już złamać hasła do WS_Ftp,
IEMail, Netscape, Cute_FTP). Powód jest prosty — słaby algorytm kodowania.
Usługa Dial-up
WinAPI zawiera funkcje przystosowane do obsługi połączenia z Internetem po-
przez modem telefoniczny. Wśród nich znajdują się również takie, za pomocą któ-
rych można ustawić bądź pobrać ustawienia parametrów połączenia.
Funkcja:
DWORD RasGetEntryDialParams (
LPTSTR lpszPhonebook,
LPRASDIALPARAMS lprasdialparams,
LPBOOL lpfPassword
pozwala każdemu programowi na pobranie informacji o konkretnym połączeniu
(z hasłem włącznie). Na działaniu tej funkcji opiera się program Dial-up. Co istotne
— hasło nie jest w żaden sposób kodowane!
Sniffing wiadomości
Każdy szanujący się adept sztuki hakerskiej wie, że możliwe jest ustawienie tak
zwanych procedur HOOK, do których będą przekazywane wiadomości skierowane
do danego okienkam, co pozwala na podgląd różnych jego parametrów oraz na na-
pisanie ciekawych programów-narzędzi (np. można w ten sposób znajdować okna,
które dopiero co zostały zamknięte lub otwarte). Haker robi to w następujący sposób:
Włącza WinSight;
W menu Spy ustawia opcję Follow focus;
W menu Messages ustawia opcję All windows;
W oknie Messages/Options ustawia tylko opcję Window;
W oknie Messages/Processes zaznacza tylko te procesy, które go interesują.
Po kliknięciu okienka, w którym jest zamaskowany tekst (w postaci ******),
w pierwszej części okna WinSighta pokazują się właściwości tego okienka wraz
z tekstem w postaci jawnej, a jeśli klikniemy dwukrotnie tę pozycję, pokaże się okno
z dokładnymi właściwościami okienka. Wtedy widać, że właściwość Password usta-
wiona jest na true .
162
C:\WINDOWS\Pulpit\Szymon\hakerzy\r02b.doc
11135635.004.png
Rozdział 2. Hakowanie systemu
163
W dolnej części okna można śledzić wiadomości, jakie są wysyłane do okienka do-
celowego. Po kliknięciu okienka tekstowego — jeśli okno macierzyste jest okien-
kiem dialogowym — zostaje wysyłana wiadomość „WM_GETDLGCODE , która
zwraca m.in. wartość tekstu w okienku. Nie jest to oczywiście jedyna wiadomość,
którą da się wykorzystać w ten sposób. I hakerzy ciągle eksperymentują.
Autorun
To bardzo ciekawy wynalazek firmy z Redmont. Jeśli na dysku CD-ROM umieścimy
plik autorun.inf, który będzie zawierał tekst:
[autorun]
OPEN=NAZWA_PROGRAMU.EXE
to od razu po włożeniu CD zainstaluje się program NAZWA_PROGRAMU.EXE ,
który niesie ze sobą potencjalne zagrożenie. Na dodatek może on „ukryć się” w syste-
mie, tak aby użytkownik nie mógł go zauważyć nawet po naciśnięciu Ctrl+Alt+Del .
Szczególnie trzeba uważać na płyty z pirackim oprogramowaniem, które powyższy
trik mogą wykorzystywać.
Wykradanie rejestru systemowego
Do operacji wykonywanych na rejestrze służy program Regit, który zaopatrzony
jest w bardzo ciekawe opcje. Może on zostać uruchomiony bez pokazywania okien-
ka. Parametr ,-e’ służy tu do eksportowania rejestru bądź jego części do pliku .reg
(jest to plik tekstowy).
Polecenie:
regedit —e c:\1.reg HKEY_CURRENT_USER\Software
utworzy plik 1.reg w katalogu głównym dysku C zawierający klucz HKEY_ CUR-
RENT_USER\ Software . W zależności od ilości zainstalowanego oprogramowania
plik ten będzie zawierał od kilkuset kilobajtów do kilku megabajtów, a po kompresji
może mieć rozmiar idealny do przesłania przez Internet.
Ciekawe klucze w rejestrze
Autostart —
[ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run ].
Wszystkie polecenia, które zostaną tu umieszczone będą wykonane podczas startu.
Ustawienia programów — [ HKEY_CURRENT_USER\Software ] — mieszczą kon-
figuracja, hasła, numery seryjne itp.
Sposoby wykorzystania rejestru
Jeśli haker posiada fragment czyjegoś rejestru i chce korzystać z jakiegoś hasła to,
aby uniknąć konieczności zbędnego rozkodowywania haseł, może zaimportować
odpowiednie klucze z utworzonego na komputerze ofiary pliku .reg . Docelowy
program potraktuje to jako oryginalną konfigurację.
C:\WINDOWS\Pulpit\Szymon\hakerzy\r02b.doc
163
11135635.005.png
164
Hakerzy....
Podglądanie transmisji pakietów w Sieci
Jeśli haker zamierza podejrzeć transmisję prowadzoną między dwoma hostami, to
może to zrobić na trzy różne sposoby :
1. Przechwycić odwołania do biblioteki winsock.dll ;
2. Przepuścić całą transmisję przez naszą aplikację;
3. Śledzić to, co jest przesyłane za pomocą kabla.
O ile trzecia metoda łączy się z ingerencją w sterowniki, o tyle pierwsza i druga
z powodzeniem pozwalają się wykonać (nie trzeba chyba przypominać, że transmisja
w protokołach SMTP, NNTP, FTP, HTTP itp. nie jest kodowana). Więc wszystkie
hasła czy loginy mogą być łatwo podglądane.
WinSpy
Podszywa się pod bibliotekę winsock.dll i loguje wszystkie odwołania do niej łacznie
z parametrami przekazywanymi do odpowiednich funkcji. Jest to o tyle dobry pro-
gram, że można za jego pomocą prześledzić dokładnie, co „robią” aplikacje z otwar-
tym socketem, można również monitorować transmisję UDP.
Tunel
Prosty programik, który służy hakerowi do przekazywania transmisji z jednego
socketa do drugiego. Może on np. „przepuścić” przez niego sesję IRC albo sesję
POP3, żeby poznać hasło wysyłane do serwera (do odpowiedniego działania tego
programu niezbędny jest jeszcze serwer, do którego można by przekierowywać
transmisję).
FS
Fake Server jak sama nazwa wskazuje „udaje” serwer dowolnej usługi. Wystarczy,
że w pliku konfiguracyjnym haker wpisze schemat protokołu (w formacie request-
reply) np. POP3, a połączy się z nim programem-klientem. Cała transmisja może
być logowana.
Windows 95/98 a konie trojańskie
Konie trojańskie działające w systemie operacyjnym Windows 95 to temat bardzo
obszerny, gdyż codziennie powstają nowe, niebezpieczne i coraz to bardziej zaawan-
sowane programy. Dlaczego? Odpowiedź jest prosta:
„... potęga tego systemu jest wprost proporcjonalna do ilości użytkowników na
świecie. Kiedyś konie trojańskie były przeważnie prymitywnymi bombami logicz-
164
C:\WINDOWS\Pulpit\Szymon\hakerzy\r02b.doc
11135635.001.png
Zgłoś jeśli naruszono regulamin