3.1.3Нульовий сеанс
Нульовий сеанс використовується для передачі деяких відомостей про комп'ютери Windows NT/2000, необхідні для функціонування мережі. Створення нульового сеансу не вимагає виконання процедури аутентифікації з'єднання. Для створення нульового сеансу зв'язку необхідно з командного рядка Windows NT/2000/XP виконати наступну команду:
netuse\l.0.0.l\IPC$"" /user:""
Де1.0.0.1–цеIP-адреса комп'ютераSword-2000,щоатакується,IPC$ – це(абревіатуразагальногоресурсумережі Inter-Process Communication)міжпроцесна взаємодія,першапаралапокозначаєвикористанняпорожньогопароля, адругапаравзаписіuser:""вказуєнапорожнєім'явіддаленогоклієнта. Анонімнийкористувач, щопідключивсянульовимсеансом зазамовчуваннямотримуєможливістьзавантажитидиспетчеркористувачів, який використовуєтьсядляпрогляданнякористувачівігруп, виконуватипрограмупрогляданняжурналуподій. Йомутакождоступніііншіпрограмивіддаленогоадмініструваннясистемою, щовикористовуютьпротоколSMB (Server Message Block - блокповідомленьсервера). Більше того, користувач, що під'єднався нульовим сеансом, має права на перегляд і модифікацію окремих розділів системного реєстру.
Ще один метод інвентаризації полягає у використанні утиліт netview і nbtstat з пакету W2RK. Утиліта netview дозволяє відобразити список доменів мережі.
C:\>netview /domain
Домен
SWORD
Команда виконанавдало.
В результатівідобразилася назва робочої групи SWORD. Якщо вказати знайдене ім’я домену, утиліта відобразить підключені до нього комп’ютери.
C:\>net view /domain : SWORD
\ALEX-3
\SWORD-2000
Тепер необхідно визначити зареєстрованого на даний момент користувача серверного комп’ютера Sword-2000 і завантажені на комп’ютері служби. З цією метою використаємо утиліту nbtstat. Результат її використання представлений на рис. 3.3. На цьому рисунку відображена таблиця, в якій перший стовбець вказує ім’я NetBIOS, в слід за ім’ям відображений код служби NetBIOS. Код <00> після імені комп’ютера означає службу робочої станції, а код <00> після імені домену – ім’я домену. Код <03> означає службу розсилки повідомлень, які передаються користувачу, що заходить в систему, ім’я якого стоїть перед кодом<03>в даному випадку Administrator.
На комп’ютері також працює служба браузера MSBROWSE, на що вказує код після імені робочої групи SWORD. Отже ми вже маємо ім’я користувача, зареєстрованого в даний момент на комп’ютері Administrator, за допомогою процедури net view, вказавши їй ім’я віддаленого комп’ютера. Визначаили також мережеві ресурси ком’ютера Sword-2000, які використовує Administrator. Результати пердставлені на рис. 3.4.
Отже, обліковий запис користувача Administrator відкриває загальний мережний доступ до деяких папок файлової системи комп’ютера Sword-2000 і приводу CD-ROM. Таким чином про комп’ютер відомо достатньо багато – він дозволяє нульові сеанси NetBIOS, на ньому працює користувач Administrator, відкриті порти 7, 9, 13, 17, 139, 443, 1025, 1027 комп’ютера, і в число загальних мережних ресурсів входять окремі папки локального диску C: . Тепер необхідно дізнатись пароль доступу користувача Administrator, після чого в розпорядженні буде вся інформація про жорсткий диск С: комп’ютера.
Якщо протокол NetBIOS через TCP/IP буде відключений (комп’ютери Windows 2000/XP надають таку можливість), можна використати протокол SNMP ( SimpleNetworkManagementProtocol – простий протокол мережевого управління), який забезпечує моніторинг мереж Windows NT/2000/XP [8].
3.1.4 Реалізація цілі
Виконання атаки на системи WindowsNT/2000/XPскладається з наступних етапів.
· Проникнення в систему, що полягає в отриманні доступу.
· Розширення прав доступу, що полягає в зломі паролівоблікових записів з великими правами, наприклад, адміністратора системи.
· Виконання мети атаки: отримання даних, руйнування інформації і так далі.
Проникнення в систему починається з використання облікового запису, виявленого на попередньому етапі інвентаризації. Для визначення потрібного облікового запису хакер міг скористатися командою nbtstat або браузером MIB, або якими-небудь хакерськими утилітами, удосталь представленими в Інтернеті. Виявивши обліковий запис, хакер може спробувати під'єднається до комп'ютера, використовуючи його для вхідної аутентифікації. Він може зробити це з командного рядка, ввівши таку команду.
D:\>net use\1.0.0.1\IPC$ * / u: Administrator
Символ «*» у рядку команди указує, що для підключення до віддаленого ресурсу IPC$ потрібно ввести пароль для облікового запису Administrator. У відповідь навведення команди відобразиться повідомлення:
Type password for\1.0.0.1\IPC$:
Введення коректного пароля приводить до встановлення авторизованого підключення. Таким чином, ми отримуємо інструмент для підбору паролів входу в комп'ютер.Генеруючи випадкові комбінації символів або перебираючи вміст словників, можна, врешті-решт, натрапити на потрібне поєднання символів пароля. Для спрощення підбору існують утиліти, які автоматично роблять всі ці операції, наприклад SMBGrind, яка входить в комерційний пакет CyberCop Scanner компанії Network Associates. Ще одним методом є створення пакетного файлу з циклічним перебором паролів.
Проте віддалений підбір паролів – далеко не наймогутніше знаряддя злому. Всі сучасні сервери, як правило, забезпечені захистом від багатократних спроб входу із зміною пароля, інтерпретуючи їх як атаку на сервер. Для злому системи захисту Windows NT/2000/XP частіше використовується могутніший засіб, що полягає у отриманні паролів бази даних SAM (Security Account Manager –диспетчероблікових даних системи захисту). База даних SAM містить шифровані коди паролів облікових записів, вони можуть витягуватися, зокрема віддалено, за допомогою спеціальних утиліт. Далі ці паролі дешифруються за допомогою утиліти дешифрування, що використовує який-небудь метод злому, наприклад, «грубою силою», або словниковою атакою, шляхом перебору слів із словника.
Найбільш відомою утилітою дешифрування є програма LC4 (скорочення від назви LOphtcrack), яка діє у парі з такими утилітами, як:
· Samdump - отримання шифрованих паролів з бази даних SAM.
· Pwdump - отримання шифрованих паролів з системного реєстру комп'ютера, включаючи віддалені системи. Ця утиліта не підтримує посилене шифрування Syskey бази SAM.
· Pwdump2 - отримання шифрованих паролів з системного реєстру, в якому застосовано шифрування Syskey. Ця утиліта підтримує роботу тільки з локальними системами.
· Pwdump3 - те ж, що і Pwdump2, але з підтримкою віддалених систем.
Для отримання шифрованих паролів з комп'ютера Sword-2000 застосуємо утиліту Pwdump3:
C:\>pwdump3 sword-2000 > password. psw
Вміст отриманого файлу представлений у вікні додатку Блокнот (Notepad) (рис. 3.5).
Як видно, у файлі password.psw міститься обліковий запис Administratorякий був знайдений на етапі інвентаризації. Щоб розшифрувати паролі, слід застосувати програму LC4 і хоча пробна версія цієї програми підтримує тільки дешифрування паролів методом словесної атаки, все ж дає можливість взлому паролів комп’ютера Sword-2000 рис. 3.6.
Таким чином, маючи можливість створення нульових сеансів підключення NETBIOS до комп'ютера, в принципі, можна отримати паролі облікових записів комп'ютера, включаючи адміністратора системи.
Для розширення прав доступу в системі використовуються спеціальні програми, що дозволяють виконувати віддалене керування системою, зокрема реєстрацію дій користувача. Для цього на комп'ютер можуть бути впроваджені так звані клавіатурні шпигуни – програми, що реєструють натиснення клавіш. Всі отримані дані записуються в окремий файл, який може бути відісланий на інший комп'ютер в мережі.
Інший варіант – розміщення в системі активного трояна, наприклад, NetBus, або Во2к (BackOrifice 2000), які забезпечують засоби прихованого віддаленого керування і моніторингу за атакованим комп'ютером[8].
Розглянемо роботу NetBus на прикладі двох мережевих комп'ютерів: клієнта - комп'ютер Sword-2000 (ІР-адрес 1.0.0.1), і сервера - комп'ютер Alex-3 (IP-адрес 1.0.0.5).
Для успішної роботи троянського коня NetBus на комп'ютері, що атакується, спочатку потрібно запустити серверний компонент, який називаєтьсяNBSvr. При запуску програми NBSvr відображається діалог, представлений на рис.3.7.
Перед використанням сервера NetBus утиліту NBSvr необхідно налаштуаати. Для цього виконується така процедура:
·У діалозі NB Server (Сервер NB) клацнути на кнопціSettings (Параметри). На екрані з'явиться діалог ServerSetup (Параметри сервера), представлений на рис.3.8.
·Встановити прапорець Acceptconnections (Приймати з'єднання).
·У полі Password (Пароль) ввести пароль доступу до сервера NetBus.
·Із списку Visibility of server (Видимість сервера) вибрати пункт Full visible (Повна видимість), що дозволить спостерігати за роботою сервера NetBus (але для роботи краще вибрати повну невидимість).
·У полі Access mode (Режим доступу) вибрати Full access (Повний доступ), що дозволить робити на комп'ютері всі можливі операції віддаленого керування.
·Встановити прапорець Autostart every Windows session (Автозавантаження при кожному сеансі роботи з Windows), щоб сервер автоматично завантажувався при вході в систему.
·Клацнути мишею на кнопці ОК. Сервер готовий до роботи.
Тепер необхідно налаштувати роботу клієнта - утиліту NetBus.exe.
·Завантажити утиліту NetBus.exe, після чого відобразиться вікно NetBus 2.0 Pro, представлене на рис. 3.9.
·Вибрати команду меню Host * Neighborhood * Local (Хост * Сусідній хост * Локальний). Відобразиться діалог Network (Мережа), представлений на рис. 3.10.
·Клацнути на пункті MicrosoftWindowsNetwork(Мережа Microsoft Windows) і відкрити список мережевих хостів рис. 3.11.
·Вибрати комп’ютер з встановленим сервером NetBus, в даному випадкуSword-2000 і клацнути на кнопці Add (Додати). На екрані з’явиться діалогове вікно Add Host (Додати хост), рис. 3.12.
·В полі Hostname/IP (Ім’я хосту/ІР)ввести ІР-адресу серверного хосту 1.0.0.1.
· В полі User name (Ім’я користувача) необхідно ввести ім’я облікового запису Administrator, а в полі Password (Пароль), що дешифрований програмою LC4 пароль 007.