Nmap Security Scanner
Intro
Ref Guide
Install Guide
Download
Changelog
Book
Docs
Security Lists
Nmap Hackers
Nmap Dev
Bugtraq
Full Disclosure
Pen Test
Basics
More
Security Tools
Pass crackers
Sniffers
Vuln Scanners
Web scanners
Wireless
Exploitation
Packet crafters
More
Site News
Site Search:
Exploit World
Advertising
About/Contact
Credits
Sponsors:
|

Techniki skanowania portówJako początkujący mechanik samochodowy, mogłem godzinami męczyć się z
wykonaniem naprawy posiadanymi narzędziami (młotek, taśma izolacyjna,
klucz francuski itp.). Kiedy popadłem w depresję i w końcu zaprowadziłem
mojego gruchota do prawdziwego mechanika, pogrzebał w przepastnej skrzyni
z narzędziami i wyciągnął specjalne narzędzie, którym wykonał naprawę
błyskawicznie i bez kłopotów. Sztuka skanowania polega dokładnie na tym samym.
Eksperci znają dziesiątki typów skanowania i wybierają jedną adekwatną (lub
kombinację kilku) do danego zadania. Z drugiej strony niedoświadczeni
użytkownicy i script kiddies próbują rozwiązać każdy problem za pomocą
domyślnego skanowania SYN. Nmap jest darmowy i dostępny dla wszyskich,
w związku z tym jedyną barierą jest odpowiednia wiedza.
To oczywiście bije na głowę świat motoryzacyjny, gdzie trzeba posiadać duże
umiejętności, żeby domyślić się, że potrzebne jest bardzo specyficzne
narzędzie, ale wtedy potrzeba jeszcze dużo pieniędzy na jego zakup. Większość typów skanowania jest dostępna tylko dla uprzywilejowanych
użytkowników, ponieważ tylko oni mogą wysyłać pakiety raw.
Takim użytkownikiem w przypadku systemów UNIX jest root. Używanie konta
administratora w systemach Windows jest zalecane, jednak Nmap przeważnie
działa poprawnie z konta zwykłego użytkownika przy zainstalowanej w systemie
bibliotece WinPcap. Wymóg posiadania uprawnień użytkownika root był poważnym
ograniczeniem kiedy pojawił się Nmap w 1997 roku, jako że użytkownicy posiadali
dostęp głównie tylko do współdzielonych kont. Świat się zmienił. Komputery są
tańsze, coraz więcej ludzi ma bezpośredni dostęp do Internetu i coraz
powszechniejsze stają się komputery z systemami UNIX (włączając Linuxa i MAC
OS X). Dostępna jest również Windowsowa wersja Nmapa, co powiększa możliwości
jego wykorzystywania. Z tych powodów coraz rzadziej zachodzi potrzeba
uruchamiania Nmapa z ograniczonych współdzielonych kont. Na szczęście większe
przywileje użytkowników przekładają się na większą elastyczność i możliwości
Nmapa. Nmap stara się podawać jak najbardziej dokładne wyniki, jednak trzeba
mieć na uwadze fakt, że wyniki są oparte na pakietach zwracanych przez badane
systemy (lub firewalle je ochraniające). Dlatego też zwracane informacje nie
muszą być wiarygodne i mogą wprowadzać Nmapa w błąd. Bardzo powszechne są
hosty nie zachowujące się zgodnie z RFC w odpowiedzi na zapytania Nmapa.
Rozwiązaniem są skanowania FIN, Null czy Xmas. Tego typu problemy zostały
opisane oddzielnie w częściach poświęconych poszczególnym typom skanowania. Ta sekcja opisuje dziesiątki typów skanowania dostępnych w Nmapie.
Jednocześnie może być wykorzystywana tylko jedna metoda, za wyjątkiem skanowania
UDP (-sU), które może być łączone z dowolnymi typami skanowania
TCP. Dla łatwiejszego zapamiętania, opcje skanowania portów posiadają nazwy
w formie -s<C>, gdzie
<C> jest przeważnie pierwszą dużą literą angielskiej
nazwy typu skanowania. Wyjątkiem jest przestarzała opcja skanowania FTP bouce
(-b). Domyślnie Nmap wykonuje skanowanie SYN, które jest
zastępowane connect(), jeśli użytkownik nie ma odpowiednich uprawnień do
wysyłania pakietów raw (co wymaga konta root w systemach UNIX)
lub w przypadku skanowania sieci IPv6. Z pośród przedstawionych poniżej typów
skanowania użytkownicy nie uprzywilejowani mogą jedynie używać typów connect() i
FTP bounce. -
-sS (Skanowanie TCP SYN) Skanowanie SYN jest domyślną i najpopularniejszą metodą skanowania.
Jest to spowodowane tym, że może być przeprowadzone szybko, możliwe jest
skanowanie tysięcy portów na sekundę w szybkich sieciach nie chronionych
systemami zaporowymi. Skanowanie SYN jest relatywnie dyskretne i niewidoczne,
ponieważ nigdy nie otwiera połączeń do końca. Działa to dobrze w stosunku do
wszystkich stosów zgodnych z TCP, w przeciwieństwie do udziwnionych, dla
których Nmap ma tryby FIN/Null/Xmas, Maimon i Idle. SYN pozwala na
przejrzyste i wiarygodne rozróżnienie stanów portu pomiędzy
otwartym,
zamkniętym i
filtrowanym. Technika ta jest często określana jako skanowanie z połowicznym
otwieraniem połączeń (ang. half-open), ponieważ nie otwiera pełnego połączenia
TCP. Wysyłany jest pakiet SYN, tak jak by miało być otwarte prawdziwe
połączenie i czeka na odpowiedź. SYN/ACK oaznacza, że port oczekuje na
połączenia (jest otwarty), a RST (reset) identyfikuje port jako zamknięty.
Jeśli odpowiedź nie zostanie otrzymana pomimo kilku prób, port jest oznaczany
jako filtrowany. Port jest również oznaczany jako filtrowany w przypadku
otrzymania komunikatu błędu ICMP unreachable error (typ 3, kody 1, 2, 3, 9, 10
lub 13). -
-sT (Skanowanie TCP connect()) Skanowanie TCP Connect() jest wybierane domyślne, jeśli SYN nie jest dostęne.
Ma to miejsce kiedy użytkownik nie posiada uprawnień do wysyłania
pakietów raw lub podczas skanowania sieci IPv6. Zamiast wysyłać pakiety raw,
jak to ma miejsce przy innych typach skanowania, Nmap prosi system operacyjny o
zestawienie połączenia z badanym hostem za pomocą wywołania funkcji systemowej
connect(). Jest to taki sam wysoki poziom
wywołań systemowych, z jakich korzystają przeglądarki internetowe, oprogramowanie
Peer2Peer czy inne programy korzystające z połączeń sieciowych. Jest to część
interfejsu programistycznego znanego jako Berkeley Sockets API. Zamiast
odczytywać odpowiedzi za pomocą odwołań niskopoziomowych prosto z sieci, Nmap
wykorzystuje ten sam wysokopoziomowy interfejs do otrzymania informacji o stanie
operacji dla każdej próby połączenia oddzielnie. Kiedy skanowanie SYN jest dostępne, przeważnie jest lepszym wyborem. Nmap
ma dużo mniejszą kontrolę nad wywołaniem wysokopoziomowym
connect() niż nad pakietami raw, co jest dużo
mniej efektywne. Wywołanie systemowe otwiera pełne połączenie w przeciwieństwie
do metody SYN korzystającej z połowicznego połączenia. Nie tylko wymaga to
więcej czasu i wymaga więcej pakietów do uzyskania takich samych informacji,
ale również prawdopodobnie spowoduje zapisanie w logach badanego systemu próby
połączenia. Nowoczesne systemy detekcji intruzów IDS potrafia wykrywać takie
połączenia, ale większość systemów nie posiada odpowiednich systemów alarmowych.
Wiele usług w typowym systemie UNIX zapisze uwagę do logu systemowego i czasami
zagadkowy komunikat błędu, kiedy Nmap połączy się i natychmiast zamknie
połączenie bez wysyłania jakichkolwiek danych. Naprawdę żałosne usługi
przestaną działać po otrzymaniu takiego pakietu, ale nie jest to często
spotykane. Administrator widzący w logach informacje o wielu próbach nawiązania
połączenia z jednego adresu powinien wiedzieć, że jego system był skanowany za
pomocą metody connect(). -
-sU (Skanowanie UDP) Większość popularnych usług w sieci Internet wykorzystuje protokół TCP,
ale również usługi UDP
są często spotykane. Najpopularniesze z nich to DNS, SNMP i DHCP (porty 53,
161/162 i 67/68). Ponieważ skanowanie UDP jest ogólnie wolniejsze i trudniejsze
niż TCP, wielu audytorów bezpieczeństwa ignoruje te porty. Jest to pomyłka, jako
że wiele usług UDP jest podatnych na zdalne ataki i atakujący nie ignorują tego
protokołu. Na szczęście Nmap umożliwia inwentaryzację portów UDP. Skanowanie UDP jest aktywowane za pomocą opcji
-sU. Może być łączone z innymi typami skanowania TCP, takimi
jak SYN (-sS), dla sprawdzenia obu protokołów w jednym
przebiegu. Skanowanie UDP polega na wysyłaniu pustych (bez danych) nagłówków
protokołu UDP do każdego portu docelowego. Jeśli w odpowiedzi zostanie zwrócony
komunikat ICMP port uchreachable (typ 3, kod 3), port jest uznawany za
zamknięty. Inne typy komunikatów ICMP
unreachable (typ 3, kody 1, 2, 9, 10 lub 13) oznaczają, że port jest
filtrowany. Czasami w odpowiedzi zwrócony
zostanie pakiet UDP, co oznacza, że porty jest
otwarty. Jeśli pomimo powtarzania transmisji
nie zostanie uzyskana żadna odpowiedź, port zostaje zaklasyfikowany jako
otwarty|filtrowany. Oznacza to, że port może
być otwarty lub filtr pakietów blokuje do niego dostęp. Wykorzystanie
skanowania wersji usług (-sV) może pomóc w odróżnieniu portów
na prawdę otwartych od filtrowanych. Największym wyzwaniem przy skanowaniu UDP jest przeprowadzenie go odpowiednio szybko.
Otwarte i filtrowane porty rzadko wysyłają jakąkolwiek odpowiedź, zmuszając
Nmapa do oczekiwania na odpowiedź i ponawiania transmisji na wypadek zagubienia
pakietów. Zamknięte porty są często jeszcze większym problemem. Zwykle wysyłają
pakiet ICMP port unreachable, jednak w odróżnieniu od pakietów z flagą RST znanych
ze skanowania SYN czy connect, wiele hostów domyślnie limituje szybkość wysyłania
pakietów ICMP port unreachable. Przykładami mogą być systemy Linux i Solaris.
Kernel Linuxa w wersji 2.4.20 limituje ilość pakietów o niedostępności portów do
jednego na sekundę (w net/ipv4/icmp.c). Nmap potrafi wykrywać limitowanie odpowiedzi i zwalnia odpowiednio proces
skanowania dla uniknięcia zaśmiecania sieci niepotrzebnymi pakietami, które i tak
nie zostaną wykorzystane. Niestety, skanowanie wszystkich 65,536 portów UDP
przy limicie Linuxowym jeden pakiet na sekundę powoduje, że skanowanie trwa ponad
18 godzin. Sposobami na przyspieszenie są skanowanie wielu hostów równolegle,
wykonywanie na początek szybkiego skanowania popularnych portów, skanowanie z poza
systemu zaporowego i używanie opcji --host-timeout do pomijania
zbyt wolnych hostów. -
-sN; -sF; -sX (Skanowania TCP Null, FIN i Xmas) Te typy skanowania (większe możliwości posiada opcja
--scanflags opisana w dalszej części) wykorzystują nieopisane
w TCP RFC
kombinacje flag do rozróżnienia pomiędzy stanami portów
otwarty oraz
zamknięty. Strona 65 opisuje, że “jeśli
[docelowy] port jest ZAMKNIĘTY ... w odpowiedzi na pakiet nie zawierający RST należy
wysłać odpowiedź RST.” Następna strona opisuje pakiety wysyłane na porty bez
flag SYN, RST lub ACK w następujący sposób: “coś takiego nie powinno mieć
miejsca, jednak jeśli się zdarzy, pomiń taki pakiet”. Podczas skanowania systemów zgodnych z zapisami w RFC, dowolny pakiet nie
zawierający flag SYN, RST lub ACK powinien wywoływać odpowiedź RST w przypadku
portu zamkniętego i całkowity brak odpowiedzi w przypadku portu otwartego.
Tak długo jak żadna z wymienionych flag nie została użyta, wszystkie inne
kombinacje flag (FIN, PSH i URG) są prawidłowe. Nmap wykorzystuje to do
przeprowadzania trzech typów skanowania: - Skanowanie Null (
-sN) Nie ustawia żadnych flag (pole flag w nagłówku tcp zawiera 0). - Skanowanie FIN (
-sF) Ustawiona flaga FIN. - Skanowanie Xmas (
-sX) Ustawione flagi FIN, PSH i URG, pakiet podświetlony jak choinka.
Te trzy tryby skanowania są takie same poza ustawionymi flagami w
pakietach. Jeśli w odpowiedzi zostanie otrzymany pakiet RST, port jest
uznawany za zamknięty, podczas gdy brak
odpowiedzi oznacza otwarty|filtrowany.
Port uznajemy za filtrowany, jeśli
otrzymany zostanie komunikat ICMP unreachable (typ 3, kod 1, 2, 3, 9, 10 lub
13). Główną zaleta tych typów skanowania jest to, że potrafią się one
przemykać przez bezstanowe systemy zaporowe i filtrowanie na routerach.
Inną zaletą jest tylko minimalnie większa wykrywalność niż skanowania SYN.
Nie można jednak na to liczyć - większość nowych systemów IDS może zostać
skonfigurowana do ich wykrywania. Ujemną stroną jest to, że nie wszystkie
systemy są zgodne z RFC793. Wiele systemów wysyła odpowiedzi RST niezależnie od
tego czy port jest otwarty czy nie. Powoduje to, że wszystkie porty pojawiają
się jako zamknięty. Najczęściej spotykane
systemy, które się tak zachowują to Microsoft Windows, wiele urządzeń Cisco,
BSDI, i IBM OS/400. Skanowania działają jednak dobrze w przypadku większości
systemów UNIXowych. Kolejnym minusem tych metod jest to, że nie potrafią
rozróżnić portów oznaczonych jako otwarty
od filtrowany, ujawniając jedynie stan
otwarty|filtrowany. -
-sA (Skanowanie TCP ACK) Ten typ skanowanie jest inny niż omawiane powyżej, bo nigdy nie wykrywa
stanów portów otwarty (lub nawet
otwarty|filtrowany). Jest wykorzystywany
do mapowania reguł filtrowania, do sprawdzania czy fitrowanie jest oparte
o stany (stateful) lub nie i które porty są filtrowane. Pakiety skanowania ACK posiadają tylko flagę ACK (o ile nie została
użyta opcja --scanflags). Podczas skanowania systemów nie
posiadających filtrowania, porty o stanach
otwarty i
zamknięty
zwrócą pakiet RST. W obu przypadkach Nmap oznaczy je jako
niefiltrowane, co oznacza, że były
osiągalne dla pakietu ACK, ale nie zostało określone, czy posiadają stan
otwarty czy
zamknięty. Porty, które nie odpowiedzą
lub odpowiedzą za pomocą komunikatu o błędzie ICMP (typ 3, kody 1, 2, 3, 9,
10 lub 13), zostaną oznaczone jako filtrowany. -
-sW (Skanowanie TCP Window) Skanowanie Window jest takie samo jak ACK, różnica polega na tym, że
potrafi odróżnić porty otwarte od zamkniętych, zamiast zawsze podawać stan
niefiltrowany, kiedy otrzymano flagę RST.
Jest to realizowane poprzez analizę pola Window pakietu zwrotnego RST. Na
niektórych systemach, otwarte porty zwracają dodatnią wartość rozmiaru okna
(także w pakietach RST), a przy zamkniętych o rozmiarze zero. Tak więc zamiast
zawsze przedstawiać port jako niefiltrowany
kiedy w odpowiedzi przyjdzie RST, skanowanie Window oznacza port jako
otwarty lub
zamknięty, w zależności czy odpowiednio
otrzymano w odpowiedzi rozmiar okna o wartości dodatniej lub zero. Ten typ skanowania polega na szczególnej implementacji stosu TCP,
występującej w rzadko spotykanych systemach w internecie, a więc nie można
zawsze na niej polegać. Zwykle systemy, które nie obsługują tej metody będą
zwracały porty oznaczone jako zamknięty.
Oczywiście jest również możliwe, że host na prawdę nie ma otwartych portów.
Jeśli większość przeskanowanych portów ma stan
zamknięty, jednak niektóre (takie jak 22,
25 czy 53) mają stan filtrowany, system
jest podejrzany. Czasami systemy potrafią się zachowywać zupełnie przeciwnie.
Jeśli skanowanie wykaże 1000 otwartych portów i tylko 3 zamknięte lub
filtrowane, wtedy te trzy prawdopodobnie są rzeczywiście otwarte. -
-sM (Skanowanie TCP Maimon) Skanowanie Maimon zostało nazwane na cześć jego odkrywcy, Uriela Maimona.
Opisał tę technikę w Phrack Magazine w wydaniu #49 (Listopad 1996). Nmap, który
potrafił wykorzystać tę technikę został wypuszczony dwa wydania później.
Skanowanie to należy do rodziny Null, FIN i Xmass z tą różnicą, że używa flag
FIN/ACK. Zgodnie z RFC 793 (TCP), dla takiej kombinacji flag, pakiet RST
powinien być wygenerowany niezależnie czy port jest otwarty czy zamknięty.
Jednakże Uriel zauważył, że wiele systemów opartych na BSD po prostu pomija
odpowiedzi, jeśli port jest otwarty. -
--scanflags (Skanowanie TCP z definiowanymi flagami) Prawdziwie zaawansowani użytkownicy Nmapa nie mogą być ograniczani
ilością oferowanych wbudowanych typów skanowania. Opcja
--scanflags pozwala na projektowanie własnych typów skanowania
z wykorzystaniem wybranych flag TCP. Cieszcie się podczas wykorzystywania tej
techniki do oszukiwania systemów IDS, których twórcy pobieżnie przeglądali
dokumentację Nmapa dodając specyficzne reguły! Argument opcji --scanflags może być numerycznym zapisem
flag, np 9 (PSH i FIN), lub dla ułatwienia można wykorzystywać symbliczne nazwy.
Można podać dowolną kombinację flag URG,
ACK, PSH,
RST, SYN i
FIN. Na przykład --scanflags
URGACKPSHRSTSYNFIN ustawia wszystkie flagi, choć nie jest to zbyt
użyteczna metoda skanowania. Kolejność podawania flag nie jest istotna. Dodatkowo przy podawaniu wybranych flag możliwe jest podanie typu
skanowania (takiego jak -sA lub -sF).
Dodany typ skanowania informuje Nmapa jak ma interpretować otrzymane odpowiedzi.
Na przykład skanowanie SYN zakłada, że brak odpowiedzi oznacza stan portu
filtrowany, podczas gdy skanowanie FIN
potraktuje ten go jako otwarty|filtrowany.
Nmap będzie się zachowywał w taki sam sposób jak przy wybranym trybie
skanowania, jednak wykorzystane zostaną podane flagi. Jeśli bazowy typ
skanowania nie zostanie określony, zostanie wykorzystany domyślny typ SYN. -
-sI <zombie
host[:probeport]> (Skanowanie Idle) Ta zaawansowana technika skanowania pozwala na prawdziwie
ślepe skanowanie TCP (co oznacza, że żaden pakiet nie zostanie
wysłany do badanego systemu z prawdziwego adresu IP Nmapa).
Zamiast tego wykorzystany zostanie host zombie, o przwidywalnym
działaniu stosu TCP polegającym na sekwencyjnym powiększaniu
numerów ID pakietów, do uzyskania informacji o otwartych portach
w badanym systemie. Systemy detekcji intruzów pokażą jako adres
atakującego zdefiniowany host zombie (musi spełniać określone
warunki). Ten fascynujący typ skanowania jest zbyt skomplikowany
żeby go dokładnie opisać w tej dokumentacji, dlatego napisałem
oddzielny nieformalny dokument na ten temat ze szczegółowymi
informacjami i jest on dostępny pod adresem
http://nmap.org/book/idlescan.html. Poza tym, że metoda ta jest niespotykanie poufna (z powodu
jej ślepej natury), ten typ skanowania pozwala na mapowanie reguł
zaufania pomiędzy maszynami bazujących na adresach IP. Wyniki
zawierają otwarte porty, z punktu widzenia hosta zombie
. Tak więc można próbować skanowania z wykorzystaniem
różnych hostów zombie, które można traktować jako zaufane (poprzez
router/reguły filtrowania pakietów). Można po dwukropku dodać numer portu, jeśli chcemy go
wykorzystać na hoście zombie do badania zmian IPID. W innym przypadku
Nmap wykorzysta domyślnie port używany przez tcp ping (80). -
-sO (Skanowanie protokołów IP) Skanowanie to pozwala na wykrycie listy protokołów IP (TCP, ICMP, IGMP
itp), które są dostępne na danym hoście. Technicznie nie jest to skanowanie
portów, ponieważ sprawdza kolejne numery protokołów, a nie kolejne porty TCP
czy UDP. Opcja ta nadal używa parametru -p do wybrania numerów
protokołów do sprawdzenia, w formacie analogicznym do listy portów. Z tego
powodu metoda ta została zaklasyfikowana jako skanowanie portów i dlatego
znajduje się tutaj. Poza swoją własną funkcjonalnością, skanowanie protokołów demonstruje
potęgę oprogramowania open source. Podczas gdy podstawowa idea jest całkiem
prosta, nie pomyślałem o jej dodaniu, jak również nie otrzymałem żadnej
prośby o dodanie takiej funkcjonalności. Latem roku 2000, Gerhard Rieger
opracował koncepcję, stworzył odpowiednią poprawkę i wysłał ją na listę
dyskusyjną nmap-hackers. Włączyłem ją do drzewa Nmapa i wypuściłem nową
wersję następnego dnia. Niewiele komercyjnych programów posiada użytkowników
na tyle entuzjastycznych, żeby zaprojektować i stworzyć ich własne poprawki!
Skanowanie protokołów działa w sposób podobny do skanowania UDP, jednak
zamiast iteracji po kolejnych numerach portu, w nagłówkach pakietów zmienia się
8-mio bitowy numer protokołu. Nagłówki są przeważnie puste, nie zawierają
żadnych danych ani nawet poprawnego dla danego protokołu nagłówka. Trzema
wyjątkami są TCP, UDP i ICMP. Poprawne nagłówki dla tych protokołów są
konieczne, ponieważ niektóre systemy nie będą ich potrafiły wysłać oraz
dlatego, że Nmap posiada już odpowiednie funkcje do ich tworzenia.
Zamiast obserwować komunikaty ICMP unreachable, skanowanie protokołów nie polega
na komunikatach ICMP protocol unreachable. Jeśli Nmap
otrzyma jakąkolwiek odpowiedź w jakimkolwiek protokole, ustala stan protokołu
jako otwarty. Otrzymanie komunikatu ICMP
protocol unreachable (typ 3, kod 2) powoduje oznaczenie protokołu jako
zamknięty. Inne komuniakty ICMP protocol
unreachable (typ 3, kody 1, 3, 9, 10 lub 13) powodują oznaczenie protokołu jako
filtrowany (oraz równocześnie potwierdzają,
że protokół ICMP jest również otwarty).
Jeśli nie uzyskano odpowiedzi, protokół jest oznaczany jako
otwarty|filtrowany. -
-b <pośredniczący host ftp> (Skanowanie FTP bounce) Interesującą funkcją protokołu FTP
(RFC 959) jest
wspieranie tak zwanych połączeń proxy. Pozwala to użytkownikowi na połączenie
z jednym serwerem FTP i poproszenie o wysłanie plików do innego. Ta
funkcjonalność była przyczyną nadużyć na wielu poziomach, dlatego wiele serwerów
porzuciło dla niej wsparcie. Jednym z możliwych nadużyć jest sposobność do
zmuszenia serwera do skanowania portów na zewnętrznym hoście. Wystarczy po
prostu poprosić serwer o wysłanie pliku kolejno na każdy interesujący port badanego
systemu. Uzyskany komunikat o błędzie zwróci informację, czy porty był otwarty
czy zamknięty. Jest to dobra metoda do omijania systemów zaporowych, ponieważ
korporacyjne serwery FTP często są umieszczane w takim miejscu, że mają
możliwość komunikacji zarówno z hostami w internecie jak i w sieci lokalnej.
Nmap obsługuje skanowanie FTP bounce z wykorzystaniem opcji
-b. Opcja przyjmuje argument w postaci
<nazwa_użytkownika>:<hasło>@<serwer>:<port>.
<Serwer> jest nazwą lub adresem IP podatnego serwera
FTP. Tak jak przy zwykłym adresie URL, można pominąć pola
<nazwa_użytkownika>:<hasło>,
w tym przypadku zostanie wykorzystana domyślna kombinacja dla użytkowników
anonimowych (użytkownik anonymous
hasło:-wwwuser@). Numer portu (i
poprzedzający go dwukropek) również może zostać pominięty, w tym przypadku
przy połączeniu z wybranym adresem <serwer>, zostanie
wykorzystany domyślny port serwera FTP (21). Podatność ta była szeroko spotykana w roku 1997, kiedy to Nmap został
wypuszczony, jednak z biegiem czasu jej znaczenie bardzo się zmniejszyło.
Dziurawe serwery FTP nadal się zdarzają, więc warto wyprubować i tę
metodę, jeśli inne zawiodą. Jeśli potrzebne jest obejście systemu zaporowego,
można przeskanować sieć w poszukiwaniu otwartych portów 21 (lub poprzez
wyszukanie ftp na innych portach z wykorzystaniem opcji do wykrywania wersji)
i wypróbować na wykrytych portach metodę bounce. Nmap poinformuje, czy usługa
jest podatna czy nie. Jeśli chcesz ukrywać swoje działania, nie trzeba (i nie
powinno) ograniczać się do hostów z badanej sieci. Przed rozpoczęciem
skanowania losowych adresów w sieci Internet w poszukiwaniu podatnych wersji
serwerów FTP trzeba mieć na uwadze, że wielu administratorów nie bedzie
zachwyconych wykorzystywaniem ich serwerów w ten sposób.
|
|