Hacking - podstawy
Co to jest adres IP?
Adres IP w wersji 4 to 32-bitowa liczba identyfikująca komputer w sieci. Zapisuje się ją w postaci dziesiętnej, rozdzielając każdy bajt kropką. Adres IP nie może być dowolny, ponieważ niektóre adresy są zarezerwowane. Takim adresem jest np. 127.0.0.1, który oznacza lokalny komputer. Część adresów jest wykorzystywana w sieciach lokalnych, służą one do identyfikowania maszyn tylko w danej sieci. Są to tzw. nieroutowalne adresy IP. Należą one do klas 10.0.0.0, 172.16.0.0-172.31.0.0 i 192.168.0.1 Dodatkowe adresy mogą być przypisane do interfejsów sieciowych komputera. Np. z modemem może być powiązany adres 213.78.43.135, a z kartą sieciową 192.168.0.5. Adres IP może być przypisany statycznie w ustawieniach systemu operacyjnego, bądź przyznawany dynamicznie z serwera za pomocą protokołu DHCP. Adresy IP mogą też służyć do adresowania sieci.
Co to jest adres domenowy?
Adres IP jest niewygodny do zapamietywania i posługiwania się nim przez ludzi. Dlatego powstał DNS - system nazw domenowych. Nie ma jakiegoś sposobu przeliczania adresu IP na adres domenowy albo na odwrót. Czasami tylko spotyka się sytuacje, że część adresu IP jest zawarta w adresie domenowym. Taka sytuacja występuje np. w adresach nadawanych przez tpsa podczas połączenia modemowego. Adesy te są ze sobą skojarzone w bazach danych serwerów DNS. Aby komputer połączył się z drugim komputerem, potrzebny jest adres IP. Dlatego gdy znany jest tylko adres domenowy, wysyłane jest zapytanie do serwera DNS o odpowiadający adres IP. Np. po wpisaniu adresu serwera WWW do przeglądarki, komputer łączy się na porcie 53 z serwerm DNS, pobiera adres IP i dopiero łączy się z serwerm WWW. Gdy następnym razem wpiszemy ten sam adres, komputer nie będzie już się łączyć z serwerm DNS, tylko pobierze adres IP z pamięci podręcznej (DNS cache). Adresy IP można na stałe skojarzyć z adresem domenowym. W systemach WinNT/2k/XP dokonujemy tego w pliku Windows\system32\drivers\etc\hosts, w Windows 9x/Me w Windows\hosts, a pod Linuksem w pliku /etc/hosts.
Jak sprawdzić swoje IP?
W systemie Windows służy do tego polecenie ipconfig. Niektóre Windowsy mają też okienkowy program winipcfg.exe. W systemie Linux do sprawdzenia IP możemy użyć programu /sbin/ifconfig. Można też wejść na jakąś stronę, która pokazuje IP, np. www.grzegorz.net
Jak zamienić adres IP na domenowy i na odwrót?
Można np. poleceniem ping. Jeśli mamy IP, wywołujemy ping z parametrem -a przed adresem IP, np. ping -a 192.168.4.23 Gdy mamy adres domenowy, podajemy po prostu sam adres: ping -a onet.pl Do dyspozycji jest też program nslookup. Komputer może mieć kilka adresów domenowych. Możemy np. zamienić adres domenowy na IP, IP na domenowy i uzyskamy inny adres domenowy niż na początku. Jednak kolejna zamiana adresu na IP da to samo IP. Pod Linuksem mamy komendę host.
Jak sprawdzić IP rozmówcy z GG?
Sprawdzenie IP rozmówcy z GG jest możliwe dzięki temu, że serwer wysyła do nas IP naszego rozmówcy, abyśmy mogli wysłać mu plik. Wysyłane pliki nie idą przez serwer GG, dlatego nasz komputer musi sam się połączyć z komputerem rozmówcy i potrzebne mu jest IP. Ponieważ wysyłanie do nas IP jest związane z przesyłaniem plików, nie zawsze je otrzymamy. Nie uzyskamy go, gdy dana osoba nie ma nas w kontaktach, nie korzysta z połączeń bezpośrednich (p2p) albo jest za NAT-em. Gdy mamy szczęście, możemy przechwycić pakiet z adresem. Można to zrobić snifferem. Wygodniej jest jednak skorystać z gotowego programu, np. PowerGG ze strony www.powergg.prv.pl
Jak sprawdzić IP osoby wysyłającej e-mail lub post?
Należy zajrzeć do nagłówków wiadomości. W OE służy do tego kombinacja klawiszy Ctrl+F3. W mailu szukamy tam ostatniego nagłówka Received, a w poście nagłówka NNTP-PostingHost lub X-Trace. Będzie tam adres IP albo domenowy nadawcy, w prypadku X-Trace tylko IP.
Jak zmienić swoje IP?
Wchodzimy w opcje IP i zmieniamy :) Należy jednak wiedzieć, jakie to może mieć konsekwencje, możemy odciąć się od sieci. Przecież reszta urządzeń sieciowych (routery, switche) nie będzie wiedzieć o naszej zmianie. Dotyczy to szczególnie urządzeń naszego ISP w sieci rozległej. Żeby być widocznym pod innym IP, możemy skorzystać też z serwera proxy.
Jak wysłać anonimowego e-maila?
Należy znaleźć serwer SMTP open-relay, który pozwoli wysłać e-mail z dowolnym adresem nadawcy, oraz jednocześnie nie dopisze naszego adresu IP. Serwer taki jest dosyć strudno znaleźć.
Jak działa firewall?
Firewall przepuszcza lub odrzuca pakietu na podstawie zdefiniowanych reguł, takich jak protokół, adres nadawcy, adres odbiorcy, port źródłowy, port docelowy, czas itp. Służy do ochrony sieci. Np. niektóre usługi, takie jak np. udostępnianie folderów powinny być dostępne tylko z sieci lokalnej. Można za jego pmocą ograniczyć wykorzystanie przez użytkowników sieci niektórych programów. Chroni też przed trojanami. Firewall może być programowy lub sprzętowy.
Co to jest maskarada (NAT)?
Jest to tłumaczenie adresów komputerów w sieci lokalnej na adres publiczny. Z maskarady korzysta się, gdy jeden komputer udostępnia połączenie internetowe innym komputerom z LAN-u. Gdy dostajemy od naszego ISP pulę adresów, możemy je nadać naszym komputerow, ale gdy mamy tylko jeden, potrzebny jest NAT. Gdy komputer z LAN-u chce połączyć się z komputerem w Internecie, łączy się z komputerem-bramką. Bramka w przesyłanym pakiecie zmienia adres nadawcy z adresu komputera na swój. Tym samym wysyła pakiet komputeraz z LAN-u jako swój. Bramka zapamiętuje to, i gdy przyjdzie pakiet z serwera, przesyła go do odpowiedniego komputera w LAN-ie. Komputery w LAN-ie mają dostęp do Internetu, jednak do nich dostępu z zewnątrz nie ma. Programy pod Windows przeprowadzające translację adresów to WinRoute, WinGate, ISA Server oraz Internet Connection Sharing (ICS), który wbudowany jest w Win98Se/Me/2k/XP. Bramką może być także router.
Dlaczego używanie trojanów to nie hacking?
Ponieważ nie wymaga prawie żadnej wiedzy i najczęściej służy do wyrzycia się na kumplach.
Jak sprawdzić trasę pakietu?
W Windows jest polecenie tracert, w Linuksie traceroute.
Na czym polega sniffing?
Polega na przechwytywaniu pakietów, nawet tych, które nie są adresowane do komputera, na którym działa sniffer. Sniffer jest programem, który zmienia tryb pracy wybranego interfejsu sieciowego na "promiscuous" (dosłownie "rozwiązły :) ). Dzięki temu może przechwytywać i analizować wszelkie pakiety docierające do danego interfejsu sieciowego. Możliwe jest to dzięki temu, że w wielu sieciach pakiet dociera do wielu komputerów. Każdy z nich porównuje docelowy adres IP w pakiecie ze swoim i jeśli są takie same, analizuje go. Sniffing można więc wykorzystać do podsłuchu i np. przechwycenia hasła i innych danych. Sniffery są też nazywane analizatorami sieciowymi, ponieważ są niezastąpionym narzędziem administracyjnym przy zarządzaniu i usuwaniu problemów z siecią. Sniffing jest mocno utrudniony w sieciach przełączanych, ponieważ do nas dochodzą zazwyczaj tylko "nasze" pakiety. Stosując jednak różne techniki, można zmusić switche i inne urządzenia sieciowe do zmiany trasy pakietów i skierować je do nas. Aby korzystać ze snifferów pod Windows, potrzebne są biblioteki WinPcap. Popularne sniffery dla Windows to: Ethereal, WinDump, daSniff, iRis. Pod Linuksa np. tcpdump.
Jak wykryć sniffer?
Pod Windows można użyć progamu PromiscDetect do sprawdzenia, czy któryć z interfejsów sieciowych nie pracuje w trybie promiscuous, co może świadczyć o istnieniu sniffera. Używając programu L0pht AntiSniff można wykryć sniffer w sieci. Sam sniffer pracuje biernie, ale może umożliwić innym programom czynności, których nie mogłbyby wykonać bez sniffera. Dlatego jest pewna możliwość wykrycia go.
Co to jest spoofing?
Jest to inaczej podszywanie. Polega na fałszowaniu adresu IP nadawcy w pakietach, ew. adresów MAC lub też certyfikatów.
Co to jest "unchecked buffer" i "buffer overflow"?
Unchecked buffer jest to błąd w programie polegający na zarezerwowaniu zbyt małej ilości pamięci dla nadchodzących danych. Może zostać wykorzystany do przeprowadzenia ataku buffer overflow, czyli przepełnienia bufora. Wysyłamy zbyt dużą ilość danych, dodając kod maszynowy, który wykona jakąś czynność, np. da nam dostęp do shella. Program odbierając dane "pójdzie w kosmos" i zostanie wykonany wysłany przez nas kod maszynowy. Odbędzie się to z uprawnieniami konta, na którym działa proces odbierający dane. Możemy w ten sposób uzyskać prawa roota (UNIX) lub LOCAL SYSTEM (WinNT). Dlatego daemony/usługi nie powinny pracować ze zbyt wysokimi prawami.
Co to jest "kompromitacja" ("compromise") serwera?
Jest to włamanie, przełamanie zabezpieczeń systemu.
Co to jest IDS?
IDS to skrót od Intrusion Detection System. Jest to program analizujący ruch sieciowy i wykrywający ataki na podstawie bazy sygnatur ataków. Sygnatury to dane identyfikujące dane ataki. Jest to bardzo podobne do sygnatur wirusów w programach antywirusowych.
Co to są logi?
Są to pliki, w których są zapisywane zdarzenia zachodzące w systemie. Dzięki nim można wykryć błędy w konfiguracji, ataki oraz nadzorować wykorzystanie komputera. Skasowanie logów jest jedną z pierwszych czynności wykonywanych przez włamywacza w celu pozostania niewykrytym. Często logi są składowane na wydzielonej maszynie, np. przez proces syslogd.
Co to jest skanowanie portów?
W najprostrzym przypadku są to próby połączenia się na kolejne porty na danym komputerze w celu sprawdzenia, jakie usługi są na nim aktywne. Dzięki temu wiemy co można wykorzystać do włamania. Bardziej zaawansowane skanowanie polega na automatycznym przeprowadzaniu ataków na otwartych portach. Sprawdzanie, które porty są otwarte może się odbywać w różny sposób, aby ukryć fakt skanowania przed adminem, np. half-open scan, stealth scan. Skanowanie half-open scan to np. SYN scan, a stealth scan to SYN|ACK scan, FIN scan, NULL scan, XMAS scan, YMAS scan i ACK scan. Można też skanować porty w przypadkowej kolejności, lub też bardzo wolno, aby nie wzbudzić podejrzeń. Można też przeprowadzić decoy scan, czyli wysyłanie mnóstwa pakietów ze sfałszowanym IP nadawcy, a między nimi nasze pakiety skanujące, tak aby admin nie wiedział kto skanuje. Najpopularniejszy skaner to nmap, dostępny pod Windows i Linuksa.
Na czym polega atak "man in the middle"?
Polega on na tym, że nasz komputer pośredniczy w transmisji między dwoma innymi komputerami. Można dzięki temu przejąć sesję.
Na czym polega atak DoS oraz DDoS?
Dos to "Denial od Service". Oznacza odmowę usługi dla osób uprawnionych. Można np. nawiązać z serwerem tak wiele połączeń, że nie będzie mógł pracować normalnie. Taki atak trudno przeprowadzić z jednego miejsca. Dlatego często używa się DDoS - Distributed Denial of Service. Atak następuje z wielu miejsc na raz. Ale skąd wziąć tysiąc komputerów? Wykorzysje się do tego np. robaki, które dają nam kontolę nad wieloma komputerami i pozwalają na przeprowadzenie DDoS.
Na czym polega atak typu "brute force"?
Atak ten najczęściej jest przeprowadzany na hasła. Gdy mamy zaszyfrowane hasło szyfrem jednostronnym, towrzymy wszystkie możliwe kombinacje znaków z jakiegoś przedziału, szyfrujemy je i porównujemy z zaszyfrowanym hasłem. Sposób ten jest w 100% skuteczny, jednak bardzo czasochłonny. Poza tym, jeśli w ten sposób chcemy złamać hasło do serwera np. POP3 lub telnetu, po kilku nieudanych próbach połączenie może zostać zerwane, lub też konto zostanie zablokowane (jest to też pewien rodzaj ataku DoS).
Jak złamać hasło konta w Windows 95/98/Me?
A po co łamać? Przecież i tak można wejść.
A jak złamać hasło do udostępnionych zasobów w Windows 95/98/Me?
O ile nie zainstalowano poprawki Q273991, można użyć programu PQwak2 lub R3x.
A jeśli zastosowano?
Pozostaje brute-force lub wykorzystanie null-session i błędów w konfiguracji.
A co z hasłami do udostępnionych zasobów w WinNT/2k/XP?
jak wyżej
Jak złamać hasło konta WinNT/2k/XP?
Uruchomić Linuksa, wziąć plik SAM i rozkodować. Potrwa to w zależności od użytego algorytmu szyfrującego.
A pod Linuksem?
Jak wyżej, tylko zamiast Linuksa uruchamiamy Windows. No dobra, nie musi być Windows... W poprzednim punkcje nie musi być Linuks :) Chodzi o uruchominie drugiego systemu, żeby móc skopiować plik z hasłami.
Co to jest backdoor?
Jest to furtka pozostawiona w systemie przez włamywacza, aby następnym razem mieć łatwy dostęp.
Co to jest flooding?
Jest to "zalewanie" dużą ilością pakietów w krótkim czasie. Można dzięki niemu zawiesić zdalny komputer, albo też używając klawiatury i funkcji Kopiuj-Wklej, denerwować ludzi na czatach :)
Na czym polega audyt?
Jest to proces sprawdzenia bezpieczeństwa danego systemu teleinformatycznego pod kątem bezpieczeństwa. Jest wykonywawany przez zewnętrzne, wyspecjalizowane firmy. Polega na przeprowadzeniu testów penetracyjnych sieci i symulacji działań włamywacza.
Co to jest DMZ?
DMZ to skrót od "DeMilitarized Zone" czyli "Streda Zdemilitaryzowana". Jest to wydzielona część sieci, o obniżonym bezpieczeństwie, w której działają maszyny udostępniające usługi publiczne, np. WWW. Maszyny na których są logi systemowe, backup itp. są poza tą strefą, mogą też być dodatkowo w strefie o podwyższonym bezpieczeństwie.
Co to jest DES, 3DES i AES?
Są to algorytmy kryptograficzne wykorzystywane do szyfrowania m.in. haseł.
Co to jest MD5?
Jest to jednostronny skrót kryptograficzny, pozwalający sprawdzić integralność danych. Jest też wykorzystywany przy uwierzytelnianiu. Przy ustawianiu hasła tworzony jest jego skrót (hash) i zapisywany w bazie haseł. Podczas uwierzytelniania hasło użytkownika również jest kodowane i porównywane z hashem przechowywanym w bazie. hashe nie są rozkodowywane, jest to z resztą niewykonalne, hasło można złamać tylko metodą brute force, kodując po kolei wszystkie możliwe kombinacje i porównując je z hashem.
Jakie powinno być dobre hasło?
Małe i duże litery, cyfry, różne znaki dostępne z klawiatury, co najmniej 8 znaków. Nie może to być żadne słowo ani skrót. Tym bardziej data urodzin itp. Jeśli jest to możliwe, można korzystać ze znaków niedrukowalnych. Przykład: Y(s:_]%^dN3$u)c
Co to jest SSH?
SSH to protokół kryptograficzny, obecnie wykorzystywany w wersji 2. Pozwala na zdalną pracę na serwerze, analogicznie jak telnet, ale znacznie bezpieczniej. Umożliwia też tunelowanie porów (port forwarding). Programy do SSH są bardzo dobrze rozwinięte na platformie uniksowej. Pod Windows jest gorzej. Na Windows zostało przeniesione OpenSSH, jednak jest z nim trochę problemów. Nie korzysta automatycznie z kont systemowych, klient czasami nie chce się uruchomić, polecenie whoami pokazuje local system, są kłopoty z powłoką. OpenSSH jest darmowe. Możemy skorzystać z komeryjnego programu VShell firmy VanDyke, serwer ten nie ma takich problemów, jednak nie chce z nim działać PuTTY, popularny klient SSH. Cała nadzieja więc w OpenSSH, może zostanie niedługo dostosowane do Windowsa. Opisane tu serwery SSH można zainstalować tylko pod WinNT/2k/XP.
Co to jest tunelowanie portów?
Jest to bardzo ciekawa funkcja udostępniana przez SSH. Podczas normalnej sesj mogą być przesyłane dodatkowe dane, oczywiście w postaci zaszyfrowanej. Możemy dzięki temy zrobić bezpieczny kanał transmisyjny, zabezpieczając się przed podsłuchem. Dzięki tunelowaniu portów możemy też np. postawić serwer WWW na komputerze, który jest za NAT-em. Tam gdzie jest serwer WWW, odpalamy klienta SSH, a tam gdzie bramka, serwer SSH. Oczywiście ustawiamy forwardowanie portów. Sewer SSH otworzy na bramce port 80. Dane przychodzące na port 80 na komputer-bramkę zostaną zaszyfrowane, przesłane do klienta, który jes odszyfruje i wyśle do serwera WWW. Jest to lokalne forwardowanie portów. Przy zdalnym forwardowaniu, to klient otwiera dany port. Np. program pocztowy łączy się z lokalną maszyną na porcie 110 otwartym przez klienta SSH. Serwer SSH łączy się na port 110 serwera pocztowego. W ten sposób można zrobić bezpieczne odbieranie poczty. Analogicznie można zrobić z portem 25 aby bezpiecznie wysyłać.