LU.NET.UA - Захист інформації в інтернеті

:: Меню ::

Головна
Введення

Частина I.
Вивчення мети

1. Попередній збір даних
2. Сканування
3. Інвентаризація

Частина II.
Уразливість систем

4. Уразливість Windows 95/98/me
5. Уразливість Windows NT
6. Уразливість Windows 2000

Частина III.
Уразливість мереж

9. Уразливість видалених з'єднань, РВХ, Voicemail і віртуальних приватних мереж
10. Мережеві пристрої
11. Брандмауери
12. Атаки DOS

   Частина IV.
Уразливість програмного забезпечення

13. Вади засобів видаленого управління
14. Розширені методи
15. Уразливість в Web
16. Атаки на користувачів Internet
 Братани
Карта сайту
Добавити у вибране

:: Друзі ::

--

:: Статистика ::

 

 

 

 

 


Administrator: у пошуках скарбів


Правило № 1, про яке не можна ніколи забувати при забезпеченні безпеці Windows NT, полягає в тому, що будь-який порушник абсолютно безпорадний, якщо він не володіє вдачами адміністратора. Як ми побачимо з подальшого обговорення. NT не підтримує (за умовчанням) видаленого виконання команд, а якщо і дозволяє це робити, то інтерактивно реєструватися можуть лише користувачі з групи адміністраторів. Це істотно звужує можливості видалених користувачів по нанесенню збитку. Тому зломщики, як голодні акули, що нишпорять в океанській пучині у пошуках жертви, докладають всі зусилля, щоб виявити облікові записи користувачів, що володіють правами адміністратора. Саме тому ми почнемо з розгляду деталей основного механізму отримання привілеїв адміністратора — підбору пароля.
Що, декілька несподівано? Ви думали, що ми вам розповімо про якийсь чудовий спосіб, за допомогою якого ви вмить поставите NT "на коліна"? Хоча існування такої "срібної кулі" теоретично можливо, її все ще ніхто не знайшов за всі гади існування операційної системи NT. Деякі з можливих підходів будуть розглянуті в кінці розділу. Проте, на жаль, вимушені вас засмутити — в тому, що стосується безпеки, справедливе стародавнє твердження: "Чим більше веши міняються, тим більше вони залишаються незмінними". Іншими словами, перш, ніж захищатися від яких-небудь екзотичних методів проникнення, необхідно за допомогою правильного вибраного пароля якнайкраще захистити обліковий запис Administrator.

Видалений підбір пароля


Якщо на видаленому комп'ютері запушена служба NETBIOS, з якою пов'язаний TCP-порт 139, то найефективнішим методом проникнення в систему NT є видалене підключення до виявленого раніше спільно використовуваному ресурсу і підбір пар реєстраційне ім'я/пароль до тих пір, поки одна з них не виявиться правильною.
Звичайно, для того, щоб процес підбору пароля виявився по-справжньому ефективним, необхідна наявність списку призначених для користувача імен. Раніше вже були розглянуті деякі з кращих методів пошуку облікових записів користувачів, включаючи анонімне підключення за допомогою команди net use, яка встановлює нульове з'єднання з досліджуваним вузлом. Для цих же цілей можна скористатися також утилітою Dumpacl/dumpsec від компанії Somarsoft Inc., а також утилітами sid2u=er/usar2sid Євгенія Рудного (Evgenii Rudnyi). Всі ці засоби обговорювалися в розділі 3. Виявивши реально існуючі облікові записи, можна істотно підвищити вірогідність успішного підбору пароля.
Знайти спільно використовуваний ресурс, який підходить для нападу, зазвичай не складає ніяких труднощів. З розділу 3 ви дізналися, що в системах, в яких TCP-порт 139 доступний для видаленого доступу, завжди присутній прихований спільно використовуваний ресурс IFCS, необхідний для взаємодії процесів. Крім того, в процесі підбору пароля практично завжди можна скористатися адміністративними ресурсами Admin$ і [%раздел-диска%]$ (наприклад, С$). Природно, можна також провести інвентаризацію спільно використовуваних ресурсів, як описувалося в розділі 3.
Маючи під рукою всі необхідні дані, порушник, що знаходиться в мережі підприємства, може просто відкрити вікно Network Neighborhood (якщо з цільовим комп'ютером NT є фізичне з'єднання) або ж скористатися засобом пошуку Find Computer і IP-адресом для пошуку комп'ютера, що знаходиться в зовнішній мережі, а потім клацнути двічі на піктограмі знайденого комп'ютера, як показано на приведених нижче ілюстраціях.


Підбір пароля можна також виконати з командного рядка за допомогою команди net use. Якщо замість пароля як її параметр вказати символ *, то видалений комп'ютер попросить ввести пароль, як показано в наступному прикладі.

С:\> net use \\192.168.202.44\ipc$ * /user:administrator
Type the password for \\192.168.202.44\ipc$:
The command completed successfully.

Обліковий запис, заданий за допомогою ключа /і:, виглядає декілька дивно. Нагадаємо, що в Nt/2000 облікові записи ідентифікуються з використанням ідентифікаторів захисту SID, що складаються з кортежів компьютер\учетная запис або домен\учетная запис. Якщо реєструватися як адміністратор не вдалося, спробуйте скористатися синтаксисом домен\учетная запис.

Зломщики, як правило, намагаються підбирати паролі для тих, що стали їм відомими локальних облікових записів окремих комп'ютерів з NT Server або Workstation, а не для глобальних облікових записів, що дозволяють дістати доступ до контроллера домена NT. У цьому немає нічого дивовижного, оскільки дуже висока вірогідність того, що локальні облікові записи контролюються не так строго, як на рівні всієї організації (в цьому випадку всі спроби підбору пароля можуть також реєструватися на контроллері домена). Крім того, система NT Workstation дозволяє будь-якому користувачеві реєструватися в мережі після реєстрації на самому комп'ютері (тобто користувач Everyone може почати сеанс роботи, не входивши в мережу (Log on locally), а потім при необхідності підключитися до мережі), що значно спрощує видалене виконання команд.
Звичайно, якщо зламати облікові записи Administrator або Domain Admins головного контроллера домена (РІС — Primary Domain Controller), то у вашому розпорядженні опиниться весь домен (і всі домени, з якими встановлені довірчі стосунки). Як правило, варто виконати ідентифікацію контроллера PDS, почати автоматичний підбір паролів за допомогою "м'яких" методів (тобто що дозволяють уникнути блокування облікових записів), а потім відразу ж приступити до сканування всього домена з метою виявлення незахищених жертв (тобто комп'ютерів з порожнім паролем адміністратора).

Якщо ви збираєтеся використовувати описувані прийоми для перевірки комп'ютерів в мережі вашої компанії (звичайно, з відома начальства), не забувайте про блокування облікових записів, яке може відбутися при спробах як ручного, так і автоматизованого підбору паролів. В результаті можна набудувати проти себе не тільки користувачів всієї компанії, які не зможуть протягом певного часу дістати доступ до своїх комп'ютерів, але і керівництво, яке навряд чи після такого інциденту заохочуватиме ваші ініціативи в області безпеки.

Метод підбору найбільш ефективний для виявлення паролів, заданих з помилками, характерними для більшості користувачів. До таких помилок можна віднести наступні.
  •  Користувачі завжди прагнуть вибрати якомога простішою пароль, зокрема, якщо це можливо, вважають за краще взагалі обходиться без пароля. По суті, найбільшим проломом в будь-якій мережі є порожній або просто підбираний пароль. Тому під час перевірки системи безпеки на це потрібно звертати найпильнішу увагу.
  •  При виборі пароля користувачі хочуть, щоб його легко було запам'ятати, і використовують для цього призначене для користувача ім'я, своє ім'я або ж очевидні рядки виду "імя_пользователя", "' імя_компанії", "guest", "test", "admin" або "password". Поля коментарів (які можна побачити за допомогою такого утиліти інвентаризації, Dumpacl/dumpsec) обліковому запису — це теж добре відоме місце, в якому можна знайти підказки про пароль і навіть самі паролі.
  •  Багато популярних програм функціонують в контексті спеціального призначеного для користувача облікового запису. Як правило, імена цих облікових записів широко відомі і, що ще гірше, зазвичай вони легко запам'ятовуються. Ідентифікація подібних широко відомих облікових записів під час інвентаризації може надати зломщикові дуже серйозний козир, що значно полегшує його завдання при підборі пароля.
Деякі приклади стандартних пар "ім'я користувача/пароля" представлені в таблиці. 5.1. Ми називаємо такі пари найбільш вірогідними комбінаціями. Крім того, достатньо великий список паролів, використовуваних за умовчанням, можна знайти за адресою http://www.securityparadigm.соm/defaultpw.htm.

Таблиця 5.1. Найбільш вірогідні комбінації "ім'я користувача/пароля"

Ім'я користувача
Пароль
administrator
порожній, password, administrator
arcserve
arcserve, backup
test
test, password
lab
lab, password
ім'я-користувач
ім'я-користувач, імя-компанії
backup
backup
tivoli
tivoli
symbiator
symbiator, as400
backupexec
backup

Добре продумана стратегія підбору паролів, що враховує всі приведені вище рекомендації, дає на подив високий відсоток успіху. Проте техніка, яка хороша для хакера, що підбирає пароль ради розваги, навряд чи зацікавить вічно зайнятого адміністратора мережі, у якого і так вистачає турбот, щоб займатися ручним підбором паролів з метою контролю.
Автоматизований підбір паролів дуже легко виконати, реалізувавши єдиний цикл FOR з використанням стандартної команди NET USE системи NT. По-перше, створіть файл з іменами користувачів і паролями на основі найбільш вірогідних комбінацій, приведених в таблиці. 5.1 (або скориставшись власним переліком). Такий файл може мати приблизно наступний вигляд (для розділення значень можуть використовуватися будь-які символи-роздільники; в даному випадку — символи табуляції). Звернете увагу, що порожні паролі в правому стовпці не вказані.

[file: credentials.txt]
password username
password Administrator
admin Administrator
administrator Administrator
secret Administrator
і так далі . . .

Тепер цей файл можна подати на вхід команді FOR таким чином:

C:\>for /f "tokens= l,2*"%i in(credentials.txt) do net use
\\target\\ipc$ %i /u:%j

Ця команда відрядковий аналізує файл credentials. txt, вибирає перші дві лексеми з кожного рядка, а потім використовує першу з них як змінної «i (пароль), а другу — як змінну %i (ім'я користувача) при установці з'єднання за допомогою команди net use із спільно використовуваним ресурсом Iрс$ цільового комп'ютера. Для отримання докладнішої інформації про команду FOR введіть в командній путті FOR /?. Ця команда для хакерів NT є одній з найбільш корисних.
Звичайно, є багато спеціалізованих програм, які дозволяють автоматизувати процесі підбору пароля. У розділах 3 і 4 ми вже згадували програми Legion і NAT (NETBIOS Auditing Tool), які дозволяють автоматизувати процес підбору пароля. Утиліта Legion може не тільки виконувати сканування діапазону IP-адресов класу і виявляти спільно використовувані ресурси. Windows, але і володіє можливістю підбору пароля по заданому словнику.
Програма NAT надає аналогічні можливості, але дозволяє одночасно працювати з одним комп'ютером. Проте, оскільки ця утиліта запускається з командного рядка, її використання дуже легко автоматизувати. У сценарії або командному файлі утиліта NAT повинна підключатися до чергового узду, а потім підбирати пароль як із зумовленого переліку паролів, так і із списку, підготовленого користувачем. Одним з недоліків NAT є те, що як тільки ця угиліта виявляє пароль, відповідний якийсь з облікових записів, вона тут же використовує цю пару для підключення. Тим самим решта можливих паролів інших облікових записів залишається невідомими. Нижче приведений приклад простого циклу FOR, за допомогою якого організовується перебір всіх комп'ютерів мережі класу З (Скорочено лістинг був відредагований).

D:\>for /l %i IN (1,1,254) DO nat -u
userlist.txt -p passlist.txt
"92.163.202.»! » nat_output.txt
[*]--- Checking host: 192.168.202.1
[*]--- Obtaining list of remote NETBIOS names
[*]--- Attempting to connect with Username:
'Administrator'password:
'ADMINISTRATOR'
[*]--- Attempting to connect with Username:
'Administrator'password:
'GUEST'
...
[*]--- CONNECTED: Username:
'ADMINISTRATOR' Password:
'PASSWORD'
[*]--- Attempting to access share:
\\*Smbserver\temp
[*]-—- WARNING: Able to access share:
\\*Sm3server\temp
[*]--- Checking write access in:
\\*Smbserver\temp
[*]--- WARNING: Directory is writeable:
\\*Sm3server\temp
[*]--- Attempting to exercise ..
bug on: \\*SMBSERVER\TEMP

Ще одним хорошим інструментом виявлення паролів є утиліта Ntinfoscan (NT'S) Девіда Літчфілда (David Litchfield), який відомий також під псевдонімом Mnemonix. Цю утиліту можна знайти за адресою http://packetstorm.stcurify.com/NT/audit/. NTIS — це проста утиліта командного рядка, який виконує перевірку по протоколах Internet і NETBIOS, а результат виводить у файл HTML-формат. Вона також здійснює всі необхідні операції по інвентаризації користувачі ;г в кінці звіту поміщає облікові записи з порожнім паролем. В даний час утиліта NTFS оновлена і розповсюджується новою компанією Девіда, Cerberus Information Security. Тепер ця утиліта називається Cerberus Internet Scanner (CIS) і забезпечена графічним інтерфейсом.
Всі згадані вище утиліти розповсюджуються безкоштовно і, загалом, чудово справляються з покладеним на них завданням. Якщо ж вам потрібні додаткові можливості, що надаються комерційними пакетами, рекомендуємо звернути увагу на пакет Cybercop Scanner від компанії Network Associates Inc. (NAI). до складу якого входить утиліта Smbgrind. Ця утиліта відрізняється вражаючою швидкістю роботи, оскільки вона одночасно запускає відразу декілька процесів підбору пароля. У всьому останньому вона практично не відрізняється від утиліти NAT. Нижче приведений приклад результатів роботи утиліти Smbgrind. Параметр -1 визначає кількість одночасних з'єднань, тобто кількість процесів, що паралельно запускаються.

D:\> smbgrind -i 100 -i 192.168.2.5
Host address: 192.168.2.5
Cracking host 192.168.2.5 (*SMBSERVER)
Parallel Grinders: 100
Percent complete: 0
Percent complete: 25
Percent complete: 50
Percent complete: 75
Percent complete: 99
Guessed: testuser Password: testuser
Percent complete: 100
Grinding, complete, guessed 1 accounts

Контрзаходи: захист від підбору пароля


Існує декілька захисних мерів, які можуть зробити неможливими або. принаймні, утруднити спроби підбору пароля. Перша з них допоможе в тих випадках, коли комп'ютер з системою NT. безпосередньо підключений до Internet, не повинен відповідати на запити про спільно використовувані ресурси Windows. Для цього потрібно заблокувати доступ до портів TCP і UDP з номерами 135-139 на прикордонному брандмауері або маршрутизаторі, а також заборонити прив'язку WINS Client (Tcp/ip) для будь-якого адаптера, підключеного до зовнішньої мережі, як показано на приведеній нижче ілюстрації.
Це дозволить заборонити використання портів NETBIOS відповідним мережевим адаптером. Для вузлів з двома мережевими адаптерами (dual-homed host) необхідно заборонити підтримку протоколу NETBIOS на адаптері, підключеному до Internet, і залишити її на мережевому адаптері внутрішньої мережі. щоб до сумісних ресурсів Windows могли звертатися легальні користувачі. (При відключенні підтримки NETBIOS з використанням цього методу, зовнішній порт залишається в режимі очікування, проте він не відповідатиме на запити.)


У системі Windows 2000 для заборони використання протоколу NETBIOS поверх Tcp/ip для кожного адаптера окремо можна використовувати спе.{и-:;ль ний призначений для користувача інтерфейс. Проте, як ви побачите з розділу 6, така можливість зовсім не є панацеєю, і відключення адаптерів від спільно використовуваних файлів і принтерів є набагато кращим способом.

Якщо ваші комп'ютери з системою NT виконують роль файлових серверів і, як наслідок, повинні забезпечувати можливість підключення, даних мерів, природно, буде недостатньо, оскільки вони блокуватимуть або навіть заборонятимуть всі подібні служби. У таких випадках необхідно застосовувати більш традиційні заходи: блокувати облікові записи після певної кількості невдалих спроб реєстрації, реалізувати політику строгого вибору паролів, а також реєструвати всі невдалі спроби реєстрації. На щастя, для виконання цих завдань компанія Microsoft надає всі необхідні засоби.

Політика облікових записів


Одним з таких засобів є утиліта User Manager. Для завдання політики облікових записів виберіть в діалоговому вікні диспетчера користувачів команду Policies>account. У діалоговому вікні, що з'явилося, можна задати певну політику призначення паролів, наприклад встановити обмеження на мінімальну довжину пароля або зажадати, щоб паролі не повторювалися частіше за певну кількість разів. Крім того, в діалоговому вікні Account Policy можна встановити блокування відповідного облікового запису після заданої кількості невдалих спроб реєстрації. Диспетчер користувачів також дозволяє адміністраторам примусово відключати користувачів після завершення встановленої тривалості сеансу. Це дуже зручна можливість, що дозволяє "перекрити кисень" непрошеним нічним гостям.


Підкреслимо ще раз, що кожен, хто має намір спробувати "на міцність" паролі як за допомогою описаних в даному розділі методів ручного, так і автоматичного підбору, повинен пам'ятати про можливості блокування облікових записів.

Passfilt


Ще більший рівень захисту можна забезпечити за допомогою бібліотеки Passfilt, що динамічно підключається, входить до складу Service Pack 2. Для того, щоб вона була підключена до системи захисту, необхідно виконати процедуру, описану в статті Q161990 бази знань Microsoft Knowledge Base. Дана бібліотека дозволяє підтримувати жорстку політику вибору паролів, яка гарантує захист не тільки від злому, але і від ледачого користувача, що вибирає дуже простий пароль. Після установки бібліотеки Passfilt всі паролі повинні полягати не менше чим з шести символів, не можуть збігатися з іменами облікових записів або бути частиною повного імені користувача, а також повинні складатися з символів, які вибираються як мінімум з трьох наступних груп.

  •  Букви англійського алфавіту у верхньому регістрі (А, в, з ..., Z)
  •  Букви англійського алфавіту в нижньому регістрі (а, b, з ..., z)
  •  Арабські цифри (0, 1, 2 ..., 9)
  •  Символи, що немає алфавітно-цифровими (@, #, !, & і так далі)
Бібліотека Passfilt має бути під рукою у кожного серйозного адміністратора NT, проте потрібно відзначити два її обмеження. Перше полягає в жорсткій установці мінімальної довжини пароля в 6 символів. Ми рекомендуємо накласти строгіше обмеження в 7 символів в діалоговому вікні Account Policy диспетчера користувачів. (Чому така важлива різниця в один символ, ви дізнаєтеся нижче при розгляді процесу злому пароля NT.) По-друге, бібліотека Passfilt викликається лише у тому випадку, коли рішення про зміну пароля ухвалює сам користувач. Якщо ж пароль міняється адміністратором за допомогою диспетчера користувачів, то виконання вимог Passfilt не гарантується (див. статтю Q174075). Для того, щоб забезпечити строгіше проходження прийнятій політиці облікових записів, можна розробити свою власну бібліотеку Passfilt. Врахуйте, що при такому підході як бібліотека Passfilt можна легко "отримати в подарунок" "троянського коня". Отже при виборі бібліотек від сторонніх виробників будьте дуже уважні.

Бібліотека Passfilt в системі Win 2000 встановлюється за умовчанням, проте залишається неактивною. Для того, щоб її активізувати, скористайтеся консоллю secpol.msc або gpedit.msc і активізуйте режим Passwords must meet complexity requirements, що відноситься до елементу консолі Security Configuration and Analysis\account Policies\password Policy.

Passprop


Ще одним важливим додатковим засобом, який входить до складу NT Resource Kit (NTRK) є утиліта Passprop, яка дозволяє застосувати до облікових записів домена NT дві наступні вимоги.

  •  Паролі, вибирані користувачами, повинні обов'язково містити алфавітні символи як у верхньому, так і в нижньому регістрах або ж складатися з символів і цифр.
  •  Друга вимога стосується облікового запису Administrator. Як ми вже говорили, цей обліковий запис є якнайкращим трофеєм удачливого зломщика, що є серйозною небезпекою для безпеки. На жаль, початковий вбудований обліковий запис Administrator (RID 500) в системі NT заблокувати не можна, що дозволяє зломщикам легко її ідентифікувати і нескінченно довго намагатися підібрати до неї пароль. Утиліта Passprop видаляє використовувані за умовчанням обмеження NT на блокування облікового запису адміністратора. (Обліковий запис Administrator можна завжди розблоковувати з локальної консолі сервера, що запобігає спробам спровокувати стан DOS.)
Для того, щоб накласти на систему безпеки обидві вимоги, необхідно встановити пакет NTRK (або просто скопіювати файл passprop.exe, якщо установка всього пакету NTRK пов'язана з питаннями захисту) і ввести наступну команду в командному рядку: passprop /complex /adminlockout
Для того, щоб повернути систему в початковий стан, необхідно запустити утиліту з параметром /noadminlockout.

Аудит і реєстрація подій


Навіть якщо нікому і не вдасться проникнути у вашу мережу за допомогою підбору пароля, оскільки ви встановили бібліотеку Passfilt або скористалися утилітою Passprop, все одно має сенс відстежувати всі невдалі спроби реєстрації. Для цього виберіть команду Policies>audit в діалоговому вікні диспетчера користувачів. При цьому на екрані з'явиться діалогове вікно Audit Policy, представлене нижче.
Журнал безпеки (Security Log), заповнений подіями з ідентифікаторами 529 або 539 (Logon/logoff failure і Account Locked Out відповідно), свідчить про те, що система піддається спробі автоматизованого злому. У більшості випадку журнал дозволяє навіть встановити комп'ютер, з якого проводяться спроби злому. На мал. 5.1 показаний вміст журналу безпеки після численних невдалих спроб реєстрації, зроблених за допомогою утиліти NAT.
Ось докладні відомості про подію з ідентифікатором 539.
Природно, реєстрація подій нічого не коштує, якщо не виконується аналіз журналів. Аналізувати журнали уручну дуже утомливо. На щастя, утиліта Event Viewer дозволяє фільтрувати записи про події по даті, типу, джерелу, категорії, користувачеві, комп'ютеру і ідентифікатору події.




Мал. 5.1. Журнал безпеки із зареєстрованими невдалими спробами реєстрації в мережі, NAT, що виконувалися з використанням утиліти

Якщо для управління журналами і їх аналізу вам потрібна надійна утиліта командного рядка, що дозволяє автоматизувати її використання, звернете увагу на утиліту dumpel з пакету NTRK, Ntlast компанії Ntobjectives (за адресою http://www.ntobjectives.com можна знайти як безкоштовно поширювану, так і комерційну версію) або Dumpevt від компанії Somarsoft (безкоштовну версію утиліти можна знайти за адресою http://www.somarsoft.com).
Утиліта dumpel може обробляти журнал подій з видаленого сервера (за наявності відповідних дозволів) і фільтрувати до десяти ідентифікаторів подій одночасно. Наприклад, за допомогою dumpel можна витягувати невдалі спроби реєстрації на локальному комп'ютері (подія 529). Для цього в командному рядку потрібно ввести наступну команду. С:\> dumpel -і 529 -f seclog.txt -1 security -m Security -t
Утиліта Dumpevt дозволяє перетворити весь журнал безпеки у формат, придатний для імпорту в базу даних Access або SQL. Проте ця утиліта не надає засобів фільтрації подій.
Ntlast — це утиліта командного рядка Win32, який виконує пошук в локальних і видалених журналах записів про інтерактивні (interactive), видалені (remote) і невдалі (fail) спроби реєстрації. Крім того, з її допомогою можна знайти відповідні один одному пари подій реєстрації/завершення сеансу (logon/logoff) для заданого облікового запису. Комерційна версія утиліти Ntlast дозволяє також витягувати записи про невдалі спроби використання пароля для діставання доступу до сервера IIS.

Виявлення вторгнень в реальному часі


Після застосування засобів аналізу журналів наступним етапом є реалізація механізму сповіщення про можливі порушення в реальному часі. Кількість програмних продуктів з так званої категорії систем виявлення вторгнень швидко зростає, особливо для використання на платформі NT. Системи виявлення вторгнень, призначені для використання на комп'ютерах під управлінням системи NT, представлені в таблиці. 5.2.
Функціональні можливості цих продуктів варіюються в широкому діапазоні, від простих засобів аналізу журналів, генерації сповіщень (KSM) і моніторингу спроб злому на рівні мережевого протоколу (Realsecure) до повноцінних систем виявлення вторгнень на рівні вузла (Centrax). Отже при виборі тієї або іншої системи уважно ознайомтеся з переліком її можливостей і з'ясуєте, чи зможе вона вирішувати завдання, що покладаються на неї.

Таблиця 5.2. Деякі системи виявлення вторгнень для систем Nt/2000

Система виявлення вторгнень
Розробник
BLACKICE Pro
Network ICE Corp.
http://www.netice.com/
Centrax
Cybersafe Corp.
http://www.cybersafe.com/
Cybercop Server
Network Associates, Inc.
http://www.nai.com/
Desktop Sentry
Ntobjectives
http://www.nt objectives.com
Intact
Pedestal Software
http: //www.pedestalsoftware.com/
Intruder Alert (ITA)
AXENT Technologies, Inc.
http://www.axent.com
Kane Security Monitor (KSM)
Security Dynamics Technologies Inc.
http://www.securitydynamics.com/
Realsecure
Internet Security Systems
http://www.iss.net
Sentry
Mission Critical
http://www.miss ioncritical.com
Sessionwall-3
Computer Associates/platinum Technology 
http://www.platinum.com/
Tripwire for NT
Tripwire, Inc.
http://www.tripwiresecurity.com/

На жаль, обговорення питань, пов'язаних з виявленням вторгнень, виходить за рамки даної кн7іги. Можемо лише підкреслити, що адміністратори мережі, стурбовані питаннями забезпечення безпеки, повинні приділяти цій технології найпильнішу увагу — що може бути важливіше, ніж сигнал, що вчасно поступив, про виниклу в мережі проблему? Докладніша інформація про виявлення вторгнень, у тому числі і порівняльні характеристики кращих програмних продуктів цієї категорії, в даний час міститься в статті http://www.infoworld.com/cgi-bin/displayTC.pl7980504comp.htm.
Підбір пароля — це нелегке завдання. Чом би просто не перехопити цінну інформацію при реєстрації користувачів на сервері, а потім використовувати її на свій розсуд? У тих окремих випадках, коли зломщикові вдається перехопити обмін реєстраційними даними, такий підхід дозволяє заощадити значну частину зусиль, які потрібні в процесі підбору пароля. Для цього підійдуть
багато з вже розглянутих утиліт, проте можна скористатися і іншим засобом, спеціально призначеним для цих цілей. З такою утилітою ви вже добре знайомі: l0phtcrack, яку можна знайти за адресою http: //www.10pht.com.

Перехоплення паролів, передаваних по мережі


Утиліта l0phtcrack призначена для підбору паролів NT, яка зазвичай використовується для автономного злому перехопленої бази даних паролів, тобто без з'єднання з сервером. Такий підхід дозволяє, по-перше, не турбуватися про можливе блокування облікових записів при спробах підбору пароля, а по-друге, організувати перебір скільки завгодно великої кількості варіантів. Отримання файлу паролів - досить нетривіальне завдання, тому це питання, а також методи використання утиліти l0phtcrack детальніше будуть розглянуті в розділі "Злом Паролів Nt".
У останніх версіях l0phtcrack є функція SMB Packet Capture, яка раніше була реалізована у вигляді окремої утиліти readsmb. З використанням цієї функції можна обійтися без перехоплення файлу паролів, а замість цього прослуховувати локальний сегмент мережі, перехопити запити на реєстрацію, якими обмінюються системи NT, а потім вибрати з них інформацію про зашифровані паролі. Потім виконується алгоритм розшифровки, зворотний тому, який використовується при шифруванні паролів в системі NT (цей процес і називається зломом — cracking). На мал. 5.2 показаний приклад використання функції SMP Packet Capture для перехоплення паролів, що пересилаються по мережі, для їх подальшого злому самою утилітою l0phtcrack.
Деякі читачі можуть здивовано вигукнути: ''подождіте. Хіба в NT не реалізований принцип аутентифікації за запитом?" Це дійсно так. В процесі аутентифікації клієнти отримують випадковий запит від сервера, який кодується за допомогою хэш-кода пароля користувача як ключ і в зашифрованому вигляді передається назад по мережі. Потім сервер зашифровує запит за допомогою своєї власної копії хэш-кода пароля користувача (узятою з SAM-файла) і порівнює його з набутого значення. Якщо значення збігаються, то процес реєстрації завершується успішно (докладніша інформація про процес аутентифікації міститься в розділі Q102716 бази знань). Значить, сам хэш-код пароля навіть не передається по мережі. Виникає питання: як у такому разі утиліта l0phtcrack може його зламати?
Дуже просто, шляхом підбору в лоб. Із заголовка пакету утиліта l0phtcrack отримує тільки сам запит і запит, закодований за допомогою хэш-кода пароля. Потім виконується кодування відомого значення запиту за допомогою випадкових рядків, що генеруються, і результат порівнюється з набутого зашифрованого значення запиту. Ця процедура повторюється до тих пір, поки не буде знайдений випадковий рядок, для якого результати виявляться ідентичними. Із-за недосконалості алгоритму обчислення хэш-кода LM (насправді цей хэш-код складається з трьох фрагментів, які можна атакувати незалежно один від одного), процес підбору займає значно менше часу, чим здається на перший погляд. Докладніша інформація про це міститься за адресою http: //www.10pht.com/10phtcrack/rant .html.
Ефективність утиліти l0phtcrack при її сумісному використанні з функцією SMP Packet Capture настільки висока, що будь-який, хто не пошкодує часу для спостереження за мережею, гарантовано зможе отримати статус адміністратора протягом декількох днів. Ви помічаєте, як невблаганно біжить час?
Навіть якщо ви вважаєте, що вашу мережу захистить комутована архітектура, не поспішаєте з виводами. Наприклад, зломщик може скористатися одним з методів соціальної інженерії, опис якого можна знайти у відповідях на питання (FAQ — Frequently Asked Questions), що часто ставляться, по використанню утиліти l0phtcrack (http://www.l0pht.com/l0phtcrack/faq.html).



Мал. 5.2. Функція SMP Packet Capture утиліти lophtcrack дозволяє перехоплювати що пересилаються по мережі NT запити на реєстрацію для їх подальшого злому за допомогою lophtcrack. У даному прикладі видно декілька систем, у яких значення NT Hash представлене нулями. Це означає, що дані системи працюють під управ-, - ленієм Win 9x, яка не підтримує алгоритму хешування NT

"Відправте вибраній жертві поштове повідомлення (неважливо, на особисту адресу або ж на загальну адресу компанії). У текст листа включите адресу URL у формі file:////ваш_компьютер/імя_совместно_ іспользуємого_ресурса/сообщеніє.html. Як тільки одержувач клацне на цьому URL, його хешированний пароль відразу ж буде відправлений вам для аутентифікації."

При знайомстві з технологіями, подібними до протоколу ARP (див. розділ 10), ви побачите, що комутовані мережі насправді не забезпечують надійний захист проти перехоплення паролів.

Митці з Lopht навіть вмудрилися змайструвати утиліту, яка вивуджує хеши-рованниє паролі NT з потоку даних, якими обмінюються комп'ютери при реєстрації з використанням протоколу РРТР (Point-to-point Tunneling Protocol). У системі NT адаптований варіант РРТР використовується для організації приватних віртуальних мереж (VPN — Virtual Private Network). Ця технологія дозволяє організовувати туннелірованіє потоку даних для передачі інформації по Internet з гарантованим захистом. За адресою http://www.l0pht.com/10phtcrack/donwload.html можна знайти два аналізатори мережевих пакетів: одна програма призначена для роботи в системі Solaris 2.4+ (написана L0pht), а друга (її автор — модератор хворіючи Bugtrag, хакер Aleph One (Алеф Ван)) — в будь-якій мережі UNIX, в якій є бібліотека перехоплення пакетів libpcap. Крім того, на цій же Web-странице є версія програми readsmb для UNIX, написана Йоше Чангом (Jose Chung) з компанії Basement Research.
Якщо якимсь чином вам вдалося оволодіти призначеним для користувача хэш-кодом (скажімо, в результаті перехоплення пакетів SMB або копіювання бази даних SAM системи NT), то чом би не передати цей хэш-код прямо в операційну систему клієнта, яка, у свою чергу, зможе використовувати його при відповіді на запит в процесі аутентифікації. Таким чином зломщик може пройти процедуру реєстрації на сервері навіть без знання пароля в явній формі, а лише володіючи потрібним хэш-кодом і ім'ям користувача. Такий підхід дозволяє заощадити багато часу і сил, що витрачаються на витягання хэш-кода за допомогою перехоплення SMB-пакетов.

 Передача хэш-кода


Пів Ештон (Paul Ashton) висунув ідею модифікації SMB-клиента сервера Samba системи UNIX, що забезпечує сумісний доступ до файлів (http://www.saniba.org) з метою реалізації описаного вище прийому. Початковий документ Пола можна знайти в архівах хворіючи NT Bugtraq за адресою http://www.ntbugtraq.com. Нові версії програми smbclient для системи UNIX дозволяють реєструватися на клієнтських системах NT з використанням лише хэш-кода.
Технічні подробиці процесу передачі хэш-кода містяться в статті Гернана Очоа (Heman Ochoa) з компанії CORE-SDI. З цієї статті можна дізнатися, як підсистема LSASS (Local Security Authority Subsystem) зберігає інформацію про сеанси реєстрації і пов'язаних з ними даними облікових записів. Гернан показав, як безпосередньо відредагувати ці дані в оперативній пам'яті і змінити реєстраційну інформацію непомітно для користувача. Підтвердженням працездатності такого підходу може послужити мал. 5.3 (для забезпечення безпеки реальні імена були змінені).
Проте подібні підходи не набули широкого поширення, оскільки справитися з даним завданням можуть лише програмісти досить високої кваліфікації. Таким чином, ризик атаки, заснованої на відправці хэш-кода, невисокий.



Мал. 5.3. Програма, призначена для відправки хэш-кода

Контрзаходи: заборона аутентифікації в локальній мережі


У сервісному пакеті Service Pack 4.0 була додана підтримка нового параметра системного реєстру, покликаного заборонити вузлу NT виконувати аутентифікацію в локальній мережі (з використанням хэш-кодов LM). Для того, щоб скористатися цією можливістю, потрібно додати параметр Lmcompatibilitylevel із значенням Reg_dwcrd=4 до наступного ключа системного реєстру. Hkey_local_machine\system\currentcontrolset\lsa
Значення 4 забороняє контроллеру домена (DC — domain controller) приймати запити на аутентифікацію. Як пояснюється в статті Q147706 бази знань компанії Microsoft, значення 4 і 5 зарезервовані для контроллерів доменів.
На жаль, будь-які клієнти низького рівня не зможуть пройти аутентифікацію на контроллері домена, на якому встановлений пакет Service Pack 4 і виконані описані вище дії (наприклад, такими клієнтами є системи Windows 9x, Windows for Workgroups). Це пояснюється тим, що модернізована система аутентифікації такого контроллера виконуватиме аутентифікацію лише з використанням кеш-кода NT. Більш того, оскільки клієнти, що не використовують систему Windows NT, не можуть реалізувати обчислення хэш-кода NT, вони все одно відправлятимуть по мережі запити на аутентифікацію, що містять значення хэш-кодов LM. Це зведе нанівець всі зусилля, напрашгенниє на захист від перехоплення SMB-пакетов. Вивід напрошується сам собою: у складі домена не повинно бути клієнтських комп'ютерів, що працюють під управлінням старих версій Windows. Проте в більшості компаній, що використовують в мережі системи з різними версіями Windows, таке рішення навряд чи можна утілити в життя.

До появи сервісного пакету Sp4 не було можливості заборонити обробку хэш-кодов Lм на вузлі NT, використовуваних для аутентифікації. Як наслідок, такі вузли абсолютно не захищені від небезпеки перехоплення SMB-пакетов.

З виходом нової операційної системи Win 2000 компанія Microsoft надала іншу можливість передачі реєстраційних даних по локальній мережі клієнтами Win Ех. Її надає клієнт служби каталогів (Dsclient — Directory Services Client), який можна знайти на настановному компакт-диску системи Windows 2000 в теці Clients\win9x (файл Dsclient.exe). Теоретично користувачі Win 9x можуть встановити спеціальні параметри системного реєстру і використовувати надійніший захист завдяки використанню хэш-кодов NT. У статті Q239869 описується, як встановити програму Dsclient і набудувати клієнтів Win 9л: для використання протоколу ідентифікації NTLM версії 2.

Використання підпису Sмв


Хоча повністю захиститися від атак з використанням хэш-кодов не можна, можна накласти деякі обмеження на видалену реєстрацію в системі Windows за допомогою підпису SMB (SMB signing). Така можливість з'явиться в системі NT, якщо на ній встановити сервісний пакет Sp3 або пізніший. Тут ми згадуємо цей механізм виключно для забезпечення повноти викладу. При використанні підпису SMB кожен пакет 8mb, передаваний правильно настроєними клієнтами і серверами NT, перевірятиметься із застосуванням криптографічних методів. Це дозволить запобігти вставці в потік даних реєстрації пакетів зломщика. Як і раніше, це рішення годиться тільки для Windows NT, оскільки клієнти Win 9x не підтримують описаний вище механізм. Крім того, як наголошується в статті Q161372 бази знань Microsoft, присвяченої режиму використання підпису SMB, активізація цього засобу спричиняє за собою зниження продуктивності на 10-15 %.




:: Реклама ::

>Страница статей


:: Посилання ::

-


:: Рекомендуємо ::

-


 

 

 

 


Copyright © Klab-F 2008