FAQ Grzegorza Niemirowskiego
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ć trudno 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 wyżycia
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 "Strefa 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) oraz przesyłanie plików. 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ć.