Опубликован: 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.

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

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

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

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

Елена Гогонова
Елена Гогонова
Россия, Магнитогорск
Алина Архипова
Алина Архипова
Россия, г белорецк