• Твой профиль заполнен на 0%. Заполни за 1 минуту, чтобы тебя нашли единомышленники и работодатели. Заполнить →
Приветствую всех кто зашёл в данную статью.
Я наконец-то смог выделить время для описании данной связки (хоть и за счёт своего рабочего времени, но не суть).

Начало
Всем знакома такая утилита как nmap. Она даже не нуждается в представлении, ибо любой эникейщих хоть раз в жизни её запускал, а пользователи данного ресурса скорее всего используют её даже в повседневной жизни.
А вот vulscan - это уже интереснее.
Vulscan - это модуль, который расширяет nmap до сканера уязвимостей. Опция nmap -sV обеспечивает обнаружение версии для каждой службы, которая используется для определения потенциальных недостатков в соответствии с идентифицированным продуктом.(Перевод с оф.сайта)
Если пересказывать своими словами то, vulscan - это дополнительный модуль, состоящий из скрипта и 8-ми баз с записями об уязвимостях в формате csv.

Как показали мои опыты с данным продуктом, процесс анализа происходит так:
  1. Nmap с ключом -sV сканирует таргет на открытые порты (а так же получает информацию об версии софта или службы на данном порту)
  2. После того он начинает сверять полученный результат по всем 8-ми базам, и при совпадении это выдавать на экран.
Установка
Установка занимает минимум по времени, и немного знания линукс.

  1. Устанавливаем nmap, у кого его нет
    Bash:
    sudo apt-get install nmap
  2. Скачиваем архив с Github
    Bash:
    git clone https://github.com/scipag/vulscan.git
  3. Если следовать той инструкции когда я познавал сие творение, то копируем полученную папку к nmap
    Bash:
    cp -R vulscan/ /usr/share/nmap/scripts/
  4. И не забываем выдать права на папку, в противном случаи nmap не сможет их запустить
Запуск и использование
Bash:
nmap -sV --script=vulscan/vulscan.nse Ваш-таргет
Но по своему опыту скажу, лучше весь вывод nmapa отправлять в файл, ибо текста много и он нам не раз понадобится.
Время данных проверок могут варьироваться от 30 секунд до 5 минут.

Разбор полётов и примеры.
Для того что бы сформировать ваше первое мнение я проведу пару тестов и попытаюсь рассказать как я лично это использую.
Примерами будут выступать один из корпоративных сайтов(1) который я обслуживаю (он находится у стороннего хостинга), и личный домашний сервачёк(2) с поднятым LAMP+nextcloud находящийся за NAT.



(1)
Шапка
Безымянный.jpg

21/tcp open ftp Pure-FTPd
| vulscan: scip VulDB - Vulnerability Database:
| [102925] Foscam C1 Indoor HD Camera 2.52.2.37 Web Management Interface pureftpd.passwd HTTP Request privilege escalation
[/QUOTE]
Зачем на web сервере держать камеру, да и сомневаюсь я,что она там есть. Хотя есть предположение, часть инфы он берет от ресурса за маршрутизатором, а часть он него. К примеру (Если за роутером стоит web сервер только c http, а перед ним роутер/маршрутизатор с включенным ssh, то в выводе мы увидем и оба сервиса, так как мы обращаемся к адресу самого маршрутизатора).
Остальной вывод nmapa будет находится в прикрепленом файле site.txt . Единственное что бы я хотел дополнить, я лично при анализе какого либо ресурса не обращаю внимание на каждую строку, а сперва просматриваю строки с указанием на CVE.

(2)
Второй пример, я так же не буду расписывать, вы сами можете его рассмотреть в файле (mysrv.txt). Он не сильно отличается от первого примера, за исключением того что тут nmap смог обнаружить один из 3-х портов находящийся за 5000 пулом. А так же каким то фигом он начал репортить об apple устройствах в той же сети (надо будет потом перепроверить это).

5080/tcp open ssl/ssl Apache httpd (SSL-only mode)
| [94348] Apple macOS up to 10.12.1 apache_mod_php denial of service
| [94347] Apple macOS up to 10.12.1 apache_mod_php denial of service
| [94346] Apple macOS up to 10.12.1 apache_mod_php denial of service
| [94345] Apple macOS up to 10.12.1 apache_mod_php denial of service
| [94344] Apple macOS up to 10.12.1 apache_mod_php denial of service
| [94343] Apple macOS up to 10.12.1 apache_mod_php memory corruption
| [94342] Apple macOS up to 10.12.1 apache_mod_php memory corruption

Вывод и свое мнение.
Развлекаясь с данной связкой, я пришел к выводу (по крайней мере для себя):
  1. Хоть оно и выдает много информации, ведя поиск только по CVE можно потихоньку учиться работе с базами уязвимостей (как новичку, кем я на данный момент и являюсь в сфере ИБ), а так же и знакомиться и изучать огромный список уже известных дыр.
  2. Данные базы представленные в описании имеют свежые обновления, некоторые не обновлялись уже с 13 года. Но я считаю, что полезную информацию или старую дырку в безопасности с помощью этого можно обнаружить.
  3. И последнее, что хотел сказать: Как по мне, нельзя со 100% доверяться ей, и анализ лучше проводить не из вне, а на оборот в локальной сети.
 
есть еще подобные скрипты:

Код:
nmap --script nmap-vulners -sV 

nmap --script vulscan -sV 

nmap --script vulscan --script-args vulscandb=scipvuldb.csv -sV

nmap --script vulscan --script-args vulscandb=exploitdb.csv -sV 

nmap --script vulscan --script-args vulscandb=securitytracker.csv -sV
 
есть еще подобные скрипты:

Код:
nmap --script nmap-vulners -sV
nmap --script vulscan -sV
nmap --script vulscan --script-args vulscandb=scipvuldb.csv -sV
nmap --script vulscan --script-args vulscandb=exploitdb.csv -sV
nmap --script vulscan --script-args vulscandb=securitytracker.csv -sV
Только скорее надо писать vulscan.nse, и параметр --script-args vulscandb позволяет сканить только по одной конкретно указанной бд.
То есть мы с вами говорим про один и тот же скрипт, но с разными ключами.
 
ну да. вроде, кроме первого.
 
ну да. вроде, кроме первого.
Только что проверил, переименуйте скрипт как угодно, так он будет работать)
Так что нет, все что вы описали выше, это разновидность запуска
 
  • Нравится
Реакции: Tihon49
Получается что вместо таргета надо писать ip адрес домена?
 
И не забываем выдать права на папку, в противном случаи nmap не сможет их запустить
А какие там права надо выдавать ?
Все права на папку /usr/share/nmap и вложенные папки и файлы имеет суперпользователь и никто кроме него.
Там нужно только файл обновления сделать исполняемым.

Делаем скрипт обновления исполняемым:
# chmod +x /usr/share/nmap/scripts/vulscan/utilities/updater/updateFiles.sh

Но рассмотренный в теме скрипт - не единственный.
Первый Nmap-vulners

Второй Nmap-vulners

##########################################################################################
Первый Nmap-vulners

Действия производятся под учёткой суперпользователя:
Переходим во временную папку:
# cd /tmp

Клонируем с github:
# git clone GitHub - scipag/vulscan: Advanced vulnerability scanning with Nmap NSE

Копируем в папку со скриптами nmap:
# cp -R vulscan/ /usr/share/nmap/scripts/

Переходим в папку, где находятся утилиты скрипта:
# cd /usr/share/nmap/scripts/vulscan/utilities/updater/

Делаем скрипт обновления исполняемым:
# chmod +x updateFiles.sh

Обновление:
# ./updateFiles.sh

Cканирование:
# nmap -sV script=vulscan/vulscan.nse <target>

Сканирование при помощи какой-то определённой базы:
nmap script=vulscan/vulscan.nse --script-args vulscandb=exploitdb.csv -sV <target IP>

Примеры баз на сайте GitHub - scipag/vulscan: Advanced vulnerability scanning with Nmap NSE или в паке /usr/share/nmap/scripts/vulscan
exploitdb.csv
openvas.csv
scipvuldb.csv

Полный скан сразу в одной команде
nmap script=vulscan/vulscan.nse --script-args vulscandb=scipvuldb.csv -sV -sV <target IP>


##########################################################################################
Второй Nmap-vulners

cd /usr/share/nmap/scripts/
git clone GitHub - vulnersCom/nmap-vulners: NSE script based on Vulners.com API
 
  • Нравится
Реакции: Muxtar и Crazy Jack
Спасибо за развернутую статью.
Под Windows сделал командный файлик:

echo nmap -sV --script=vulscan/vulscan.nse %1 > nmapvulscan.cmd

и жить стало проще :)

nmapvulscan 127.0.0.1

1630397803642.png


Нада еще на BASH сотворить.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab