- •Анотація
- •Перелік умовних позначень
- •Розділ 1. Встановлення віртуальних тестових машин
- •Історія
- •Ключові можливості
- •Поточний стан
- •Категорії
- •Установка BackTrack
- •Р ис. 2. Загальний вигляд BackTrack 5 r3.
- •Коротко про ос
- •Встановлення FreeBsd
- •Налаштування спільних папок
- •Висновок до Розділу 1
- •Розділ 2. Встановлення віртуального тестового сервера
- •Установка Apache 2
- •Установка php 5
- •Установка MySql і його модулів для php 5
- •Форвард портів на маршрутизаторах tp-link
- •Резервування адреси
- •Зміна порту веб-управління маршрутизатором
- •Перекидування порту / Відкриття порту
- •Віддалене керування сервером
- •Р ис. 23. Створення облікового запису.
- •Р ис. 27. Монтування на клієнті.
- •Висновок до Розділу 2
- •Розділ 3. Тестування на надійність в середовищі віртуальної тестової лабораторії Тестування веб-сервера
- •Плагіни
- •Установка програми
- •Використання
- •Робота з веб-інтерфейсом
- •Тестування надійності засобів віддаленого управління
- •Тестування надійності ос, що встановлені у віртуальному тестовому середовищі
- •Використання вразливості xss
- •Висновок до Розділу 3.
- •Висновок
- •Список використаних джерел
Р ис. 27. Монтування на клієнті.
Рис. 28. Монтування на сервері
Оскільки Linux поняття ядра та оточення (так званих Іксів, X) розділені, і впринципі є можливість "стрімити" потік ядра, по ssh можна передавати графічне віддалене управління. Процедура схожа з Radmin чи TeamViewer, з тією різницею, що на Linux зображення можна "стрімити" оминаючи екран самого сервера. Такий термінальний розподіл дозволяє "малювати" не тільки цілий робочий стіл, а конкретні програми, що суттєво знижує нагрузку на сервер.
Дана опція називається ForwardX, а вмикається розкоментуванням у файлі/etc/ssh/ssh_config строки ForwardX11 зі зміною "no" на "yes".
Після чого потрібно перезапустити ssh командою
sudo /etc/init.d/ssh restart
Сама команда запуску має вигляд:
ssh -X user_name@IP_server (запуск цілого оточення)
ssh -X user_name@IP_server 'blender' (запуск графічного оточення програми blender)
SSH дуже корисна річ, як для адміністратора, користувача чи зловмисника. Віддалений доступ до командної стрічки слугує для повного контролю віддаленої машини, у разі якщо адміністратор не попіклувався про створення нового користувача з обмеженими правами. Привілеї у системі Linux розподілені так, що окремих користувачів (або цілі групи) можна віднести до групи sudo (користувач може знаходитись у кількох групах одночасно), що дає повний контроль над тим що і як відбувається в системі.
Висновок до Розділу 2
В даному розділі розглядається встановлення всього необхідного, для функціонування веб-сервера. Перш за все це встановлення відповідного ПЗ:
Apache (для FreeBSD це Apache24), для прослуховування 80 та 8080 портів, для передачі потрібної сторінки сайту.
PHP – для виконання програмної частини на веб-сервері, потрібного для нормального функціонування сайту. Більшість веб-двигунів використовують PHP, як допоміжну ланку. Самі двигуни працюють, як правило на JavaScript. Проте весь код JavaScript виконується на стороні клієнта, тому додатково нічого встановлювати не потрібно. Наявність на веб-сервері інтерпретатора команд, створює вразливість, оскільки є можливість виконання коду зловмисником.
MySQL – найпоширеніша СУБД. База даних на веб-сервері потрібна для швидкодії. Це особливо відчутно на поштових серверах. Бази даних створені таким чином, щоб якумога скоріше приймати та віддавати інформацію. Наявність на сервері бази даних, і звісно СУБД, також є небезпечним, адже при вразливостях, типу сліпої ін’єкції, зловмисник без особливих зусиль може отримати дані з бази.
Форвард портів потрібний, якщо віртуальна тестова лабораторія знаходиться за маршрутизатором. Форвард дозволяє отримати доступ до лабораторії ззовні, для віддаленого адміністрування. Хорошою особливістю методу, є можливість швидкого закриття доступу для «світу», притім внутрішня структура мережі не зміниться. Доступ здійснюється за допомогою ssh, що використовує метод шифрування трафіку RSA, та вважається достатньо надійним, для доступу до комерційних серверів.
Розділ 3. Тестування на надійність в середовищі віртуальної тестової лабораторії Тестування веб-сервера
Тестування сервера передбачає використання спеціальних утиліт, що віддалено сканують сервер, та виявляють в ньому всі недоліки. Такими можуть бути використання служб на стандартних портах (особливо ssh), неправильна конфігурація веб-сервера, не видалені інсталяційні скріпти, слабкі паролі, халтурність (розміщення cgi скріптів в корені сайту, або в папці cgi-bin, що явно виказує їх розміщення, та дає можливість неправомірного виконання), тощо.
Всі програми для виявлення вразливостей, а також програми для використання вразливостей запускаються з ОС BackTrack.
Uniscan
Uniscan – це графічна оболонка для таких сканерів, як PSCAN, Spider, Uscan, Fuzz. Проте найкраще використовується як графічний сканер портів.
Рис. 29. Відкриті порти.
Оскільки відкриті 110 та 143, можна судити що окрім веб, на сервері є й пошта. Для перевірки цього твердження, можна попробувати переглянути всі домени сервера, а також приблизну структуру файлів.
Рис. 30. Домени поштового сервера.
Методом підбору, можна дізнатись, який клієнт використовується для управління поштою. В даному випадку це postfixadmin. З цього слідує, що поштою на сервері керує postfix.
Hydra
Утиліта для перебору паролів, іншими словами «брутфорс». Метод «брутфорс» використовується в разі, якщо вразливостей не виявлено, або вразливості незначні. Також таким методом користуються ті, хто впевнений – адміністратор не слідкує за вхідним трафіком. Справа в тім, що кожна невдала спроба реєструється в логах, об'єм яких швидко зростатиме. Проте, за наявності достатньої кількості часу, та потужного комп'ютера цей метод є самим дієвим. Якщо знати, що користувачі нехтують безпекою, використовують слабкі паролі, шанс успіху різко зростає.
В даному випадку, доцільно спробувати наступні логіни, root, admin, shellshock, postfix. Логін shellshock є зміст пробувати, оскільки назва домену може збігтись з логіном адміністратора, а postfix – оскільки це назва служби.
В BackTrack передбачено кілька словників, звідки hydra буде брати паролі. Ще утиліта може використовувати одночасно перебір логінів, що сильно сповільнить процес, але може дати успіх, якщо логін невідомий.
Рис. 31. Інтерфейс утиліти Hydra.
За кілька годин перебору, пароль був знайдений, та записаний у лог програми. Оскільки складність заключала в підборі логіну, це потребувало там багато часу.
Nikto
Даний веб-сканер містить в свої базі 3500 можливих вразливостей. Є підтримка плагінів, що дозволяє користувачам розширювати можливості програми, додаючи нові типи сканування.
До ключових особливостей, можна віднести:
"Обхід" IDS (Intrusion Detection System, система виявлення вторгнення).
Підтримка SSL (Secure Sockets Layer).
Підтримка проксі.
Висновок у форматах: текст, HTML, CSV (Comma Separated Values).
Знаходить Веб-сервера, розташовані на нестандартних портах.
Перевірка величезного числа вразливостей.
Сам синтаксис дуже простий. Все що потрібно ввести наступну команду:
nikto -h shellshock.uar.net
Відповідно вивід наступний:
- Nikto v2.1.6
---------------------------------------------------------------------------
+ Target IP: 194.44.10.33
+ Target Hostname: deigineor.uar.net
+ Target Port: 80
+ Start Time: 2015-05-22 05:53:37 (GMT-4)
---------------------------------------------------------------------------
+ Server: Apache/2.4.12 (FreeBSD) PHP/5.6.8
+ Retrieved x-powered-by header: PHP/5.6.8
+ The anti-clickjacking X-Frame-Options header is not present.
+ Server leaks inodes via ETags, header found with file /bin/, fields: 0x1f 0x511d2156072c0
+ OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST
+ OSVDB-3092: /administrator/: This might be interesting...
+ OSVDB-3092: /bin/: This might be interesting...
+ OSVDB-3092: /includes/: This might be interesting...
+ OSVDB-3092: /logs/: This might be interesting...
+ OSVDB-3092: /tmp/: This might be interesting...
+ OSVDB-3092: /bin/: This might be interesting... possibly a system shell found.
+ OSVDB-3092: /LICENSE.txt: License file found may identify site software.
+ /htaccess.txt: Default Joomla! htaccess.txt file found. This should be removed or renamed.
+ /administrator/index.php: Admin login page/section found.
+ 7331 requests: 0 error(s) and 13 item(s) reported on remote host
+ End Time: 2015-05-22 05:56:52 (GMT-4) (195 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
Детальніше вивід зазначає наступне: версію сервера, програми веб-сервера, веб-двигун, а також відзначає знайдені вразливості. Наприклад стандартне розміщення файлів в директорії сайту. На перший погляд це не складає проблеми. Проте варто зазначити, що двигун сайту Joombla, який є безплатним. Тобто кожен бажаючий може скачати, встановити, та вивчити стандартне розміщення файлів. Таким чином, при експлуатації вразливості, серйознішої за дану, зловмисник буде легко орієнтуватись в структурі сайту, що безумовно буде йому на руку. Крім того розміщення такий файлів, як htaccess.txt взагалі небажане, про що повідомляє сканер, та пропонує або перейменувати або є видалити. Справа в тім, що даний файл контролює політику безпеки на сайті, і якщо зловмиснику вдасться його змінити, він отримає повний доступ.
Найбільшою вразливістю є XST, що дозволить розміщувати сторінки, чи навіть окремі частини сторінок на віддалених хостах. Таким чином, зловмисник має можливість заміщувати оригінальні сторінки, своїми, які проситимуть ввод паролю, і користувачі, звісно, будуть їх вводити. Адже користувач, який бачить тільки доменне ім’я, а не реальну ІР адресу, нічого не запідозрить.
Joomblascan
З попереднього тесту, визначено, що двигуном сайту є Joombla. Це не дивно, адже це дуже поширений продукт. Проте, через його поширеність, зловмисники дуже зацікавлені в виявленні всіх його вразливостей, для використання в своїх потребах.
BackTrack містить сканер вразливостей для даного веб-двигуна.
Як і попередній, синтаксис сканера дуже простий
joomscan -u deigineor.uar.net/administrator
Вивід програми є досить обширним, та містить, детальний опис використаних версій ПЗ на веб-двигуні. Найцікавішими є такі записи:
# 1
Info -> Core: Multiple XSS/CSRF Vulnerability
Versions Affected: 1.5.9 <=
Check: /?1.5.9-x
Exploit: A series of XSS and CSRF faults exist in the administrator application. Affected administrator components include com_admin, com_media, com_search. Both com_admin and com_search contain XSS vulnerabilities, and com_media contains 2 CSRF vulnerabilities.
Vulnerable? N/A
# 2
Info -> Core: JSession SSL Session Disclosure Vulnerability
Versions effected: Joomla! 1.5.8 <=
Check: /?1.5.8-x
Exploit: When running a site under SSL (the entire site is forced to be under ssl), Joomla! does not set the SSL flag on the cookie. This can allow someone monitoring the network to find the cookie related to the session.
Vulnerable? N/A
# 16
Info -> CoreComponent: com_banners Blind SQL Injection Vulnerability
Versions effected: N/A
Check: /components/com_banners/
Exploit: /index.php?option=com_banners&task=archivesection&id=0'+and+'1'='1::/index.php?option=com_banners&task=archivesection&id=0'+and+'1'='2
Vulnerable? Yes
# 138
Info -> Component: Joomla Component (com_bnf) SQL Injection Vulnerability
Versions Affected: Any <=
Check: /index.php?option=com_bnf&task=listar&action=filter_add&seccion=pago&seccion_id=-1
Exploit: /index.php?option=com_bnf&task=listar&action=filter_add&seccion=pago&seccion_id=-1
Vulnerable? No
Всього Joomblascan знайшов 138 недоліків. Якщо вказано Versions Affected: Any <=, то це означає, що це вразливість попередніх версій, і в даній версії не є актуальною. Проте Vulnerable? Yes відзначає саме вразливість, якою можливо скористатись. Відповідно де вказно No, це просто недолік, на безпеку ніякого впливу немає.
На даному сайті, є вразливість Blind SQL Injection Vulnerability, тобто сліпа ін’єкція. Використання її призводить до атаки на базу даних. Метод заключається в підміні значень, в адресній строчці браузера, допоки не відобразиться потрібне для зловмисника значення. Якщо веб-двигун був налаштований невірно, та користувач від імені веб-двигуна має привілеї на бази даних адміністратора, зловмисник може отримати всі паролі.
Захист від такої вразливості заключається в забороні виводу помилок для користувачів, а також в ретельнішому конфігуруванні БД.
Nessus
Проект Nessus був заснований в 1998 році.
Nessus - програма для автоматичного пошуку відомих вад в захисті інформаційних систем. Вона здатна виявити найбільш часто зустрічаються види вразливостей, наприклад:
Наявність вразливих версій служб або доменів
Помилки в конфігурації (наприклад, відсутність необхідності авторизації на SMTP-сервері)
Наявність паролів за замовчуванням, порожніх, або слабких паролів
Програма має клієнт-серверну архітектуру, що сильно розширює можливості сканування. Відповідно до проведеного порталом securitylab.ru опитуванням, nessus використовують 17% респондентів
