Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #30, МАЙ 2003 г.

СВОЯ ВОЕННАЯ БАЗА В СЕТИ
- хак-тулзы по первому требованию.

Докучаев Дмитрий aka Forb

Спецвыпуск Xakep, номер #030, стр. 030-044-3


Другое дело, если изменить место твоего пребывания, где использовать порт-сканер накладно. Нет, речь не идет о камере предварительного заключения :), можно взять тот же интернет-клуб, где страсть охота просканить убогий сервер. На помощь опять же приходит Web. Точнее не сам Web, а nmap-сканер в Web-интерфейсе, который выполнит всю работу сканирования и представит результат в браузере в удобочитаемом виде.

Зная, что такие проекты должны быть, ибо не я первый поднимал эту идею, изрядно помучив поисковики, выделил две тулзы для этого. После установки первой (не буду показывать пальцем какой ;)), я забил на нее из-за сложности и кучи ненужных примочек и лишних perl-модулей. А вот вторая тулза мне понравилась. Примечательно, что она использует все интерпретаторы, которые только могут быть :) для своей работы.

Пакет состоит из трех файлов: nmap.php, nmap.cgi и nmap.log. Каждый файл нужен для выполнения своей определенной задачи.

nmap.php - собственно сам интерфейс, в котором определена формочка для ввода ip-адреса, а также несколько строчек, объясняющих, что сей скрипт делает.

nmap.cgi - скрипт выполняющий локальный вызов nmap, а затем парсинг его лог-файла на предмет портов. На самом деле, назвать его cgi-скриптом нельзя, так как все в нем выполняется обычным /bin/sh интерпретатором :). С одной стороны, это удобно - ничего лишнего, но с другой - разобраться в коде очень сложно.

nmap.log - логирование всех скан-запросов. Может быть удобно, если ты забыл ip сервера, который сканил.

Теперь о настройке. Все необходимые переменные занесены в nmap.cgi скрипт. Их немного:

logfile=/home/server.ru/cgi-bin/nmap/nmap.log

Путь к файлу nmap.log, для корректного занесения log-данных. Если не изменять поле, ничего страшного не произойдет, в скрипте присутствует проверка на наличие файла и прав для записи в него.

filename=/tmp/nmap$$.1

output=/tmp/nmap$$.2

Переменные определяющие временные файлы, жизненно важные для работы скрипта. Лучше их оставить как есть, но бывают случаи, когда /tmp директория недоступна для записи. Если у тебя на сервере подобная ситуация, поменяй директорию в переменных.

forbidden="linux\.org;freebsd\.org;127\.0\.0\.1"

Список хостов, которые запрещены для сканирования. Делается это для собственной безопасности, на случай, если какой-нибудь лабух попытается просканить твой же сервер :). Как видно, хосты разделяются между с собой точкой с запятой, а точки в ip-адресах экранируются слешем.

Все это дело устанавливается на твой сервер в определенную директорию в /cgi-bin (либо, доступного для скриптов каталога). На скрипт, традиционно выставляем 755, а на log-файл 666 режимы. Обязательно изменим путь к nmap.cgi в форме nmap.php скрипта и наслаждаемся результатом сканирования.

Достоинства:

1. Удобство. В любой момент можно получить данные об открытых портах на сервере.

Назад на стр. 030-044-2  Содержание  Вперед на стр. 030-044-4