Nmap

Samouczek skanowania w trybie bezczynności Nmap

Samouczek skanowania w trybie bezczynności Nmap

Wprowadzenie do skanowania w trybie bezczynności Nmap

Ostatnie dwa tutoriale opublikowane na LinuxHint na temat Nmapa koncentrowały się na ukrytych metodach skanowania, w tym skanowaniu SYN, NULL i Xmas. Chociaż metody te są łatwo wykrywane przez zapory ogniowe i systemy wykrywania włamań, są one wspaniałym sposobem na zdobycie wiedzy dydaktycznej na temat Model internetowy lub Pakiet protokołów internetowych, te odczyty są również koniecznością przed poznaniem teorii stojącej za skanowaniem bezczynności, ale nie muszą nauczyć się, jak je zastosować w praktyce.

Skanowanie w trybie bezczynności wyjaśnione w tym samouczku jest bardziej zaawansowaną techniką wykorzystującą tarczę (zwaną Zombie) między atakującym a celem, jeśli skanowanie zostanie wykryte przez system obronny (firewall lub IDS), będzie obwiniać raczej urządzenie pośrednie (zombie) niż komputer atakujący.

Atak polega w zasadzie na wykuciu tarczy lub urządzenia pośredniczącego. Ważne jest, aby podkreślić, że najważniejszym krokiem w tego typu ataku nie jest przeprowadzenie go przeciwko celowi, ale znalezienie urządzenia zombie. Ten artykuł nie będzie skupiał się na metodzie defensywnej, jeśli chodzi o techniki defensywne przeciwko temu atakowi, możesz uzyskać bezpłatny dostęp do odpowiedniej sekcji w książce Zapobieganie włamaniom i aktywne reagowanie: Wdrażanie sieci i hosta IPS.

Oprócz aspektów Internet Protocol Suite opisanych w Nmap Basics, Nmap Stealth Scan i Xmas Scan, aby zrozumieć, jak działa skanowanie w trybie bezczynności, musisz wiedzieć, czym jest IP ID. Każdy wysłany datagram TCP ma unikalny identyfikator tymczasowy, który umożliwia fragmentację i późniejsze ponowne składanie pofragmentowanych pakietów na podstawie tego identyfikatora, zwany identyfikatorem IP. Identyfikator IP będzie stopniowo rosnąć w zależności od liczby wysłanych pakietów, dlatego na podstawie numeru IP ID można dowiedzieć się, ile pakietów wysyła urządzenie.

Gdy wyślesz niezamówiony pakiet SYN/ACK, odpowiedzią będzie pakiet RST, aby zresetować połączenie, ten pakiet RST będzie zawierał numer IP ID. Jeśli najpierw wyślesz niechciany pakiet SYN/ACK do urządzenia zombie, odpowie ono pakietem RST pokazującym jego identyfikator IP, drugim krokiem jest sfałszowanie tego identyfikatora IP, aby wysłać sfałszowany pakiet SYN do celu, co sprawi, że uwierzysz są Zombie, cel zareaguje (lub nie) na zombie, w trzecim kroku wyślesz nowy SYN/ACK do zombie, aby ponownie otrzymać pakiet RST, aby przeanalizować wzrost IP ID.

Otwarte porty:

KROK 1
Wyślij niezamówiony pakiet SYN/ACK do urządzenia zombie, aby otrzymać pakiet RST z identyfikatorem IP zombie.
KROK 2
Wyślij sfałszowany pakiet SYN udając zombie, sprawiając, że cel odpowiada na niechciane SYN/ACK do zombie, sprawiając, że odpowiada on na nowy zaktualizowany RST.
KROK 3
Wyślij nowy, niezamówiony pakiet SYN/ACK do zombie, aby otrzymać pakiet RST w celu przeanalizowania nowego zaktualizowanego identyfikatora IP.

Jeśli port celu jest otwarty, odpowie na urządzenie zombie pakietem SYN/ACK, zachęcając zombie do odpowiedzi pakietem RST zwiększającym jego IP ID. Następnie, gdy atakujący ponownie wyśle ​​SYN/ACK do zombie, identyfikator IP zostanie zwiększony o +2, jak pokazano w powyższej tabeli.

Jeśli port jest zamknięty, cel nie wyśle ​​pakietu SYN/ACK do zombie, ale RST, a jego identyfikator IP pozostanie taki sam, gdy atakujący wyśle ​​nowe ACK/SYN do zombie, aby sprawdzić jego identyfikator IP, zostać zwiększona tylko o +1 (ze względu na ACK/SYN wysłane przez zombie, bez zwiększenia przez sprowokowany przez cel). Zobacz tabelę poniżej.

Zamknięte porty:

KROK 1

Tak samo jak powyżej

KROK 2

W tym przypadku cel odpowiada zombie pakietem RST zamiast SYN/ACK, uniemożliwiając zombie wysłanie RST, co może zwiększyć jego IP ID.

KROK 2

Atakujący wysyła SYN/ACK, a zombie odpowiada tylko ze wzrostami dokonanymi podczas interakcji z atakującym, a nie z celem.

Gdy port jest filtrowany, cel w ogóle nie odpowiada, identyfikator IP również pozostanie taki sam, ponieważ nie zostanie wykonana żadna odpowiedź RST, a gdy atakujący wyśle ​​nowy pakiet SYN/ACK do zombie w celu przeanalizowania identyfikatora IP, wynik będzie być taki sam jak w przypadku zamkniętych portów. W przeciwieństwie do skanów SYN, ACK i Xmas, które nie potrafią rozróżnić niektórych portów otwartych i filtrowanych, ten atak nie rozróżnia portów zamkniętych i filtrowanych. Zobacz tabelę poniżej.

Filtrowane porty:

KROK 1

Tak samo jak powyżej

KROK 2

W takim przypadku nie ma odpowiedzi od celu uniemożliwiającej zombie wysłanie RST, co może zwiększyć jego IP ID.

KROK 3

Tak samo jak powyżej

Znajdowanie urządzenia zombie

Nmap NSE (Nmap Scripting Engine) zapewnia skrypt IPIDSEQ do wykrywania podatnych na ataki urządzeń zombie. W poniższym przykładzie skrypt jest używany do skanowania portu 80 losowych 1000 celów w poszukiwaniu podatnych hostów, podatne hosty są klasyfikowane jako Przyrostowe lub little-endian incremental. Dodatkowe przykłady użycia NSE, pomimo niezwiązanego ze skanowaniem w trybie bezczynności, są opisane i pokazane w Jak skanować w poszukiwaniu usług i luk w zabezpieczeniach za pomocą Nmap i Korzystanie ze skryptów nmap: chwytanie banerów Nmap.

Przykład IPIDSEQ do losowego wyszukiwania kandydatów na zombie:

nmap -p80 --script ipidseq -iR 1000

Jak widać, znaleziono kilka podatnych na ataki hostów zombie ALE wszystkie są fałszywie pozytywne. Najtrudniejszym krokiem podczas skanowania w trybie bezczynności jest znalezienie podatnego na ataki urządzenia zombie. Jest to trudne z wielu powodów:

W takich przypadkach podczas próby wykonania skanowania bezczynności otrzymasz następujący błąd:
… nie można użyć, ponieważ nie zwróciła żadnej z naszych sond – być może jest wyłączona lub zabezpieczona zaporą sieciową.
WYCHODZENIE!

Jeśli masz szczęście w tym kroku znajdziesz stary system Windows, stary system kamer IP lub starą drukarkę sieciową, ten ostatni przykład jest zalecany przez książkę Nmap.

Szukając podatnych na ataki zombie, możesz chcieć przekroczyć Nmap i wdrożyć dodatkowe narzędzia, takie jak Shodan i szybsze skanery.  Możesz także uruchomić losowe skanowanie wykrywające wersje, aby znaleźć potencjalnie podatny system.

Wykonywanie skanowania w trybie bezczynności Nmap

Zwróć uwagę, że poniższe przykłady nie zostały opracowane w prawdziwym scenariuszu. W tym samouczku zombie Windows 98 został skonfigurowany przez VirtualBox, który jest celem Metasploitable również pod VirtualBox.

Poniższe przykłady pomijają wykrywanie hostów i instruują skanowanie w trybie bezczynności przy użyciu adresu IP 192.168.56.102 jako urządzenie zombie do skanowania portów 80.21.22 i 443 tarczy 192.168.56.101.

nmap -Pn  -sI  192.168.56.102 -p80,21,22,443 192.168.56.101

Gdzie:
nmap: wywołuje program
-Pn: pomija wykrywanie hosta.
-si: Skanowanie w trybie bezczynności
192.168.56.102: Windows 98 zombie.
-p80,21,22,443: nakazuje przeskanować wspomniane porty.
192.68.56.101: jest celem Metasploitable.

W poniższym przykładzie zmieniono tylko opcję definiującą porty na -p- nakazujące Nmapowi skanowanie najczęściej używanych 1000 portów.

nmap -sI 192.168.56.102 -Pn -p- 192.168.56.101

Wniosek

W przeszłości największą zaletą skanowania w trybie bezczynności było zarówno zachowanie anonimowości, jak i sfałszowanie tożsamości urządzenia, które nie było niefiltrowane lub było godne zaufania przez systemy obronne. Oba zastosowania wydają się przestarzałe ze względu na trudność w znalezieniu podatnych na ataki zombie (jeszcze , oczywiście jest to możliwe). Zachowanie anonimowości przy użyciu tarczy byłoby bardziej praktyczne w przypadku korzystania z sieci publicznej, podczas gdy jest mało prawdopodobne, aby zaawansowane zapory sieciowe lub systemy IDS były połączone ze starymi i podatnymi systemami jako godne zaufania.

Mam nadzieję, że ten samouczek dotyczący skanowania w trybie bezczynności Nmapa okazał się przydatny. Śledź LinuxHint, aby uzyskać więcej wskazówek i aktualizacji dotyczących systemu Linux i sieci.

Powiązane artykuły:

Gry Jak przechwytywać i przesyłać strumieniowo sesję gry w systemie Linux
Jak przechwytywać i przesyłać strumieniowo sesję gry w systemie Linux
W przeszłości granie w gry było uważane tylko za hobby, ale z czasem branża gier odnotowała ogromny wzrost pod względem technologii i liczby graczy. P...
Gry Najlepsze gry do grania ze śledzeniem rąk
Najlepsze gry do grania ze śledzeniem rąk
Oculus Quest niedawno wprowadził świetny pomysł śledzenia rąk bez kontrolerów. Przy stale rosnącej liczbie gier i działań, które wspierają zarówno for...
Gry Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Jak wyświetlić nakładkę OSD w pełnoekranowych aplikacjach i grach dla systemu Linux?
Granie w gry pełnoekranowe lub korzystanie z aplikacji w trybie pełnoekranowym bez rozpraszania uwagi może odciąć Cię od istotnych informacji systemow...