Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 13
На сайте нет зарегистрированных пользователей

Пользователей: 13,368
новичок: Goosprin
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Обучающая и тестирующая программа по здаче экзамена ПДД на Turbo Pascal ...
Моделирование процесса поступления заявок в систему, состоящую из трёх Э...
Изменения контуров и сортировка в двумерном массиве чисел на Turbo Pasca...

NESSUS - современный анализ безопасности, методы и типы сканирования
Автор
статьи: mailto:webmaster@tatasu.ru



Введение



Все большее
внимание вопросам безопасности уделятся при построении и эксплуатации сетей. В
сети достаточное количество людей, которым было бы приятно навредить Вашим
хостам, испортить Вашу работу и Ваше настроение. Администраторам часто не
хватает времени для тестирования своих узлов, поиска новых инструментов и
технологий защиты, не говоря уже о раскрутке кампании на выбивание средств для
покупки дорогих, коммерческих средст защиты. Моя статья посвящена относительно
новому сканеру безопасности - Nessus, призванному прийти на помощь как
администратору, так и хакеру.






http://www.nessus.org/


Nessus представляет
собой бесплатный современный сканер безопасности локальных и удаленных систем.

Начало Nessus Project было положено в 1998г., первый релиз вышел в
апреле. На тот период самым распространенным сканером безопасности являлся
SATAN, давно ставший устаревшим. Некоторые администраторы (да и не только
=) до сих пор используют SATAN, и его молодых последователей -
Sara, Saint и тд. Название Nessus, по словам авторов, было выбрано
случайно, т.к. такие сочетания как security scanner были абсолютно
приевшимися. Nessus - это бесплатный пакет, с открытым исходным кодом. Его
поддержкой, помимо авторов, занимаются многие энтузиасты со всего
мира.



Обзор возможностей и принцип действия



Задачей Nessus
является определение запущеных служб и уязвимостей, включая самые последние
сообщения о дырах wu-ftpd, наличия демонов DDoS, проблемы ipfw
FreeBSD
и многие другие. Nessus состоит из двух частей, сервера и
клиента. Сервер можно установить только на *nix-подобную
операционную систему. Отлично подойдут в этом случае Linux, FreeBSD,
Solaris
. Клиенты, помимо *nix версий, существуют также для Windows
9x
, NT, имеется клиент в java исполнении. Роль клиента
сводится к управлению и конфигурированию основного демона (сервера), сбору
результатов.
Возможности Nessus довольно велики, и намного превосходят
возможности SATAN, SARA, SAINT. Основной принцип сводиться к девизу
"НЕ ВЕРЬ ГЛАЗАМ СВОИМ" - вся информация нуждается в проверке, т.е.
информация банеров основных служб (например ftp, www, telnet и тд.) не
считается основополагающей. А кто сказал, что www всегда запускают на 80
порту? Подобно SATAN он имеет очень гибкую систему настроек как в выборе
цели (target), так и в используемых методах сканирования и атак. Nessus
производит проверку на наличие более 300 уязвимостей *nix и NT
серверов, а также различного сетевого оборудования, например, маршрутизаторов.
Принцип работы, основанный на модулях (plugins), позволяет без труда
добавлять модули для проверки новых уязвимостей, что и делают не только
разработчики, но и специалисты со всего мира. К достоинсвам Nessus можно отнести
интеграцию с предустановленной утилитой nmap - The Network Mapper,
позволяющей широко варьировать параметры и тип сканирования, например, TCP
SYN, TCP FIN, NULL, Xmas Tree scan, Fragment IP
и др. Поддерживается и давно
известная, но многими недооцененная возможность анонимного сканирования по типу
FTP Bounce Attack. Все вышесказанное наглядно демонстрируют следующие
скриншоты:





target=_blank>http://www.hackzone.ru/articles/image/plugins_prefs.jpe
href="http://www.hackzone.ru/articles/image/plugins.jpe" target=_blank>Выбор
уязвимостей

target=_blank>http://www.hackzone.ru/articles/image/scan_opt.jpe



Результаты проверки
выводятся в отдельном окне. В зависимости от типа уязвимости дается некоторое
обоснование найденной проблемы, а также полное или частичное её решение. Фаил
отчета возможно сохраненить в различных форматах (text, html, LaTeX и
др.). Однако, для некоторых уязвимостей необходим определенный опыт работы в
сетях, и с ОС *nix в часности, для того, чтобы сделать правильные выводы и
принять меры. В основном, в рапорте точно указывается причина-решение. Типичная
запись может выглядеть так:


Vulnerability found on port domain (53/tcp)







The remote BIND server, according
to its
version number, is vulnerable to several
attacks that can allow an
attacker to gain
root on this system.


Solution : upgrade to bind
8.2.2-P3
Risk factor : High



Information found on port
domain (53/tcp)
The remote bind version is : 8.1.2


или
так:


Vulnerability found on port smtp (25/tcp)




The
remote SMTP server did not complain when issued the
command :
MAIL FROM:
root@this_host
RCPT TO: /tmp/nessus_test


This
probably means that it is possible to send mail directly
to files, which is a
serious threat, since this allows
anyone to overwrite any file on the remote
server.


NOTE : **
This security hole might be a false positive, since
some MTAs will not
complain to this test and will
just drop the message silently. Check for the
presence
of file 'nessus_test' in /tmp ! **


Solution :
upgrade your MTA or change it.


Risk
factor : High



href="http://www.hackzone.ru/articles/image/report.jpe" target=_blank>Скриншот
окна отчета



Методы и типы сканирования



Рассмотрим
различную технику сканирования представленную в Nessus, где для этих целей
используется Nmap. Не вдаваясь в тонкости протоколов TCP/IP
отметим, что заголовок TCP следует за заголовком IP и дополняет
его информацию. Напомню, что заголовок TCP включает в себя поле
Control Bits размером 6 бит, принимающего следующие значения:


URG:
активно поле срочного указателя
ACK: активно поле
подтверждения соединения

PSH: так называемое
"проталкивание"

RST: cброс или перезагрузка данного
соединения

SYN: синхронизация соединения для его
продолжения

FYN: отсутствие данных


connect () -
это самая простая форма сканирования. В этом случае с интересующим портом
устанавливается соединение в случае если он открыт (listening).
Недостатком данного метода является то, что он полностью протоколируем, т.е.
ваши попытки сканирования будет с усмешкой читать в логах либо на консоли
тамошний администратор (если он вообще их читает ;). Преимуществом является то,
что для проведения данного сканирования не нужны привилегии
root.


SYN scan -
самый распространенный метод, в котором не происходит полного соединения, иначе,
его называют half-open. Метод заключается в посылке запроса SYN, и
ожидании ответа, ACK|SYN - порт открыт, RST - закрыт. Независимо
от ответа, соединение мгновенно! прерывается (вместо того, чтобы послать
ответный ACK, т.н. "трехкратное рукопожатие"). Используя данный метод
шансов остаться незамеченным значительно больше. SYN scan остается
незамеченным для TCP-врапперов, но остерегайтесь firewall-ов и
FreeBSD c поднятым ipfw (ipfwadm). Дело в том, что многие
firewall-ы и различные synloger-ы, отслеживают и протоколиркют
подобные SYN запросы.


Cледующие методы
похожи, в ответ на запросы закрытые порты отвечают флагом RST, открытые -
вообще ничем.


FIN scan
(Stealth FIN) - использует чистый FIN запрос.


Xmas Tree -
включает в запрос флаги FIN, URG, PUSH.


Null scan -
сбрасывает
все флаги.


Отмечу, что
Micro$oft не придерживается подобных раcширений TCP, но это может
сыграть и на руку (в определении подобной ОС). Я видел удивление одного коллеги,
выбравшего FIN scan, и недоумевающего "откуда на его родной NT
столько открытых портов?" (выводы сделайте сами). Также эти методы "не работают"
применительно к ОС HP-Unix, IRIX, IOS cisco и MVS, хотя в последних
версиях возможно ситуация изменилась. Некоторое время назад подобное
сканирование могло остаться незамеченным.


Fragment IP
packets
- используется как расширенный вариант SYN, FIN, Xmas, Null
сканирования. Суть заключается в разбиении заголовка на фрагменты, что может
сбить с толку некоторые IDS (Intrusion Detection Systems) и
различные пакетные фильтры, некоторые firewall-ы. Но опять же, свои
машины в период работы я бы не рискнул сканировать подобным методом в виду
непредсказуемой реакции. Отмечу, что данный метод доступен для реализации не на
всех системах.


FTP bounce
scan
- метод соединения с некоторым ftp сервисом, и использованием его в
качестве proxy для проведения сканирования других хостов. Метод хорошо описан в
книге Атака на интернет, и я не буду останавливаться на нем
подробно. Отмечу, что не все ftp сервера поддерживают данный метод, сейчас тем
более. В настройках Nessus необходимо настроить аккаунт через который вы
собираетесь проводить FTP bounce scan, сам же Nessus отлично определяет
возможность подобного использования ftpd.


Ident
scan
- использование легального сервиса identd
113 порта *nix, так же хорошо описано в книге Атака на интернет, идея
заключается в получении информации о соединении пользователей с сервисами на
данной машине. В нормальной ситуации вряд ли у вас будет возможность
воспользоваться этим методом.


UDP scan -
определяет открытые порты User Datagram Protocol (RFC 768). Cмысл
заключается в посылке нулевого пакета на каждый порт, и в случае если порт
закрыт, мы получим ICMP сообщение о его недосягаемости. Многие
недооценивают данный метод, забывая, что существует масса проблем с
безопасностью служб, которые используют UDP (например tftp, DNS,
bo
;). Применительно к некоторым *nix машинам сканирование может затянуться
(вследствии фильтрации UDP пакетов) , а вот для windoze все будет
OK!


Хотелось бы
отметить еще два интересных метода - ICMP ping & TCP ACK ping. Они
хороши в том случае, если необходимо лишь узнать жива ли машина или нет. Nessus
и так не будет атаковать хост который в дауне. Правильное использование TCP
ACK ping
позволит вам обойти firewall. TCP ACK ping -очень красивая и
характерная черта Nmap, но при правильном администрировании сканируемой
машины вы не останетесь незамеченным.



Комментарии к установке



Системы на которые
Nessus ставиться точно: Linux Red Hat 5.1-6.2, Linux Mandrake 6.0-7.0, Black
Cat 6.0-6.2, FreeBSD 3.x, 4.x
. По утверждению авторов и пользователей,
Nessus ставиться почти на все *nix системы, но вышеперечисленные я проверял.
Необходимым условием является наличие cледующих компонентов, скачайте и
установите их перед сборкой Nessus, если они у вас не установлены, а также
настройте работу X-Windows.


href="ftp://ftp.gimp.org/pub/gtk/v1.2" target=_blank>GTK - The Gimp
Toolkit
, version 1.2, иначе вы не сможете работать с клиентом на *nix
машине, Во всех последних дистрибутивах Linux, FreeBSD имеется, но не
забудте установить gtk-devel.


href="http://www.insecure.org/nmap/" target=_blank>Nmap - The Network Mapper
желательно версии не ниже 2.52, без nmap Nessus работать
будет, но вы потеряете очень много.


Скачать Nessus
вы можете со следующих серверов:


Месторасположение -
сервер



United States
(East Coast) target=_blank>ftp://ftp.nessus.org/pub/nessus/nessus-1.0.4/
United States
(West Coast) target=_blank>ftp://mirror.arc.nasa.gov/pub/tools/nessus/nessus-1.0.4/
Germany
target=_blank>ftp://ftp.gwdg.de/pub/linux/misc/nessus/nessus-1.0.4/

Germany target=_blank>http://ftp.gwdg.de/pub/linux/misc/nessus/nessus-1.0.4/
France
target=_blank>ftp://nessus.via.ecp.fr/nessus/nessus-1.0.4/
France (slow)
target=_blank>ftp://cvs.nessus.org/pub/nessus/nessus-1.0.4/
Switzerland
target=_blank>ftp://sunsite.cnlab-switch.ch/mirror/nessus/nessus-1.0.4/

Russia target=_blank>ftp://ftp.chg.ru/pub/security/nessus/nessus-1.0.4/
Sweden
target=_blank>ftp://ftp.sekure.net/pub/nessus/nessus-1.0.4/
Thailand href="ftp://ftp.nectec.or.th/pub/mirrors/nessus/nessus-1.0.4/"
target=_blank>ftp://ftp.nectec.or.th/pub/mirrors/nessus/nessus-1.0.4/

Portugal
target=_blank>ftp://ftp.pt.nessus.org/pub/nessus/nessus-1.0.4/
Australia
target=_blank>ftp://ftp.au.nessus.org/pub/nessus/nessus-1.0.4/
Canada href="ftp://ftp.stuff.ca/pub/nessus/nessus-1.0.4/"
target=_blank>ftp://ftp.stuff.ca/pub/nessus/nessus-1.0.4/


Файлы Nessus
которые вам необходимо скачать
(на момент написания статьи доступна
стабильная версия 1.0.4):




- nessus-libraries

- libnasl
- nessus-core
- nessus-plugins


Распаковка
производиться командами gzip -d имя_файла и tar -xvf
имя_файла
. Компиляция должна происходить именно в вышеперечисленном
порядке. Отмечу (это не относится к пользователям DIGITAL/OS), что
компилировать Nessus необходимо пользователю root (в противном случае вам
придется править файл конфигурации include/config.h в директории
~/nessuse-core). Магические слова для *nix компилируют каждый пакет,
например для компиляции nessus-libraries:


#cd
nessus-libraries-1.0.4


#./configure


#make


#make
install


или же одной
командой, если вы не хотите читать сообщения на консоли/терминале:


#./configure &
make & make install


Тоже самое
необходимо проделать с остальными пакетами. Проблемы могут возникнуть при
компиляции libnasl. В некоторых системах необходимо экспортировать путь
#export PATH=$PATH:/usr/local/lib, либо отредактировать свой
profile
. При инсталяции на FreeBSD4.x необходимо после установки
nessus-libraries отредактировать /usr/local/bin/nessus-config,
заменив строку CIPHER="-lpeks" на CIPHER="-lpeks -lgmp" (данная
проблема встречалась в версиях младше 1.0.4, и должна быть исправлена). В
некоторых версиях Linux необходимо убедится, что в файле
/etc/ld.so.conf есть строка /usr/local/lib, если её нет, добавьте,
и дайте команду ldconfig. Пользователям *BSD необходимо
перекомпилировать ядро раскомментарив строку pseudo-device bpfilter NUM
(у меня стоит 16), и создав соответственно ноды для устройств ./MAKEDEV
bpf0-16
(для каждого отдельно). Если при инсталяции возникли проблемы,
обязательно загляните в target=_blank>http://list.nessus.org/, лично я нашел там все мыслимые и немыслимые
вопросы-ответы. Можете посмотреть target=_blank>http://www.nessus.org/doc/faq.html.


После инсталяции
необходимо создать nessusd account, т.к. nessusd имеет собственную
базу пользователей. Для этого необходимо воспользоваться утилитой
nessus-adduser (в предыдущей версии я не смог запустить nessus, т.к.
nessus-adduser запретил мне соединяться с nessusd, хотя я явно указал
обратное; решается правкой nessus-users). Далее, вам возможно захочеться
посмотреть и поправить (необязательно) конфигурацию nessusd
/usr/local/etc/nessus/nessusd.conf
.


Готово!!! Теперь
можно запускать nessusd из под root: #nessusd -D. Последующий
запуск nessus выдаст интерфейс пользователя, где вы сможете после
аутентификации внести все настройки и начать сканирование.

Опубликовал Kest October 26 2008 13:11:17 · 0 Комментариев · 9316 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
PHP: обучение на ...
Распознавание тек...
Панель "ссылки"
Программирование ...
Exe in exe
DateEdit
Система баннеро...
AboutSystem
AlignEdit
PHP/MySQL для нач...
Berg
Введение в станда...
Atb
Dnavigator
ATComponents
Win-Prolog 3.618
Xrumer 4 Platinum...
Animated Menus
С/C++ Программиро...
Определние размер...

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97833
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14191
Borland Delphi ... 10291
Turbo Pascal fo... 7373
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
• Enable Content R...
Раздел описания пе...
на отдельных учетн...
Игры. Игровые слот...
Какая букмекерская...
Тильда (~)
Замена пластиковог...
Экран
Возникновение "што...
Решение задачи, ис...
Окончание игры и п...
Задача кажется сло...
Аналитические реш...
Для просмотра всег...
Изучение способов ...
Программирование: ...
Листинг 13.3. Испо...
Задача управления ...
Адаптация нашего к...
Основные объекты W...
Карта JOB
Структуры, объедин...
AddRoundKey
comнет явных довер...
Обработка принимае...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?