Jak używać skryptu NMAP Skrypty (NSE) w Linux

Jak używać skryptu NMAP Skrypty (NSE) w Linux

NMAP to popularny, potężny i wieloplatformowy skaner bezpieczeństwa sieci i narzędzie do eksploracji. Może to również pomóc w uzyskaniu przeglądu systemów, które łączą Twoją sieć; Możesz go użyć, aby znaleźć wszystkie adresy IP hostów na żywo, skanować otwarte porty i usługi działające na tych hostach i wiele więcej.

Jedna z interesujących cech Nmap jest Silnik skryptu NMAP (Nse), co przynosi jeszcze większą elastyczność i wydajność. Umożliwia pisanie własnych skryptów w języku programowania LUA i być może udostępniać te skrypty innym użytkownikom NMAP.

Przeczytaj także: 29 praktyczne przykłady poleceń NMAP dla Linuksa

Istnieją cztery rodzaje scenariuszy NSE, a mianowicie:

  • Skrypty prerule - są skryptami, które działają przed jakąkolwiek operacją skanowania NMAP, są wykonywane, gdy NMAP nie zebrał jeszcze żadnych informacji o celu.
  • Skrypty hosta - Czy skrypty wykonane po wykonaniu normalnych operacji NMAP, takich jak odkrycie hosta, skanowanie portów, wykrywanie wersji i wykrywanie systemu operacyjnego na hosta docelowym.
  • Skrypty serwisowe - Czy skrypty są działane przeciwko określonym usługom słuchającym na docelowym hoście.
  • Postrule Skrypty - czy skrypty działają po skanowaniu wszystkich swoich hostów docelowych.

Następnie te skrypty są pogrupowane w różnych kategoriach, w tym w przypadku uwierzytelnienia (Auth), Odkrywanie gospodarzy (audycja), brutalna siła ataki, aby odgadnąć poświadczenia uwierzytelniania (bydlę), Odkrywanie więcej o sieci (odkrycie), powodując odmowę usług (dos), Wykorzystanie pewnej podatności (wykorzystać) itp. Wiele skryptów należy do kategorii domyślnej.

Notatka: Zanim przeprowadzimy się dalej, powinieneś zwrócić uwagę na te kluczowe punkty:

  • Nie wykonywaj skryptów od stron trzecich bez krytycznego przeglądania przez nie tylko wtedy, gdy ufasz autorom. Wynika to z faktu, że te skrypty nie są uruchamiane w piaskownicy, a zatem mogą nieoczekiwanie lub złośliwie uszkodzić system lub zaatakować twoją prywatność.
  • Po drugie, wiele z tych skryptów może działać jako albo prerule Lub Postrule scenariusz. Biorąc to pod uwagę, zaleca się użycie prerule do celów spójności.
  • NMAP używa Skrypty/skrypt.db baza danych, aby ustalić dostępne domyślne skrypty i kategorie.

Aby zobaczyć lokalizację wszystkich dostępnych scenariuszy NSE, uruchom narzędzie lokalizacji na terminalu, tak:

$ zlokalizuj *.nse /usr/share/nmap/scripts/acarsd-info.NSE/usr/share/nmap/scenariusze/adres.NSE/usr/share/nmap/scenariusz/AFP-Brute.NSE/USR/SHARE/NMAP/Scripts/AFP-LS.nse/usr/share/nmap/scenariusz/AFP-Path-vuln.nse/usr/share/nmap/scripts/afp-serverinfo.NSE/usr/share/nmap/scripts/afp-showmount.nse/usr/share/nmap/scenariusz/AJP-Auth.NSE/usr/share/nmap/scenariusz/AJP-Brute.NSE/USR/SHARE/NMAP/Scripts/AJP-Headers.NSE/usr/share/nmap/scenariusz/metody AJP.NSE/usr/share/nmap/scripts/AJP-Request.nse/usr/share/nmap/scenariusz/allseeingeye-info.NSE/usr/share/nmap/scripts/amqp-info.NSE/USR/SHARE/NMAP/Scripts/ASN-Query.NSE… 

Skrypty NSE są ładowane za pomocą --scenariusz Flaga, która pozwala również uruchomić własne skrypty, dostarczając kategorie, nazwy plików skryptów lub nazwę katalogów, w których znajdują się twoje skrypty.

Składnia do włączania skryptów jest następująca:

$ nmap -sc #Load Domyślne skrypty lub $ nmap -Script Filename | kategoria | katalog | wyrażenie,… cel 

Możesz wyświetlić opis skryptu z --Help skryptu opcja. Dodatkowo możesz przekazać argumenty do niektórych scenariuszy za pośrednictwem --argumenty skryptów I --plik argumentu skryptowego Opcje, później stosuje się do dostarczenia nazwy pliku, a nie argumentu wiersza poleceń.

Aby wykonać skan z większością domyślnych skryptów, użyj -sc flaga lub alternatywnie użyj --skrypt = domyślnie jak pokazano.

$ nmap -sc Scanme.nmap.org lub $ nmap - -script = domyślny skanme.nmap.Org lub $ nmap -Script Domyślny Scanme.nmap.org 
Przykładowy wyjście
Rozpoczęcie Nmap 7.01 (https: // nmap.org) na 2017-11-15 10:36 IST SCAN NMAP Raport dla Scanme.nmap.org (45.33.32.156) Host jest w górę (0.0027S opóźnienie). Nie pokazano: 999 Ports Ports State Service 80/TCP Otwórz http | _http-title: śmiało i skanowanie! NMAP wykonane: 1 adres IP (1 host w górę) zeskanowany w 11.74 sekundy 

Aby użyć skryptu do odpowiedniego celu, możesz przede wszystkim uzyskać krótki opis tego, co faktycznie robi, na przykład, HTTP-Headers.

$ nmap-Script-Help HTTP-Headers Scanme.nmap.org 
Przykładowy wyjście
Rozpoczęcie Nmap 7.01 (https: // nmap.Org) na 2017-11-15 10:37 IST HTTP-Headers Kategorie: Discovery Safe https: // nmap.org/nSedoc/Scripts/HTTP-Headers.HTML wykonuje żądanie głowy dla folderu głównego („/”) serwera WWW i wyświetla zwrócone nagłówki HTTP. 

Ładowanie skanów NSE w celu wykonania skanów NMAP

Możesz wybrać lub załadować skrypty, aby wykonać skan w różnych metodach wyjaśnionych poniżej.

Używając nazwy skryptu

Gdy wiesz, co robi skrypt, możesz wykonać skanowanie za pomocą go. Możesz użyć jednego skryptu lub wprowadzić listę nazwisk skryptów oddzielonych przecinkami. Poniższe polecenie umożliwi wyświetlanie nagłówków HTTP skonfigurowanych w serwisie WebServer w hosta docelowym.

$ nmap-Script HTTP-Headers Scanme.nmap.org 
Skanowanie nagłówków HTTP
Rozpoczęcie Nmap 7.01 (https: // nmap.Org) na 2017-11-15 10:39 IST SCAN NMAP Raport dla Scanme.nmap.org (45.33.32.156) Host jest w górę (0.27S opóźnienie). Nie pokazano: 996 Zamknięte porty Port State Service 22/TCP Open SSH 80/TCP Otwórz HTTP | HTTP-Headers: | Data: śr, 15 listopada 2017 05:10:04 GMT | Serwer: Apache/2.4.7 (Ubuntu) | Akceptuj (bajty | Vary: Akcept-encoding | Połączenie: Zamknij | Content-Type: Text/HTML | | _ (Typ żądania: głowica) 179/TCP filtrowane BGP 31337/TCP Otwórz Elite NMAP:.96 sekund 

Korzystanie z kategorii

Możesz także załadować skrypty z jednej kategorii lub z listy kategorii oddzielonych przecinkami. W tym przykładzie używamy wszystkich scenariuszy w kategorii domyślnej i transmisji, aby przeprowadzić skanowanie na hoście 192.168.56.1.

$ nmap -Script Domyślnie, transmisja 192.168.56.1 
Zeskanuj gospodarza

Korzystanie z * wieloznacznej karty

Jest to przydatne, gdy chcesz wybrać skrypty z danym wzorem nazwy. Na przykład, aby załadować wszystkie skrypty z nazwami zaczynającymi się od ssh, Uruchom poniższe polecenie na terminalu:

$ nmap--script "ssh-*" 192.168.56.1 
Załaduj skrypty za pomocą wieloznacznych-

Używając wyrażeń logicznych

Możesz także wybrać skrypty za pomocą wyrażeń logicznych, które można zbudować za pomocą I, Lub, I nie operatorzy. A nazwiska w wyrażeniu logicznym mogą być kategorią, nazwa pliku od scenariusz.db, lub wszystko.

Poniższe polecenie załaduje skrypty z kategorii domyślnych lub transmisji.

$ nmap - -script „domyślnie lub transmisja” 192.168.56.10 

Co jest równoważne:

$ nmap -Script Domyślnie, transmisja 192.168.56.10 

Aby załadować wszystkie skrypty pomijające te w vuln kategoria, uruchom to polecenie na terminalu.

$ nmap -Script „Not vuln” 192.168.56.10 

Następne polecenie wygląda trochę skomplikowane, ale jest łatwe do zrozumienia, wybiera skrypty w kategoriach domyślnych lub nadawane, pomijając osoby z nazwami, zaczynając od SSH-:

$ nmap--script "(domyślnie lub transmisja), a nie ssh-*" 192.168.56.10 

Co ważne, możliwe jest połączenie kategorii, nazw skryptów, katalogu zawierającego niestandardowe skrypty lub wyrażenie boolowskie do ładowania skryptów, takiego:

$ nmap-Script Broadcast, Vuln, SSH-Auth-Methods,/Path/to/Custom/Scripts 192.168.56.10 

Przekazywanie argumentów do scenariuszy NSE

Poniżej znajduje się przykład, jak przekazać argumenty do skryptów z -argumenty skryptów opcja:

$ nmap-Script Mysql-Audit--Script-Args "MySQL-Audit.nazwa użytkownika = „root”, \ mysql-audit.hasło = „hasło_here”, mysql-audit.filename = 'nselib/data/mysql-cis.rewizja'" 

Aby przekazać numer portu, użyj -P Opcja NMAP:

$ nmap -p 3306-Script mysql-audit--script-args "mysql-audit.nazwa użytkownika = „root”, \ mysql-audit.hasło = „hasło_here”, mysql-audit.filename = 'nselib/data/mysql-cis.rewizja'" 

Powyższe polecenie uruchamia audyt konfiguracji bezpieczeństwa serwera bazy danych mysql Cis mysql v1.0.2 reper. Możesz także utworzyć własne przydatne pliki audytu niestandardowego dla innych audytów MySQL.

To wszystko na razie. Więcej informacji można znaleźć na stronie NMAP Man lub sprawdź użycie NSE.

Aby zacząć od pisania własnych skryptów NSE, sprawdź ten przewodnik: https: // nmap.org/book/nse-samorial.html

Wniosek

Nmap jest naprawdę potężnym i użytecznym narzędziem, którego potrzebuje każdy system lub administrator sieci w swoim arsenale bezpieczeństwa - Nse po prostu dodaje do tego większą wydajność.

W tym artykule przedstawiliśmy cię do Silnik skryptu NMAP i przyjrzał się, jak znaleźć i użyć różnych dostępnych skryptów w różnych kategoriach. Jeśli masz jakieś pytania, nie wahaj się z nami odpisać za pomocą poniższego formularza komentarza.