Ethical hacking: identyfikacja usług z nmap

spis treści

w poprzednim poście etycznego hakowania krótko wyjaśniamy różne opcje wyliczania adresów IP i subdomen podczas wykonywania etycznego procesu hakowania. Jeśli podobało ci się, że ” jest to bardzo bezpieczne, ponieważ kto będzie wiedział, że ta subdomena istnieje „(że chociaż nie możesz w to uwierzyć, jest to bardziej powszechne niż się wydaje), nie przegap tego, jak”kto będzie wiedział, że umieściłem tę usługę w tym porcie z tak dziwnym numerem” …

krótko mówiąc, w tym poście postaramy się zobaczyć, jak można zrobić spis otwartych portów w IP lub zakresie IP, a nawet zidentyfikować technologię pod otwartym portem, gdy jest to możliwe. Zasadniczo ten post skupi się na użyciu fantastycznego i niezbędnego narzędzia, nmap. Chociaż jest to narzędzie zwykle używane w Linuksie (i oczywiście zawarte w pakiecie referencyjnym, którego używam w tych postach, Kali), Kompilacje dla innych systemów operacyjnych można już znaleźć.

zanim przejdziemy do pracy, chcemy ostrzec, że nmap jest złożonym i kompletnym narzędziem, z ogromną ilością opcji, parametrów itp.; Ten post nie jest przeznaczony jako podręcznik korzystania z narzędzia, ale ponownie wprowadzenie do niego, aby zrozumieć identyfikację usług jako etap etycznego hakowania przed wykryciem luk w zabezpieczeniach. Aby dowiedzieć się więcej o tym narzędziu, zalecamy przeczytanie ich instrukcji.

narzędzie Open Source Nmap pozwala nam wykonywać skanowanie sieci i portów, będąc w stanie skanować pojedyncze miejsce docelowe, zakres, listę adresów IP … na podstawie żądań TCP, UDP, ICMP, SCTP itp. i zawiera różne techniki skanowania. Ogólnie zalecamy odświeżenie trochę wiedzy na temat protokołów transportowych, na przykład pamiętając, jak ustanowienie połączenia TCP działa z negocjacją w trzech krokach: po pierwsze, wywołanie typu SYN od klienta do portu, odpowiedź RST, jeśli port jest zamknięty lub SYN-ACK, jeśli jest otwarty, i ACK od klienta do serwera, aby zakończyć proces. Nmap będzie polegać na tego typu wiadomościach, aby określić, czy port nasłuchuje, czy nie w miejscu docelowym. Czasami nie można tego użyć lub jest wykrywany przez zdalny serwer i istnieją inne alternatywy skanowania.

składnia Ogólna

nmap { }

nasze pierwsze skanowanie

możemy wykonać następujące polecenie:

nmap 45.33.49.119

nie umieszczamy żadnego rodzaju ankiety, więc użyj domyślnej ankiety, TCP SYN. nmap wysyła SYN i zakłada, że port jest otwarty, jeśli otrzyma SYN ACN. Nie ma również dodatkowego parametru opcji, a jako miejsce docelowe istnieje jeden adres IP. To polecenie da nam wynik podobny do następującego:

Starting Nmap 7.70 ( https://nmap.org ) at 2019-10-01 18:12 CESTNmap scan report for ack.nmap.org (45.33.49.119)Host is up (0.19s latency).Not shown: 993 filtered portsPORT STATE SERVICE22/tcp open ssh25/tcp open smtp70/tcp closed gopher80/tcp open http113/tcp closed ident443/tcp open https31337/tcp closed EliteNmap done: 1 IP address (1 host up) scanned in 10.86 seconds

zwrócenie w ciągu kilku sekund listy otwartych portów na tym IP, w tym SSH, serwera poczty SMTP, serwera WWW i możliwego otworu zwrotnego (https://www.speedguide.net/port.php?port=31337).

w wielu przypadkach jest to po prostu pierwszy punkt analizy, chociaż na przykład oprogramowanie stojące za serwerem FTP, SSH itp., jest w pełni zaktualizowany i nie ma znanych luk w zabezpieczeniach. Można rozpocząć, na przykład, atak brute force ze słownikiem na SSH lub FTP próbującym uzyskać dostęp (istnieje ogromna liczba serwerów tego typu z domyślnymi lub niepewnymi poświadczeniami).

istnieją Automatyczne Narzędzia (boty), które zasadniczo stale skanują szeroki zakres adresów IP w poszukiwaniu rozpoznawalnych otwartych portów, na przykład bazy danych (MongoDB, MySQL, PostgreSQL itp.), a po wykryciu otwartego portu automatycznie próbują zalogować się z domyślnymi poświadczeniami. Na przykład, w przypadku typowych instalacji LAMP / WAMP, root / dostęp do portu mySQL. I zasadniczo, ogromna liczba baz danych została zhakowana bez wcześniejszej interwencji człowieka. Jest to wykonalne, nawet jeśli mamy go otworzyć w innym porcie, ponieważ możliwe jest zidentyfikowanie w wielu przypadkach, że to, co jest w porcie 5555 „wprowadzić w błąd”, powiedzieć coś, jest mySQL poprzez odcisk palca usługi, jak zobaczymy więcej z wyprzedzeniem.

krótko mówiąc, bardzo niebezpiecznie jest zostawiać domyślnie poświadczenia na serwerach WWW, routerach, FTPs, SSH, bazach danych … bo nikt nie musi mieć manii, bot będzie.

Escanear IPS con Nmap

pierwszy parametr

jeśli chcemy uzyskać informacje o tym, w jaki sposób nmap uzyskał te informacje, możemy zwiększyć ślady za pomocą parametru-v (verbose) lub-vv, gdzie widzimy, że Nmap wydawał polecenia SYN i w niektórych przypadkach otrzymywał RESET (zamknięty port), w innych SYN-ACK (otwarty port), a w innych Brak odpowiedzi („filtrowane”), co może nam uświadomić, że firewall zatrzymuje nasze żądanie:

PORT STATE SERVICE REASON22/tcp open ssh syn-ack ttl 5325/tcp open smtp syn-ack ttl 5370/tcp closed gopher reset ttl 5280/tcp open http syn-ack ttl 53113/tcp closed ident reset ttl 52443/tcp open https syn-ack ttl 5331337/tcp closed Elite reset ttl 53

zwiększanie zakresu adresów IP do skanowania

nmap 192.168.10.0/24 (subred completa)nmap 192.168.10.1-20 (20 IPs)nmap 192.168.10.*nmap 192.168.10.1 192.168.10.2 192.168.10.3

lub na przykład, wyobraźmy sobie, że gromadzimy adresy IP z naszego początkowego wyliczenia i mamy Plik z różnymi adresami IP oddzielonymi tabulatorami lub podziałem linii (jeden adres IP lub zakres na linię). Możemy załadować plik parametrem-iL (input list) i w ten sposób zeskanować cały spis IP. Pozwala również, na przykład, wykluczyć niektóre konkretne adresy IP za pomocą –exclude lub-excludefile.

Definiowanie portów do skanowania

możemy ręcznie zdefiniować porty, które chcemy skanować. Na przykład, jeśli poszukamy serwerów sieci Web na portach 80, 443 i 8080 w podsieci, możemy to zrobić za pomocą parametru-p:

nmap -p 80,443,8080 192.168.10.0/24

możemy również poprosić nmap, aby zeskanował ” N ” (integer) najczęściej spotykanych portów; na przykład, aby zeskanować 25 najczęściej spotykanych portów w zakresie adresów IP:

nmap --top-ports 25 192.168.10.0/24

otrzymanie takiej odpowiedzi:

PORT STATE SERVICE21/tcp closed ftp22/tcp open ssh23/tcp closed telnet25/tcp closed smtp53/tcp open domain80/tcp open http110/tcp closed pop3111/tcp open rpcbind135/tcp closed msrpc139/tcp open netbios-ssn143/tcp closed imap199/tcp closed smux443/tcp closed https445/tcp open microsoft-ds587/tcp closed submission993/tcp closed imaps995/tcp closed pop3s1025/tcp closed NFS-or-IIS1720/tcp closed h323q9311723/tcp closed pptp3306/tcp closed mysql3389/tcp closed ms-wbt-server5900/tcp open vnc8080/tcp closed http-proxy8888/tcp closed sun-answerbook

możemy poprosić o skanowanie wszystkich portów TCP, UDP i SCTP (wolniejszych) z identyfikatorem-p- :

nmap -p- 192.168.10.0/24

Identyfikacja systemów operacyjnych i usług

jak widzimy, nmap pozwala nam wykryć porty nasłuchujące na IP lub w zakresie. Później zobaczymy, jak można zdefiniować inne techniki badania. Dodatkowo nmap pozwala nam spróbować zidentyfikować jaką technologię (produkt, wersję itp.) znajduje się za otwartym Portem, a nawet systemem operacyjnym zainstalowanym na serwerze, z parametrami-O i-sV. Wykrywanie to opiera się na” podpisie ” (odcisku palca) odpowiedzi, które usługa daje do niektórych połączeń.

nmap -O -sV 192.168.10.5
PORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 6.7p1 Raspbian 5+deb8u3 (protocol 2.0)53/tcp open domain ISC BIND 9.9.5 (Raspbian Linux 8.0 (Jessie based))80/tcp open http Apache httpd 2.4.10 ((Raspbian))111/tcp open rpcbind 2-4 (RPC #100000)139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)4567/tcp open http Jetty 9.4.8.v201711215900/tcp open vnc RealVNC Enterprise 5.3 or later (protocol 5.0)MAC Address: B8:27:EB:CD:FE:89 (Raspberry Pi Foundation)Device type: general purposeRunning: Linux 3.X|4.XOS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4OS details: Linux 3.2 - 4.9Network Distance: 1 hopService Info: Host: RASPBERRYPI; OS: Linux; CPE: cpe:/o:linux:linux_kernel

w tym przypadku nie tylko wiemy, że ta maszyna ma pewne otwarte porty. Mówi nam również, że jest to Raspberry działa Raspbian (z którym, na przykład, możemy zrobić test brute force z użytkownikiem „pi”, który jest domyślnym użytkownikiem), i wersje różnych portów, które nasłuchują, tak, że informacje te mogą być wykorzystane do wykorzystania luk nad niepasowanych wersji, itp.

używanie większej liczby technik ankietowania

domyślnie nmap używa SYN jako techniki ankietowania. Jest to szybka i niezbyt inwazyjna / wykrywalna technika, ale czasami, ale obsługuje w sumie 12 różnych technik, które możemy zdefiniować jako parametry, jak widać w instrukcji obsługi narzędzia.

na przykład, jeśli chcemy wykonać skanowanie w oparciu o połączenia UDP, możemy wykonać połączenie typu:

nmap -sU 192.168.10.5

Wyszukiwanie luk w zabezpieczeniach za pomocą nmap

chociaż istnieją bardziej „wygodne” i specyficzne narzędzia do wyszukiwania luk, takie jak Nessus lub pakiety, takie jak Metasploit, które konsolidują różne narzędzia, nmap pozwala nam również na analizę luk.

aby to zrobić, używa serii skryptów Lua, które znajdują się w ścieżce naszej maszyny (W przypadku Kali, w / usr / share / Nmap / scripts /) i które można wywołać za pomocą –script lub jego odpowiednika-sC .

skrypty mogą należeć do jednej lub kilku kategorii, więc możemy poprosić nmap o ocenę, na przykład, wszystkich skryptów w kategorii względem hosta. Istnieje kilka szczególnie interesujących kategorii, takich jak” vuln „(Skrypty przeznaczone do wykrywania luk w miejscu docelowym),” exploit ” itp.

na przykład, jeśli chcemy przeskanować Skrypty kategorii luk na hoście:

nmap --script vuln scanme.nmap.org
PORT STATE SERVICE22/tcp open ssh80/tcp open http| http-csrf: | Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=scanme.nmap.org| Found the following possible CSRF vulnerabilities: | | Path: http://scanme.nmap.org:80/| Form id: cse-search-box-sidebar|_ Form action: https://nmap.org/search.html|http-dombased-xss: Couldn't find any DOM based XSS. | http-enum: | /images/: Potentially interesting directory w/ listing on 'apache/2.4.7 (ubuntu)' | /shared/: Potentially interesting directory w/ listing on 'apache/2.4.7 (ubuntu)'| http-slowloris-check: | VULNERABLE:| Slowloris DOS attack| State: LIKELY VULNERABLE| IDs: CVE:CVE-2007-6750| Slowloris tries to keep many connections to the target web server open and hold them open as long as possible. It accomplishes this by opening connections to the target web server and sending a partial request. By doing so, it starves the http server's resources causing Denial Of Service.| Disclosure date: 2009-09-17| References:| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750|_ http://ha.ckers.org/slowloris/|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.9929/tcp open nping-echo31337/tcp open Elite

jak widać, skrypt wykrył potencjalną lukę w oparciu o atak slowloris denial of service. Jeśli przeanalizujemy Skrypty znajdujące się w wyżej wymienionej trasie, zobaczymy, że istnieje dokładnie taki, który wykorzystuje tę lukę, zwany http-slowloris. Jeśli chcemy uzyskać więcej informacji o skrypcie możemy uruchomić następujące polecenie:

nmap --script-help http-slowloris

Wyjaśnienie, jak działa skrypt, jak go uruchomić (można to również zrobić z nmap za pomocą –script I –script-args), itd. Możemy również uzyskać np. opis wszystkich skryptów, które szukają luk w zabezpieczeniach:

nmap --script-help vuln

możemy również na przykład uruchomić wszystkie skrypty określonego typu. Na przykład, jeśli chcemy skanować luki w zabezpieczeniach poprzez protokół SMB na danym hoście:

nmap --script smb-* 192.168.10.5

możemy również, na przykład, ocenić podatność w całej naszej sieci, wybierając konkretny skrypt w stosunku do zakresu. Parametr-script

nmap --script-help vuln
nmap --script

krótko mówiąc, nmap zawiera nawet interesujące opcje oceny luk w zabezpieczeniach, a nawet uruchamiania exploitów, chociaż istnieją inne narzędzia powszechnie używane do tego celu.

Empleada contectándose a la VPN para poder teletrabajar

inne ciekawe opcje

jak już skomentowaliśmy, nmap ma wiele opcji i nie można spróbować pokryć nawet niewielkiego procentu w poście. W rzeczywistości istnieje oficjalna książka nmap licząca prawie 500 stron… ale w każdym razie staramy się tutaj skomentować niektóre, które wydają się interesujące.

jak już skomentowaliśmy, nmap ma wiele opcji i nie można spróbować pokryć nawet niewielkiego procentu w poście. W rzeczywistości istnieje oficjalna książka nmap licząca prawie 500 stron… ale w każdym razie staramy się tutaj skomentować niektóre, które wydają się interesujące.

  • narzędzie umożliwia wygenerowanie wyniku skanowania w przetwarzalnym pliku wyjściowym, na przykład w formacie XML, z opcją-oX lub-oN .
  • gdy skanujemy szeroki zakres adresów IP, możemy wyłączyć próbę odwrotnej rozdzielczości DNS za pomocą parametru-N.
  • podczas wykonywania polecenia możemy zwiększyć poziom informacji wyświetlanych na konsoli (gadatliwość) naciskając klawisz „V”.
  • jeśli mamy Firewalla, który nas przecina, możemy spróbować-Pn.

krótko mówiąc, staraliśmy się opracować „krótkie” wprowadzenie do nmap jako narzędzia do identyfikacji otwartych portów i usług na hoście lub zakresie adresów IP. W późniejszych postach zobaczymy inne sposoby wykrywania luk w zabezpieczeniach.

wszystko gotowe?

czas sprawniej obsługiwać dokumenty

Leave a Reply

Twój adres e-mail nie zostanie opublikowany.