F.A.Q
HTML
PHP
Haking
Scripting

Файлы
Учебники
Программы

Инфа
Links
WEB мастер




Казахстанский хакерский сайт
Проект [-=DaGo=-] по безопасности компьютерных сетей  и защите информации
ANTICHAT.RU - взлом, защита, анонимность


HACKING

 
 

NESSUS - современный анализ безопасности, методы и типы сканирования


Автор статьи: Бочкарев Денис

Введение


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

Что такое Nessus Project?


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. Все вышесказанное наглядно демонстрируют следующие скриншоты:

Настройка плагинов
Выбор уязвимостей
Опции сканирования

Результаты проверки выводятся в отдельном окне. В зависимости от типа уязвимости дается некоторое обоснование найденной проблемы, а также полное или частичное её решение. Фаил отчета возможно сохраненить в различных форматах (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

Скриншот окна отчета

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


Рассмотрим различную технику сканирования представленную в 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.

GTK - The Gimp Toolkit, version 1.2, иначе вы не сможете работать с клиентом на *nix машине, Во всех последних дистрибутивах Linux, FreeBSD имеется, но не забудте установить gtk-devel.

Nmap - The Network Mapper желательно версии не ниже 2.52, без nmap Nessus работать будет, но вы потеряете очень много.

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

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


United States (East Coast) ftp://ftp.nessus.org/pub/nessus/nessus-1.0.4/
United States (West Coast) ftp://mirror.arc.nasa.gov/pub/tools/nessus/nessus-1.0.4/
Germany ftp://ftp.gwdg.de/pub/linux/misc/nessus/nessus-1.0.4/
Germany http://ftp.gwdg.de/pub/linux/misc/nessus/nessus-1.0.4/
France ftp://nessus.via.ecp.fr/nessus/nessus-1.0.4/
France (slow) ftp://cvs.nessus.org/pub/nessus/nessus-1.0.4/
Switzerland ftp://sunsite.cnlab-switch.ch/mirror/nessus/nessus-1.0.4/
Russia ftp://ftp.chg.ru/pub/security/nessus/nessus-1.0.4/
Sweden ftp://ftp.sekure.net/pub/nessus/nessus-1.0.4/
Thailand ftp://ftp.nectec.or.th/pub/mirrors/nessus/nessus-1.0.4/
Portugal ftp://ftp.pt.nessus.org/pub/nessus/nessus-1.0.4/
Australia ftp://ftp.au.nessus.org/pub/nessus/nessus-1.0.4/
Canada 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 (для каждого отдельно). Если при инсталяции возникли проблемы, обязательно загляните в mail-list, лично я нашел там все мыслимые и немыслимые вопросы-ответы. Можете посмотреть FAQ.

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

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



ОГЛВЛЕНИЕ

 



 
  web master EVilBraiN
03 /2003
 
   
Hosted by uCoz