Опубликован: 20.02.2006 | Уровень: специалист | Доступ: платный
Лекция 4:

Сканеры портов

Использование Nlog

В этом разделе описано использование Nlog.

  1. Прежде всего, необходимо создать для просмотра файл базы данных Nlog. Для этого нужно преобразовать существующий журнал Nmap. Не забудьте предварительно сохранить журналы Nmap в машиночитаемом виде (опция -m в командной строке), чтобы можно было использовать их в Nlog. Затем можно воспользоваться процедурой, поставляемой вместе с Nlog, для преобразования журнала Nmap в формат базы данных Nlog. Чтобы преобразовать машиночитаемый журнал Nmap, выполните процедуру log2db.pl, набрав в командной строке:
    log2db.pl журнал_Nmap

    Замените журнал_Nmap маршрутным именем файла журнала.

  2. Чтобы объединить несколько журналов в одну базу данных, выполните команду вида
    cat каталог_журналов_Nmap/*| sort -u > сводный_журнал_Nmap
  3. Замените каталог_журналов_Nmap на маршрутный префикс журнальных файлов Nmap и final.db на имя файла, в который вы хотите свести имеющиеся журналы. Утилита sort отсортирует данные в алфавитном порядке и исключит повторения.
  4. Запустите web-навигатор и перейдите в HTML-каталог (/var/www/ из предыдущего раздела).
  5. Выберите файл базы данных Nlog, который вы хотите просмотреть, и щелкните мышью на Search (рис. 4.4).
    Образ экрана Nlog

    Рис. 4.4. Образ экрана Nlog
  6. Теперь можно открыть базу данных Nlog и выполнить поиск по следующим критериям:
    • Хосты по IP-адресу;
    • Порты по номеру;
    • Протоколы по имени;
    • По состоянию порта (открытый, закрытый, фильтруемый);
    • По выявленной ОС.

    Можно также использовать любую комбинацию этих критериев. Например, можно искать по любым Web-серверам (протокол http) на системах Windows с состоянием порта "открытый".

Дополнения для Nlog

Как упоминалось ранее, Nlog легко расширяется. Можно писать дополнения для выполнения других проверок или функций на всех найденных протоколах или портах. В действительности имеется несколько дополнений, включаемых вместе с программой. Если есть доступное дополнение, то вслед за портом будет располагаться строка гипертекста, и можно щелкнуть на ней мышью, чтобы выполнить подпрограмму. В табл. 4.9 перечислены встроенные расширения.

Таблица 4.9. Встроенные расширения Nlog
Расширение Описание
Nlog-rpc.pl Это дополнение для каждого найденного сервиса RPC пытается определить, есть ли к нему какие-либо текущие присоединения и экспорты.
Nlog-smb.pl Для всех узлов, выполняющих NetBIOS (таковыми будут большинство машин Windows), делается попытка выборки общих ресурсов, списков пользователей и любой другой доступной доменной информации. Используются имена пользователей, заданные в файле nlog-config.ph.
Nlog-dns.pl Для IP-адресов выполняется стандартная команда nslookup. (Подробнее о nslookup см. в "Средства уровня операционной системы" )
Nlog-finger.pl Выполняются запросы к выявленным службам finger, чтобы посмотреть, какая информация будет выдана

Создание собственных расширений Nlog

Если вы изучите дополнительные процедуры, то увидите, что это обычные программы на языке Perl. Если у вас есть опыт работы с Perl, вы в состоянии писать собственные расширения, позволяющие выполнять для просканированных хостов практически произвольную функцию. Например, можно извлечь и вывести HTTP-заголовки для всех обнаруженных web-серверов, чтобы было легче их идентифицировать. Не стоит слишком этим увлекаться, поскольку такие программы, как Nessus (рассматривается в "Сканеры уязвимостей" ), могут производить значительно более обстоятельные проверки, но если вам нужен только заголовок или какой-то небольшой фрагмент информации, то применение Nlog будет хорошим решением.

Nlog поставляется с образцом пользовательского дополнения, названным nlog-bind.pl. Эта процедура предназначена для опроса сервера DNS и выдачи используемой версии BIND (Berkeley Internet Name Domain), однако она не закончена и служит лишь в качестве упражнения для создания собственных дополнений. Образец находится в каталоге /nlog*/extras/bind/. Следующие шаги помогут вам дописать процедуру. Этот подход можно использовать для самостоятельного создания любой пользовательской процедуры.

  1. Перейдите в упомянутый каталог и скомпилируйте процедуру с помощью компилятора Gcc, используя следующую команду:
    gcc -o bindinfo binfo-udp.c

    В каталоге будет создан бинарный файл bindinfo.

  2. Скопируйте этот файл в каталог, где хранятся ваши Nlog-процедуры.
  3. Измените у него режим доступа, сделав его исполнимым (помните, что для выполнения этой команды вы должны быть суперпользователем):
    chmod 700 bindinfo
  4. Откройте файл nlog-config.ph в текстовом редакторе.
  5. Добавьте строку вида
    $bindinfo = "маршрут_к_bindinfo";

    Замените маршрут_к_bindinfo на маршрутное имя каталога, в который вы поместили бинарный файл.

  6. Сохраните текстовый файл.
  7. Теперь отредактируйте файл nlog-search.pl. Это Perl-процедура, которая создает страницу с результатами поиска.
  8. Найдите раздел, который выглядит следующим образом:
    1: # here we place each cgi-handler into a temp var for readability.
     2:
     3: $cgiSunRPC = "sunrpc+$cgidir/nlog-rpc.pl+SunRPC";
     4: $cgiSMB = "netbios-ssn+$cgidir/nlog=smb.pl+NetBIOS";
     5: $cgiFinder = "finder+$cgidir/nlog-finder.pl+Finder";
     6:
     7: $qcgilinks = "$cgiSunRPC $cgiSMB $cgiFinder";
  9. Между строками 5 и 6 добавьте следующую строку:
    $cgiBIND = "domain+$cgidir/nlog-bind.pl+BIND";
  10. Отредактируйте строку 7, чтобы она имела следующий вид:
    $qcgilinks = "$cgiSunRPC $cgiSMB $cgiFinder $cgiBIND";

    В строке 7 вы можете аналогичным образом добавить ссылки на любые другие созданные вами процедуры.

  11. Скопируйте файл nlog-bind.pl из этого каталога в свой cgi-каталог (var/www/cgi в Mandrake Linux), и измените режим доступа (chmod), чтобы приложение могло его прочитать.

Теперь, когда Nmap найдет открытым порт 53 (обычно это DNS-сервер), вы можете щелкнуть мышью на ссылке, которую создает Nlog, и выяснить, какая версия BIND выполняется. Следуя логике этого примера, можно написать дополнительные процедуры для расширения Nlog.

Роман Попов
Роман Попов

После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение?

Александр Путятинский
Александр Путятинский

Добрый день по окончании данного курса выдается сертификат?

Гончик Цымжитов
Гончик Цымжитов
Россия, Санкт-Петербург
Александр Косенко
Александр Косенко
Украина, Днепропетровск