NESSUS – сучасний аналіз безпеки, методи сканування, Інтернет і інші мережі, Security & Hack, статті

Бочкарьов Денис, www.sf.akbars.ru/

Введення

24 вересня вийшла нова версія NESSUS -1.0.5.


А в середині вересня компанія “Інфосистеми Джет”, що спеціалізується в галузі забезпечення захисту інформаційної безпеки оголосила про початок розповсюдження безкоштовного дистрибутива сканера мережевої безпеки Nessus. Днем раніше дистрибутив цього продукту отримав сертифікат Держтехкомісії при Президентові РФ на відповідність представленої версії продукту заявленим технічним характеристикам. Чотириста сертифікованих дистрибутивів продукту (для платформ Linux і Sun Solaris) з голографічним маркуванням вже можна використовувати для перевірки безпеки мереж, що зберігають конфіденційну інформацію, в тому числі і представляє собою державну таємницю. Начальник відділу ліцензування та сертифікації Держтехкомісії Юрій Попов повідомив, що цим ПО будуть оснащені регіональні центри технічного захисту інформації та органи з атестації об’єктів інформатизації, акредитовані Гостехкомиссией РФ. Поширенням сертифікованого безкоштовного дистрибутива сканера Nessus, а також його підтримкою займається компанія “Інфосистеми Джет”. Продукт забезпечений документацією і інструкцією російською мовою. На Web-сервері www.jet.msk.su планується відкрити розділ з відповідями на типові питання з його встановлення та обслуговування. Проведені компанією дослідження дозволили зробити висновок, що це вільно поширюване ПЗ за технічними характеристиками не поступається комерційним аналогам. “Інфосистеми Джет” рекомендує цей продукт фірмам різного масштабу – від невеликих офісів до великих підприємств з розвиненою мережевою інфраструктурою.


> Звичайно такий серйозний підхід до наших рідних хакерських штучок радує, але я думаю що краще користуватися звичайною новою версією. Адресу FTP де покоїться сертифікований nessus =)) такий: ftp://ftp.rbc.ru/pub/jet/nessus-saint.



Для чого вся ця бодяга? Все більшу увагу питанням безпеки приділятися при побудові та експлуатації мереж. В
мережі достатня кількість людей, яким було б приємно нашкодити Вашим
хостам, зіпсувати Вашу роботу і Ваш настрій. Адміністраторам часто не
вистачає часу для тестування своїх вузлів, пошуку нових інструментів і
технологій захисту, не кажучи вже про розкручування кампанії на вибивання коштів для
покупки дорогих, комерційних засобів захисту. Моя стаття присвячена щодо
новому сканера безпеки – 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 запити.


Наступний методи
схожі: у відповідь на запити закриті порти відповідають прапором RST, Відкриті –
взагалі нічим.


FIN scan
(Stealth FIN) – Використовує чистий FIN запит.


Xmas Tree –
включає в запит прапори FIN, URG, PUSH.


Null scan –
скидає
всі прапори.


Зазначу, що
Micro$oft не дотримується подібних проведення урочистих подій 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. Додаємо сюди OpenBSD.
. За твердженням авторів і користувачів,
Nessus ставитися майже на все * nix системи, але перераховані вище я перевіряв.
Необхідною умовою є наявність Наступний компонентів, скачайте і
встановіть їх перед складанням 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 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.5):


– 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 видасть інтерфейс користувача, де ви зможете після
аутентифікації внести всі налаштування і почати сканування.

Побажання та поради



  • Ніколи не скануйте чужі машини не отримавши дозвіл у
    адміністратора (ів) цих машин.

  • Ніколи не
    користуйтеся клієнтом Nessus для Windows і Java, Якщо є
    можливість працювати в * nix.
  • Прибирайте галочку
    c plugin_ов DoS атак в настройках (залежить від ситуації), іноді це
    буває летально;)
  • Знайшовши пролом в
    захисті, не полінуйтеся подивитися исходники того plugin_а, Який це
    виявив. Ламати або захищатися, а знати потрібно.
  • Не пишіть дурні
    питання в mail-list, Особливо від чужого імені.

І головне! Пийте хороше пиво, вчіть asm, і якщо залишиться час рулите в QIII Pro mode. (Здається про сім’ю ще забув:))

Подяки


Авторам проекту
Nessus (за роботу =):


Renaud Deraison, Jordan Hrycaj



Посилання.


http://www.nessus.org/
– Сторінка Nessus
project


www.sf.akbars.ru/ – Мій
останній проект


PS. Особливо хочеться відзначити систему голосування для статей на hackzone.ru. Як я вже говорив, народ у нас грамотний. Тому статті про влом www поштової скриньки або чату завжди рулять. Всім удачі!

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*