Jak używać Nmapa do skanowania luk w zabezpieczeniach?
Opublikowany: 2022-04-07Nmap 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.
Silnik skryptów Nmap (NSE) Skrypt to jedna z najpopularniejszych i najpotężniejszych funkcji 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 problemach z bezpieczeństwem 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 w zabezpieczeniach.
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 oficjalne 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
Najnowsza wersja tego oprogramowania, a także instalatory binarne dla systemów Windows, macOS i Linux (RPM) są dostępne 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 są luki 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ą mogły 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 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. Wszystkie rodzaje kategorii skryptów NSE i ich fazy można znaleźć 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 przekazać tylko jedną bazę danych CVE na raz.
--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+ skryptów NSE i 139 bibliotek 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 sieciowy 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 na koniec, oto lista wszystkich skryptów NSE, które należą do kategorii „vuln”.
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.