hakin9 5 2004 skanowanie portow demo

background image

www.hakin9.org

66

Hakin9 Nr 5/2004

O

br

on

a

www.hakin9.org

67

Hakin9 Nr 5/2004

Skanowanie portów

N

a Hakin9 Live czeka nas niespodzian-
ka. Po uruchomieniu CD wystarczy
wpisać komendę:

$ nmap localhost

To, co właśnie zrobiliśmy, nazywa się skano-
waniem portów. To jedna z technik (nieinwa-
zyjnych) zbierania informacji o potencjalnych
hostach-ofiarach. Bardzo ważnych informacji.
W ten sposób można zebrać dane o urucho-
mionych na zdalnym komputerze usługach. Je-
żeli coś nasłuchuje na porcie TCP, z pewno-
ścią jest to program – może zatem być podatny
na atak. Wiedza o otwartych portach ofiary jest
bardzo przydatna przy planowaniu agresji.

Jeśli na przykład otwarty jest port 22 (SSH),

bez trudu można ustalić wersję nasłuchującego
na nim demona. Załóżmy, że na porcie tym pra-
cuje serwer OpenSSH w wersji 3.7.1p1. Każdy, kto
śledzi wiadomości na temat bezpieczeństwa, bez
najmniejszego problemu uzyska uprzywilejowany
dostęp do takiej maszyny – i to nie znając hasła!

Metody skanowania

Aby lepiej zrozumieć skanowanie, wyobraźmy
sobie, że chcemy się dostać do domu z 65535

Skanowanie portów

z punktu widzenia

administratora

Konstantin Klyagin

Choć skanowanie portów samo

w sobie nie jest szkodliwe, może

być użyte w złym celu. Dzięki

zdobytej w taki sposób wiedzy

intruzowi o wiele łatwiej uzyskać

nieuprawniony dostęp do

systemu. Jakie metody można

zastosować, żeby utrudnić

wykrycie skanowania portów?

W jaki sposób wykryć takie

działanie, kiedy intruz stosuje

coraz sprytniejsze techniki?

drzwiami. Naciskamy więc na każdą klamkę, że-
by sprawdzić, czy któreś z nich są otwarte. Jed-
nak to, że drzwi nie są zamknięte nie znaczy, że
można do tego domu wejść. W dodatku za każdą
bramą może czaić się strażnik (w naszym przy-
padku – uruchomiona usługa). Nie wpuści nas
do środka, dopóki go nie zamordujemy, nie po-
kroimy ciała i nie wrzucimy jego kawałków w nurt
najbliższej rzeki. Ale strażnika może nie być al-
bo może okazać się niedołężnym staruszkiem.

Z artykułu nauczysz się...

• jak skanować porty metodami trudnymi do

wykrycia,

• jak wykrywać próby skanowania przepro-

wadzane przy użyciu trudnowykrywalnych
metod.

Powinieneś wiedzieć...

• powinieneś umieć korzystać z systemów unik-

sowych,

• powinieneś posiadać podstawową wiedzę

o protokole TCP/IP (polecamy Artykuł Ataki
DDoS – podstawy i praktyka
z Hakin9 3/2004
oraz dokumentację na CD).

background image

www.hakin9.org

66

Hakin9 Nr 5/2004

O

br

on

a

www.hakin9.org

67

Hakin9 Nr 5/2004

Skanowanie portów

Wtedy nasze – intruza – zadanie mo-
żemy uznać za wypełnione; droga do
domu stoi otworem. Przyrzyjmy się
się więc najpierw sposobom naciska-
nia na klamki.

TCP connect():

zwykłe puk-puk

Najprostszą metodą sprawdzenia,
czy coś nasłuchuje na porcie TCP,
jest próba połączenia z nim. Peł-
ne skanowanie tym sposobem wy-
maga konsekwentnego łączenia się
z wszystkimi portami, od 1 do 65535.
Technicznie rzecz biorąc, ta meto-
da wymaga wywołania funkcji con-
nect()
. Ale nie jesteśmy programi-
styczną szkółką niedzielną i nie bę-
dziemy pisać ani kawałka kodu. Za-
miast tego użyjemy najprostszych
narzędzi, dostępnych w prawie każ-
dym systemie operacyjnym. Najła-
twiejszym oczywiście sposobem jest
skorzystanie z programu telnet:

$ telnet bezuzyteczne.pudlo.com 25

Wydanie tej komendy pokaże, czy
cokolwiek nasłuchuje na porcie 25
(zwykle SMTP) – brak komunika-
tu connection refused, oznacza, że
jakiś program czeka na połączenia
właśnie z tym portem.

Sytuacja komplikuje się, gdy ska-

nowany port jest filtrowany. Oznacza
to, że na drodze między maszynami
skanującego i ofiary jest firewall, któ-
ry po prostu odrzuca pakiety pocho-
dzące spoza określonego zakresu ad-
resów IP. Pakiety mogą też być filtro-
wane pod kątem portów docelowych
i innych parametrów sieciowych
– firewalle są z natury rzeczy elastycz-
ne. Jeśli porty ofiary są filtrowane, ska-
nowanie może okazać się bezcelowe.

Skanowanie zdefiniowanego za-

kresu (na przykład od 1 do 6667) por-
tów nazywane jest sweep scan, zaś
skanowanie jednego portu na wie-
lu różnych hostach – sweep scan.
Takie modyfikacje skanowania TCP
connect()
wyglądają z pozoru na zwy-
kłe próby połączenia, są więc dużo
trudniejsze do zidentyfikowania. Każ-
dy administrator zada sobie bowiem
pytanie: czy to było skanowanie, czy
przypadkowa próba połączenia?

Metoda TCP connect(), choć pro-

sta, ma jedną ogromną wadę. Każ-
dy program świadczący usługę zare-
jestruje próbę połączenia. Co praw-
da nie zapisze numeru dowodu oso-
bistego intruza, ale z pewnością je-
go adres IP znajdzie się w logu pro-
gramu – stąd już prosta droga do
namierzenia agresora. Aby się nie
dać złapać, można skorzystać z in-
nej metody, wykorzystującej pakiety
TCP SYN.

TCP SYN: na paluszkach

Inną nazwą skanowania TCP SYN
jest skanowanie półotwarte. Zna-
czy to, że podczas skanowania nie
zostaje nawiązane pełne połącze-
nie TCP. Aby to dobrze zrozumieć,
trzeba nieco zagłębić się w zasadę
działania protokołu TCP/IP. Poniż-
szy opis jest skrótowy, osoby zain-
teresowane odsyłamy do Artykułu
Ataki DDoS – podstawy i praktyka
z Hakin9 3/2004 oraz do dokumen-
tacji na CD.

W początkowej, negocjacyjnej

fazie nawiązywania połączenia TCP
konieczne jest wysłanie przez klienta
pakietu SYN. Po otrzymaniu go ser-
wer powinien odpowiedzieć pakie-
tem SYN+ACK lub RST. SYN+ACK
oznacza odpowiedź pozytywną (zga-
dzam się na nawiązanie połączenia
),
podczas gdy RST – negatywną. Na-
wiązanie połączenia kończy się po-
twierdzeniem odebrania potwierdze-
nia, czyli wysłaniem przez stronę ini-
cjującą połączenie pakietu ACK.

Widać więc, że aby sprawdzić,

czy dany port jest otwarty, nie mu-
simy nawiązywać pełnego połącze-
nia – wystarczy wysłać pakiet SYN
i czekać na odpowiedź drugiej
strony. Jeśli odpowiedź ta brzmi
SYN+ACK, możemy uznać, że port
jest otwarty i nie kontynuować na-
wiązywania połączenia. Dzięki te-
mu, że połączenie nie zostało w peł-
ni nawiązane, możemy oszukać nie-
które proste narzędzia do wykrywa-
nia skanowania portów.

Spróbujmy zastosować ten me-

chanizm ręcznie. Prościutki telnet,
którego użyliśmy poprzednio, już nie
wystarczy. Do stworzenia potrzeb-
nych pakietów TCP użyjemy progra-

mu SendIP. Narzędzie to wymaga
uprawnień administratora:

# sendip 192.168.1.2 -p ipv4 \
-is 192.168.1.1 -id 192.168.1.2 \
-p tcp -td 25 -tfs 1

SendIP to mały lecz wyposażony
w duże możliwości program umożli-
wiający wysyłanie zadanych mu pa-
kietów. Za pomocą prostych parame-
trów można określić typ pakietu i pa-
rametry jego nagłówków. W komen-
dzie, którą wydaliśmy powyżej, wska-
zaliśmy, że prześlemy pakiet protoko-
łem IPV4 (

-p

) oraz określiliśmy źró-

dłowy (

-is

) i docelowy (

-id

) adres IP.

Potem zagłębiliśmy się w szczegóły
– określiliśmy rodzaj pakietu (

-p

), port

przeznaczenia (

-td

); wreszcie ustawi-

liśmy bit SYN (

-tfs

). Więcej informacji

o możliwościach SendIP znajdziemy
na stronie man programu.

Ponieważ SendIP może wyłącz-

nie wysyłać pakiety, do zarejestro-
wania odpowiedzi serwera użyjemy
innego narzędzia. W naszym przy-
padku wystarczy standardowy snif-
fer, tcpdump:

# tcpdump \
'dst 192.168.1.1 && src 192.168.1.2'

To polecenie rozpocznie nasłuch
i wyświetli wszystkie pakiety prze-
znaczone dla naszego komputera,
przychodzące z adresu 192.168.1.2.
Jeśli nie ma zbyt dużego ruchu mię-
dzy tymi dwiema maszynami, nic nie
powinno nam utrudnić śledzenia pa-
kietów. Jeśli teraz wyślemy za po-
mocą SendIP pakiet, tcpdump poka-
że coś w rodzaju:

02:10:34.563234 IP
192.168.1.2.smtp > 192.168.1.1.0:
S 3831817350:3831817350(0)
ack 1309342054 win 5840
<mss 1460>

Zwróćmy uwagę na literę S i sło-
wo ack – jasno wskazują one na pa-
kiet SYN+ACK. Zdalna maszyna ma
więc otwarty port 25. Aby zobaczyć,
co się stanie w przypadku zamknię-
tego portu, zmodyfikujmy nieco ko-
mendę SendIP:


Wyszukiwarka

Podobne podstrony:
hakin9 6 2004 wykrywanie sniffingu demo
hakin9 5 2004 demaskowanie nadawcy demo
hakin9 5 2004 szelkod python demo
hakin9 6 2004 testy penetracyjne demo
hakin9 6 2004 przechowywanie danych demo
hakin9 5 2004 rozpoznawanie honeypotow demo
hakin9 6 2004 cisco ios demo
hakin9 5 2004 ddos obrona demo
hakin9 5 2004 atak jabber demo
hakin9 6 2004 inzynieria odwrotna demo
hakin9 6 2004 wykrywanie sniffingu demo

więcej podobnych podstron