Vulscan — это модуль, который превращает nmap в сканер уязвимостей. Опция nmap -sV включает определение версии для каждой службы, что используется для определения потенциальных дефектов в соответствии с идентифицированным продуктом. Данные просматриваются в автономной версии VulDB.
Пожалуйста, установите файлы в следующую папку вашей установки Nmap:
Nmapscriptsvulscan*
Клонируйте репозиторий GitHub следующим образом:
git clone https://github.com/scipag/vulscan scipag_vulscan
ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
Вам необходимо запустить следующую минимальную команду, чтобы начать простое сканирование уязвимостей:
nmap -sV --script=vulscan/vulscan.nse www.example.com
На данный момент доступны следующие предустановленные базы данных:
Вы можете запустить vulscan со следующим аргументом, чтобы использовать одну базу данных:
--script-args vulscandb=your_own_database
Также возможно создавать собственные базы данных и ссылаться на них. Для этого необходимо создать файл базы данных, который имеет следующую структуру:
<id>;<title>
Просто запустите vulscan, как обычно, обратившись к одной из предварительно поставленных баз данных. Не стесняйтесь поделиться со мной своей собственной базой данных и информацией об уязвимостях, чтобы добавить ее в официальный репозиторий.
Базы данных уязвимостей регулярно обновляются и собираются. Для поддержки последних обнаруженных уязвимостей постоянно обновляйте локальные базы данных уязвимостей.
Чтобы автоматически обновлять базы данных, просто установите права на выполнение для файла update.sh
и запустите его:
chmod 744 update.sh
./update.sh
Если вы хотите обновить базы данных вручную, перейдите на следующий веб-сайт и загрузите эти файлы:
Скопируйте файлы в папку vulscan:
/vulscan/
Если при обнаружении версии удалось определить версию программного обеспечения и база данных уязвимостей предоставляет такие сведения, эти данные также сопоставляются.
Отключение этой функции может привести к появлению ложноположительных результатов, но также может устранить ложноотрицательные результаты и немного повысить производительность. Если вы хотите отключить дополнительное сопоставление версий, используйте следующий аргумент:
--script-args vulscanversiondetection=0
Обнаружение версии vulscan настолько же эффективно, насколько эффективно определение версии Nmap и записей базы данных уязвимостей. Некоторые базы данных не предоставляют исчерпывающую информацию о версии, что может привести к множеству ложных срабатываний (как это можно увидеть на серверах Apache).
Скрипт пытается определить только лучшие совпадения. Если положительного совпадения не обнаружено, на дисплей выводится наилучшее возможное совпадение (возможно, ложноположительное).
Если вы хотите показать все совпадения, которые могут привести к большому количеству ложных срабатываний, но могут быть полезны для дальнейшего расследования, используйте следующий аргумент:
--script-args vulscanshowall=1
Интерактивный режим позволяет переопределить результаты определения версии для каждого порта. Используйте следующий аргумент, чтобы включить интерактивный режим:
--script-args vulscaninteractive=1
Все совпадающие результаты печатаются построчно. Макет по умолчанию для этого:
[{id}] {title}n
Можно использовать другую предопределенную структуру отчета со следующим аргументом:
--script-args vulscanoutput=details
--script-args vulscanoutput=listid
--script-args vulscanoutput=listlink
--script-args vulscanoutput=listtitle
Вы можете реализовать собственную структуру отчета, используя следующий аргумент (некоторые примеры):
--script-args vulscanoutput='{link}n{title}nn'
--script-args vulscanoutput='ID: {id} - Title: {title} ({matches})n'
--script-args vulscanoutput='{id} | {product} | {version}n'
Поддерживаются следующие элементы шаблона динамического отчета:
Каждая база данных по умолчанию имеет URL-адрес и ссылку, которые используются во время сканирования и доступны как {link} в настроенном шаблоне отчета. Чтобы использовать пользовательские ссылки на базу данных, используйте следующий аргумент:
--script-args "vulscandblink=http://example.org/{id}"
Имейте в виду, что этот вид производного сканирования уязвимостей во многом зависит от достоверности определения версии nmap, количества задокументированных уязвимостей и точности сопоставления с образцом. Наличие потенциальных дефектов не проверяется ни дополнительным сканированием, ни методами эксплуатации.