Автор: Kuzya (http://kuzya.name) Прошу прощения если тему нужно было поместить в форум "Статьи". Когда по моей просьбе переносили статьи "Начальный практикум в ****" то поместили их именно суда. Я не знаю какое отношение я имею к ачату, но раз перемещено в "Наши статьи" значит так надо =) Перевод официальной документации Nikto 2 Глава 1. Введение. 1. Краткий обзор Nikto – это инструмент для тестирования веб-серверов. Он занимается поиском стандартных или плохо защищённых файлов и уязвимостей связанных с неправильной настройкой ПО сервера. 2. Описание Nikto — это программа написанная на языке PERL. В её цели входит поиск множества типичных проблем веб-серверов, а именно: · Неправильная (или небезопасная) настройка серверов и приложений. · Стандартные файлы и приложения · Небезопасные файлы и приложения (например файлы конфигурации не защищённые паролем — п.п.). · Устаревшее серверное ПО сервера или сайта. Nikto разработан на базе библиотеки «LibWhisker» и может быть запущен на любой платформе где установлен PERL. В нём имеется поддержка SSL, работы с прокси-серверами, возможностей аутентификации, сокрытия от IDS и многое другое. Плюс ко всему Nikto может быть обновлён прямо из командной строки. Имя «Nikto» взято из фильма «День когда земля остановилась». Более подробную информацию об этом Вы можете найти по адресу http://www.blather.net/blather/1998/10/klaatu_barada_nikto_the_day_th.html 3. Продвинутый механизм обнаружения ошибок. Множество подобных сканеров (включая Nikto 1.32 и младшие версии) при определении существования той или иной страницы сильно зависят от кода HTTP-ответа посланного сервером. Из-за того что многие сервера, не соблюдая RFC-стандарт, возвращают код 200 при отсутствии документа (404) или ограничении доступа к нему (403), сканеры дают множество ложных срабатываний. В добавок ко всему ответы об отсутствии различных запрошенных документов могут отличаться друг от друга. Скажем, при запросе несуществующего cgi-скрипта сервер выдаст один ответ, а при запросе несуществующей html-странички — другой. Эта проблема решается везде по разному. Некоторые программы, такие как Nessus, просто анализируют ответ сервера и ищут в нём признаки отсутствия запрошенного документа. При этом признак отсутствия документа (например определённую строку кода) пользователь устанавливает самостоятельно. В версии 2.0 Nikto не имеет такой ошибки. Список расширений файлов генерируется в реальном времени (берётся из БД) и каждое из них проверяется отдельно. Для каждого запрашиваемого файла имеется отдельный способ проверки его наличия на целевом сервере: ответ по стандарту RPC, определённые части контента, MD5-хэш. Это позволяет Nikto с большой скоростью проверять каждый файл индивидуально и при этом избегать большого количества ложных срабатываний как это было в версии 1.32. Рассмотрим следующий пример. Если сервер возвращает ошибку «404 Not found» на запрос несуществующего txt-файла (этот файл Nkto генерирует сам — п.п.), то Nikto будет определять отсутствие файлов такого типа именно по коду 404 в ответах сервера. Если же сервер вернёт ответ «200 ОК», то Nikto попытается обследовать содержимое возвращаемое сайтом. В нём он будет искать признаки того что документ не существует (например фразу «could not be found»), и если найдёт то в дальнейшем подобные правила поиска он будет применять ко всем запрашиваемым txt-документам. Если и этот метод не увенчается успехом то Nikto попытается удалять из возвращаемого контента строки даты и времени (так как они могут постоянно изменяться), генерировать MD5-хэш получившейся страницы и в будущем сверять ответы сервера с этим хэшем (следуя логике он должен ещё вырезать имя запрашиваемого файла на странице, если оно там есть — п.п). Последний вариант самый медленный, но в большинстве случаев он может помочь в определении ошибок для файлов разных типов. 4. История развития Релиз Nikto 1.00 Beta вышел 27 декабря 2001 года (следом за ним почти сразу вышел релиз 1.01). В течение двух лет код Nikto постоянно совершенствовался и в итоге он стал отличным сканером веб-приложений. Релиз версии 2.0, в ноябре 2007 года, является результатом постоянного совершенствования и многих лет работы. Глава 2. Установка. 1. Требования Для нормальной работы Nikto требуется любая система на которой установлен PERL. Сам проект был протестирован на следующих платформах: · Windows (запускался под ActiveState Perl) · MacOS X · Различные варианты Linux и Unix систем (включая такие как RedHat, Solaris, Debian, Knoppix, и т.д.) Единственное что требуется кроме PERL - модуль LibWhisker который не всегда входит в базовую установку. Nikto устроен так что использует файл LW.pm находящийся в директории плагинов(./plugins/LW.pm), но пользователь может изменить путь подключения этого файла. 2. Установка Данная инструкция не включает в себя описание установки PERL, его модулей, OpenSSL, LibWhisker и других утилит или библиотек которые могут потребоваться при установке (такие как gzip, tar и т.д.). Для установки всего этого обращайтесь к документации данных продуктов. Вся установка Nikto сводится к скачиванию и распаковке файлов: или При использовании стандартной установки операционной системы и PERL Nikto должен сразу запускаться и работать без ошибок. Смотрите главу 4 (опции) и главу 8 (решение проблем) для получения более детальной информации по настройке. Глава 3. Использование. 1. Простейшее тестирование В большинстве случаев, для обычного сканирования Nikto нужен лишь целевой хост. По умолчанию сканирование осуществляется на порту 80. Для проверки иного порта Вам следует указать его через опцию -p. Следующий запрос укажет Nikto просканировать веб-сервер находящийся по адресу 192.168.0.1, на 443-ем порту. Хост, порт и протокол могут быть так-же указаны в формате URI и они будут нормально распознаны сканером. На 443 порту не обязательно может находится HTTPS, там может быть и HTTP. Nikto всегда сначала проверяет наличие HTTP, и если не находит этому подтверждения то проверяет порт на наличие HTTPS. Если Вы точно уверены что на указанном порту находится HTTPS то про вызове Nikto добавьте опцию -s (-ssl) для экономии времени. 2. Проверка множества портов. Nikto может проверять несколько портов одновременно. Для этого используйте их перечисление в опции -p (-port). Они могут быть заданы как диапазон значений (например «80-90» — все порты с 80 под 90), так и с помощью разделения запятой (80,433,8080). Пример при котором будут проверены несколько портов. perl nikto.pl -h 192.168.0.1 -p 80,88,443 3. Проверка множества хостов За один раз Nikto может проверить несколько хостов или IP-адресов. Кроме имени хоста или IP-адреса в параметре -h(-host) может быть передано имя текстового файла. Файл должен быть составлен в формате один хост на одной строке с портом (или их списком). Порты могут быть разделены между собой запятыми или двоеточиями. Если у какого-то адреса или хоста порт не установлен то по умолчанию берётся порт 80. Пример содержания такого файла 4. Использование прокси-серверов. Если машина на которой запускается Nikto имеет доступ к сканируемой цели только через HTTP-прокси то это не проблема. Установите PROXY*-переменные в конфигурационном файле (Глава 4), и вызывайте Nikto с параметром -u (-userproxy). 5. Обновление Nikto может быть обновлён автоматически. Для загрузки обновлений запустите Nikto с параметром -update Опция -update не имеет сокращённого вида записи. Если программа найдёт обновления то Вы увидите какие файлы были обновлены и загружены. perl nikto.pl -update + Retrieving ‘nikto_core.plugin’ + Retrieving ‘CHANGES.txt’ Обновления так же могут быть скачаны в ручную с сайта http://www.cirt.net/ 6. Интеграция с Nessus Сканер Nessus (http://www.nessus.org/) может быть настроен на автоматический запуск Nikto при обнаружении веб-сервера. Для этого нужно поместить директорию в которой находится Nikto, в корень Nessus. Теперь при начале сканирования он обнаружит Nikto и даст пользователю доступ к нему через GUI-интерфейс. Глава 4. Весь список опций. Ниже представлены все параметры, с которыми может быть запущен Nikto, и их описание. Краткую справку по ним можно увидеть запустив программу с опцией -h (-help). -Cgidirs Сканирование CGI-директорий. Значения «none» или «all» указывают Nikto на то что не нужно сканировать данный тип директорий, или же на то что требуется проверить все директории этого типа соответственно(можете перечислить требуемые директории через пробел. Например -Cgidirs ”/cgi/ /cgi-bin/” - п.п). -config С помощью этой опции можно указать конфигурационный файл который Nikto будет использовать за место стандартного config.txt находящегося в корневой директории сканнера. -dbcheck Только проверить базы данных с информацией о уязвимостях на правильность синтаксиса. (Опция может пригодиться при добавлении своих проверок в базы (об этом ниже) — п.п.) -evasion Работа этой опции основана на способности LibWhisker скрывать сканирование от IDS (для более подробной информации смотрите документацию по этой библиотеке). Для выбора способа сокрытия используйте нижеуказанные номера(возможно использование нескольких способов (При указании нескольких вариантов перечисляйте их один за другим без разделения, например «-evasion 12345» - п.п)). 1. Случайный выбор кодировки URI 2. Изменение путей директорий 3. Преждевременный обрыв URI 4. Предшествующая адресу длинная строка, сгенерированная случайным образом 5. Ложные параметры в URI 6. Использование табуляции за место пробелов в запросах 7. Изменение URI случайным образом 8. Использование разделителя директорий из Windows(\) На деле имеется намного больше приёмов обхода, весь их список Вы можете посмотреть тут http://www.wiretrip.net/rfp/txt/whiskerids.html — п.п. -findonly Только искать HTTP/HTTPS-порты не проводя при этом сканирование. При указании этой опции программа соединится с HTTP/HTTPS портами (или указанными пользователем) и покажет возвращённые сервером заголовки. -Format Определяет формат сохранения данных в файл указанный опцией -o (-output). По умолчанию этот параметр имеет значение «txt». Допускается указание следующих форматов: csv – CSV-отчёт разделённый запятыми htm – Отчёт в формате HTML txt – Отчёт в формате txt xml – Отчёт в формате XML. -host Целевой хост (или хосты) которые будут просканированы. В этой опции может быть указано имя хоста, IP-адрес или путь к файлу со списком хостов/IP-адресов. (Пример с указанием файла - «perl nikto.pl -h ./hosts.txt» - п.п) -Help Показ справки. -id Указание ID и пароля для http-авторизации. Формат указания данных такой - «id:пароль» -mutate Специальная технология мутации. Если она активирована то Nikto пытается комбинировать адреса для сканирования или предугадывать значения отдельных запросов. Вам следует помнить о том что при использовании данного метода может генерироваться огромное количество запросов. Для указания варианта мутации используйте его номер (возможно указание сразу нескольких параметров). 1. Проверять все файлы во всех директориях. 2. Поиск файлов с паролями 3. Искать пользователей Apache (/~user) (обычный подбор) 4. Искать пользователей cgiwrap (обычный подбор) -nolookup Не производить поиск доменного имени по IP-адресу. -output Записывать результат работы в указанный файл. Формат файла устанавливается опцией -F (-Format). Если указанный файл существует то в него будет произведена дозапись. -port TCP-порт используемый для сканирования. Для проверки более чем 1 порта можете указать их список или диапазон. Диапазоны портов указываются через тире (т.е 80-90), а список разделяется запятыми или двоеточиями (т.е 80,443,50,82). По умолчанию сканер использует порт 80. -Pause Задержка между тестами в секундах. -Display Данный параметр определяет что именно будет сообщать Nikto о сканировании. Для более детальной информации по этому параметру смотрите главу 5. Что бы указать тот или иной вариант вывода используйте его номер или букву (возможно указание сразу нескольких параметров). 1. Показывать все редиректы 2. Показывать полученные COOKIES 3. Показывать все URI с ответами 200 «OK» 4. Показывать все URI которые требуют авторизации D - Показ отладочной информации V - Показ более детального отчёта -root Опция указывает корневую директорию на веб-сервере в которой нужно проводить сканирование (если нужно провести его не в корне сайта) -ssl Сообщение сканеру о наличии SSL на заданном порту. Использование данной опции может уменьшить время сканирования. -Single Произвести единичный запрос на сервер. Nikto отправит запрос на указанный URI (учитывая все указанные опции) и выведет детальную информацию о его результатах. Более подробно работа с этим параметром описана в главе 5. -timeout Указание таймаута в секундах. По умолчанию значение этой опции равно 2 секундам. -Tuning Данная опция позволяет настраивать сканирование. Вы можете определить какое/какие именно варианты сканирования будут произведены. Если указан вариант «x» то будут использоваться только неуказанные в этой опции варианты. Для указания конкретного способа используйте его цифровое или буквенное обозначение. 0. Загрузка файлов 1. Интересные файлы / запросы обнаруженные в логах других сканнеров 2. Небезопасная настройка / стандартные файлы 3. Раскрытие информации 4. Инъекции (XSS/Script/HTML) 5. Удалённое обнаружение файлов внутри корневой веб-директории 6. Отказ в обслуживании 7. Удалённое обнаружение файлов в пределах всего сервера. 8. Выполнение команд 9. SQL-инъекции a - Обход аутентификации b - Идентификация программного обеспечения g – Обнаружение признаков присущих только определённому виду ПО (в независимости от его баннеров) x – Использование всех вышеупомянутых опций Более подробно всё разобрано в главе 5 — п.п. -useproxy Использовать прокси-сервер указанный в конфигурационном файле (для указания proxy-сервера откройте файл config.txt и заполните переменные начинающиеся на «PROXY» - п.п.). -update Загрузки обновлений. -Version Показать версию программы, плагинов и баз данных. -vhost Опция определяет содержимое поля «Host» в заголовке запроса.
Глава 5. Детальное описание некоторых опций. 1. Технология мутации Мутация позволяет Nikto комбинировать различные тесты или предугадывать поведение сервера. Использование данной технологии приводит к генерации огромного количества запросов к цели. Для выбора конкретного типа мутации укажите его номер. 1. Проверка наличия каждого файла в каждой директории. Выбор этой опции разбивает каждый адрес который есть в базе на файл и директорию. После этого в каждой получившейся директории проверяется наличие каждого файла. 2. Поиск файлов с паролями. Данная опция создаёт список самых распространённых вариантов файлов содержащих пароли с именами типа «pass», «passwd», «password» и расширениями «txt», «pwd», «bak» и т.д. 3. Поиск пользователей Apache (запросы типа /~имя_пользователя). Данный вариант поиска использует небезопасную настройку модуля UserDir, с помощью которых можно раскрыть имена настоящих пользователей системы. Фактически поиск производится по технологии Brute-force. 4. Поиск пользователей cgiwrap (/cgi-bin/cgiwrap/~имя_пользователя). Использование дефекта cgiwrap который позволяет раскрыть реальные имена пользователей. Фактически поиск производится по технологии Brute-force. 2. Выводимая информация Опции для выводимой информации 1. Показ редиректов. Показывать все запросы при которых сервер отвечает редиректом. 2. Показывать возвращённые сервером cookies. 3. Показывать все запросы с ответом 200 «ОК». Может быть использовано для отладки. 4. Показывать адреса для доступа к которым требуется пройти аутентификацию. Адреса будут показываться если в заголовке ответа обнаружится надпись «authorization required» D - отладочная опция. Устанавливает вывод всей отладочной информации — заголовков, содержимого и т.д. V - показ полной информации о работе Nikto. 3. Настройка сканирования. Этот параметр может быть использован для уменьшения количества проводимых программой тестов. С помощью него пользователь может исключить некоторые варианты проверок, сделать само сканирование продуктивнее и быстрее. Типы проводимых тестов могут быть определены через опцию -T (-Tuning). Пример когда требуется провести тесты «Удалённое раскрытие файлов» и «Удалённое выполнение команд». Если в качестве одного из параметров указана буква «x» то выполнятся все типы проверок кроме указанных до неё. В нижеприведённом случае будут проведены все проверки кроме «Удалённое раскрытие файлов» и «Удалённое выполнение команд». Допустимые значения этой опции таковы: 0. Загрузка файлов. Поиск уязвимостей позволяющих загружать файлы на сервер. 1. Интересные файлы/Взятые из логов запросы. Поиск неизвестных, но подозрительных файлов или способов атак которые были взяты из логов других веб-серверов (если у Вас есть информация по таким запросам то свяжитесь пожалуйста с нами). 2. Небезопасная конфигурация / Стандартные файлы. Поиск стандартных или неправильно настроенных файлов каких-либо приложений. Это может быть документация или ресурсы защищённые паролем. 3. Раскрытие информации. Поиск ресурсов получения дополнительной информации о цели. Это может быть установочная директория или стандартный аккаунт. 4. Инъективные уязвимости. А именно XSS/script/HTML-инъекции. 5. Удалённый поиск файлов — в пределах корневой веб-директории. Поиск ресурсов позволяющих установит наличие файлов в системе в пределах корневой директории веб-сервера. 6. Отказ в обслуживании. Поиск уязвимостей которые могут привести приложение, веб-сервер или сервер целиком к отказу в обслуживании. (подразумевается не намеренная атака (видимо имеется в виду использование кучи ботов — п.п.)). 7. Удалённый поиск файлов. Поиск уязвимостей которые позволили бы неавторизированному пользователю производить обнаружение различных файлов в пределах всего сервера, а не только в веб-директории как в варианте 5. 8. Выполнение команд / Удалённый шелл. Поиск уязвимостей позволяющих выполнять удалённо команды системы или разместить шелл. 9. SQL-инъекции. Любые виды атак допускающие выполнение SQL-кода в базе данных приложения. a - Обход аутентификации. Поиск уязвимостей позволяющих получить доступ к защищённым авторизацией ресурсам. b - Идентификация программного обеспечения. c - Удалённое подключение кода. Поиск возможностей при которых в код приложения может быть подключён и выполнен удалённый код. x – Использовать все виды проверок кроме указанных вместе с этой опцией. 4. Работа с одиночными запросами. Данный метод был разработан для анализа отдельных запросов, а не полного сканирования. Он может использоваться для подтверждения результатов сканирования. Опция так же позволяет указать большинство параметров нужных для проведения запроса. Обратите внимание на то что большинство опций могут иметь пустое значение или значение по умолчанию. Для удобства некоторые данные запрашиваются в вопросительной форме. В этом случае ответы «Да» и «Нет» заменяются цифрами 1 и 0 соответственно. Вот пример работы с одиночным запросом. Глава 6. Выводимая информация и отчёты. 1. Форматы экспорта информации. Nikto сохраняет полученную информацию в трёх основных вариантах: в TXT, CSV и HTML. Вы можете установить нужный Вам формат сохранения данных через опцию -F(Format). Если Вы используйте опцию -F без указания формата то Nikto сохранит полученные данные в формате txt. DTD для вывода данных в XML-формате располагается в директории «docs» (nikto.dtd). 2. Настройка HTML-отчётов. HTML-отчёты генерируются с помощью файлов-шаблонов располагающихся в папке «templates». Переменные обозначенные как «#имя_переменной» заменяются на их содержимое при генерации отчёта. Файлы «htm_start.tmpl» и «html_end.tmpl» содержат начало и конец генерируемого HTML-отчёта соответственно. Файл «html_summary.tmpl» содержит начальную часть самого отчёта. «htm_host_head» содержит заголовок который уникален для каждого хоста. И шаблоны «htm_host_item.tmpl» и «htm_host_im.tmpl» содержат информацию об угрозах обнаруженных на хосте и информацию с системными сообщениями соответственно. В этих шаблонах используются все допустимые переменные. В будущем документация будет содержать список допустимых имён переменных и их описание. Информация об авторских правах не может быть удалена из шаблона «htm_end.tmpl», только перенесена в другую часть шаблонов. Глава 7. Тестирование и написание собственного кода. 1. Значение полей баз данных. Почти все записи о проводимых программой тестах содержатся в файле «scan_database.db», но и в других базах имеется подобная информация. Вот описание значений полей этих баз. (вставляю картинкой т.к. не знаю как сделать таблицу) 2. Проверки устанавливаемые пользователем. Пользователи могут добавлять и свои тесты в дополнение тем которые уже имеются у Nikto в базах. Для этого Вам нужно поместить синтаксически корректный файл-БД в директорию плагинов (plugins), с именем начинающимся на букву «u», и данные будут автоматически загружаться с остальными проверками указанной после «u» базы. Например, если Вы создадите файл «udb_outdated» то он будет загружен как часть базы «db_outdated». Синтаксис этого файла можно проверить введя параметр «-dbcheck». Для каждого теста требуется указывать уникальный «OSVDB ID». Вы можете указывать 0 т.к. это значение используется для уязвимостей которых нету в базе OSVDB. Было бы неплохо если Вы будете отсылать информацию о новых уязвимостях по адресу «[email protected]» Для поля «TEST ID» лучше указывать уникальные номера от 400000 до 499999 для того что бы Ваши тесты никак не пересекались с тестами Nikto. Имейте в ввиду что номера выше 500000 уже зарезервированы. Пожалуйста помогайте Nikto развиваться отсылая Вашу информацию об уязвимостях или отдельных тестах на [email protected]. 3. Синтаксис содержимого баз данных. Базы данных являются CSV-файлами. Значения их полей помещаются в кавычки и разделяются запятыми. Стандартный список полей таков: Test-ID, OSVDB-ID, Tuning Type, URI, HTTP Method, Match 1, Match 1 And, Match 1 Or, Fail 1, Fail 2, Summary, HTTP Data, Headers. Вот пример синтаксически-правильной записи поверки: “120?,”3092?,”2?,”/manual/”,”GET”,”200?,”",”",”",”",”Web server manual”,”",”" 4. Плагины. Плагины для этой программы представляют из себя обычные Perl-скрипты, код в которых написан в соответствии со стандартами Nikto. Все плагины должны быть названы в формате «nikto_name.plugin», где «name» - имя плагина. Файл плагина должен содержать функцию называющуюся как он сам (без окончания «.plugin»). Например в плагине nicto_mycode.plugin» обязательно должна находиться функция «sub nikto_mycode()». Такая функция будет вызываться при загрузке плагина. Все плагины должны быть помещены в соответствующую папку и записаны в файл «nikto_plugin_order.txt» иначе они не будут подключаться. 5. Идентификаторы проверок. Любой тест, находящийся в базе или в коде, должен иметь уникальный номер. Нумерация для них следующая: 1. 000000 – проверки из файла db_tests 2. 4000000 – пользовательские проверки (файлы udb*) 3. 500000 тесты из файла «db_favicon» 4. 600000 тесты из файла «db_utdated» 5. 700000 тесты из файла «db_realms» 6. 800000 тесты из файла «db_server_msgs» 7. 900000 проверки установленные в коде. Для каждой новой проверки как можно больше информации должно содержаться в хэше %TESTS и устанавливаться в коде (плагинах).Эти поля должны включать в себя проверочный URI, сообщение об удачном тесте, HTTP-метод и OSVDB ID уязвимости. Без сообщения об успешной проверке результат теста не будет сохраняться в HTML или XML отчёте. Допустимо что не у каждого теста может быть URI, метод или OSVDB ID. Вот пример обозначения проверки в коде: Code: $TESTS{999999}{uri}=”/~root”; $TESTS{999999}{message}=”Enumeration of users is possible by requesting ~username”; $TESTS{999999}{method}=”GET”; $TESTS{999999}{osvdb}=637; 6. Авторские права. Предполагается что любой код или информация по тесту отправленные нам не имеют авторского права. Отправляя подобную информацию Вы должны понимать что она будет опубликована под правами Nikto. Глава 8. Устранение проблем. 1. SOCKS-прокси. Nikto не поддерживает работу через подобный тип прокси-серверов. Глава 9. Лицензия. 1. Nikto Nikto распространяется под GNU General Public License (GPL) и CIRT Inc. является владельцем авторских прав на него. 2. LibWhisker LibWhisker распространяется под GNU General Public License (GPL) и Rain Forrest Puppy является владельцем авторских прав на него. 3. Базы проверок. Лицензия разрешает использовать данные базы только вместе с Nikto. Вы не можете использовать их в других программах без предварительного согласования с CIRT Inc. Глава 10. Авторы. 1. Nikto Nikto разрабатывается и поддерживается Sullo, CIRT Inc. Весь код принадлежит CIRT Inc, за исключением LibWhisker из rfp.labs (wiretrip.net). 2. Благодарности. Многие люди помогали в развитии программы — присылали отзывы, исправления, замечания. Сюда мы внесли самых активных помощников. · Тестирование Nikto 2: Paul Woroshow, Mark G. Spencer, Michel Arboi, Jericho, rfp. · Jericho (attrition.org/OSVDB/OSF). Поддержка/идеи/тесты/исправления и помощь с номерами уязвимостей в базе OSVDB · rfp (wiretrip.net) Поддержка по линии LibWhisker. · Erik Cabetas — множество исправлений и добавлений. · Jake Kouns — работа с OSVDB/OSF · Jabra (spl0it.org) — XML DTD, XML-шаблоны и код для работы с ними. · Stephen Valdez. Эффективная проверка. Мы все благодарны тебе. · S Saady. Эффективное тестирование. · Zeno (cgisecurity.com) — создание зеркала Nikto. · P Eronen (nixu.com). Предоставил множество исправлений кода. · M Arboi. Создание кода который реализует совместную работу Nikto с Nessus. Сообщения об ошибках. · T Seyrat. Работа над релизом Nikto для Debian · J DePriest. Идеи, испарвления. · P Woroshow. Идеи, исправления. · fr0stman. Тестирование · H Heimann. Тестирование. · Xiola (xiola.net). Веб-дизайн и многое другое. Этот документ принадлежит CIRT Inc и не может быть переделан без соответствующего разрешения.