ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Перевод официальной документации Nikto 2
  #1  
Старый 24.03.2009, 23:46
Аватар для Kuzya
Kuzya
Участник форума
Регистрация: 27.04.2008
Сообщений: 224
Провел на форуме:
140661

Репутация: 313
По умолчанию Перевод официальной документации Nikto 2

Автор: 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 сводится к скачиванию и распаковке файлов:
Цитата:
tar -xvf nikto-current.tar.gz
или
Цитата:
gzip -d nikto-current.tar
При использовании стандартной установки операционной системы и PERL Nikto должен сразу запускаться и работать без ошибок. Смотрите главу 4 (опции) и главу 8 (решение проблем) для получения более детальной информации по настройке.

Глава 3. Использование.

1. Простейшее тестирование

В большинстве случаев, для обычного сканирования Nikto нужен лишь целевой хост.
Цитата:
perl nikto.pl -h 192.168.0.1
По умолчанию сканирование осуществляется на порту 80. Для проверки иного порта Вам следует указать его через опцию -p. Следующий запрос укажет Nikto просканировать веб-сервер находящийся по адресу 192.168.0.1, на 443-ем порту.
Цитата:
perl nikto.pl -h 192.168.0.1 -p 443
Хост, порт и протокол могут быть так-же указаны в формате URI и они будут нормально распознаны сканером.
Цитата:
perl nikto.pl -h https://192.168.0.1:443/
На 443 порту не обязательно может находится HTTPS, там может быть и HTTP. Nikto всегда сначала проверяет наличие HTTP, и если не находит этому подтверждения то проверяет порт на наличие HTTPS. Если Вы точно уверены что на указанном порту находится HTTPS то про вызове Nikto добавьте опцию -s (-ssl) для экономии времени.
Цитата:
perl nikto.pl -h 192.168.0.1 -p 443 -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. Пример содержания такого файла
Цитата:
192.168.0.1:80
192.168.0.2,80
192.168.0.3
192.168.0.1,80,443
192.168.0.1:80:443
localhost:8888
4. Использование прокси-серверов.
Если машина на которой запускается Nikto имеет доступ к сканируемой цели только через HTTP-прокси то это не проблема. Установите PROXY*-переменные в конфигурационном файле (Глава 4), и вызывайте Nikto с параметром -u (-userproxy).
Цитата:
perl nikto.pl -h 192.168.0.1 -p 80 -u
5. Обновление
Nikto может быть обновлён автоматически. Для загрузки обновлений запустите Nikto с параметром -update
Цитата:
perl nikto.pl -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» в заголовке запроса.

Последний раз редактировалось Kuzya; 24.03.2009 в 23:53..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
НЕМЕЦКИЙ. Перевод. Консультации. NORDGER О Работе 0 23.11.2006 03:15



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ