Як використовувати Nmap для сканування вразливостей?

Nmap або мережевий картограф — це набір інструментів для тестування функціональності та проникнення в усій мережі, включаючи сканування портів і виявлення вразливостей.

Сценарій механізму створення сценаріїв Nmap (NSE) є однією з найпопулярніших і найпотужніших можливостей Nmap. Ці сценарії сканування вразливостей Nmap використовуються тестувальниками проникнення та хакерами для вивчення поширених відомих уразливостей.

Загальні вразливості та експозиції (CVE) — це база даних публічно розкритих проблем безпеки даних. Він служить еталонною моделлю для виявлення вразливостей і загроз, пов’язаних з безпекою інформаційних систем.

У цій статті ми розглянемо, як використовувати Nmap для сканування вразливостей.

Давайте розпочнемо!

Встановлення Nmap

Nmap попередньо встановлено майже в кожному дистрибутиві Linux. Якщо він відсутній, його потрібно встановити вручну. Його можна легко встановити за допомогою наступної команди.

apt-get install nmap

А також можна встановити, клонувавши офіційну репозиторій git.

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

Далі перейдіть до цього каталогу та встановіть вимоги за допомогою наведених нижче команд.

./configure
make
make install

Доступна остання версія цього програмного забезпечення, а також двійкові інсталятори для Windows, macOS і Linux (RPM). тут.

Сканування вразливостей за допомогою Nmap

Nmap-vulners, vulscan і vuln є поширеними та найпопулярнішими скриптами виявлення CVE у пошуковій системі Nmap. Ці сценарії дозволяють виявити важливу інформацію про недоліки безпеки системи.

Nmap-уразливі особи

Одним з найвідоміших сканерів уразливостей є Nmap-уразливі особи. Давайте розглянемо, як налаштувати цей інструмент, а також як запустити базове сканування CVE. Механізм сценаріїв Nmap шукає відповіді HTTP, щоб визначити CPE для даного сценарію.

  Як встановити подвійний міжрядковий інтервал у Microsoft Word для навчальної роботи

монтаж

Щоб установити сценарій Nmap-vulners, перейдіть до каталогу сценаріїв Nmap за допомогою такої команди.

cd /usr/share/nmap/scripts/

Наступним кроком є ​​клонування репозиторію git.

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

Після клонування репозиторію git вам не потрібно буде нічого робити для налаштування. Інструмент буде встановлено автоматично.

І якщо ви хочете побачити сценарії NSE, присутні в базі даних Nmap-vulners, використовуйте команду ls. Він відобразить усі сценарії розширення .nse на терміналі.

Використання

Використовувати сценарії NSE легко. Просто передайте аргумент -script нашій команді Nmap, щоб вказати, який сценарій NSE використовувати.

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

Не забудьте передати аргумент «-sV» під час використання сценаріїв NSE. Вразливі особи Nmap не зможуть отримати доступ до бази даних експлойтів Vulners, якщо вона не отримає жодної інформації про версію від Nmap. Отже, параметр -sV потрібен постійно.

Приклад команди

Синтаксис досить простий. Просто викличте сценарій із опцією «–script» і вкажіть систему вразливостей і ціль, щоб почати сканування.

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

Якщо ви бажаєте просканувати будь-які конкретні порти, просто додайте опцію «-p» у кінець команди та передайте номер порту, який потрібно сканувати.

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

Nmap – vuln

Сценарії NSE класифікуються відповідно до набору заздалегідь визначених категорій, до яких належить кожен сценарій. Автентифікація, трансляція, груба сила, втручання, зловмисне програмне забезпечення, безпечне, версія та vuln – це деякі з категорій. Ви можете знайти всі типи категорій сценаріїв NSE та їхні фази тут.

Сценарії, що належать до категорії «вульт», шукають конкретні відомі вразливості та повідомляють лише про їх виявлення в цільовій системі.

nmap -sV --script vuln <target>

Nmap-vulscan

Вулскан це сценарій NSE, який допомагає Nmap виявляти вразливості на цілях на основі виявлення служб і версій. vulscan схожий на модуль для Nmap, який перетворює його на сканер вразливостей. Параметр Nmap -sV дозволяє виявляти версії для кожної служби, що використовується для виявлення потенційних експлойтів для виявлених уразливостей у системі.

  Як розібратися в іграх Steam

На даний момент доступні такі попередньо встановлені бази даних:

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

монтаж

Щоб інсталювати Vulscan, спочатку перейдіть до каталогу сценаріїв Nmap за допомогою такої команди.

cd /usr/share/nmap/scripts/

Наступним кроком є ​​клонування репозиторію git і встановлення всіх вимог.

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

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

Vulscan використовує попередньо налаштовані бази даних, збережені локально на нашій машині. Щоб оновити базу даних, перейдіть до каталогу оновлення. Введіть наступну команду в термінал, щоб перейти до каталогу оновлення.

cd vulscan/utilities/updater/

Далі змініть права доступу файлу, який буде запущено в системі.

chmod +x updateFiles.sh

І, нарешті, оновіть бази даних експлойтів за допомогою наведеної нижче команди.

 ./updateFiles.sh

Використання

Давайте використаємо vulscan для сканування вразливостей Nmap. Скрипт vulscan NSE можна використовувати так само, як і nmap-vulners.

nmap -sV --script vulscan <target>

За замовчуванням Vulscan здійснюватиме пошук у всіх базах даних одночасно. Запит інформації по всіх базах даних займає багато часу. Використовуючи параметр vulscandb, ви можете передавати лише одну базу даних CVE за раз.

--script-args vulscandb=database_name

Приклад команди

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

Сканування індивідуальної вразливості

Сканування окремих вразливостей також можна виконувати за допомогою певних сценаріїв у кожній категорії. Ось список усіх 600+ Скрипти NSE і 139 Бібліотеки NSE.

  Як робити якісні RAW фотографії

Приклади

  • http-csrf: Цей сценарій виявляє уразливості міжсайтової підробки запитів (CSRF).
nmap -sV --script http-csrf <target>
  • http-sherlock: має намір використовувати вразливість «shellshock» у веб-додатках.
nmap -sV --script http-sherlock <target>
  • http-slowloris-attack: не запускаючи DoS-атаку, цей сценарій перевіряє веб-сервер або цільову систему на вразливість для виконання Slowloris DoS-атаки.
nmap -sV --script http-slowloris-check <target>
  • http-vmware-path-vuln: VMWare ESX, ESXi та Server перевірено на вразливість проходження шляху
nmap -sV --script http-vmware-path-vuln <target>
  • http-passwd: намагається отримати /etc/passwd або boot.ini, щоб перевірити, чи веб-сервер вразливий до проходження каталогу.
nmap -sV --script http-passwd <target>
  • http-internal-ip-disclosure: під час надсилання запиту HTTP/1.0 без заголовка Host ця перевірка визначає, чи веб-сервер витікає свою внутрішню IP-адресу.
nmap -sV --script http-internal-ip-disclosure <target>
  • http-vuln-cve2013-0156: Виявляє сервери Ruby on Rails, уразливі до DOS-атак і впровадження команд.
nmap -sV --script http-vuln-cve2013-0156 <target-address>

І, нарешті, ось список усіх сценаріїв NSE, які підпадають під «vuln” категорія.

Чи здатна ваша система виявляти сканування Nmap?

Розвідка є першою фазою етичного хакерства та тестування на проникнення. Хакери використовують фазу розвідки, щоб знайти недоліки та лазівки в системі для атаки. Тому системи захисту повинні мати можливість їх виявити.

Ви отримуватимете сповіщення, якщо будете використовувати інструменти SIEM (Security Information and Event Management), брандмауери та інші засоби захисту. А ось список найкращих інструментів SIEM для захисту вашого бізнесу та організації від кібератак. Ці інструменти навіть допомагають реєструвати сканування Nmap. Сканування вразливостей варте уваги, оскільки раннє виявлення може запобігти майбутньому пошкодженню систем.

Висновок

Сподіваюся, ця стаття була для вас дуже корисною для вивчення того, як використовувати Nmap для сканування вразливостей.

Вам також може бути цікаво ознайомитися зі списком сканерів веб-безпеки з відкритим вихідним кодом, щоб знайти вразливості.