Удаление сообщения о новой детекции отпечатков пальцев из nmap

Вопрос или проблема

Я ежедневно запускаю сканирование nmap моих хостов, чтобы проверить открытые порты.

sudo nmap -f -sS -sV --log-errors -append-output -p1-9999 host.com 

Но вместе с выводом я получаю длинный список отправленных отпечатков для нераспознанных портов, например:

==============СЛЕДУЮЩИЙ ОТПЕЧАТОК СЕРВИСА (ОТПРАВЛЯТЬ ПО ОДНОМУ)==============
SF-Port4000-TCP:V=5.21%I=7%D=2/9%Time=4F30CAC%P=x86_64-redhat-linux-gnu%r
SF::\r\nERR\x20UNKNOWN_COMMAND\x20Неизвестная\+команда\+сервераCSeq:\r\nERR\x20
-------------------------------------------

Как мне удалить это из отчетов nmap?

Нет способа предотвратить вывод этой информации Nmap, кроме как отправить отпечатки, как предложил The Unix Janitor в своем комментарии. В этом контексте вы можете попробовать использовать последнюю версию Nmap (5.51 или 5.61TEST5); с момента выпуска вашей версии было добавлено более 700 новых отпечатков сервисов.

Чтобы удалить нежелательный вывод из результатов сканирования, попробуйте этот одинарный скрипт Perl:

perl -ne 'if(/NEXT SERVICE FINGERPRINT/){$f=1}else{$f=0 if $f and not /^SF/}print unless $f'

Это удалит отпечатки. Если вы беспокоитесь о разборе вывода, я рекомендую использовать вместо этого XML-вывод, так как структура нормального вывода может меняться от версии к версии.

Вы можете рассмотреть возможность использования формата вывода XML и его разбора (существует библиотека Perl для его разбора, но любой XML-парсер сработает), вместо стандартного полуструктурированного текстового вывода. В стандартном формате вывода мне не известно о способе подавить эти сообщения.

Вот альтернативный подход с использованием sed вместо perl:

sed -e '/^[=]+NEXT SERVICE FINGERPRINT/,/^----/{d;}'

Формат, который выводит nmap, кажется, изменился с момента оригинального поста. Я вижу результаты, которые выглядят так:

| fingerprint-strings:
|   GetRequest:
|     HTTP/1.0 200 OK
--- (строки убраны для краткости) ----
|     <meta charset="UTF-8">
|_    <!-- safari rejects 3rd party cookies when running inside iframe so all client requests must include customer id in
1 сервис не распознан, несмотря на возврат данных. Если вы знаете сервис/версию, пожалуйста, отправьте следующий отпечаток на https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port443-TCP:V=7.94SVN%T=SSL%I=7%D=12/6%Time=6753D374%P=x86_64-pc-linux-
SF:gnu%r(GetRequest,1000,"HTTP/1\.0\x20200\x20OK\r\nAccept-Ranges:\x20byte
---- (строки убраны для краткости) ----
SF:0client\x20requests\x20must\x20include\x20customer\x20id\x20in");

Вот sed, который убирает это:

 sed -e '/^| fingerprint-strings:/,/^|_/{d;}' -e '/^SF[-:]/{d;}' -e '/please submit the following fingerprint/{d;}'

Вот как работает этот последний sed, рассматривая каждое выражение (-e):

  1. /a/,/b/ сопоставляет все строки между и включая те, которые соответствуют “a” и “b”. А {d;} является командой для удаления совпадающей строки. (Не все Unix-системы требуют ; в {d;}, но некоторые требуют, поэтому я использую его. Я не думаю, что это нарушает какие-либо версии unix, но если это не сработает, попробуйте удалить его.) Так что мы удаляем все между строками, которые начинаются с | fingerprint-strings: и |_ (символ каретки, ^, обозначает начало строки.)
  2. /^SF[-:]/ сопоставляет любую строку, которая начинается с SF и либо – либо : и снова мы используем {d;} для удаления
  3. Последнее выражение похоже на #2, но мы не требуем, чтобы строка была в начале строки, которую мы хотим удалить.

Ответ или решение

Удаление сообщений о новых отпечатках из отчетов Nmap

Проведение ежедневного сканирования хостов с использованием Nmap – это важный шаг в поддержании безопасности сети. Однако многие пользователи сталкиваются с тем, что в отчетах появляется длинный список сообщений об отпечатках для непризнанных портов. Это может затруднить анализ результатов сканирования и привести к путанице. В данной статье мы рассмотрим, как эффективно удалить эти нежелательные сообщения из отчетов Nmap.

Проблема

При выполнении команды, подобной следующей:

sudo nmap -f -sS -sV --log-errors -append-output -p1-9999 host.com

пользователь получает вывод, который включает не только информацию о состоянии портов, но и большое количество сообщений о новых отпечатках, например:

==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY==============
SF-Port4000-TCP:V=5.21%I=7%D=2/9%Time=4F30CAC%P=x86_64-redhat-linux-gnu%r...

Это может быть утомительным, так как лишние данные засоряют отчет, и их трудно анализировать.

Решения

  1. Обновление Nmap
    Одним из простейших решений является обновление до последней версии Nmap. В новых версиях добавляется множество отпечатков сервисов, что может снизить количество сообщений о непризнанных портах. Убедитесь, что вы используете актуальную версию Nmap, так как поддержка новых протоколов и сервисов может существенно уменьшить количество незнакомых отпечатков.

  2. Использование Perl для фильтрации
    Вы можете использовать однострочное решение на Perl для удаления нежелательных сообщений. Запустите следующую команду в терминале:

    perl -ne 'if(/NEXT SERVICE FINGERPRINT/){$f=1}else{$f=0 if $f and not /^SF/}print unless $f'

    Это решение будет фильтровать вывод, исключая все строки, которые соответствуют отпечаткам.

  3. Использование sed для удаления
    Альтернативным методом является использование утилиты sed. Вот команда, которая позволит удалить все нежелательные сообщения:

    sed -e '/^[=]+NEXT SERVICE FINGERPRINT/,/^----/{d;}'

    Или, если вам нужно более целенаправленное удаление, используйте вариант с несколькими выражениями:

    sed -e '/^| fingerprint-strings:/,/^|_/{d;}' -e '/^SF[-:]/{d;}' -e '/please submit the following fingerprint/{d;}'

    Эта команда удалит все строки, находящиеся между и включая указанные ключевые слова, а также строки, начинающиеся с SF и те, которые содержат предложение о регистрации отпечатка.

Рекомендации по дальнейшему анализу

Для более точного и структурированного анализа результатов сканирования Nmap, рекомендуется использовать вывод в формате XML. Это позволит вам избежать проблем с изменениями в формате текстового вывода при обновлении Nmap. XML-вывод легче парсить, и вы можете использовать различные библиотеки для обработки XML:

sudo nmap -f -sS -sV -oX output.xml -p1-9999 host.com

Вывод в XML-формате делает отчеты более управляемыми и позволяет интегрировать их в другие системы или инструменты анализа.

Заключение

Удаление нежелательных сообщений о новых отпечатках из отчетов Nmap возможно с помощью нескольких методов, таких как обновление Nmap, использование Perl или sed. Выбор подходящего способа зависит от ваших личных предпочтений и целей аналитики. Также рекомендуется использовать формат XML для полноценного и структурированного анализа результатов, что повысит вашу продуктивность и упростит управление данными.

Оцените материал
Добавить комментарий

Капча загружается...