Jak używać Nmapa do skanowania luk w zabezpieczeniach?

Nmap lub network mapper to zestaw narzędzi do testowania funkcjonalności i penetracji w całej sieci, w tym skanowania portów i wykrywania luk w zabezpieczeniach.

Aparat skryptowy Nmapa (NSE) Skrypt to jedna z najpopularniejszych i najpotężniejszych możliwości Nmapa. Te skrypty skanujące podatności Nmapa są używane przez testerów penetracyjnych i hakerów do badania powszechnie znanych podatności.

Common Vulnerabilities and Exposures (CVE) to baza danych o publicznie ujawnianych kwestiach bezpieczeństwa danych. Służy jako model referencyjny do wykrywania podatności i zagrożeń związanych z bezpieczeństwem systemów informatycznych.

W tym artykule przyjrzymy się, jak używać Nmapa do skanowania luk.

Zacznijmy!

Instalacja Nmapa

Nmap jest preinstalowany w prawie każdej dystrybucji Linuksa. Jeśli go brakuje, musisz zainstalować go ręcznie. Można go łatwo zainstalować za pomocą następującego polecenia.

apt-get install nmap

Możesz go również zainstalować, klonując urzędnika repozytorium git.

git clone https://github.com/nmap/nmap.git

Następnie przejdź do tego katalogu i zainstaluj wymagania, korzystając z poniższych poleceń.

./configure
make
make install

Dostępna jest najnowsza wersja tego oprogramowania, a także instalatory binarne dla systemów Windows, macOS i Linux (RPM). tutaj.

Skanowanie podatności za pomocą Nmap

Nmap-vulners, vulscan i vuln to popularne i najpopularniejsze skrypty wykrywające CVE w wyszukiwarce Nmap. Skrypty te pozwalają odkryć ważne informacje o lukach w zabezpieczeniach systemu.

Luki w Nmap

Jednym z najbardziej znanych skanerów luk w zabezpieczeniach jest Luki w Nmap. Przyjrzyjmy się, jak skonfigurować to narzędzie, a także jak uruchomić podstawowe skanowanie CVE. Aparat skryptowy Nmapa przeszukuje odpowiedzi HTTP w celu zidentyfikowania CPE dla danego skryptu.

Instalacja

Aby zainstalować skrypt Nmap-vulners, przejdź do katalogu skryptów Nmap za pomocą następującego polecenia.

cd /usr/share/nmap/scripts/

Następnym krokiem jest sklonowanie repozytorium git.

git clone https://github.com/vulnersCom/nmap-vulners.git

Po sklonowaniu repozytorium git nie będziesz musiał robić nic więcej dla konfiguracji. Narzędzie zostanie automatycznie zainstalowane.

A jeśli chcesz zobaczyć skrypty NSE obecne w bazie danych Nmap-vulners, użyj polecenia ls. Wyświetli wszystkie skrypty rozszerzenia .nse na terminalu.

Stosowanie

Korzystanie ze skryptów NSE jest łatwe. Po prostu przekaż argument -script do naszego polecenia Nmapa, aby poinstruować, jakiego skryptu NSE użyć.

nmap -sV --script vulners [--script-args mincvss=<arg_val>] <target>

Nie zapomnij przekazać argumentu „-sV” podczas korzystania ze skryptów NSE. Nmap-vulners nie będą mogli uzyskać dostępu do bazy danych exploitów Vulners, jeśli nie otrzymają żadnych informacji o wersji od Nmapa. Tak więc parametr -sV jest wymagany przez cały czas.

Przykładowe polecenie

Składnia jest dość prosta. Po prostu wywołaj skrypt z opcją „–script” i określ silnik luki oraz cel, aby rozpocząć skanowanie.

nmap -sV --script nmap-vulners/ <target>

Jeśli chcesz przeskanować określone porty, po prostu dodaj opcję „-p” na końcu polecenia i podaj numer portu, który chcesz przeskanować.

nmap -sV --script nmap-vulners/ <target> -p80,223

Nmap – vuln

Skrypty NSE są klasyfikowane według zestawu z góry określonych kategorii, do których należy każdy skrypt. Uwierzytelnianie, transmisja, brutalna siła, natrętne, złośliwe oprogramowanie, bezpieczne, wersja i luka to tylko niektóre z kategorii. Możesz znaleźć wszystkie kategorie skryptów NSE i ich fazy tutaj.

Skrypty należące do kategorii „luki” wyszukują określone znane luki w zabezpieczeniach i zgłaszają je tylko wtedy, gdy zostaną zidentyfikowane w systemie docelowym.

nmap -sV --script vuln <target>

Nmap-vulscan

Vulscan to skrypt NSE, który pomaga Nmapowi wykrywać luki w celach na podstawie wykrytych usług i wersji. vulscan jest jak moduł dla Nmapa, który przekształca go w skaner podatności. Opcja Nmap -sV pozwala na wykrywanie wersji per-service, która służy do identyfikowania potencjalnych exploitów dla wykrytych luk w systemie.

Obecnie dostępne są następujące preinstalowane bazy danych:

  • exploitdb.csv
  • osvdb.csv
  • securitytracker.csv
  • openvas.csv
  • scipvuldb.csv
  • xforce.csv
  • securityfocus.csv
  • cve.csv

Instalacja

Aby zainstalować Vulscan, najpierw przejdź do katalogu skryptów Nmap za pomocą następującego polecenia.

cd /usr/share/nmap/scripts/

Następnym krokiem jest sklonowanie repozytorium git i zainstalowanie wszystkich wymagań.

git clone https://github.com/scipag/vulscan.git

ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan 

Vulscan korzysta ze wstępnie skonfigurowanych baz danych zapisanych lokalnie na naszym komputerze. Aby zaktualizować bazę danych, przejdź do katalogu updater. Wpisz następujące polecenie w terminalu, aby przejść do katalogu aktualizatora.

cd vulscan/utilities/updater/

Następnie zmień uprawnienia pliku do uruchomienia w systemie.

chmod +x updateFiles.sh

I na koniec zaktualizuj bazy danych exploitów za pomocą poniższego polecenia.

 ./updateFiles.sh

Stosowanie

Użyjmy vulscan do wykonania skanu podatności Nmapa. Skrypt vulscan NSE może być używany w taki sam sposób jak nmap-vulners.

nmap -sV --script vulscan <target>

Domyślnie Vulscan przeszukuje wszystkie bazy danych jednocześnie. Wyszukiwanie informacji przy użyciu wszystkich baz danych zajmuje dużo czasu. Używając parametru vulscandb, możesz jednocześnie przekazać tylko jedną bazę danych CVE.

--script-args vulscandb=database_name

Przykładowe polecenie

nmap -sV --script vulscan --script-args vulscandb=exploit.csv <target> -p 80,233

Indywidualne skanowanie podatności

Poszczególne skany podatności mogą być również wykonywane przy użyciu określonych skryptów w ramach każdej kategorii. Oto lista wszystkich 600+ Skrypty NSE i 139 Biblioteki NSE.

Przykłady

  • http-csrf: ten skrypt wykrywa luki w zabezpieczeniach typu Cross-Site Request Forgery (CSRF).
nmap -sV --script http-csrf <target>
  • http-sherlock: zamierza wykorzystać lukę „shellshock” w aplikacjach internetowych.
nmap -sV --script http-sherlock <target>
  • http-slowloris-attack: bez uruchamiania ataku DoS, ten skrypt sprawdza serwer sieciowy lub system docelowy pod kątem podatności na atak Slowloris DoS.
nmap -sV --script http-slowloris-check <target>
  • http-vmware-path-vuln: VMWare ESX, ESXi i Server są testowane pod kątem podatności path-traversal
nmap -sV --script http-vmware-path-vuln <target>
  • http-passwd: próbuje pobrać /etc/passwd lub boot.ini, aby sprawdzić, czy serwer WWW jest podatny na przechodzenie katalogów.
nmap -sV --script http-passwd <target>
  • http-internal-ip-disclosure: podczas wysyłania żądania HTTP/1.0 bez nagłówka hosta ta kontrola określa, czy serwer sieci Web ujawnia swój wewnętrzny adres IP.
nmap -sV --script http-internal-ip-disclosure <target>
  • http-vuln-cve2013-0156: Wykrywa serwery Ruby on Rails, które są podatne na ataki DOS i wstrzykiwanie poleceń.
nmap -sV --script http-vuln-cve2013-0156 <target-address>

I wreszcie, oto lista wszystkich skryptów NSE, które należą do kategorii „wulgarny” Kategoria.

Czy twój system jest w stanie wykryć skany Nmapa?

Rekonesans to pierwsza faza etycznego hakowania i testów penetracyjnych. Hakerzy wykorzystują fazę rozpoznania, aby zlokalizować luki i luki w systemie do ataku. Dlatego systemy obronne powinny być w stanie je wykryć.

Będziesz otrzymywać alerty, jeśli korzystasz z narzędzi SIEM (Security Information and Event Management), zapór sieciowych i innych środków ochronnych. A oto lista najlepszych narzędzi SIEM do zabezpieczenia Twojej firmy i organizacji przed cyberatakami. Narzędzia te pomagają nawet w rejestrowaniu skanów Nmapa. Skany podatności są opłacalne, ponieważ wczesna identyfikacja może zapobiec przyszłym uszkodzeniom systemów.

Wniosek

Mam nadzieję, że ten artykuł okazał się bardzo przydatny w nauce używania Nmapa do skanowania luk w zabezpieczeniach.

Możesz również zainteresować się listą skanerów bezpieczeństwa sieci Web typu Open Source, aby znaleźć luki w zabezpieczeniach.

x