Створення гнучкої системи тестування веб-серверів для їх захисту від несанкціонованого доступу
Види віртуальних тестових машин, їх ключові можливості, сумісність c операційними системами. Процес установки гостьових ОС BackTrack і FreeBSD. Встановлення серверного програмного забезпечення. Тестування веб-сервера і засобів віддаленого управління.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 22.07.2015 |
Размер файла | 3,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Анотація
В даній дипломній роботі розглянуто створення віртуальної тестової лабораторії, що дає змогу проводити тестування надійності веб-серверів, та включає в себе встановлення тестового середовища, встановлення об'єктів захисту (ПЗ для розгортання веб-сервера), тестування на проникнення та методи захисту від розглянутих методів проникнення.
Метою роботи є створення гнучкої системи тестування веб-серверів, для їх захисту від несанкціонованого доступу.
Створена система має не лише навчальну, але й практичну цінність: в межах віртуальної тестової лабораторії можна тестувати актуальне ПЗ на віртуальних машинах, а також проводити аудит безпеки реально працюючих серверів.
Ключові слова: віртуальна тестова лабораторія, веб-сервер, несанкціонований доступ, захист від несанкціонованого доступу.
Annotation
In this thesis work is shown the creation of virtual test lab that enables to test the reliability of веб-servers, and includes the installation of the test environment protection facilities installation (software for deploying веб-server), penetration testing and methods of protection considered methods of penetration.
The aim is to create a flexible system of testing веб-servers to protect them from unauthorized access.
The system is not only educational, but also practical value: within virtual test lab can test the actual software on virtual machines and conduct safety audits actually working servers.
Keywords: virtual test lab, веб-server, unauthorized access, protection against unauthorized access.
тестування сервер програмний
Перелік умовних позначень
ПЗ - програмне забезпечення.
ОС - операційна система.
ЕОМ - електронно обчислювальна машина.
ПК - персональний комп'ютер.
СУБД - система управління базами даних.
TCP -- один з основних мережевих протоколів Інтернету, призначений для управління передачею даних в мережах і підмережах TCP/IP.
IP - (від англ. Internet Protocol address) -- це ідентифікатор (унікальний числовий номер) мережевого рівня, що використовується для адресації комп'ютерів чи пристроїв у мережах, що побудовані з використанням протоколу TCP/IP (наприклад Інтернет).
NAT - (від англ. Network Address Translation -- перетворення (трансляція) мережевих адрес) -- це механізм зміни мережевої адреси в заголовках IP датаграм, поки вони проходять через маршрутизуючий пристрій з метою відображення одного адресного простору в інший.
WAN - (від англ. Wide Area Network) -- комп'ютерна мережа, що охоплює величезні території.
LAN - (від англ. Local Area Network) являє собою об'єднання певного числа комп'ютерів на відносно невеликій території.
DHCP - (від англ. Dynamic Host Configuration Protocol -- протокол динамічної конфігурації вузла) -- це протокол прикладного рівня, що дозволяє комп'ютерам автоматично одержувати IP-адресу й інші параметри, необхідні для роботи в мережі.
SSH - (від англ. Secure SHell -- «безпечна оболонка») -- мережевий протокол рівня застосунків, що дозволяє проводити віддалене управління комп'ютером і тунелювання TCP-з'єднань.
FTP - (від англ. File Transfer Protocol, FTP) -- дає можливість абоненту обмінюватися двійковими і текстовими файлами з будь-яким комп'ютером мережі, що підтримує протокол FTP.
XST - (від англ. cross-site tracing - міжсайтове трасування) - вразливість системи безпеки, при експлуатації метода HTTP TRACE.
DNS - (від англ. Domain Name System, DNS) -- ієрархічна розподілена система перетворення імені хоста (комп'ютера або іншого мережевого пристрою) в IP-адресу.
DDNS - динамічний DNS адрес.
Вступ
Актуальність захисту інформації в останні роки зросла, і причиною цьому висока інформатизація суспільства у всіх сферах його діяльності. Комп'ютери та інша обчислювальна техніка в рази продуктивніше виконує колись скучну та монотонну роботу, дає змогу оптимізувати будь-який процес. У певних сферах ця актуальність чітко виражена та зрозуміла, проте, частіше, побачити причинно-наслідковий зв'язок та оцінити його цінність можна тільки після того, як подія вже сталась.
Інформатизація настільки міцно закріпилась, що процес цей перейшов точку неповернення. Сучасний світ, з його безперервно зростаючим темпом життя, просто не зможе вижити таким, яким він є, без допомоги ЕОМ та інших механізмів швидкого забезпечення потрібної інформації. Ведення бізнесу, розроблення продукції, її реклама та реалізація, надання широкого спектру послуг, провадження автоматизованих систем управління та зрештою зручність для кінцевого користувача - все забезпечується системами по обробці, зберіганні та видачі інформації. І, звісно, найпродуктивніше все працює, при підключенні до всесвітньої мережі Інтернет, що поєднує мільйони ПК з серверами, де й проводяться ці операції.
Захист даних серверів є життєво необхідним. Вони являють собою ключові вузли зв'язку, що мають виділені адреси, до яких одночасно підключені тисячі користувачів Інтернету. При виході їх зі строю, система перестане функціонувати. Проте, гіршим є варіант їх несанкціонованої експлуатації, при якій користувачі самі віддадуть конфіденційну інформацію у руки зловмисника.
Веб-сервери, являють собою звичайні сервери з відповідним ПЗ. Відповідно їх захист майже нічим не відрізняється, проте не втрачає актуальності. Веб-сервер - це ЕОМ, на якій розміщується сайт, на якій він функціонує та до якої доступаються користувачі Інтернету. Можна сказати, що це «фронтенд» Інтернету. Дані сервери потребують спеціального ПЗ, та відповідно конфігурованих ОС. Оскільки специфіка веб-сервера потребує максимально можливої доступності для кінцевого користувача, а також що таких користувачів в кожний конкретний момент часу може бути дуже велика кількість, відповідно налаштувати захист є завжди питанням компромісним.
Наразі в світі щодня розробляють нові ПЗ, ОС, а також різного роду пристрої забезпечення передачі інформації, питання остаточного 100% захисту не вирішиться ніколи. З однієї сторони створення даної продукції виправдано, оскільки з часом змінюються потреби, а також вдосконалюються методи обробки та передачі інформації. Також в старих засобах, з часом, знаходять вразливості, що при їх експлуатації компрометують систему захисту. З іншої, кожний новий продукт, хоча й тестувався, проте реальний стрес-тест буде виконано лише при безпосередній реалізації системи на ринку. Практика показує, що захиститись від всіх багів до моменту випуску неможливо.
Питання гостро стосується веб-серверів, оскільки сайти працюють на так званих двигунах, які хоча й оновлюються, проте залишаються вразливими.
Створення віртуальної тестової лабораторії надає змогу тестування веб та інших серверів, до моменту реалізації системи, для виявлення недоліків на різних етапах створення та введення системи в дію. Також, в умовах тестової лабораторії, є можливість гучного конфігурування різних методів виявлення вразливостей, їх експлуатації та зрештої знешкодження цих вразливостей, для захисту кінцевої системи. Додатково залишена можливість тестування реально працюючих систем, а не тільки віртуальних, що дає змогу підтримки номінальної роботи серверів.
Розділ 1. Встановлення віртуальних тестових машин
1.1 VirtualBox
VirtualBox - це потужний крос-платформенний засіб для програмної віртуалізації на платформах на базі х86 та x64. «Крос-платформеність» означає, що VirtualBox може бути встановлений на комп'ютери з MS Windows, Linux, Mac OS X і Solaris x86, а «засіб для програмної віртуалізації» означає, що можна створювати і запускати різні віртуальні машини, що використовують різні операційні системи одночасно на одному комп'ютері. Наприклад, є можливість запустити Windows і Linux на Mac, або Linux і Solaris з-під Windows, або Windows з-під Linux.
Oracle VM VirtualBox доступна для завантаження у вигляді відкритого коду або у вигляді настановних бінарних файлів для Windows, та може використовуватись для віртуалізації таких операційних систем як Microsoft Windows, Linux, FreeBSD, Mac OS X, Solaris / OpenSolaris, ReactOS, DOS та інших.
1.2 Історія
Програма була створена компанією Innotek з використанням вихідного коду Qemu. Перша публічно доступна версія VirtualBox з'явилася 15 січня 2007. У лютому 2008 року Innotek був придбаний компанією Sun Microsystems, модель поширення VirtualBox при цьому не змінилася. У січні 2010 року Sun Microsystems була поглинена корпорацією Oracle, модель розповсюдження залишилася колишньою.
1.3 Ключові можливості
• Кросплатформеність
• Модульність
• Підтримка USB 2.0, коли пристрої хост-машини стають доступними для гостьових операційних систем (тільки в пропріетарній версії)
• Підтримка 64-бітних гостьових систем (починаючи з версії 2.0), навіть на 32-бітових хост-системах (починаючи з версії 2.1, для цього обов'язкова підтримка технології віртуалізації процесором)
• Вбудований RDP-сервер, а також підтримка клієнтських USB-пристроїв поверх протоколу RDP (тільки в пропріетарній версії)
• Експериментальна підтримка апаратного 3D-прискорення (OpenGL, DirectX 8/9 (з використанням коду wine) (тільки в 32-бітових Windows XP, Vista, 7 і 8), для гостьових DOS / Windows 3.x / 95/98 / ME підтримка апаратного 3D-прискорення не передбачена)
• Підтримка образів жорстких дисків VMDK (VMware) і VHD (Microsoft Virtual PC), включаючи snapshots (починаючи з версії 2.1)
• Підтримка віртуалізації аудіо пристроїв (емуляція AC97 або SoundBlaster 16 або Intel HD Audio на вибір)
• Підтримка різних видів мережевої взаємодії (NAT, Host Networking via Bridged, Internal)
• Підтримка ланцюжка збережених станів віртуальної машини (snapshots), до яких може бути проведений відкат з будь-якого стану гостьової системи
• Підтримка Shared Folders для простого обміну файлами між хостової і гостьовий системами (для гостьових систем Windows 2000 і новіше, Linux і Solaris).
• Підтримка інтеграції робочих столів (seamless mode) хостової і гостьовою операційною системою
• Є можливість вибору мови інтерфейсу (підтримується і російськомовний інтерфейс).
• RDP сервер - дозволяє підключатися до віртуальної системі віддалено за допомогою будь-якого RDP сумісного клієнта;
• Підтримка USB - дозволяє передавати віртуальній машині USB пристрої;
• Intel PXE boot ROM - завантаження операційної системи по мережі. Використовується для створення тонких клієнтів / бездискових робочих станцій.
1.4 Сумісність
VirtualBox погано сумісна з Windows 95, Windows 98 (система повільно працює і без установки додаткових драйверів підтримується розширення екрана тільки 640 Ч 480) і Mac OS X (звук працює на один канал і з перебоями. Проте для новіших систем програма працює стабільно. Маються на увазі ОС Windows 7, Windows 8, Ubuntu, Kali тощо.
1.5 VirtualBox в Ubuntu
Починаючи з 4-ої версії Oracle VM VirtualBox існує в єдиній редакції, поширюваної під ліцензією GNU GPL з відкритими початковими кодами.
Деякі додаткові функції виділені в окремий пакет Oracle VM VirtualBox Extension Pack, серед яких:
Пакет Oracle VM VirtualBox Extension Pack поширюється під ліцензією PUEL, тобто його можна використовувати безкоштовно для особистих (некомерційних) цілей.
На даний момент VirtualBox включає в себе наступні можливості:
1. Нативна x86-віртуалізація, що не вимагає наявності підтримки апаратних технік Intel VT або AMD-V (яка, однак, може бути включена в настройках).
2. Дружній користувальницький інтерфейс, в тому числі і російською мовою (побудований за допомогою Qt).
3. Підтримка Windows, Linux і Mac OS хостових систем.
4. Наявність Guest VM Additions для спрощення взаємодії з хостової ОС.
5. Підтримка багатопроцесорних і багатоядерних систем.
6. Підтримка віртуалізації аудіо пристроїв.
7. Висока продуктивність.
8. Підтримка різних видів мережевої взаємодії (NAT, Host Networking via Bridged, Internal).
9. Підтримка дерева збережених станів віртуальної машини (snapshots), до яких може бути проведений відкат з будь-якого стану гостьової системи.
10. Опис налаштувань віртуальної машини в XML-форматі.
11. Підтримка Загальних папок для простого обміну файлами між хостової і гостьовий системами.
Рис. 1. Інтерфейс VirtualBox.
1.6 BackTrack
BackTrack - GNU / Linux-LiveCD, що виник як результат злиття WHAX і Auditor Security Collection. Проект створили Мати Ахароні (Mati Aharoni) і Макс Мозер (Max Moser). Призначений насамперед для проведення тестів на безпеку.
1.7 Опис
Дистрибутив створений для тестерів інформаційної безпеки. Поставляється у вигляді LiveUSB і LiveCD, від користувача вимагається тільки завантажитися з носія, що містить BackTrack. Також є можливість установки системи на жорсткий диск (потрібно приблизно 2,7 ГБ). В даний час в дистрибутив включені інструменти для програмно-технічної експертизи. Також ведеться робота над підтримкою ієрогліфічних азіатських мов.
Примітка: останні версії BackTrack поставляються у вигляді ISO-образу і образу для VMWare. У спеціальних версіях для LiveUSB більш немає необхідності, тому тепер установку на флешку легко зробити за допомогою утиліт типу Unetbootin або вручну.
Найбільш відомі програми в пакеті
• Aircrack-ng
• Burp_suite
• Ettercap
• Hydra
• John_the_Ripper
• Maltego
• Kismet
• Metasploit
• Nmap
• OWASP-ZAP
• sqlmap
• Wireshark (раніше Ethereal)
• OWASP Mantra Security Framework - вдосконалений браузер Firefox для pentest.
• Armitage - графічний інтерфейс для Metasploit.
1.8 Поточний стан
Після того, як дистрибутив почав стабільно розвиватися і була налагоджена робота зворотного зв'язку з користувачами, виробники зробили акцент на розширенні стабільності і функціональності, що змінило процес розробки. У поточних версіях BackTrack більшість програм використані у вигляді окремих модулів, що спрощує процес створення доповнень та виправлень.
1.9 Категорії
Для зручності доступу до інструментів вони розділені на категорії
• Enumeration і Information Gathering
• Exploitation tools
• Scanners
• Password Attacks
• Stress Testing
• Spoofing і Sniffing
• Wireless Attacks
• Forensic Tools
• Hardware hacking
• BackTrack Services
• Reverse Engineering
• Misc
Так само до складу дистрибутива включені звичні для користувачів програми Mozilla Firefox, Gnome 2, gdm, dragon player.
1.10 Установка BackTrack
1. Відкрийте VirtualBox за допомогою ярлика на робочому столі або в меню Пуск. Натисніть кнопку "Створити" кнопку в лівому верхньому кутку вікна. Введіть ім'я для вашої віртуальної машини в полі "Ім'я".
2. Натисніть на операційній системі меню, що випадає і виберіть "Linux". Натисніть кнопку "Версія" у спадному меню і виберіть "Linux 2.6." Натисніть кнопку "Продовжити". Натисніть та перетягніть повзунок, щоб збільшити базовий розмір пам'яті не менше 512 Мб.
3. Натисніть кнопку "Продовжити". Виберіть "Створити новий жорсткий диск" і натисніть "Продовжити". Натисніть кнопку "Продовжити" ще раз. Виберіть "Тип носія" ви хочете використовувати. "Динамічно розширюється образ" займає менше місця на початковому етапі, зростаючий файл віртуального жорсткого диска в міру необхідності. "Фіксованого обсягу" створює повнорозмірний жорсткий диск відразу зазначеного розміру, приймаючи більше місця, але забезпечуючи кращу продуктивність, ніж динамічного диска. Натисніть кнопку "Продовжити" після вибору опції.
4. Натисніть та перетягніть повзунок, щоб збільшити розмір диска не менше 10 Гб. Натисніть кнопку "Продовжити". Натисніть кнопку "Готово". Перегляньте сторінку Зведення, а потім натисніть кнопку "Готово".
5. Натисніть на віртуальну машину, створену в списку в лівій частині вікна. Натисніть на кнопку "Налаштування" у верхній частині вікна. Натисніть кнопку "зберігання", розташовану у верхній частині вікні "Налаштування".
6. Натисніть кнопку "Очистити" нижче значок "IDE Controller" в "Storage Дерево" список. Натисніть на значок компакт-диска поруч з "CD / DVD Drive" поля в правій частині вікна. Виберіть "Вибрати віртуальний CD / DVD-диска файл".
7. Перейдіть до BackTrack 4 ISO файл у вікні натисніть кнопку "Відкрити". Натисніть "OK", щоб закрити вікно "Параметри". Натисніть кнопку "Пуск" у верхній частині вікна VirtualBox.
8. Натисніть "Enter", щоб почати з параметрами за замовчуванням. Для запуску графічної оболонки введіть "StartX" і натисніть "Enter", коли з'являється підказка "Root @ BT: ~ #". Двічі клацніть на "install.sh", коли з'явиться робочий стіл, щоб почати установку.
9. Виберіть свій часовий пояс з "Обраний місто" у спадному меню. Натисніть кнопку "Вперед". Натисніть «Вперед», щоб прийняти стандартні структуру розділів жорсткого диска. Натисніть кнопку "Встановити" і почекайте запуску програми установки до кінця і перезавантаження. Увійти можна використовуючи логін "root" та пароль "toor".
Рис. 2. Загальний вигляд BackTrack 5 R3.
Таким ж чином можна встановити інші ОС на VirtualBox. Принципової різниці між встановленням в якості віртуальної машини між встановлення на реальний ПК немає. Все що потрібно - це задати об'єм диску а оперативної пам'яті. Все інше VirtualBox зробить сам.
Якщо дозволяє хостовий комп'ютер, можна запустити кілька віртуальних машин одночасно. Все залежить від потужності хоста, а також він потреб в ресурсах гостьових машин. Для прикладу запуск BackTrack та Windows XP потребує біля 1Гб оперативної пам'яті від хоста.
Рис. 3. Одночасний запуск кількох машин.
1.11 FreeBSD
Коротко про ОС
FreeBSD -- UNIX-подібна операційна система, коріння якої тягнеться від AT&T UNIX, через Berkeley Software Distribution (BSD) гілку операційних систем 386BSD та 4.4BSD. Працює на Intel x86 (IA-32), сумісних з ПК системах (включно з Microsoft Xbox, а також DEC Alpha, Sun, Itanium (IA-64), AMD64, PowerPC та NEC PC-98 архітектурах. FreeBSD добре зарекомендувала себе як система для побудови інтранет- і інтернет-серверів. Вона надає достатньо надійні мережеві служби і ефективне управління пам'яттю.
FreeBSD розробляється як повноцінна операційна система. Ядро, драйвери пристроїв та базові користувацькі утиліти (так звані Userland), на кшталт командного процесору (shell) розробляються в єдиному ядрі. Це одна з головних відмінностей системи від Linux, у котрій робота над розробкою ядра ведеться однією групою програмістів, базових користувацьких утиліт іншою (наприклад, проектом GNU), і усе це збираються третіми групами у так званий дистрибутив.
Дана ОС являє собою найкращу open-source пропозицію на ринку. Система поєднує в собі дуже хорошу систему захисту, актуальну підтримку, стабільні оновлення, чітку та лаконічну документацію. Хорошою особливістю є небажання гнатись за новинками збоку творців ОС. Вони віддають перевагу розважливим рішенням, тому кожна нова версія FreeBSD це всебічно протестований продукт, що точно буде стабільно працювати. Взагалі стабільність системи - її ключовий козир.
Для захисту, система може працювати в двох режимах: одно- та багатокористувацькому. В одно-користувацькому сеансі, працює лишень адміністратор системи. Даний режим створений для відлагодження системи, а також її встановлення. Потрапити в даний сеанс можна лишень безпосередньо перебуваючи поряд з сервером. Багатокористувацький режим створений саме для доступу до сервера великої кількості неавторизованих користувачів, як от користувачів Інтернету, при перебуванні на сайті. Даний режим включає механізми захисту ОС, проте не забезпечує повного захисту від проникнення збоку стороннього ПЗ, наприклад при експлуатації вразливостей веб-двигуна.
1.12 Встановлення FreeBSD
Процес встановлення останніх версій FreeBSD значно спростився, оскільки інсталяційний скрипт, був переосмислений та набув більшої інтерактивності. Для мінімальної версії ОС, ніяких додаткових налаштувань під час встановлення не потрібно здійснювати, і зрештою нічим не відрізняється від встановлення інших ОС. На рис. 4. продемонстровано початковий вибір. Окрім самої установки, FreeBSD має можливість запуску в режимі консолі (для відлагодження встановлених систем) та режим LiveCD CD, для функціонування системи, без запису на жорсткий диск. Обираєм «Install».
Рис. 4. Встановлення FreeBSD.
Після встановлення клавіатури, та часових локалей, пакет запропонує вибір комплектації. Тут доцільно встановити бібліотеки, та вихідні коди.
Рис. 5. Пакет інсталяції.
Наступним кроком, є розбиття жорсткого диску. Обов'язковим є наявність розділу підкачки (/swap), що надає можливість відводити частину простору диску, для потреб оперативної пам'яті. Це суттєво підвищує продуктивність.
Останнім кроком є встановлення паролю адміністратора (root).
Рис. 6. Розмітка диску.
Рис. 7. Запит на створення паролю.
Після перезавантаження, є можливість обрати режим роботи. В даному випадку обираєм багатокористувацький, проте, при збою системи потрібно обрати одно користувацький режим, для відлагодження системи.
Рис. 8. Вибір режиму.
Після встановлення, систему потрібно налаштувати.
Основні налаштування системи відбуваються в файлі /etc/rc.conf. При загрузці системи, з цього файлу зчитуються параметри.
Вносимо відповідні данні:
hostname="shellshock.uar.net" - доменне ім'я сервера
ifconfig_em0="inet 194.44.10.33 netmask 0xffffffc0" - налаштування мережі
defaultrouter="194.44.10.1" - шлюз
sshd_enable="YES" - автозагрузка ssh
apache24_enable="YES" - автозарузка Apache2
firewall_enable="YES" - ввімкнення фаєрволу
firewall_script="/etc/ipfw.rules" - читання правил фаєрволу
На цьому початкові налаштування FreeBSD завершені. Після запуску системи у багатокористувацькому режимі, потрібно ввести логін та пароль. Екран привітання вказано на рис. 9.
Рис. 9. Привітання FreeBSD.
1.13 Налаштування спільних папок
Спільні («розшарені») папки доцільно використовувати, для передачі файлів між хостовою ОС та гостьовою. Для прикладу це можуть бути інсталяційні файли, драйвера чи документи. Можливо піти іншим шляхом, та використовувати «Хмарні» середовища, проте даний метод потребує обов'язкового підключення до мережі Інтернет, та при великому об'ємі файлів втрачає привабливість.
1.14 В ОС Windows
Потрібно вказати загальну папку, у властивостях системи, встановленої на VirtualBox.
Рис. 10.VirtualBox загальні папки Крок 1.
Для цього, виділяємо потрібну ОС, тиснемо кнопку «Властивості», вибираємо розділ «Загальні папки». Кнопка «Додати загальну папку». Вказуємо шлях до потрібної папки на хостової ОС.
Рис. 11. VirtualBox загальні папки Крок 2.
Запускаємо віртуальну систему, після завантаження проходимо наступні кроки:
Установка / встановити доповнення гостьовий ОС. На всі питання відповідаємо ствердно.
Рис. 12. VirtualBox загальні папки Крок 3.
По завершенні установки доповнень, перезавантажуємо гостьову ОС, потім виконуємо наступну команду:
net use x: \\ vboxsvr \ share - де share ваша обрана папка, а «x» ім'я диска, який з'явиться в гостьовій ОС. Ім'я диска можна змінювати.
Після цього, у списку дисків гостьової ОС з'являється ще один пристрій - це і є, відкрита загальна папка.
Рис. 13. Крок 4.
1.15 В ОС Linux
Netcat (англ. Net мережа + cat) - утиліта Unix, що дозволяє встановити з'єднання TCP та UDP, отримувати та передавати дані. Незважаючи на простоту та Користь, ця утиліта не включена до жодного стандарту.
Функціонал netcat корисний в тій же мірі, в якій корисна багатофункціональність кишенькового швейцарського армійського ножа. Деякі з її можливостей включають сканування портів, передачу файлів, прослуховування портів і вона може бути використана як бекдор.
Розширюючи попередню думку, nc можна використовувати для передачі файлів.
Для прикладу, потрібно передати деякий текстовий файл hi.txt, що містить в собі повідомлення «Hello, my dear friend!» з комп'ютера з адресом 192.168.0.100 на комп'ютер з адресом 192.168.0.108.
Для цього створим на 192.168.0.100 сервер, до якого в подальшому буде здійснено підключення.
Для передачі використовується деяка хитрість. Для того, щоб «повісити» файл на порт, об'єднають дві команди: вивід файлу, та перенаправлення виводу в nc.
Рис. 14. Приклад передачі.
Після таких маніпуляцій, клієнт (192.168.0.108) може підключитись до сервера, та перенаправити отримані дані в локальний файл.
Рис. 15. Отриманий файл.
Таким чином можна переслати та відновити цілий диск. Достатньо «повісити» на сервері замість файлу цілий диск
cat /dev/hdb | nc -l -p 12345
nc 192.168.0.100 12345 > /dev/hdb
Висновок до Розділу 1
В даному розділі розглянуто методи віртуалізації операційних систем, а також коротко самі операційні системи. Акцент зроблено саме на процесі встановлення операційних систем, оскільки їх встановлення в межах віртуальної машини нічим не відрізняється від встановлення на реальні сервери.
В якості хоста виступає Ubuntu 14.04, через кращу продуктивність даної ОС над Window 7, чи Windows 8. Засобами Linux краще вдається розприділити оперативну пам'ять, що є вкрай цінним ресурсом, на машині, в межах якої функціонують інші машини. Гостьовими ОС виступають FreeBSD (використовується як веб-сервер), BackTrack (В подальшому Kali Linux - як засіб тестування) та Windows XP (як приклад вразливої системи). FreeBSD добре підходить для умов віртуальної тестової лабораторії, оскільки є дуже поширеною, а отже й актуальною, та має зручне налаштування. BackTrack - це спеціальний дистрибутив Linux, створений насамперед, для тестування системи на проникнення (пентест). BackTrack містить всі потрібні програми, що попередньо встановлені на та налаштовані. Додатково є наявність словників, для переборю паролів.
Розділ 2. Встановлення віртуального тестового сервера
2.1 LAMP
LAMP - акронім, що позначає набір (комплекс) серверного програмного забезпечення, широко використовуваний у Всесвітній павутині. LAMP названий за першими літерами входять до його складу компонентів:
· Linux - операційна система Linux;
· Apache - веб-сервер;
· MariaDB / MySQL - СУБД;
· PHP
PHP - мова програмування, що використовується для створення веб-додатків (крім PHP можуть матися на увазі інші мови, такі як Perl і Python).
Акронім LAMP може використовуватися для позначення:
· Інфраструктури веб-сервера
· парадигми програмування
· пакету програм
Хоча спочатку ці програмні продукти не розроблялися спеціально для роботи один з одним, така зв'язка стала вельми популярною через свою гнучкість, продуктивність та низьку вартість (всі її складові є відкритими і можуть бути безкоштовно завантажені з Інтернету). Набір LAMP входить до складу більшості дистрибутивів Linux і надається багатьма хостинговими компаніями.
Процес встановлення програм на FreeBSD дещо відрізняється: всі програми компілюються під час встановлення. Це дає більшу сумісність програм з ОС, та апаратними засобами. Для встановлення потрібно спочатку найти потрібну програму
locate apache24
Виводом буде направлення на директорію з інсталятором програми. Сама директорія міститься в кореневій директорії, що зветься Портом. Для встановлення потрібно перейти в відповідний порт, та виконати команду
make configure install clean
Ця команда одразу сконфігурує, встановить та вичистить «інсталяційний мусор».
Сам пакет називається FAMP, та містить більш стабільні версії програм, проте не настільки «свіжі», у порівнянні з Linux.
Починаючи з Ubuntu 7.04 (Feisty Fawn) замовчуванням встановлена корисна утиліта Tasksel. Вона допоможе встановити LAMP. Просто виконаємо команду:
sudo tasksel install lamp-server
При установці буде запитаний пароль для створення адміністратора БД MySQL.
2.2 Установка Apache 2
Якщо потрібно встановити лише веб-сервер Apache 2 використовується будь-який метод для того, щоб встановити пакет apache2. Для того, щоб Apache стартував його слід перезапустити:
sudo /etc/init.d/apache2 restart
2.3 Установка PHP 5
Щоб встановити модуль PHP для Apache використовується будь-який метод для того, щоб встановити пакет libapache2-mod-php5. Включити модуль PHP 5 в Apache можна виконавши:
sudo a2enmod php5
Це створить символічне посилання / etc / apache2 / mods-enabled / php5 що вказує на / etc / apache2 / mods-availble / php5. Якщо не використовуються застарілі в PHP короткі теги <? (що вкрай нерекомендовані) замість <? php потрібно відкрийте від імені супер користувача файл /etc/php5/apache2/php.ini, знайдіть у ньому рядок
short_open_tag = On
і замініть його на
short_open_tag = Off
Це змусить ігнорувати відкривають теги <? Xml у файлах, оброблюваних PHP.
Для того, щоб зміни вступили в силу потрібно перезапустити Apache
sudo service apache2 restart
note
Перевірка PHP
У папці / var / www створіть файл test.php, дайте права на читання до нього всім (або хоча б користувачеві apache) і запишіть у нього наступний рядок:
<? php phpinfo (); ?>
Залишається протестувати: у браузері перейти на сторінку http: //localhost/test.php. Якщо бачите опис встановленого PHP, значить все налаштували правильно.
2.4 Установка MySQL і його модулів для PHP 5
Щоб встановити MySQL використовується будь-який метод для того, щоб встановити пакети mysql-server libapache2-mod-auth-mysql php5-mysql.
2.5 PhpMyAdmin
Усі завдання які потрібно виконати MySQL можна робити використовуючи графічний інтерфейс програм phpmyadmin. Встановлюємо утиліту
sudo apt-get install phpmyadmin
При установці вона запросить паролі які були задані при установці MySQL.
Зайти в нього можна з адреси http: // localhost / phpmyadmin /
При помилку 404 внесіть в файл /etc/apache2/apache2.conf Include /etc/phpmyadmin/apache.conf
Рис. 16. Тест роботи Apache2.
2.6 Форвард портів на маршрутизаторах TP-LINK
Найбільш поширені випадки використання перекидування портів - це:
• ВЕБ-сервер (поштовий, ігровий або будь-який інший сервер);
• Управління домашньої / офісної IP-камерою;
• Віддалений робочий стіл домашнього / офісного ПК.
Розглянемо настройку портів для веб-сервера:
У кожному випадку використовується IP-адреса кінцевого пристрою і Мережевий порт - 192.168.0.100:80.
Домашні маршрутизатори використовують технологію NAT, коли зовнішній WAN IP (видається провайдером) відрізняється від LAN IP (видається маршрутизатором кінцевим пристроям).
Для роботи портів WAN IP-адрес (публічний) повинен бути "білим". Іншими словами НЕ повинен входити в діапазон "сірих" / приватних IP-адрес:
WAN IP-адресу маршрутизатора можна подивитися на сторінці: Стан - WAN.
Для цього у браузері ввести в адресному рядку LAN IP-адресу маршрутизатора за замовчуванням: http://192.168.0.1
2.7 Резервування адреси
Оскільки DHCP - сервер маршрутизатора може видати IP-адреса пристрою кожен раз різний, його потрібно зарезервувати.
Для цього переходимо в меню DHCP - Резервування адрес.
І додаємо новий запис, натиснувши кнопку Додати
Прив'язуємо IP-адреса до МАС-адресою пристрою.
У полі МАС-адреса вказуємо МАС-адресу ВЕБ-сервера
У полі Зарезервований IP-адреса вказуємо бажаний адрес: 192.168.0.100
Рис. 17. Резервування адреси.
Після цього, доцільно прив'язати ІР-адреса до MAC-адресу віртуальних машин, а також сервера.
Рис. 18. Список зарезервованих адрес.
Одразу після виконання цих дій, з'являється недоступний до цього функціонал. Наприклад, тепер можна створити файл, що автоматично монтуватиме сервер як мережевий диск при кожному ввімкнені ОС. Наприклад для ОС Windows створити файл .bat з наступним вмістом:
net use s: \\192.168.0.103\shellshock %pass% /user:shellshock
Поклавши такий файл на автозагрузку, отримаєм автоматична монтування сервера (shellshock \\192.168.0.103).
Рис. 19. Автомонтування сервера в Windows 7.
Якщо потрібно зробити перекидування порту 80, в такому випадку необхідно поміняти порт управління веб-інтерфейсом самого маршрутизатора, наприклад на 8080.
2.8 Зміна порту веб-управління маршрутизатором
Робиться це в меню Безпека - Віддалене управління
Рис. 20. Налаштування безпечного віддаленого управління маршрутизатором.
Маршрутизатор перезавантажиться і буде доступний за адресою http://192.168.0.1:8080
2.9 Перекидування порту / Відкриття порту
В меню Переадресація - Віртуальні сервери.
Натисніть кнопку Додати
Рис. 21. Віртуальні сервери
Рис. 22. Список портів.
Потрібно заповнити поля:
· Порт сервісу - Мережевий порт, по якому користувачі будуть заходити на ваш ВЕБ-сервер.
· Внутрішній порт - Внутрішній порт, по якому доступний ваш ВЕБ-сервер (всередині вашої локальної мережі).
Порт сервісу і Внутрішній порт можуть бути різними.
IP-адреса - Локальний IP-адресу вашого ВЕБ-сервера, виданий маршрутизатором.
2.10 Віддалене керування сервером SSH
Secure Shell, SSH (англ. Secure SHell -- «безпечна оболонка») -- мережевий протокол рівня застосунків, що дозволяє проводити віддалене управління комп'ютером і тунелювання TCP-з'єднань (наприклад, для передачі файлів). Схожий за функціональністю з протоколом Telnet і rlogin, проте шифрує весь трафік, в тому числі і паролі, що передаються.
Криптографічний захист протоколу SSH не фіксований, можливий вибір різних алгоритмів шифрування. Клієнти і сервери, що підтримують цей протокол, доступні для різних платформ. Крім того, протокол дозволяє не тільки використовувати безпечний віддалений shell на машині, але і туннелювати графічний інтерфейс -- X Tunnelling (тільки для Unix-подібних ОС або застосунків, що використовують графічний інтерфейс X Window System). Так само ssh здатний передавати через безпечний канал (Port Forwarding) будь-який інший мережевий протокол, забезпечуючи (при належній конфігурації) можливість безпечної пересилки не тільки X-інтерфейсу, але і, наприклад, звуку.
Підтримка SSH реалізована у всіх UNIX системах, і на більшості з них в числі стандартних утиліт присутні клієнт і сервер ssh. Існує безліч реалізацій SSH-клієнтів і для не-UNIX ОС. Велику популярність протокол отримав після широкого розвитку сніферів, як альтернативне небезпечному телнету рішення для управління важливими вузлами.
Зараз відомо дві гілки версій -- 1 і 2. Проте гілка 1 зупинена, оскільки в кінці 90-х в ній було знайдено багато вразливостей, деякі з яких досі накладають серйозні обмеження на її використання, тому перспективною (такою, що розвивається) і найбезпечнішою є версія 2.
На прикладі: клієнт ноутбук (Kubuntu 14.04) - сервер (Ubuntu 13.14).
Перш за все потрібно встановити програму, яка складається з двох блоків: програми-клієнта, з якого підключаються, та програми-сервера до якої підключаються. За замовчуванням ssh-клієнт (ssh) та ssh-сервери (sshd) встановленні за замовчуванням "з коробки". В противному разі команда на встановлення:
sudo apt-get install ssh
Оскільки ssh знаходиться в залежності з sshd - програму-сервер буде встановлено автоматично, проте автоматично сервер не запускається. Для його запуску потрібно ввести:
sudo service ssh start
Наступним кроком є створення облікового запису, під яким буде здійснено вхід. Можна використовувати обліковий запис, що вже був створений на сервері завчасно (й під яким здійснювалось конфігурування сервера). Проте у цілях безпеки створимо нового користувача в системі. Всі дії повинні відбуватись на сервері.
sudo userdel ssh-klient (де ssh-klient - ім'я нового користувача)
Після чого shell запросить створити новий пароль для користувача. Ввод паролю не буде супроводжуватись ніякими змінами командної стрічки. Це зроблено в цілях безпеки.
Заповнивши кілька пропонованих стрічок (можна залишити їх пустими), отримаємо наступне.
Рис. 23. Створення облікового запису.
Для надання користувачу ssh-klient потрібно внести зміни в файл /usr/sbin/visudo
та дописати у відповідну графу наступне:
# User privilege specification
root ALL=(ALL:ALL) ALL
ssh-klient ALL=(ALL:ALL) ALL
Дана операція наддасть користувачі привілеїв супер-користувача, або, інакшими словами, права root. Такий рівень доступу надає повний контроль на машиною, тому тут потрібно буди обачним.
Вже на даному етапі можна підключатись до сервера, використовуючи "захищений шелл": На комп'ютері-клієнті вводимо наступну команду а вводимо пароль: ssh ssh-klient@192.168.0.103
Рис. 24. Вхід в віддалену систему.
де ssh - використання програми
ssh-klient - ім'я під яким хочемо здійснити вхід
192.168.0.103 - IP-адреса сервера (можна й доменне ім'я, про це згодом). Підтвердженням успішного входу є зміна облікового запису (в даному випадку з shellshock на ssh-klient), а також відповідна зміна машини (з shellshock-KU на localhost (через особливості реалізації сервера)).
Тепер можна робити все, що забажаєм, так, неначе знаходимось безпосередньо за сервером. Для автоматичного входу, який не потребує підтвердження машини паролем, використовують ключі.
При використанні методу ідентифікації Identity / Pubkey виключається використання статичних паролів. Щоб кожен раз не набирати паролі, які можна перехопити, ми будемо зберігати на диску пару ключів, які й будуть використовуватися для перевірки автентичності.
Ось деякі з позитивних моментів цього типу аутентифікації: Ніхто не зможе увійти на сервер з вашим профілем, так як їм необхідно володіти приватним ключем і кодової фразою. Адміністратор сервера може взагалі прибрати пароль облікового запису, щоб виключити його дискредитацію.
Можна встановлювати певні обмеження, наприклад забороняючи перенаправлення портів, виконання певних програм і т.д.
Для генерації пари ключів нам необхідно скористатися утилітою ssh-keygen, яка входить в стандартний комплект установки.
ssh-keygen -t rsa (на локальній машині, тобто на "клієнті")
Відповідно на сервері ці ключі потрібно скопіювати:
ssh-copy-id -i ~/.ssh/id_rsa.pub ssh-klient@192.168.0.103
Після цих маніпуляцій вхід на сервер під даним обліковим записом з даної клієнтської машини буде відбуватись автоматично. Притім такий спосіб є навіть більш надійним, аніж ввод паролю, який в теорії можна перехопити.
SSH має ще декілька цікавих особливостей використання:
Для доступу до сервера можна виходити за межі внутрішніх NAT-мереж, та здійснювати підключення по ssh через глобальну мережу. Для цьому потрібно щоб за сервером була закріплена статична адреса (в противному разі потрібно використовувати ddns), та була налаштована відповідним чином переадресація портів на маршрутизаторі. Для прикладу налаштування мого роутера.
Рис. 25. Налаштування віртуальних серверів.
Така конфігурація дає змогу "мати під рукою" власний сервер усюди, де є мережа інтернет. При такому підключені IP-адреса вводиться статична, або (якщо є) -доменне ім'я.
Користувача можна не вводити, якщо попередньо був налаштований "шарінг" ключа.
Рис. 26. Вхід без пароля
Ще однією особливістю ssh є можливість передавати файли по ssh-тунелю.
Для цьому використовується sshfs (ssh file system).
Встановлення sudo apt-get install sshfs
Дана опція дуже корисна при налаштуванні веб-сервера, адже можна примотувати /var/www безпосередньо на локальний комп'ютер (обов'язково надати локальному комп'ютеру права типу 776).
Приклад використання:
sshfs shellshock1953.ddns.net:/var/www /media/server
Рис. 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. Тестування на надійність в середовищі віртуальної тестової лабораторії
3.1 Тестування веб-сервера
Тестування сервера передбачає використання спеціальних утиліт, що віддалено сканують сервер, та виявляють в ньому всі недоліки. Такими можуть бути використання служб на стандартних портах (особливо ssh), неправильна конфігурація веб-сервера, не видалені інсталяційні скріпти, слабкі паролі, халтурність (розміщення cgi скріптів в корені сайту, або в папці cgi-bin, що явно виказує їх розміщення, та дає можливість неправомірного виконання), тощо.
Всі програми для виявлення вразливостей, а також програми для використання вразливостей запускаються з ОС BackTrack.
3.2 Uniscan
Uniscan - це графічна оболонка для таких сканерів, як PSCAN, Spider, Uscan, Fuzz. Проте найкраще використовується як графічний сканер портів.
Рис. 29. Відкриті порти.
Оскільки відкриті 110 та 143, можна судити що окрім веб, на сервері є й пошта. Для перевірки цього твердження, можна попробувати переглянути всі домени сервера, а також приблизну структуру файлів.
Рис. 30. Домени поштового сервера.
Методом підбору, можна дізнатись, який клієнт використовується для управління поштою. В даному випадку це postfixadmin. З цього слідує, що поштою на сервері керує postfix.
3.3 Hydra
Утиліта для перебору паролів, іншими словами «брутфорс». Метод «брутфорс» використовується в разі, якщо вразливостей не виявлено, або вразливості незначні. Також таким методом користуються ті, хто впевнений - адміністратор не слідкує за вхідним трафіком. Справа в тім, що кожна невдала спроба реєструється в логах, об'єм яких швидко зростатиме. Проте, за наявності достатньої кількості часу, та потужного комп'ютера цей метод є самим дієвим. Якщо знати, що користувачі нехтують безпекою, використовують слабкі паролі, шанс успіху різко зростає.
В даному випадку, доцільно спробувати наступні логіни, root, admin, shellshock, postfix. Логін shellshock є зміст пробувати, оскільки назва домену може збігтись з логіном адміністратора, а postfix - оскільки це назва служби.
В BackTrack передбачено кілька словників, звідки hydra буде брати паролі. Ще утиліта може використовувати одночасно перебір логінів, що сильно сповільнить процес, але може дати успіх, якщо логін невідомий.
Рис. 31. Інтерфейс утиліти Hydra.
За кілька годин перебору, пароль був знайдений, та записаний у лог програми. Оскільки складність заключала в підборі логіну, це потребувало там багато часу.
3.4 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, що дозволить розміщувати сторінки, чи навіть окремі частини сторінок на віддалених хостах. Таким чином, зловмисник має можливість заміщувати оригінальні сторінки, своїми, які проситимуть ввод паролю, і користувачі, звісно, будуть їх вводити. Адже користувач, який бачить тільки доменне ім'я, а не реальну ІР адресу, нічого не запідозрить.
3.5 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, тобто сліпа ін'єкція. Використання її призводить до атаки на базу даних. Метод заключається в підміні значень, в адресній строчці браузера, допоки не відобразиться потрібне для зловмисника значення. Якщо веб-двигун був налаштований невірно, та користувач від імені веб-двигуна має привілеї на бази даних адміністратора, зловмисник може отримати всі паролі.
Захист від такої вразливості заключається в забороні виводу помилок для користувачів, а також в ретельнішому конфігуруванні БД.
3.6 Nessus
Проект Nessus був заснований в 1998 році.
Nessus - програма для автоматичного пошуку відомих вад в захисті інформаційних систем. Вона здатна виявити найбільш часто зустрічаються види вразливостей, наприклад:
Подобные документы
Ключові можливості та сумісність віртуальних тестових машин. VirtualBox в Ubuntu, BackTrack. Поточний стан та опис даної технології. Налаштування спільних папок. Встановлення віртуального тестового сервера, віддалене керування. Тестування на надійність.
курсовая работа [3,7 M], добавлен 24.05.2015Багатоплановість проблеми тестування, види тестів, схема взаємодії тестуючого з тестувальником. Огляд і можливості деяких сучасних програмних засобів для створення тестів. Технологія створення тестів на прикладі програмного забезпечення MyTestX.
дипломная работа [1,8 M], добавлен 15.06.2014Тестування програмного забезпечення як процес його дослідження для отримання інформації про якість. Автоматизація тестування програми Join It - Jigsaw Puzzle. Методика тестування, структура пакету та його модулів. Вимоги до програмного забезпечення.
дипломная работа [2,4 M], добавлен 24.07.2013Методи захисту програмного забезпечення та комп’ютера від несанкціонованого доступу. Метод створення програми перевірки доступу за методом Тюрінга. Розробка структури програми, вибір мови програмування, тестування. Інструкція по роботі з програмою.
курсовая работа [606,7 K], добавлен 06.08.2013Проблеми процесу тестування програмного забезпечення. Розробка алгоритму автоматичної генерації тестів і тестового набору для ручного виконання. Побудова тестів для системи "Банкомат" і для баг-трекінгової системи, представленої графом із циклами.
дипломная работа [1,2 M], добавлен 26.02.2014Захист файлів від несанкціонованого доступу в ОС FreeBSD. Атрибути та права доступу до файлу. Загальні принципи захисту для всіх існуючих варіантів системи. Значення прав доступу для різних типів файлів. Паролі, їх роль у забезпеченні безпеки системи.
контрольная работа [33,0 K], добавлен 29.06.2010Основні способи тестування роботи паралельної системи. Функціональне тестування та тестування загальної швидкості. Способи організації та налаштування кластера. Програма для створення віртуальних операційних систем шляхом виділення ресурсів комп'ютера.
лабораторная работа [3,4 M], добавлен 02.06.2011Огляд засобів створення програмного забезпечення сучасних мікроконтролерів. Аналіз методів та налаштувань контролерів. Засоби генерації коду налаштувань. Детальний опис розробки програми генератора налаштувань ядра Cortex M4 та методики її тестування.
курсовая работа [1,3 M], добавлен 20.05.2015Автоматизація роботи диспетчера швидкої допомоги. Забезпечення контролю, обігу документів та створення карток хворих при занесенні інформації бригад швидкої допомоги за допомогою програмного забезпечення. Захист системи від несанкціонованого доступу.
курсовая работа [1,4 M], добавлен 14.09.2014Особливості захисту персональних комп'ютерів від несанкціонованого доступу (НДС). Спеціальне програмне забезпечення захисту інформації. Захист від НСД шляхом запису ключа за логічними межами файла. Процес підготування програми на мові ассемблера.
курсовая работа [33,3 K], добавлен 08.08.2009